Fix setpgrp portability issue (use setpgid instead).
[doldaconnect.git] / daemon / main.c
index 2c6f08d..4bded58 100644 (file)
@@ -304,11 +304,12 @@ pid_t forksess(uid_t user, struct authhandle *auth, void (*ccbfunc)(pid_t, int,
                close(i);
            }
        }
-       setpgrp();
+       setpgid(0, 0);
        signal(SIGHUP, SIG_IGN);
        errno = 0;
 #ifdef HAVE_KEYUTILS
        keyctl_join_session_keyring(NULL);
+       keyctl_chown(KEY_SPEC_SESSION_KEYRING, pwent->pw_uid, pwent->pw_gid);
 #endif
        if((authopensess(auth)) != AUTH_SUCCESS)
        {
@@ -384,6 +385,7 @@ int main(int argc, char **argv)
     struct child *child;
     double now;
     
+    now = ntime();
     immsyslog = nofork = 0;
     syslogfac = LOG_DAEMON;
     configfile = NULL;
@@ -459,7 +461,7 @@ int main(int argc, char **argv)
     preinit(0);
     if(configfile == NULL)
     {
-       if((configfile = findconfigfile()) == NULL)
+       if((configfile = findfile("doldacond.conf", NULL, 0)) == NULL)
        {
            flog(LOG_CRIT, "could not find a configuration file");
            exit(1);
@@ -493,6 +495,7 @@ int main(int argc, char **argv)
        fprintf(pfstream, "%i\n", getpid());
        fclose(pfstream);
     }
+    flog(LOG_INFO, "startup took %f seconds", ntime() - now);
     running = 1;
     reinit = 0;
     while(running)