Michael Stapelberg
e34148d4e7
dhcp4d: add some leeway for lease activity
2020-02-06 18:48:19 +01:00
Michael Stapelberg
a543cb9a34
dhcp4d: add header describing whether lease is active
...
Should be interpreted by the DHCP server so that other programs don’t need to
hard-code the lease time.
2020-01-31 19:11:08 +01:00
Michael Stapelberg
a2ea8c2f95
cmd/dhcp4d: refactor for testing, add /lease/ test
2020-01-31 19:00:51 +01:00
Michael Stapelberg
4558cb61b4
dhcp4d: serve lease json data at /lease/<hostname>
2020-01-31 18:30:18 +01:00
Michael Stapelberg
3707ba290c
dhcp4d: move http.HandleFunc into logic
2020-01-31 18:25:02 +01:00
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
e76886dab4
dhcp4d: protect leases with a mutex
...
The HTTP handler runs in a separate goroutine.
2020-01-31 18:23:19 +01:00
Michael Stapelberg
73bd5c6a50
dhcp6: T1 is now already a time.Duration
...
see https://github.com/insomniacslk/dhcp/pull/347
2020-01-03 08:06:17 +01:00
Michael Stapelberg
3b5cf99b29
dhcp6_test: add new DHCPv6 infra packet capture
2019-12-02 10:43:39 +01:00
Michael Stapelberg
70edcab16b
dns: return NXDOMAIN for DHCP leases once they expire
2019-09-07 19:27:12 +02: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
4cde5ec6fc
dns: fix resolution of uppercase host names, add test
2019-08-07 18:18:51 +02:00
Michael Stapelberg
9fe38edec0
netconfig_test: force an order for IP address golden output
2019-08-07 18:13:52 +02:00
Michael Stapelberg
8fb81f90b1
dns: make more recent DHCP leases overwrite older ones
...
fixes #20
2019-07-20 12:23:48 +02:00
Michael Stapelberg
36995097b9
make local name resolution case-insensitive
...
fixes #34
2019-07-20 12:07:30 +02:00
Michael Stapelberg
975f05d7ac
fix dhcp4d_test.go
2019-07-20 11:30:52 +02:00
Michael Stapelberg
323cc42b8e
dhcp4d: polish status page, actually update it upon changes
2019-07-20 11:07:11 +02:00
Michael Stapelberg
c602f1d6b6
dhcp4d: introduce -interface flag
2019-07-20 10:50:30 +02:00
Michael Stapelberg
c211763b5d
dhcp4d: indent leases.json for easier human editing
2019-07-20 10:49:53 +02:00
Michael Stapelberg
c0067c5aa5
change diff order to -want +got
...
This is easier to read and consistent with how we do things at work.
2019-07-11 08:42:21 +02:00
Michael Stapelberg
414a7c025b
use nft’s --numeric flag for stable output across 0.9.0 and 0.9.1
...
nftables 0.9.1 started printing e.g. “priority 0” as “priority filter”.
2019-07-11 08:39:08 +02:00
Michael Stapelberg
554d7fa8bf
netconfig_test: fix goldens after nftables change
...
The nftables package started honoring the rule position (insert vs. append), and
it turns out our goldens have been wrong all along. Now the configured order
matches the golden order.
2019-07-11 08:28:33 +02:00
Michael Stapelberg
fa91770b09
integration/dns: 8.8.8.8’s RDNS changed to dns.google.
2019-07-01 08:55:10 +02:00
Michael Stapelberg
373c83196d
dhcp4: make interface and state directory configurable
...
This is useful for manual testing on separate interfaces.
2019-06-06 07:52:08 +02:00
Michael Stapelberg
54843950dd
dhcp6: allow overriding hardwareaddr in test
...
This fixes the breakage introduced by commit
8166b9a9db
2019-04-29 19:16:19 +02:00
Michael Stapelberg
02741e8d28
travis: remove debugging statements
2019-04-29 19:09:08 +02:00
Michael Stapelberg
4a1d06f5f8
travis: list links/addresses for debugging
2019-04-29 19:02:39 +02:00
Michael Stapelberg
ea8efe1978
log hardwareAddr for debugging travis
2019-04-29 19:02:39 +02:00
Michael Stapelberg
0f9027bcfe
Merge pull request #30 from insomniacslk/fix_build_constant_moved
...
Fix build after insomniacslk/dhcp constant moved
2019-04-29 18:49:26 +02:00
Michael Stapelberg
82b41d1cc3
travis: switch to go vet
2019-04-29 18:42:29 +02:00
Michael Stapelberg
844f528ed8
travis: enable IPv6 before running tests
2019-04-29 18:42:15 +02:00
Andrea Barberio
4b3cbd556f
Fix build after insomniacslk/dhcp constant moved
...
The AllDHCPRelayAgentsAndServers constant has moved from client6 to
dhcpv6 in insomniacslk/dhcp . This PR fixes the build after
https://github.com/insomniacslk/dhcp/pull/278
Signed-off-by: Andrea Barberio <insomniac@slackware.it>
2019-04-29 15:43:30 +01:00
Michael Stapelberg
1a65f972c6
dhcp6: only call net.InterfaceByName when client is constructed
2019-04-16 08:36:06 +02:00
Andrea Barberio
26075c4957
dhcp6: use NewSolicit instead of removed NewSolicitForInterface
...
In https://github.com/insomniacslk/dhcp/pull/256 NewSolicitForInterface
was removed in favour of NewSolicit. This PR fixes the build failure due
to that change.
2019-04-10 09:54:16 +02:00
Michael Stapelberg
3765287e97
dhcp4: use SetReadDeadline, not SetDeadline
...
fixes https://github.com/rtr7/router7/issues/25
related to https://github.com/mdlayher/raw/issues/42
2019-03-21 09:18:32 +01:00
Christopher Koch
33348e1f0d
dhcp6: use updated DHCPv6 stuff
2019-03-13 20:31:36 +01:00
Michael Stapelberg
7b1fcc9017
travis: use go1.12
...
https://github.com/mdlayher/raw/pull/40 requires go1.12
2019-03-03 16:36:25 +01:00
Michael Stapelberg
8906854211
fix compilation after https://github.com/mdlayher/netlink/pull/127
2019-03-03 16:09:20 +01:00
Michael Stapelberg
3dad1e9a23
dhcp4: use the configured (not the current) MAC address
...
This fixes a race where dhcp4 started before netconfigd had a chance to change
the hardware address on the uplink0 interface.
fiber7’s port security feature may result in an about hour-long internet outage
without this commit.
2019-02-19 09:39:16 +01:00
Michael Stapelberg
66942bd4f7
dns: steer traffic toward the most response upstream
...
There is not much of a difference between IPv4 and IPv6 on my fiber7 link, but
in other networks, there might well be.
For my connection, this commit results in hitting different upstreams all the
time because the list isn’t stable. But, this is the opposite of a problem: we
are spreading the DNS query load over all configured IPs, as good netizen do.
2019-02-19 09:37:38 +01:00
Michael Stapelberg
a05f027765
dns: fallback only once, i.e. prefer the working server next time
2019-02-19 08:49:40 +01:00
Michael Stapelberg
ccaf6ad452
dns: fallback to next upstream upon failure
2019-02-19 08:38:52 +01:00
Michael Stapelberg
abeddabbb7
dhcp4d: restrict lease details page to internal IPs
2019-02-19 07:50:39 +01:00
insomniac
cbff6a2541
internal/dhcp6: fix build after DHCP library API change ( #23 )
2019-01-28 22:06:10 +01:00
Chris K
ea50066bad
dhcpv6: use new TransactionID type ( #21 )
2019-01-27 11:47:19 +01:00
Chris K
a3799c4ec5
dhcp6: use changed type name. ( #19 )
2019-01-15 08:02:56 +01:00
Michael Stapelberg
13926217d9
oui_test: fix data race when overriding ouiURL
2019-01-06 18:07:59 +01:00
Michael Stapelberg
6320b6c3a7
dhcp4d: display MAC vendor of each lease’s HardwareAddr
2019-01-06 18:02:01 +01:00
Michael Stapelberg
8df6329209
use renameio to write files atomically
2019-01-06 15:25:33 +01:00
Michael Stapelberg
f67d4ec93f
radvd: load extra prefixes from /perm/radvd/prefixes.json
2019-01-06 15:12:22 +01:00