X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Fngircd.c;h=5637cb2578666c91ef0a9945231fc2b74686d97c;hp=4099719b8ebe703e66960c97ae999df1f3274043;hb=13a5358a3d9a439e2f6d70f7770d4b7673bfbbc1;hpb=e009ccbe66f67a4c5344d6a1f415c50b699765ad diff --git a/src/ngircd/ngircd.c b/src/ngircd/ngircd.c index 4099719b..5637cb25 100644 --- a/src/ngircd/ngircd.c +++ b/src/ngircd/ngircd.c @@ -264,7 +264,7 @@ main(int argc, const char *argv[]) /* Initialize the "main program": chroot environment, user and * group ID, ... */ if (!NGIRCd_Init(NGIRCd_NoDaemon)) { - Log(LOG_ALERT, "Fatal: Initialization failed"); + Log(LOG_ALERT, "Fatal: Initialization failed, exiting!"); exit(1); } @@ -673,9 +673,10 @@ NGIRCd_Init(bool NGIRCd_NoDaemon) } /* SSL initialization */ - if (!ConnSSL_InitLibrary()) - Log(LOG_WARNING, - "Error during SSL initialization, continuing without SSL ..."); + if (!ConnSSL_InitLibrary()) { + Log(LOG_ERR, "Error during SSL initialization!"); + goto out; + } /* Change root */ if (Conf_Chroot[0]) { @@ -720,14 +721,16 @@ NGIRCd_Init(bool NGIRCd_NoDaemon) grp = getgrgid(Conf_GID); Log(LOG_ERR, "Can't change group ID to %s(%u): %s!", grp ? grp->gr_name : "?", Conf_GID, - strerror(errno)); + strerror(real_errno)); if (real_errno != EPERM) goto out; } if (setgroups(0, NULL) != 0) { - Log(LOG_ERR, "Can't drop supplementary group ids: %s!", + real_errno = errno; + Log(LOG_ERR, "Can't drop supplementary group IDs: %s!", strerror(errno)); - goto out; + if (real_errno != EPERM) + goto out; } } #endif @@ -739,7 +742,7 @@ NGIRCd_Init(bool NGIRCd_NoDaemon) pwd = getpwuid(Conf_UID); Log(LOG_ERR, "Can't change user ID to %s(%u): %s!", pwd ? pwd->pw_name : "?", Conf_UID, - strerror(errno)); + strerror(real_errno)); if (real_errno != EPERM) goto out; } @@ -814,8 +817,8 @@ NGIRCd_Init(bool NGIRCd_NoDaemon) "Changed working directory to \"%s\" ...", pwd->pw_dir); else - Log(LOG_INFO, - "Notice: Can't change working directory to \"%s\": %s!", + Log(LOG_ERR, + "Can't change working directory to \"%s\": %s!", pwd->pw_dir, strerror(errno)); } else Log(LOG_ERR, "Can't get user informaton for UID %d!?", Conf_UID);