r19351: Also export the info3 profilepath via the PAM_WINBIND_PROFILEPATH data
authorGünther Deschner <gd@samba.org>
Mon, 16 Oct 2006 23:13:56 +0000 (23:13 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:15:30 +0000 (12:15 -0500)
field.

Guenther
(This used to be commit 66b92f27fa4edec180b8c8eee929ec8f31ef6a08)

source3/nsswitch/pam_winbind.c
source3/nsswitch/pam_winbind.h

index 034c7f1746db0da11daa60f878f02b77e387c4bc..0729fda62b9d118f9aed3bb93d98c1fe4b058a5c 100644 (file)
@@ -572,6 +572,18 @@ static int winbind_auth_request(pam_handle_t * pamh,
                }
        }
 
+       /* save the profile path for other PAM modules */
+       if (response.data.auth.info3.profile_path[0] != '\0') {
+
+               int ret2 = pam_set_data(pamh, PAM_WINBIND_PROFILEPATH, 
+                                       (void *) strdup(response.data.auth.info3.profile_path), 
+                                       _pam_winbind_cleanup_func);
+               if (ret2) {
+                       _pam_log_debug(pamh, ctrl, LOG_DEBUG, "Could not set data: %s", 
+                                      pam_strerror(pamh, ret2));
+               }
+       }
+
        /* If winbindd returned a username, return the pointer to it here. */
        if (user_ret && response.extra_data.data) {
                /* We have to trust it's a null terminated string. */
index 0ca30c28aae3e8529ecf0a4074dd279e9a4a6ac5..e817c5a840fbdf0fb06ea605e9ca577a943e7ba3 100644 (file)
@@ -100,6 +100,7 @@ do {                             \
 #define PAM_WINBIND_NEW_AUTHTOK_REQD "PAM_WINBIND_NEW_AUTHTOK_REQD"
 #define PAM_WINBIND_HOMEDIR "PAM_WINBIND_HOMEDIR"
 #define PAM_WINBIND_LOGONSCRIPT "PAM_WINBIND_LOGONSCRIPT"
+#define PAM_WINBIND_PROFILEPATH "PAM_WINBIND_PROFILEPATH"
 #define PAM_WINBIND_PWD_LAST_SET "PAM_WINBIND_PWD_LAST_SET"
 
 #define SECONDS_PER_DAY 86400