]>
Commit | Line | Data |
---|---|---|
b1965acc JR |
1 | --- XFree86-3.3.3.1/xc/programs/xdm/session.c~ Sat Jun 19 02:25:32 1999 |
2 | +++ XFree86-3.3.3.1/xc/programs/xdm/session.c Sat Jun 19 04:30:43 1999 | |
3 | @@ -699,6 +699,32 @@ | |
4 | #endif /* K5AUTH */ | |
5 | bzero(passwd, strlen(passwd)); | |
6 | SetUserAuthorization (d, verify); | |
7 | +#ifdef USE_PAM | |
8 | +{ | |
9 | + int i, j; | |
10 | + const char *const *pam_env; | |
11 | + char *tmp_pam_env; | |
12 | + | |
13 | + pam_env = (const char *const *) pam_getenvlist((pam_handle_t *) pamh); | |
14 | + | |
15 | + if (pam_env != NULL) { | |
16 | + tmp_pam_env = malloc(4096); | |
17 | + if (tmp_pam_env != NULL) { | |
18 | + for (i = 0; pam_env[i]; i++) { | |
19 | + Debug("env[%d] = %s\n", i, pam_env[i]); | |
20 | + strncpy(tmp_pam_env, pam_env[i], 4095); | |
21 | + tmp_pam_env[4095] = 0; | |
22 | + j = 0; | |
23 | + while (tmp_pam_env[j] != '=') | |
24 | + j++; | |
25 | + tmp_pam_env[j] = 0; | |
26 | + verify->userEnviron = setEnv(verify->userEnviron, tmp_pam_env, &tmp_pam_env[j + 1]); | |
27 | + } | |
28 | + } | |
29 | + free(tmp_pam_env); | |
30 | + } | |
31 | +} | |
32 | +#endif | |
33 | home = getEnv (verify->userEnviron, "HOME"); | |
34 | if (home) | |
35 | if (chdir (home) == -1) { |