Send new, versioned connect stanza.
[doldaconnect.git] / daemon / main.c
index 025c5a2..d008468 100644 (file)
 #include "sysevents.h"
 #include "auth.h"
 
+#ifdef HAVE_KEYUTILS
+#include <keyutils.h>
+#endif
+
 struct module *modchain = NULL;
 static struct timer *timers = NULL;
 static struct child *children = NULL;
@@ -303,6 +307,10 @@ pid_t forksess(uid_t user, struct authhandle *auth, void (*ccbfunc)(pid_t, int,
        setpgrp();
        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)
        {
            flog(LOG_WARNING, "could not open session for user %s: %s", pwent->pw_name, (errno == 0)?"Unknown error - should be logged above":strerror(errno));
@@ -452,7 +460,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);