]>
Commit | Line | Data |
---|---|---|
940ad429 JR |
1 | --- sudo-1.6.8p12/configure.in.login 2006-07-16 15:25:33.000000000 +0200 |
2 | +++ sudo-1.6.8p12/configure.in 2006-07-16 15:49:08.000000000 +0200 | |
3 | @@ -357,6 +357,17 @@ | |
4 | ;; | |
5 | esac]) | |
6 | ||
7 | +AC_ARG_WITH(pam-login, [ --with-pam-login enable specific PAM session for sudo -i], | |
8 | +[case $with_pam_login in | |
9 | + yes) AC_DEFINE(HAVE_PAM_LOGIN) | |
10 | + AC_MSG_CHECKING(whether to use PAM login) | |
11 | + AC_MSG_RESULT(yes) | |
12 | + ;; | |
13 | + no) ;; | |
14 | + *) AC_MSG_ERROR(["--with-pam-login does not take an argument."]) | |
15 | + ;; | |
16 | +esac]) | |
17 | + | |
18 | AC_ARG_WITH(AFS, [ --with-AFS enable AFS support], | |
19 | [case $with_AFS in | |
20 | yes) AC_DEFINE(HAVE_AFS) | |
dc214b6e JB |
21 | --- sudo-1.6.9p3/sudo.c.orig 2007-08-04 22:30:23.307231082 +0200 |
22 | +++ sudo-1.6.9p3/sudo.c 2007-08-04 22:31:28.238931329 +0200 | |
9f2a81df AM |
23 | @@ -157,6 +157,7 @@ |
24 | static char *runas_user; | |
25 | static char *runas_group; | |
26 | static struct sudo_nss_list *snl; | |
940ad429 JR |
27 | +int sudo_mode; |
28 | ||
9f2a81df AM |
29 | /* For getopt(3) */ |
30 | extern char *optarg; | |
31 | @@ -169,7 +170,7 @@ | |
32 | char **envp; | |
33 | { | |
34 | int sources = 0, validated; | |
35 | - int fd, cmnd_status, sudo_mode, pwflag, rc = 0; | |
36 | + int fd, cmnd_status, pwflag, rc = 0; | |
940ad429 | 37 | sigaction_t sa; |
9f2a81df AM |
38 | struct sudo_nss *nss; |
39 | #if defined(SUDO_DEVEL) && defined(__OpenBSD__) | |
940ad429 JR |
40 | --- sudo-1.6.8p12/auth/pam.c.login 2006-07-16 15:41:59.000000000 +0200 |
41 | +++ sudo-1.6.8p12/auth/pam.c 2006-07-16 15:45:15.000000000 +0200 | |
42 | @@ -89,7 +89,12 @@ | |
43 | if (auth != NULL) | |
44 | auth->data = (VOID *) &pam_status; | |
45 | pam_conv.conv = sudo_conv; | |
46 | - pam_status = pam_start("sudo", pw->pw_name, &pam_conv, &pamh); | |
47 | +#ifdef HAVE_PAM_LOGIN | |
48 | + if (ISSET(sudo_mode, MODE_LOGIN_SHELL)) | |
49 | + pam_status = pam_start("sudo-i", pw->pw_name, &pam_conv, &pamh); | |
50 | + else | |
51 | +#endif | |
52 | + pam_status = pam_start("sudo", pw->pw_name, &pam_conv, &pamh); | |
53 | if (pam_status != PAM_SUCCESS) { | |
54 | log_error(USE_ERRNO|NO_EXIT|NO_MAIL, "unable to initialize PAM"); | |
55 | return(AUTH_FATAL); | |
dc214b6e JB |
56 | --- sudo-1.6.9p3/sudo.h.orig 2007-07-06 16:14:34.000000000 +0200 |
57 | +++ sudo-1.6.9p3/sudo.h 2007-08-04 22:32:18.353787210 +0200 | |
58 | @@ -268,6 +268,7 @@ | |
940ad429 JR |
59 | extern FILE *sudoers_fp; |
60 | extern int tgetpass_flags; | |
61 | extern uid_t timestamp_uid; | |
62 | +extern int sudo_mode; | |
940ad429 | 63 | #endif |
dc214b6e JB |
64 | #ifndef errno |
65 | extern int errno; | |
940ad429 JR |
66 | --- sudo-1.6.8p12/config.h.in.login 2006-07-16 15:32:09.000000000 +0200 |
67 | +++ sudo-1.6.8p12/config.h.in 2006-07-16 15:32:56.000000000 +0200 | |
68 | @@ -230,6 +230,9 @@ | |
69 | /* Define to 1 if you use PAM authentication. */ | |
70 | #undef HAVE_PAM | |
71 | ||
72 | +/* Define to 1 if you use specific PAM session for sodo -i. */ | |
73 | +#undef HAVE_PAM_LOGIN | |
74 | + | |
75 | /* Define to 1 if you have the <pam/pam_appl.h> header file. */ | |
76 | #undef HAVE_PAM_PAM_APPL_H | |
77 |