Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						ccaf6ad452 
					 
					
						
						
							
							dns: fallback to next upstream upon failure  
						
						 
						
						
						
						
					 
					
						2019-02-19 08:38:52 +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 
							
						 
					 
					
						
						
							
						
						bd8fc63b0e 
					 
					
						
						
							
							dns: implement per-DHCP-lease dyndns  
						
						 
						
						... 
						
						
						
						The HTTP API is easy to use from the command line or from Go:
% curl --data "host=sub&ip=192.168.33.44" -4 http://router7:8053/dyndns 
ok
% host sub.$(hostname)
sub.midna has address 192.168.33.44
This can be used in combination with https://github.com/gokrazy/gdns  
						
						
					 
					
						2019-01-06 14:41:26 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						92d995bf79 
					 
					
						
						
							
							dns: return empty reply for non-A queries for DNS hostnames  
						
						 
						
						... 
						
						
						
						instead of NXDOMAIN, which is incorrect 
						
						
					 
					
						2019-01-01 17:21:50 +01: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 a5d9e03dd3  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 
							
						 
					 
					
						
						
							
						
						ddcdd39737 
					 
					
						
						
							
							dhcp4: drop last ack to restart with DISCOVER upon receiving NAK  
						
						 
						
						... 
						
						
						
						fixes  #13  
						
						
					 
					
						2018-12-25 14:10:21 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						725262d376 
					 
					
						
						
							
							netconfig: use sysctl format for easier copy&paste  
						
						 
						
						
						
						
					 
					
						2018-12-25 14:08:14 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						9012520052 
					 
					
						
						
							
							diag: more informative error messages  
						
						 
						
						
						
						
					 
					
						2018-12-15 13:36:21 +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 
							
						 
					 
					
						
						
							
						
						ec4f1f4dc5 
					 
					
						
						
							
							netconfig: implement WireGuard support  
						
						 
						
						... 
						
						
						
						To set up a tunnel, create a /perm/wireguard.json as illustrated in
netconfig_test.go, and don’t forget to adjust your /perm/interfaces.json with
the address configuration for the WireGuard tunnel.
Note that static routes cannot currently be configured, so the usefulness is
limited. If you have a use-case you’d like to see covered, please explain it in
https://github.com/rtr7/router7/issues/14  
						
						
					 
					
						2018-11-26 18:29:03 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						df9a40557c 
					 
					
						
						
							
							dhcp4: correctly check errors from c.once  
						
						 
						
						
						
						
					 
					
						2018-11-21 08:41:24 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						bef7168112 
					 
					
						
						
							
							dhcp4: resolve TODOs in comments  
						
						 
						
						
						
						
					 
					
						2018-11-21 08:41:07 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						5b34daeb4e 
					 
					
						
						
							
							no-op cleanup: switch to dhcp4.LeaseFromACK  
						
						 
						
						
						
						
					 
					
						2018-11-21 08:23:57 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						4288adec69 
					 
					
						
						
							
							dns: don’t let clients override the hostname  
						
						 
						
						... 
						
						
						
						fixes  #11  
						
						
					 
					
						2018-10-22 21:43:41 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						0bbc1d923d 
					 
					
						
						
							
							refactor replayer code into pcapreplayer package  
						
						 
						
						
						
						
					 
					
						2018-10-22 21:04:35 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						e01a38ff78 
					 
					
						
						
							
							commit debug statements  
						
						 
						
						
						
						
					 
					
						2018-10-22 18:58:40 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						c037bf9c5f 
					 
					
						
						
							
							dhcp4d: fix panic when receiving unsupported requests  
						
						 
						
						
						
						
					 
					
						2018-10-22 18:39:25 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								insomniac 
							
						 
					 
					
						
						
							
						
						cfbf52db6e 
					 
					
						
						
							
							dhcp6: update after changes in insomniacslk/dhcp ( #10 )  
						
						 
						
						
						
						
					 
					
						2018-10-16 08:03:45 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Pablo Mazzini 
							
						 
					 
					
						
						
							
						
						81894ba0b3 
					 
					
						
						
							
							dhcp6: simplify PD obtention ( #9 )  
						
						 
						
						
						
						
					 
					
						2018-10-11 14:29:22 +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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Philipp Hug 
							
						 
					 
					
						
						
							
						
						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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						447f1779e2 
					 
					
						
						
							
							dhcp6: update for breaking upstream changes  
						
						 
						
						... 
						
						
						
						see https://github.com/insomniacslk/dhcp/pull/81  
						
						
					 
					
						2018-09-05 08:39:35 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						ad779c3665 
					 
					
						
						
							
							dhcp6: update for breaking upstream changes  
						
						 
						
						
						
						
					 
					
						2018-08-05 11:45:03 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						5a5a748b9f 
					 
					
						
						
							
							dnsd: don’t serve expired leases  
						
						 
						
						... 
						
						
						
						fixes  #6  
						
						
					 
					
						2018-08-05 11:30:58 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						daa14845ab 
					 
					
						
						
							
							netconfig: plug fd leak by closing the netlink handle  
						
						 
						
						... 
						
						
						
						fixes  #4  
						
						
					 
					
						2018-07-22 23:07:23 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						49a59779f5 
					 
					
						
						
							
							dhcp4d: don’t offer expired leases  
						
						 
						
						
						
						
					 
					
						2018-07-15 18:33:11 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						3282dc5675 
					 
					
						
						
							
							netconfig: GetRule filtering is not supported by Linux 4.4.0 (trusty)  
						
						 
						
						
						
						
					 
					
						2018-07-14 20:53:15 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						bfa16c559f 
					 
					
						
						
							
							dnsmasq: gracefully handle temporarily not existing ready files  
						
						 
						
						
						
						
					 
					
						2018-07-14 16:42:50 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						3afe757a34 
					 
					
						
						
							
							notify: gracefully handle vanishing processes  
						
						 
						
						
						
						
					 
					
						2018-07-14 16:36:51 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						b347ed74c5 
					 
					
						
						
							
							update import paths  
						
						 
						
						
						
						
					 
					
						2018-07-09 08:54:04 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						b05fd74006 
					 
					
						
						
							
							dhcp4: increase timeout to 10s  
						
						 
						
						
						
						
					 
					
						2018-07-03 17:37:17 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						86f5433cbb 
					 
					
						
						
							
							dhcp6: correctly clear previous error  
						
						 
						
						
						
						
					 
					
						2018-06-29 12:02:16 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						ff7aa8f2cb 
					 
					
						
						
							
							add copyright notices  
						
						 
						
						
						
						
					 
					
						2018-06-28 20:08:23 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						2b3cf0bf61 
					 
					
						
						
							
							captured: use multilisten  
						
						 
						
						
						
						
					 
					
						2018-06-28 20:08:23 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						4c7741a337 
					 
					
						
						
							
							add backupd  
						
						 
						
						
						
						
					 
					
						2018-06-26 18:01:50 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						89e1276ad4 
					 
					
						
						
							
							dns: simplify resolving code  
						
						 
						
						
						
						
					 
					
						2018-06-26 09:33:23 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Stapelberg 
							
						 
					 
					
						
						
							
						
						8e95e25442 
					 
					
						
						
							
							radvd: announce link-local ipv6 address for DNS  
						
						 
						
						
						
						
					 
					
						2018-06-26 09:04:05 +02:00