diff options
| author | Paul Buetow <paul@buetow.org> | 2026-07-03 21:24:59 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-07-03 21:24:59 +0300 |
| commit | f92a962f60bf61a161c89d2efe5a6adc5979b6cd (patch) | |
| tree | b583ad566ed2479c8b51fce99aa1fb71b86d1937 /wireguardmeshgenerator.gemspec | |
| parent | a8057647167e943e3f3b1f68a2db94a158d80d68 (diff) | |
Add NetBSD support (pi0, pi1) via userspace wireguard-gomain
NetBSD has no native wg(4) kernel module and no wg-quick; pi0/pi1 use
pkgsrc wireguard-go + wg instead, with a custom /etc/rc.d/wireguard
script since there's nothing to hook into. This required:
- Generating a stripped config (no Address/DNS lines) for `wg setconf`,
which rejects wg-quick extensions with "Line unrecognized".
- Generating the rc.d script itself, with one route add/delete pair per
peer AllowedIPs prefix, since wg-quick normally manages those routes
automatically and wg only handles the crypto routing decision.
- Per-host wg_bin override (doas resets PATH to exclude /usr/pkg/bin) and
full-path chown in the NetBSD install path (doas PATH also excludes
/usr/sbin, where chown lives on NetBSD -- caught by actually running
--install against pi0 before fixing it here).
Verified: --generate output for pi0/pi1 matches the hand-written configs
byte-for-byte (same keys, same routes); --install deployed cleanly to
both with correct root:wheel ownership and live WireGuard handshakes;
non-NetBSD hosts (f0, r0, blowfish, earth) produce byte-identical output
to before this change.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Diffstat (limited to 'wireguardmeshgenerator.gemspec')
0 files changed, 0 insertions, 0 deletions
