Lines 47-61
void init_pam_conv(struct pam_conv *conv, uintptr_t ap
Link Here
|
47 |
conv->appdata_ptr = (void *)appdata; |
47 |
conv->appdata_ptr = (void *)appdata; |
48 |
} |
48 |
} |
49 |
|
49 |
|
|
|
50 |
#ifdef OPENPAM |
51 |
int pam_start_confdir(const char *service_name, const char *user, const struct pam_conv *pam_conversation, |
52 |
const char *confdir, pam_handle_t **pamh) |
53 |
{ |
54 |
if (pamh != NULL) |
55 |
*pamh = NULL; |
56 |
|
57 |
return PAM_SYSTEM_ERR; |
58 |
} |
59 |
#else |
50 |
// pam_start_confdir is a recent PAM api to declare a confdir (mostly for |
60 |
// pam_start_confdir is a recent PAM api to declare a confdir (mostly for |
51 |
// tests) weaken the linking dependency to detect if it’s present. |
61 |
// tests) weaken the linking dependency to detect if it’s present. |
52 |
int pam_start_confdir(const char *service_name, const char *user, const struct pam_conv *pam_conversation, |
62 |
int pam_start_confdir(const char *service_name, const char *user, const struct pam_conv *pam_conversation, |
53 |
const char *confdir, pam_handle_t **pamh) __attribute__((weak)); |
63 |
const char *confdir, pam_handle_t **pamh) __attribute__((weak)); |
|
|
64 |
#endif |
54 |
|
65 |
|
55 |
int check_pam_start_confdir(void) |
66 |
int check_pam_start_confdir(void) |
56 |
{ |
67 |
{ |
|
|
68 |
#ifdef OPENPAM |
69 |
return 1; |
70 |
#else |
57 |
if (pam_start_confdir == NULL) |
71 |
if (pam_start_confdir == NULL) |
58 |
return 1; |
72 |
return 1; |
59 |
|
73 |
|
60 |
return 0; |
74 |
return 0; |
|
|
75 |
#endif |
61 |
} |
76 |
} |