Annotation of /trunk/slim/patches/slim-1.3.2-fix-pam-authentication-with-pam-unix2.patch
Parent Directory | Revision Log
Revision 1738 -
(hide annotations)
(download)
Mon Apr 16 16:19:05 2012 UTC (12 years, 1 month ago) by niro
File size: 3017 byte(s)
Mon Apr 16 16:19:05 2012 UTC (12 years, 1 month ago) by niro
File size: 3017 byte(s)
-new patches
1 | niro | 1738 | diff -rc slim-1.3.1-orig/app.cpp slim-1.3.1/app.cpp |
2 | *** slim-1.3.1-orig/app.cpp 2008-09-26 02:54:15.000000000 +0200 | ||
3 | --- slim-1.3.1/app.cpp 2009-02-17 19:50:06.000000000 +0100 | ||
4 | *************** | ||
5 | *** 41,48 **** | ||
6 | Panel* panel = *static_cast<Panel**>(appdata_ptr); | ||
7 | int result = PAM_SUCCESS; | ||
8 | for (int i=0; i<num_msg; i++){ | ||
9 | ! resp[i]->resp=0; | ||
10 | ! resp[i]->resp_retcode=0; | ||
11 | switch(msg[i]->msg_style){ | ||
12 | case PAM_PROMPT_ECHO_ON: | ||
13 | // We assume PAM is asking for the username | ||
14 | --- 41,48 ---- | ||
15 | Panel* panel = *static_cast<Panel**>(appdata_ptr); | ||
16 | int result = PAM_SUCCESS; | ||
17 | for (int i=0; i<num_msg; i++){ | ||
18 | ! (*resp)[i].resp=0; | ||
19 | ! (*resp)[i].resp_retcode=0; | ||
20 | switch(msg[i]->msg_style){ | ||
21 | case PAM_PROMPT_ECHO_ON: | ||
22 | // We assume PAM is asking for the username | ||
23 | *************** | ||
24 | *** 51,63 **** | ||
25 | case Panel::Suspend: | ||
26 | case Panel::Halt: | ||
27 | case Panel::Reboot: | ||
28 | ! resp[i]->resp=strdup("root"); | ||
29 | break; | ||
30 | |||
31 | case Panel::Console: | ||
32 | case Panel::Exit: | ||
33 | case Panel::Login: | ||
34 | ! resp[i]->resp=strdup(panel->GetName().c_str()); | ||
35 | break; | ||
36 | } | ||
37 | break; | ||
38 | --- 51,63 ---- | ||
39 | case Panel::Suspend: | ||
40 | case Panel::Halt: | ||
41 | case Panel::Reboot: | ||
42 | ! (*resp)[i].resp=strdup("root"); | ||
43 | break; | ||
44 | |||
45 | case Panel::Console: | ||
46 | case Panel::Exit: | ||
47 | case Panel::Login: | ||
48 | ! (*resp)[i].resp=strdup(panel->GetName().c_str()); | ||
49 | break; | ||
50 | } | ||
51 | break; | ||
52 | *************** | ||
53 | *** 73,79 **** | ||
54 | |||
55 | default: | ||
56 | panel->EventHandler(Panel::Get_Passwd); | ||
57 | ! resp[i]->resp=strdup(panel->GetPasswd().c_str()); | ||
58 | break; | ||
59 | } | ||
60 | break; | ||
61 | --- 73,79 ---- | ||
62 | |||
63 | default: | ||
64 | panel->EventHandler(Panel::Get_Passwd); | ||
65 | ! (*resp)[i].resp=strdup(panel->GetPasswd().c_str()); | ||
66 | break; | ||
67 | } | ||
68 | break; | ||
69 | *************** | ||
70 | *** 89,97 **** | ||
71 | } | ||
72 | if (result!=PAM_SUCCESS){ | ||
73 | for (int i=0; i<num_msg; i++){ | ||
74 | ! if (resp[i]->resp==0) continue; | ||
75 | ! free(resp[i]->resp); | ||
76 | ! resp[i]->resp=0; | ||
77 | }; | ||
78 | free(*resp); | ||
79 | *resp=0; | ||
80 | --- 89,97 ---- | ||
81 | } | ||
82 | if (result!=PAM_SUCCESS){ | ||
83 | for (int i=0; i<num_msg; i++){ | ||
84 | ! if ((*resp)[i].resp==0) continue; | ||
85 | ! free((*resp)[i].resp); | ||
86 | ! (*resp)[i].resp=0; | ||
87 | }; | ||
88 | free(*resp); | ||
89 | *resp=0; |