Michael Stapelberg
41985d6378
dhcp4d: reduce lease period to 20 minutes
...
This forces devices to renew the lease more often, which is nice when you want
to tie home automation behavior to DHCP lease validity.
2020-01-31 18:23:50 +01:00
Michael Stapelberg
fa82132962
dhcp4d: add HostnameOverride field
...
This can be used to permanently override a hostname, regardless of whether the
lease is static or not. We use a separate field because we want devices to be
able to change their hostname themselves, until we override it.
2019-08-30 09:06:21 +02:00
Michael Stapelberg
975f05d7ac
fix dhcp4d_test.go
2019-07-20 11:30:52 +02:00
Michael Stapelberg
c602f1d6b6
dhcp4d: introduce -interface flag
2019-07-20 10:50:30 +02:00
Michael Stapelberg
c7be96ac2e
dhcp4d: fix IP address comparison
...
AFAICT, this wasn’t actually a bug: canLease performs the correct check.
2019-01-01 10:45:03 +01:00
Michael Stapelberg
0d2e89cebf
dhcp4d_test: fix message to match comparison
2019-01-01 10:44:03 +01:00
Michael Stapelberg
b923f145a5
dhcp4d: don’t incorrectly _offer_ reused addresses
...
Turns out a5d9e03dd3212f7f0c11dd856b308a16a58a3cdf was not entirely sufficient:
even though reused addresses would not be handed out anymore, they would still
be offered, which results in the client not being able to obtain an address.
2019-01-01 10:41:29 +01:00
Michael Stapelberg
a5d9e03dd3
dhcp4d: don’t incorrectly hand out reused addresses
...
fixes #18
2018-12-15 12:44:09 +01:00
Michael Stapelberg
e01a38ff78
commit debug statements
2018-10-22 18:58:40 +02:00
Michael Stapelberg
c037bf9c5f
dhcp4d: fix panic when receiving unsupported requests
2018-10-22 18:39:25 +02:00
Michael Stapelberg
f606e70250
dhcp4d: respect broadcast bit
...
Mac’s Internet Recovery DHCP client requires broadcast responses and will ignore
unicast responses outright.
2018-10-07 17:36:00 +02:00
Michael Stapelberg
49a59779f5
dhcp4d: don’t offer expired leases
2018-07-15 18:33:11 +02:00
Michael Stapelberg
b347ed74c5
update import paths
2018-07-09 08:54:04 +02:00
Michael Stapelberg
ff7aa8f2cb
add copyright notices
2018-06-28 20:08:23 +02:00
Michael Stapelberg
ae15230da3
dhcp4d: log in leases callback
2018-06-24 11:56:39 +02:00
Michael Stapelberg
3ba84074c7
dhcp4d: send replies as unicast using raw sockets
...
Preferring unicast over multicast (which hogs a lot of airtime on WiFi networks)
is a best practice.
Some device/access point vendor combinations even seem to entirely eat (some?)
broadcast traffic (sometimes), e.g. my Apple iPhone SE/Ubiquiti UAP-AC-HD, so
that using unicast is required for reliable WiFi.
2018-06-23 17:46:53 +02:00
Michael Stapelberg
301d4c0d00
dhcp4d: always set broadcast flag for DHCPOFFERs
...
We always broadcast them, so we should signal that.
2018-06-22 18:35:23 +02:00
Michael Stapelberg
5e11eae951
fix dhcp4d_test for larger pool
2018-06-19 09:46:29 +02:00
Michael Stapelberg
957e4de03a
no-op: only one branch results in DHCPNAK
2018-06-18 19:29:58 +02:00
Michael Stapelberg
34d494b85c
dhcp4d: increase lease range to cover existing leases
2018-06-18 19:29:42 +02:00
Michael Stapelberg
32dd03c7f2
dhcp4d: copy reqIP, its backing storage gets reused
2018-06-15 09:56:07 +02:00
Michael Stapelberg
4c69109db5
dhcp4d: implement permanent leases (no expiration)
2018-06-12 08:21:07 +02:00
Michael Stapelberg
d21822f531
dhcp4d: implement loading leases files from persistent storage
2018-06-09 15:18:01 +02:00
Michael Stapelberg
f9c3c23b16
dhcp4d: implement lease expiration
2018-06-09 15:04:54 +02:00
Michael Stapelberg
3561ec3708
dhcp4d: offer requested address if available
2018-06-07 08:39:47 +02:00
Michael Stapelberg
2ef8bf6ea0
dnsd/dhcp4d: listen on configured address (not hard-coded)
2018-06-04 08:22:45 +02:00
Michael Stapelberg
6b9ce5728a
Initial commit
2018-05-27 17:30:42 +02:00