silc-server does not drop privileges when run in foreground
Daniel Kahn Gillmor
dkg-silc at fifthhorseman.net
Wed Mar 7 06:51:34 CET 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
After Frank Benkstein's announcement today, i started experimenting
with running silcd under supervision with the runit suite [0], to make
the daemon restart if it should crash under other similar
circumstances.
I discovered that a foregrounded silc server (silcd -F) doesn't
appropriately drop privileges, even when configured to do so in
silcd.conf.
The following patch (which i've already incorporated in my debianized
silc-server packages [1]) ensures that privileges are dropped even
when the daemon is running in the foreground.
If there's a reason to avoid doing this, or a better way to do it, i'd
appreciate hearing about it.
Running under a reasonable service supervision suite also points to
the idea of logging directly to stderr (and letting the supervision
suite handle logfile timestamping/rotation/etc). But that's probably
another post.
Regards,
--dkg
- --- silc-server-1.0.3.orig/apps/silcd/silcd.c
+++ silc-server-1.0.3/apps/silcd/silcd.c
@@ -780,9 +780,10 @@
snprintf(buf, sizeof(buf) - 1, "%d\n", getpid());
silc_file_writefile(pidfile, buf, strlen(buf));
}
- -
- - silc_server_drop_privs(silcd);
}
+ /* dkg moved this outside of the !foreground block so that
+ foregrounded servers would also properly drop privs. */
+ silc_server_drop_privs(silcd);
/* Run the server. When this returns the server has been stopped
and we will exit. */
[0] http://smarden.sunsite.dk/runit/
[1] http://lair.fifthhorseman.net/~dkg/src/silc/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8+ <http://mailcrypt.sourceforge.net/>
iD8DBQFF7lLhiXTlFKVLY2URApFTAKCuQLrmkls7sV8d3xClXnilcuvUJACeLkdS
b/BnZBdDGuH5iHu/+X8PW+Q=
=JLPT
-----END PGP SIGNATURE-----
More information about the silc-devel
mailing list