]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/ngircd.c
Always cloak client hostname, if needed
[ngircd-alex.git] / src / ngircd / ngircd.c
index 874dfa3f6bb7de2ae9a8bc632a7a65f8ce58b38e..8a93bcb00839a796b262b890d12b373d662ccf56 100644 (file)
@@ -255,11 +255,11 @@ main(int argc, const char *argv[])
                NGIRCd_SignalRestart = false;
                NGIRCd_SignalQuit = false;
 
-               Random_Init();
-
                /* Initialize modules, part I */
                Log_Init(!NGIRCd_NoDaemon);
+               Random_Init();
                Conf_Init();
+               Log_ReInit();
 
                /* Initialize the "main program": chroot environment, user and
                 * group ID, ... */
@@ -498,7 +498,8 @@ Pidfile_Create(pid_t pid)
 
        len = snprintf(pidbuf, sizeof pidbuf, "%ld\n", (long)pid);
        if (len < 0 || len >= (int)sizeof pidbuf) {
-               Log( LOG_ERR, "Error converting pid");
+               Log(LOG_ERR, "Error converting pid");
+               close(pidfd);
                return;
        }
        
@@ -642,12 +643,10 @@ NGIRCd_Init(bool NGIRCd_NoDaemon)
                }
 
                if (chroot(Conf_Chroot) != 0) {
-                       if (errno != EPERM) {
-                               Log(LOG_ERR,
-                                   "Can't change root directory to \"%s\": %s",
-                                   Conf_Chroot, strerror(errno));
-                               goto out;
-                       }
+                       Log(LOG_ERR,
+                           "Can't change root directory to \"%s\": %s",
+                           Conf_Chroot, strerror(errno));
+                       goto out;
                } else {
                        chrooted = true;
                        Log(LOG_INFO,