Package: radvd
Version: 1:2.15-2
Severity: important

Hey,

when using radvd from stretch, it is impossible to reload radvd, because
the syntax for the reload line is not correct. With the result, that
radvd is not reloaded. Journalctl -u radvd.service logs this as follows:

systemd[1]: Reloading Router advertisement daemon for IPv6.
radvd[1234]: /usr/sbin/radvd: invalid option -- 'H'
systemd[1]: radvd.service: Control process exited, code=exited status=1

The problem is the ExecReload line in /lib/systemd/system/radvd.service:
ExecReload=/usr/sbin/radvd --logmethod stderr_clean --configtest &&
/bin/kill -HUP $MAINPID

(according to the documentation, the && is not supported for service
unit files). A propper solution is to use ";" or split this to two lines aka:
ExecReload=/usr/sbin/radvd --logmethod stderr_clean --configtest
ExecReload=/bin/kill -HUP $MAINPID

For those you want a temporaly solution can creathe a override file:
# cat /etc/systemd/system/radvd.service.d/override.conf
[Service]
ExecReload=
ExecReload=/usr/sbin/radvd --logmethod stderr_clean --configtest
ExecReload=/bin/kill -HUP $MAINPID

Best Regards,

Sandro

Reply via email to