df9a40557c
dhcp4: correctly check errors from c.once
2018-11-21 08:41:24 +01:00
bef7168112
dhcp4: resolve TODOs in comments
2018-11-21 08:41:07 +01:00
5b34daeb4e
no-op cleanup: switch to dhcp4.LeaseFromACK
2018-11-21 08:23:57 +01:00
8c55c5ba44
dhcp4: switch to github.com/rtr7/dhcp4
...
All existing DHCPv4 packages I looked at were unappealing for one reason or
another, so we’re now using a little helper to glue github.com/google/gopacket
and github.com/mdlayher/raw together, which suffices for our use-case and gives
us more control.
2018-11-21 08:18:58 +01:00
4288adec69
dns: don’t let clients override the hostname
...
fixes #11
2018-10-22 21:43:41 +02:00
0bbc1d923d
refactor replayer code into pcapreplayer package
2018-10-22 21:04:35 +02:00
e01a38ff78
commit debug statements
2018-10-22 18:58:40 +02:00
2e8e0daa0a
implement TCP MSS clamping (for non-ethernet uplinks)
...
We didn’t have a need to clamp the TCP Maximum Segment Size (MSS) up until now,
because fiber7 uses an MTU of 1500.
Because Path MTU discovery is often broken on the internet, it’s best practice
to limit the Maximum Segment Size (MSS) of each TCP connection, achieving the
same effect (but only for TCP connections).
This change is beneficial when running router7 behind a non-ethernet uplink,
such as a Fritz!Box cable modem.
This has no adverse effect on fiber7: after clamping, the MSS is still 1440, as
without clamping.
2018-10-22 18:54:25 +02:00
c037bf9c5f
dhcp4d: fix panic when receiving unsupported requests
2018-10-22 18:39:25 +02:00
cfbf52db6e
dhcp6: update after changes in insomniacslk/dhcp ( #10 )
2018-10-16 08:03:45 +02:00
81894ba0b3
dhcp6: simplify PD obtention ( #9 )
2018-10-11 14:29:22 +02:00
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
aa404c3c54
Request nameserver, router and netmask as it might not be automatically returned by dhcp server. ( #7 )
2018-09-05 10:06:31 -06:00
447f1779e2
dhcp6: update for breaking upstream changes
...
see https://github.com/insomniacslk/dhcp/pull/81
2018-09-05 08:39:35 +02:00
b03596f1c5
nftables: use stateful object counters
...
This way, we can atomically get and reset them.
fixes https://github.com/rtr7/router7/issues/3
2018-08-08 23:15:21 +02:00
ad779c3665
dhcp6: update for breaking upstream changes
2018-08-05 11:45:03 +02:00
5a5a748b9f
dnsd: don’t serve expired leases
...
fixes #6
2018-08-05 11:30:58 +02:00
daa14845ab
netconfig: plug fd leak by closing the netlink handle
...
fixes #4
2018-07-22 23:07:23 +02:00
c5e5a0eee0
radvd: gather details about the interface on SIGUSR1
...
The interface might have a new MAC address (if radvd was started before netconfigd).
2018-07-16 22:46:49 +02:00
49a59779f5
dhcp4d: don’t offer expired leases
2018-07-15 18:33:11 +02:00
3282dc5675
netconfig: GetRule filtering is not supported by Linux 4.4.0 (trusty)
2018-07-14 20:53:15 +02:00
bfa16c559f
dnsmasq: gracefully handle temporarily not existing ready files
2018-07-14 16:42:50 +02:00
3afe757a34
notify: gracefully handle vanishing processes
2018-07-14 16:36:51 +02:00
b347ed74c5
update import paths
2018-07-09 08:54:04 +02:00
984e8802f7
dhcp6: log XIDs when they differ
...
Encountering this message can be perfectly normal, e.g. in a high-availability
setup, where two DHCP servers answer to your requests.
2018-07-03 17:37:25 +02:00
b05fd74006
dhcp4: increase timeout to 10s
2018-07-03 17:37:17 +02:00
86f5433cbb
dhcp6: correctly clear previous error
2018-06-29 12:02:16 +02:00
ff7aa8f2cb
add copyright notices
2018-06-28 20:08:23 +02:00
2b3cf0bf61
captured: use multilisten
2018-06-28 20:08:23 +02:00
4c7741a337
add backupd
2018-06-26 18:01:50 +02:00
89e1276ad4
dns: simplify resolving code
2018-06-26 09:33:23 +02:00
8e95e25442
radvd: announce link-local ipv6 address for DNS
2018-06-26 09:04:05 +02:00
10df129c1f
dns: listen on all private IP addresses
2018-06-26 08:53:20 +02:00
08249aec6a
dns: resolve localhost locally
2018-06-25 20:24:02 +02:00
60de127991
Describe all packages and binaries.
2018-06-25 20:12:51 +02:00
a881f6b61e
cut down on test noise
2018-06-24 12:06:40 +02:00
ae15230da3
dhcp4d: log in leases callback
2018-06-24 11:56:39 +02:00
5a07d6696d
split integration tests into multiple packages
...
This makes them complete more quickly (because they are run in parallel) and
invalidates only the cache for the integration test I’m working on, not for all
of them.
2018-06-24 11:46:49 +02:00
2ff269bf67
unflake integration: use different interface name in DHCPv6 test
2018-06-24 08:33:39 +02:00
c96c683e43
dns: send NXDOMAIN for non-existant local names
2018-06-23 22:15:35 +02:00
3886367a32
remove TODOs: the sysctls have reasonable defaults
2018-06-23 20:34:42 +02:00
bf2c12a69d
netconfigd: export ipv4/ipv6 packet/bytes counters on :8066
2018-06-23 19:56:34 +02:00
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
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
37bf17e1b7
make binaries cope with Squashfs root
2018-06-22 17:59:23 +02:00
5e11eae951
fix dhcp4d_test for larger pool
2018-06-19 09:46:29 +02:00
957e4de03a
no-op: only one branch results in DHCPNAK
2018-06-18 19:29:58 +02:00
34d494b85c
dhcp4d: increase lease range to cover existing leases
2018-06-18 19:29:42 +02:00
4b6b5196b0
dns: correctly resolve PTR for hostname
2018-06-18 09:44:46 +02:00
c743091929
dns: track number of questions and which upstream was used
2018-06-18 09:35:14 +02:00