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

287 Commits

Author SHA1 Message Date
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
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
ee17db29b6 GitHub actions: also exit early if gofmt reports syntax errors 2020-08-01 09:46:19 +02:00
5573c4dde7 GitHub actions: fix gofmt check 2020-08-01 09:28:02 +02:00
cf1e1dd480 re-generate website to pick up previous commit 2020-07-06 09:50:52 +02:00
30b160ee55 website: added configuration section (#55)
Added configuration section to the installation page, including
examples of configuration files.
2020-07-06 09:50:37 +02:00
f86e20be53 dhcp6: port dhcp4 backoff logic 2020-07-02 22:07:26 +02:00
ae8cfee616 dhcp6: inspect server advertisment IAPD and report error, if any
The fiber7 DHCPv6 servers (sometimes?) use this field for reporting errors.
2020-07-02 22:06:55 +02:00
281f876834 integration/netconfig: verify wg(8) is available
The kernel used on GitHub actions now allows creating wireguard interfaces
apparently.
2020-07-02 21:14:35 +02:00
8c1b3676ab gokr-packer invocations: set empty -eeprom_package=
We don’t need Raspberry Pi 4 EEPROM files on router7 on amd64,
and this makes the build easier.

fixes #54
2020-07-02 21:06:22 +02:00
dff392e558 website: bundle assets for faster loading/privacy 2020-06-21 10:06:18 +02:00
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
cb95bb6df8 move README into (hugo-powered) website router7.org 2020-06-21 09:43:13 +02:00
1250211381 github actions: try caching the module cache 2020-06-16 23:41:21 +02:00
9c7e626f7d switch from travis to GitHub actions 2020-06-16 23:22:34 +02:00
b090fa2924 qemu: enable i6300esb watchdog device
For the corresponding kernel change, see:
0f4dcc4a87
2020-06-16 23:09:35 +02:00
1fd5468bab first start of a qemu target 2020-06-04 09:59:24 +02:00
aa14d119e6 dyndns: add log message when records are updated
Now both cases are covered.
2020-05-28 17:24:51 +02:00
decb0978d7 dyndns: update to newer libdns/cloudflare, remove workaround 2020-05-28 17:22:24 +02:00
f1e4ee0662 dyndns: don’t crashloop when config does not exist
related to #46
2020-05-28 09:46:37 +02:00