[radvd-devel-l] Radvd problem with non-root: config_interface()
fails
Pekka Savola
pekkas at netcore.fi
Thu Oct 25 01:44:10 EDT 2007
Hi,
I noticed a Debian PR [1] that radvd 1.0 prints an error from
config_interface() if non-root user is used.
For example:
Jul 4 06:37:12 orion radvd[2829]: failed to set CurHopLimit (64) for eth0
This stems from the fact that config_interface() wants to modify /proc
entries which are not writable except by root.
Unfortunately I don't see an easy eay to fix this. We could drop root
privileges later (which in turn would require shuffling code around
quite a bit), but if config changed, new configuration couldn't get
activated after SIGHUP. A more comprehensive solution would be
splitting the radvd process to a root-running "master process" and
nonroot "worker process" (like e.g. openssh does) and a signalling
channel between them but that would require lots of code.
Are there other options how to proceed?
What I'm going to do for now is add a strerror(errno) to
set_interface_var() function and document this problem in code and in
TODO.
[1]
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=431665
--
Pekka Savola "You each name yourselves king, yet the
Netcore Oy kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings
More information about the radvd-devel-l
mailing list