diff --git a/lib/auth/pam/Makefile.in b/lib/auth/pam/Makefile.in index 49fd2d806..e11363848 100644 --- a/lib/auth/pam/Makefile.in +++ b/lib/auth/pam/Makefile.in @@ -31,8 +31,8 @@ LD_FLAGS = @REAL_LD_FLAGS@ LIB_res_search = @LIB_res_search@ LIB_dn_expand = @LIB_dn_expand@ -@lib_deps_yes@LIB_DEPS = -L../../kafs -L../../krb -L../../des -L../../roken \ -@lib_deps_yes@ -lkafs -lkrb -ldes -lroken \ +@lib_deps_yes@LIB_DEPS = -L../../kafs -L../../krb -L../../des \ +@lib_deps_yes@ -lkafs -lkrb -ldes \ @lib_deps_yes@ $(LIB_res_search) $(LIB_dn_expand) -lc @lib_deps_no@LIB_DEPS = diff --git a/lib/auth/pam/pam.c b/lib/auth/pam/pam.c index 5bf8649ee..3753db334 100644 --- a/lib/auth/pam/pam.c +++ b/lib/auth/pam/pam.c @@ -212,7 +212,7 @@ pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const char **argv) int pam_sm_open_session(pam_handle_t *pamh, int flags, int argc, const char **argv) { - char *tkt; + char *tkt, *var; void *user; const char *homedir = NULL; @@ -225,7 +225,10 @@ pam_sm_open_session(pam_handle_t *pamh, int flags, int argc, const char **argv) } pam_get_data(pamh, "KRBTKFILE", (const void**)&tkt); - setenv("KRBTKFILE", tkt, 1); + var = malloc(strlen("KRBTKFILE=") + strlen(tkt) + 1); + strcpy(var, "KRBTKFILE="); + strcat(var, tkt); + putenv(var); if(k_hasafs()){ k_setpag(); krb_afslog_home(0, 0, homedir);