You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The bug affects users who configure dns64 support. As I understand, the bug triggers when the dnscrypt-proxy binds to no addresses (systemd socket activation) and dns64 is enabled.
The dnscrypt-proxy fails to start and prints out this stack trace:
dnscrypt-proxy[2960]: [2020-09-16 23:48:53] [NOTICE] dnscrypt-proxy 2.0.44
dnscrypt-proxy[2960]: [2020-09-16 23:48:53] [NOTICE] Network connectivity detected
dnscrypt-proxy[2960]: [2020-09-16 23:48:53] [WARNING] Systemd sockets are untested and unsupported - use at your own risk
dnscrypt-proxy[2960]: [2020-09-16 23:48:53] [NOTICE] Wiring systemd TCP socket #0, dnscrypt-proxy.socket, 127.0.2.1:5300
dnscrypt-proxy[2960]: [2020-09-16 23:48:53] [NOTICE] Wiring systemd UDP socket #1, dnscrypt-proxy.socket, 127.0.2.1:5300
dnscrypt-proxy[2960]: [2020-09-16 23:48:53] [NOTICE] Source [public-resolvers] loaded
dnscrypt-proxy[2960]: [2020-09-16 23:48:53] [NOTICE] Firefox workaround initialized
dnscrypt-proxy[2960]: [2020-09-16 23:48:53] [NOTICE] Loading the set of cloaking rules from [local-dns.txt]
dnscrypt-proxy[2960]: [2020-09-16 23:48:53] [NOTICE] Loading the set of forwarding rules from [forwarding-rules.txt]
dnscrypt-proxy[2960]: panic: runtime error: index out of range [0] with length 0
dnscrypt-proxy[2960]: goroutine 19 [running]:
dnscrypt-proxy[2960]: main.(*PluginDns64).Init(0xc000073ea0, 0xc0000c6900, 0x0, 0x0)
dnscrypt-proxy[2960]: github.com/DNSCrypt/dnscrypt-proxy/dnscrypt-proxy/plugin_dns64.go:35 +0x3ef
dnscrypt-proxy[2960]: main.(*Proxy).InitPluginsGlobals(0xc0000c6900, 0xc0000c8480, 0x0)
dnscrypt-proxy[2960]: github.com/DNSCrypt/dnscrypt-proxy/dnscrypt-proxy/plugins.go:156 +0x523
dnscrypt-proxy[2960]: main.(*App).AppMain(0xc00009b620)
dnscrypt-proxy[2960]: github.com/DNSCrypt/dnscrypt-proxy/dnscrypt-proxy/main.go:130 +0xb3
dnscrypt-proxy[2960]: main.(*App).Start.func1(0xc00009b620)
dnscrypt-proxy[2960]: github.com/DNSCrypt/dnscrypt-proxy/dnscrypt-proxy/main.go:118 +0x2b
dnscrypt-proxy[2960]: created by main.(*App).Start
dnscrypt-proxy[2960]: github.com/DNSCrypt/dnscrypt-proxy/dnscrypt-proxy/main.go:117 +0x49
systemd[1]: dnscrypt-proxy.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
systemd[1]: dnscrypt-proxy.service: Failed with result 'exit-code'.
I installed dnscrypt-proxy 2.0.44 from Debian testing on Debian stable.
I changed the port in the systemd socket file but that should not matter:
dnscrypt-proxy should not crash on startup, or if this is a problem that truly prevents startup, it should exit with error explaining what to change to not fail to start.
The bug affects users who configure dns64 support. As I understand, the bug triggers when the dnscrypt-proxy binds to no addresses (systemd socket activation) and dns64 is enabled.
The dnscrypt-proxy fails to start and prints out this stack trace:
I installed dnscrypt-proxy 2.0.44 from Debian testing on Debian stable.
I changed the port in the systemd socket file but that should not matter:
The dnscrypt-proxy.toml is following (I believe mostly default + adding dns64):
Expected behavior (i.e. solution)
dnscrypt-proxy should not crash on startup, or if this is a problem that truly prevents startup, it should exit with error explaining what to change to not fail to start.
Other comments
My guess is crash is because:
dnscrypt-proxy/dnscrypt-proxy/plugin_dns64.go
Line 35 in 03746b7
code attempts to uncoditionally use the first listener and with systemd that is empty (see dnscrypt-proxy.toml).
The text was updated successfully, but these errors were encountered: