c5a72342f2
Add time and vendor information to leases
2022-03-04 13:49:50 -08:00
67711ee2c7
Merge branch 'master' of https://github.com/rtr7/router7
2022-03-04 13:30:38 -08:00
6d41b077a9
internal/dhcp*: switch to github.com/mdlayher/packet ( #70 )
...
* internal/dhcp*: switch to github.com/mdlayher/packet
* internal/dhcp4d: update test constructor name to avoid packet conflict
Signed-off-by: Matt Layher <mdlayher@gmail.com >
2022-02-21 23:39:06 +01:00
406c6015c4
go mod tidy ( #69 )
...
To explicitly remove the u-root/u-root dependency.
Signed-off-by: Chris Koch <chrisko@google.com >
2021-12-22 09:00:47 +01:00
d57b44ab51
README: swap travis badge with GitHub Actions badge
2021-09-19 11:47:51 +02:00
3ad9d03460
gofmt for go:build
2021-09-19 11:46:57 +02:00
e07002721d
teelogger: make writes to /dev/console non-blocking
...
fixes https://github.com/rtr7/router7/issues/68
2021-09-19 11:45:19 +02:00
a5a012dd96
dhcp4: increase number of unhealthy cycles
2021-09-19 11:45:04 +02:00
575a14c394
dyndns: add zone to record name
...
Otherwise, already existing records are not recognized correctly.
2021-09-01 09:37:12 +02:00
20dd872fbe
backup: skip “nobackup” and “srv” directories
2021-09-01 09:27:49 +02:00
5869922efb
fix CONTRIBUTING.md link on the website ( #66 )
2021-07-11 09:52:11 +02:00
b88ddd41c3
netconfig: don’t try to add bridge to itself
2021-06-12 22:24:38 +02:00
bfb94377f4
netconfig: move bridge creation into its own function
...
also don’t short-circuit the rest of the configuration if bridge config fails
2021-06-12 18:25:37 +02:00
cffd872346
netconfig: implement bridge configuration
...
fixes https://github.com/rtr7/router7/issues/65
2021-06-06 15:43:55 +02:00
d0f963def3
fix integration test: explicitly install iproute2 in container
2021-06-03 21:18:51 +02:00
e34a5ae0f3
update go.mod and go.sum
2021-06-03 21:12:13 +02:00
cbadfe5128
dhcp4: ensure MQTT topic names are printable (for mosquitto_sub)
2021-06-03 21:06:03 +02:00
61b59517fc
Act as the authority even though were not
...
letsencrypt needs to talk to the authoritative name server, but
I have all dns traffic redirected to here so we get the SOA using the
same request (probably only works by accident) and then make a request
to the address listed in the SOA
Fix typos in IPv6 addresses
v0.0.22
2021-05-26 23:04:33 -07:00
b801bf699f
Re-Add DHCP discover fallback for ISPs that don't advertise DHCP
v0.0.21
2021-05-23 19:38:38 -07:00
e34b880a55
Final fix
...
Add the domain as it is needed (multiple domains on a home net is niche)
Only replace the record if a local one was found
Use proper slice updating
2021-05-23 19:34:59 -07:00
ac0ef71d9f
Fix null check
v0.0.20
2021-05-23 18:54:09 -07:00
9533787aac
Fix err check
...
go mod tidy
v0.0.19
2021-05-23 18:31:30 -07:00
29eaa11052
Update parameters for clarity
...
Hijack the final A record in a CNAME chain if it is in our records
v0.0.18
2021-05-23 17:49:15 -07:00
9ee285e139
fix build
v0.0.17
2021-03-15 23:50:19 -07:00
ef50f7c2e4
Merge remote-tracking branch 'origin/master'
v0.0.16
2021-03-15 22:44:39 -07:00
a592bbc76a
Revert "Fallback to DHCPDISCOVER after 4 failed timeouts"
...
This reverts commit 68105841c6
.
2021-03-15 22:34:17 -07:00
9f4380a4a3
Fix the fallback to DHCP Discover
...
Log the IP Address of the server in each failed timeout
Update gokrazy
v0.0.15
2021-01-09 15:32:30 -08:00
3834acfa2b
dhcp4d: ensure MQTT topic names are valid UTF-8
...
https://twitter.com/zekjur/status/1347295676909158400
2021-01-07 22:52:58 +01:00
c30bf38438
bump dependencies
2020-12-31 22:13:25 +01:00
5f25043b94
dhcp4d: only publish to MQTT when channel is ready to prevent deadlocks
2020-12-31 16:42:12 +01:00
c3c531931c
retry MQTT connections, even if initial connection attempt fails
2020-12-31 16:42:01 +01:00
32b0dc7d59
Makefile: Go 1.16’s go install wants the @latest suffix
2020-12-19 13:52:03 +01:00
04f2be01d9
dhcp4d: optionally publish DHCP leases to MQTT
...
Enable using:
mkdir -p /perm/dhcp4d
echo 'tcp://10.0.0.54:1883' > /perm/dhcp4d/mqtt-broker.txt
2020-12-19 13:34:46 +01:00
e5ea79aef8
update go.{mod,sum} with Go 1.16beta1
2020-12-18 10:10:17 +01:00
f8d1b4c8f2
internal/dhcp4: make persistent errors actally persistent ( #62 )
...
Previously, a permanent error would not be persisted for future
invocations of ObtainOrRenew. In practice, the daemon immediately
exited, so this made no difference.
2020-11-23 09:35:00 +01:00
8de4eb7ba1
internal/dns: prevent upstreams from being lost during reordering ( #63 )
...
If upstreams were reordered between start of an upstream request and its
conclusion, the move-to-front operation would likely incorrectly reorder
upstreams: duplicate one and remove another. Instead, we abandon the
move-to-front operation if that was about to happen.
2020-11-23 09:34:04 +01:00
0507d93b3d
dhcp4d: ensure that SetHostname operates on the correct lease ( #64 )
...
Previously SetHostname could operate on an expired lease, or even on a
lease for a different hwaddr, if the lease for the correct hwaddr
expired and the same lease ID was given away to someone else.
That's though mostly a theoretical concern, given the actual usage of
SetHostname and the time scales involved.
2020-11-23 09:32:42 +01:00
7f135438b8
dhcp4d: mention apple-suggested lease time of 1 hour
2020-11-01 19:24:24 +01:00
a8fce3cbbc
diag: drain ping reply channel to avoid goroutine leak
2020-09-14 22:10:09 +02:00
99c4046ebf
diagd: import net/http/pprof
2020-09-14 22:10:07 +02:00
efbe826a4e
diagd: -interface flag for easier testing
2020-09-14 22:10:07 +02:00
416c1a58f6
diag: plug socket leak by adding missing Close()
2020-09-14 22:10:07 +02:00
f8d79d0ecc
dhcp4: close healthiness checking connection
2020-09-14 12:54:14 +02:00
fddfe80222
dhcp4: start from scratch after 5 minutes of continued unhealthiness
...
fixes #58
2020-09-14 09:06:05 +02:00
876f8e320f
netconfig: de-configure old DHCPv4 addresses from uplink0
...
It is generally not a good idea to have multiple IP addresses on the same
interface unless managing their relative priorities via metrics etc.
During an outage, I noticed that with multiple IP addresses,
Linux was using the old obsolete one to send out packets,
which does not work with the ISP.
With this change,
we still hold on to IP addresses for as long as possible,
but no longer.
fixes issue #57
2020-09-12 19:58:47 +02:00
93fe6457b3
dnsd: serve DNS on tcp/53 as well (DNS must work over TCP)
...
fixes #59
2020-09-12 19:21:58 +02:00
a34a03e036
Update gokrazy
v0.0.14
2020-09-02 00:04:04 -07:00
68105841c6
Fallback to DHCPDISCOVER after 4 failed timeouts
v0.0.13
2020-09-01 22:16:14 -07:00
1789f1e94c
Replace gokrazy
v0.0.12
2020-08-22 10:53:05 -07:00
55ac682d36
Fix flag.parse
v0.0.11
2020-08-17 23:13:26 -07:00