Create a new session keyring with keyutils.
authorfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Sat, 27 May 2006 01:56:26 +0000 (01:56 +0000)
committerfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Sat, 27 May 2006 01:56:26 +0000 (01:56 +0000)
git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/doldaconnect@613 959494ce-11ee-0310-bf91-de5d638817bd

daemon/main.c

index 025c5a2..2c6f08d 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,9 @@ 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);
+#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));