Circumvent constness issues. OpenPAM is now WARNS4-clean.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@24 185d5e19-27fe-0310-9dcf-9bff6b9f3609
This commit is contained in:
Dag-Erling Smørgrav 2002-02-04 14:53:46 +00:00
parent 560591adc6
commit 073edc1836
2 changed files with 18 additions and 11 deletions

View File

@ -51,6 +51,7 @@ pam_get_authtok(pam_handle_t *pamh,
char **authtok, char **authtok,
const char *prompt) const char *prompt)
{ {
char *p;
int r; int r;
if (pamh == NULL || authtok == NULL) if (pamh == NULL || authtok == NULL)
@ -59,11 +60,13 @@ pam_get_authtok(pam_handle_t *pamh,
r = pam_get_item(pamh, PAM_AUTHTOK, (void **)authtok); r = pam_get_item(pamh, PAM_AUTHTOK, (void **)authtok);
if (r == PAM_SUCCESS) if (r == PAM_SUCCESS)
return (PAM_SUCCESS); return (PAM_SUCCESS);
if (prompt == NULL) if (prompt == NULL) {
pam_get_item(pamh, PAM_AUTHTOK_PROMPT, (void **)&prompt); if (pam_get_item(pamh, PAM_AUTHTOK_PROMPT, (void **)&p) !=
if (prompt == NULL) PAM_SUCCESS || p == NULL)
prompt = "Password:"; prompt = "Password:";
if ((r = pam_prompt(pamh, authtok, 0, "%s", prompt)) != PAM_SUCCESS) }
r = pam_prompt(pamh, authtok, 0, "%s", prompt ? prompt : p);
if (r != PAM_SUCCESS)
return (r); return (r);
return (pam_set_item(pamh, PAM_AUTHTOK, *authtok)); return (pam_set_item(pamh, PAM_AUTHTOK, *authtok));
} }

View File

@ -52,18 +52,22 @@ pam_get_user(pam_handle_t *pamh,
char **user, char **user,
const char *prompt) const char *prompt)
{ {
char *p;
int r; int r;
if (pamh == NULL || user == NULL) if (pamh == NULL || user == NULL)
return (PAM_SYSTEM_ERR); return (PAM_SYSTEM_ERR);
if ((r = pam_get_item(pamh, PAM_USER, (void **)user)) == PAM_SUCCESS) r = pam_get_item(pamh, PAM_USER, (void **)user);
if (r == PAM_SUCCESS)
return (PAM_SUCCESS); return (PAM_SUCCESS);
if (prompt == NULL) if (prompt == NULL) {
pam_get_item(pamh, PAM_USER_PROMPT, (void **)&prompt); if (pam_get_item(pamh, PAM_USER_PROMPT, (void **)&p) !=
if (prompt == NULL) PAM_SUCCESS || p == NULL)
prompt = "Login: "; prompt = "Login: ";
if ((r = pam_prompt(pamh, user, 0, "%s", prompt)) != PAM_SUCCESS) }
r = pam_prompt(pamh, user, 0, "%s", prompt ? prompt : p);
if (r != PAM_SUCCESS)
return (r); return (r);
return (pam_set_item(pamh, PAM_USER, *user)); return (pam_set_item(pamh, PAM_USER, *user));
} }