Contents of /trunk/slim/patches/slim-1.3.2-fix-pam-authentication-with-pam-unix2.patch
Parent Directory | Revision Log
Revision 1738 -
(show annotations)
(download)
Mon Apr 16 16:19:05 2012 UTC (12 years, 5 months ago) by niro
File size: 3017 byte(s)
Mon Apr 16 16:19:05 2012 UTC (12 years, 5 months ago) by niro
File size: 3017 byte(s)
-new patches
1 | 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; |