X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Fmain.c;h=2c6f08d0d0ee5d79984a94600f58117560a65af5;hb=5feb6be7188c594f4d2b9685db7f3fb0b584ea4a;hp=025c5a291ff8d2e66c12c1c5c5736a21ad680bcf;hpb=57f76d122150b80314faabccc63902a8bf8ef605;p=doldaconnect.git diff --git a/daemon/main.c b/daemon/main.c index 025c5a2..2c6f08d 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -43,6 +43,10 @@ #include "sysevents.h" #include "auth.h" +#ifdef HAVE_KEYUTILS +#include +#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));