1
0
mirror of https://github.com/osmarks/ngircd.git synced 2025-08-29 16:57:57 +00:00

Enhance log messages when setting user and group

This commit is contained in:
Alexander Barton
2012-01-03 21:05:35 +01:00
parent 3193d5477c
commit 1bb2fbedcc

View File

@@ -658,10 +658,10 @@ NGIRCd_Init(bool NGIRCd_NoDaemon)
/* Check user ID */ /* Check user ID */
if (Conf_UID == 0) { if (Conf_UID == 0) {
pwd = getpwuid(0);
Log(LOG_INFO, Log(LOG_INFO,
"ServerUID must not be 0, using \"nobody\" instead.", "ServerUID must not be %s(0), using \"nobody\" instead.",
Conf_UID); pwd ? pwd->pw_name : "?");
if (!NGIRCd_getNobodyID(&Conf_UID, &Conf_GID)) { if (!NGIRCd_getNobodyID(&Conf_UID, &Conf_GID)) {
Log(LOG_WARNING, Log(LOG_WARNING,
"Could not get user/group ID of user \"nobody\": %s", "Could not get user/group ID of user \"nobody\": %s",
@@ -674,8 +674,10 @@ NGIRCd_Init(bool NGIRCd_NoDaemon)
if (getgid() != Conf_GID) { if (getgid() != Conf_GID) {
if (setgid(Conf_GID) != 0) { if (setgid(Conf_GID) != 0) {
real_errno = errno; real_errno = errno;
Log(LOG_ERR, "Can't change group ID to %u: %s", grp = getgrgid(Conf_GID);
Conf_GID, strerror(errno)); Log(LOG_ERR, "Can't change group ID to %s(%u): %s",
grp ? grp->gr_name : "?", Conf_GID,
strerror(errno));
if (real_errno != EPERM) if (real_errno != EPERM)
goto out; goto out;
} }
@@ -685,8 +687,10 @@ NGIRCd_Init(bool NGIRCd_NoDaemon)
if (getuid() != Conf_UID) { if (getuid() != Conf_UID) {
if (setuid(Conf_UID) != 0) { if (setuid(Conf_UID) != 0) {
real_errno = errno; real_errno = errno;
Log(LOG_ERR, "Can't change user ID to %u: %s", pwd = getpwuid(Conf_UID);
Conf_UID, strerror(errno)); Log(LOG_ERR, "Can't change user ID to %s(%u): %s",
pwd ? pwd->pw_name : "?", Conf_UID,
strerror(errno));
if (real_errno != EPERM) if (real_errno != EPERM)
goto out; goto out;
} }