247 Commits

Author SHA1 Message Date
Michael Stapelberg
dff392e558 website: bundle assets for faster loading/privacy 2020-06-21 10:06:18 +02:00
Michael Stapelberg
876a3308d2 style tables with bootstrap table styles
as per https://willschenk.com/articles/2020/styling_tables_with_hugo/
2020-06-21 09:52:38 +02:00
Michael Stapelberg
cb95bb6df8 move README into (hugo-powered) website router7.org 2020-06-21 09:43:13 +02:00
Michael Stapelberg
1250211381 github actions: try caching the module cache 2020-06-16 23:41:21 +02:00
Michael Stapelberg
9c7e626f7d switch from travis to GitHub actions 2020-06-16 23:22:34 +02:00
Michael Stapelberg
b090fa2924 qemu: enable i6300esb watchdog device
For the corresponding kernel change, see:
0f4dcc4a87
2020-06-16 23:09:35 +02:00
Michael Stapelberg
1fd5468bab first start of a qemu target 2020-06-04 09:59:24 +02:00
Michael Stapelberg
aa14d119e6 dyndns: add log message when records are updated
Now both cases are covered.
2020-05-28 17:24:51 +02:00
Michael Stapelberg
decb0978d7 dyndns: update to newer libdns/cloudflare, remove workaround 2020-05-28 17:22:24 +02:00
Michael Stapelberg
f1e4ee0662 dyndns: don’t crashloop when config does not exist
related to #46
2020-05-28 09:46:37 +02:00
Michael Stapelberg
7950291db6 dyndns: tweak up-to-date message output 2020-05-28 09:42:55 +02:00
Michael Stapelberg
4a5f55a5de defense in depth: verify hex.DecodeString length
related to #49
2020-05-27 09:50:04 +02:00
Matt Layher
ead58ad72c
cmd/dyndns: prototype for dynamic DNS daemon (#50)
Updates #46.

Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-23 23:06:21 +02:00
Matt Layher
7aeb51e9ec
internal/dhcp4d: handle DHCPDECLINE and fix bug regarding MacBook declining leases (#48)
Fixes #40

Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-23 20:53:13 +02:00
Matt Layher
fe68c2dd52
internal/radvd: add support for DNSSL (#47)
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-23 19:52:52 +02:00
Michael Stapelberg
53c495091e quirk: enforce minimum lease time of 1 hour for Nintendo devices
The Nintendo Switch has been observed to hold on to IP addresses even after
their expiration. My guess is that this is an oversight: likely the device
enters power saving mode with a configured IP address and just sleeps through
the expiration time.

As the device seems to wake up once every hour, we enforce a minimum lease time
of 1 hour, but only for affected devices. The rest of the network gets short
lease times.

https://twitter.com/zekjur/status/1263949112036282374
2020-05-23 09:07:17 +02:00
Michael Stapelberg
d81b77a876
Merge pull request #44 from mdlayher/mdl-staticcheck
*: apply staticcheck fixes
2020-05-09 23:07:34 +02:00
Matt Layher
61174cde06
internal/netconfig: add missing error check
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 17:04:31 -04:00
Matt Layher
9f6257b046
internal/dns: fix staticcheck issues
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 17:02:33 -04:00
Matt Layher
b8c40958e8
internal/dhcp6: fix error case
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 17:00:43 -04:00
Matt Layher
411780cd8e
internal/dhcp4: fix error case
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 17:00:07 -04:00
Matt Layher
988aa405be
cmd/dhcp4d: make use of unused assignment
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 16:58:57 -04:00
Matt Layher
f87891a74b
integration/radvd: panic in goroutine instead of fatal
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 16:56:51 -04:00
Matt Layher
dd7c3a8a5f
internal/testing/dnsmasq: panic in goroutine instead of fatal
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 16:55:46 -04:00
Matt Layher
8efea22943
internal/radvd: remove dead types
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 16:52:52 -04:00
Matt Layher
e1f2b975a1
internal/dhcp4d: fix staticcheck issues
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 16:51:32 -04:00
Matt Layher
107a8f0425
internal/radvd: switch to github.com/mdlayher/ndp types (#43)
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 22:50:44 +02:00
Michael Stapelberg
9b6271749b fix Makefile/go.mod 2020-05-09 22:40:49 +02:00
Michael Stapelberg
46327c5105 update go.mod 2020-05-09 22:17:10 +02:00
Michael Stapelberg
4e6a7016de commit Makefile 2020-05-09 22:14:37 +02:00
Michael Stapelberg
2b6ab5b2bd dhcp4d: make hostname override settable from status page 2020-04-12 10:33:11 +02:00
Chris K
4f0efc7b18
dhcp6: use new IAPD & Prefix getters (#41)
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-13 08:47:38 +01:00
Michael Stapelberg
e67fb4dd71 diagd: make output look good in a terminal, too
curl diagd.router7/
2020-03-11 22:12:00 +01:00
Chris K
ffc4c21bcd
dhcp6: use new getters (#37)
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-07 09:35:59 +01:00
Michael Stapelberg
989bfadc88 travis: switch to Go 1.14 2020-03-07 08:14:06 +01:00
Michael Stapelberg
5936d954dd go mod tidy 2020-02-16 00:16:10 +01:00
Michael Stapelberg
dba1dad718 wireguard: switch to wgctrl package
related to #14
2020-02-16 00:15:23 +01:00
Michael Stapelberg
bfba9f17af netconfigd: collect all errors but keep going 2020-02-15 23:38:37 +01:00
Michael Stapelberg
96b626897a netconfigd: work not only with uplink0, but also eth0 and ens3
This makes it possible to use netconfigd on gokrazy Raspberry Pi installations.
2020-02-15 23:37:29 +01:00
Michael Stapelberg
ef60a01f3f netconfigd: continue if interfaces.json does not exist 2020-02-15 23:35:51 +01:00
Michael Stapelberg
23961749ef declare go.mod 2020-02-15 20:41:54 +01:00
Michael Stapelberg
3e17ed7697 travis: bump to go 1.13 2020-02-15 09:55:44 +01:00
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