1
0
mirror of https://github.com/rtr7/router7.git synced 2024-05-06 15:54:52 +00:00

143 Commits

Author SHA1 Message Date
b6a5227d49 netconfig_test: better diffs, refactor for clarity/brevity 2018-11-26 08:46:59 +01:00
127bdc466e netconfig_test: use ip -netns instead of ip netns exec ip 2018-11-26 08:32:38 +01:00
ac883da6a5 dns_test: xps → testtarget
This fixes running the tests on xps, where the entry derived from os.Hostname
would clash with the xps entries the testcase tries to install.
2018-11-22 17:03:51 +01:00
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
30e9a6677b integration/dhcpv4: print unified line-wise diff
This is much more readable than the go-cmp Diff() output when dealing with
[]string lines.
2018-11-18 14:29:30 +01:00
fac1bf231e netconfigd: notify dhcp4d to update its listeners 2018-10-29 18:14:01 +01:00
7d278289f0 captured: directly call NextPacket() to prevent hanging reads
Using Packets() spawns off a separate goroutine which calls NextPacket in a loop
until io.EOF is returned. This goroutine will stick around after Close()
returned, resulting in only the first wireshark connection working.
2018-10-23 09:56:07 +02:00
d9f5d95812 dhcp4d: export number of non-expired DHCP leases 2018-10-23 08:49:29 +02: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
817fdc81f8 README: recommend to install all rtr7 tools 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
672134080f README: reference prometheus config + dashboard 2018-10-10 16:52:42 +02:00
b725100d9c add prometheus configuration examples 2018-10-10 16:49:45 +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
f7638dfeaa netconfig_test: test updating port forwardings after installation
This uncovered an nftables issue:
695079ebff
2018-10-03 18:24:54 +02:00
ea4ffa7bec OpenEthernet → NewEthernetHandle, remove kludge 2018-09-07 00:50:41 +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
4c4032d469 README: add radvd as consumer of dhcp6 lease file 2018-08-20 22:59:22 +02:00
14f1636bc0 travis: upgrade to xenial (Ubuntu 16.04)
Perhaps this will use a newer kernel with support for nftables stateful objects?
2018-08-10 09:37:25 +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
a9c7585eac README: add travis badge 2018-07-14 20:57:27 +02:00
4a85c51b9f add travis config 2018-07-14 20:53:24 +02:00
3282dc5675 netconfig: GetRule filtering is not supported by Linux 4.4.0 (trusty) 2018-07-14 20:53:15 +02:00
ea10307b5d dhcpv4: replace hard-coded midna → os.Hostname() 2018-07-14 17:35:25 +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
9e0f83a7cf integration tests: send ip netns add errors to stderr, too 2018-07-14 15:43:47 +02:00
9131e7a99c dhcp6: add missing err parameter 2018-07-14 15:17:12 +02:00
8da684cc8f README: add godoc badge 2018-07-14 15:14:42 +02:00
b08f872a65 add go report card 2018-07-14 14:55:30 +02:00
25ceda02ec README: get router7 repo explicitly 2018-07-14 14:34:08 +02:00
6b73254a72 write README.md 2018-07-14 14:03:02 +02:00
9153805e69 randomd moved to github.com/gokrazy/gokrazy/cmd/randomd 2018-07-14 12:51:28 +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