Module: ngircd.git Branch: master Commit: 1bb2fbedcc975aa6e424fd201f59a178a03d45b0 URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=1bb2f...
Author: Alexander Barton alex@barton.de Date: Tue Jan 3 21:05:35 2012 +0100
Enhance log messages when setting user and group
---
src/ngircd/ngircd.c | 18 +++++++++++------- 1 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/src/ngircd/ngircd.c b/src/ngircd/ngircd.c index ec2462a..874dfa3 100644 --- a/src/ngircd/ngircd.c +++ b/src/ngircd/ngircd.c @@ -658,10 +658,10 @@ NGIRCd_Init(bool NGIRCd_NoDaemon)
/* Check user ID */ if (Conf_UID == 0) { + pwd = getpwuid(0); Log(LOG_INFO, - "ServerUID must not be 0, using "nobody" instead.", - Conf_UID); - + "ServerUID must not be %s(0), using "nobody" instead.", + pwd ? pwd->pw_name : "?"); if (!NGIRCd_getNobodyID(&Conf_UID, &Conf_GID)) { Log(LOG_WARNING, "Could not get user/group ID of user "nobody": %s", @@ -674,8 +674,10 @@ NGIRCd_Init(bool NGIRCd_NoDaemon) if (getgid() != Conf_GID) { if (setgid(Conf_GID) != 0) { real_errno = errno; - Log(LOG_ERR, "Can't change group ID to %u: %s", - Conf_GID, strerror(errno)); + grp = getgrgid(Conf_GID); + Log(LOG_ERR, "Can't change group ID to %s(%u): %s", + grp ? grp->gr_name : "?", Conf_GID, + strerror(errno)); if (real_errno != EPERM) goto out; } @@ -685,8 +687,10 @@ NGIRCd_Init(bool NGIRCd_NoDaemon) if (getuid() != Conf_UID) { if (setuid(Conf_UID) != 0) { real_errno = errno; - Log(LOG_ERR, "Can't change user ID to %u: %s", - Conf_UID, strerror(errno)); + pwd = getpwuid(Conf_UID); + Log(LOG_ERR, "Can't change user ID to %s(%u): %s", + pwd ? pwd->pw_name : "?", Conf_UID, + strerror(errno)); if (real_errno != EPERM) goto out; }