0.73: please submit patches for this section with actual code/doc
patches!
+* "likeauth" fix for pam_unix and pam_pwdb which (Bug 113596 - agmorgan)
* fix for pam_unix (support.c) to avoid segfault with NULL password
(Bug 113238 - vorlon)
* fix to pam_unix_passwd: try repeatedly to get a lock on the password
if ( on(UNIX_LIKE_AUTH, ctrl) ) {
D(("recording return code for next time [%d]", retval));
- pam_set_data(pamh, "pwdb_setcred_return", (void *) &retval, NULL);
+ pam_set_data(pamh, "pwdb_setcred_return", (void *) retval, NULL);
}
D(("done. [%s]", pam_strerror(pamh, retval)));
int *pretval = &retval;
D(("recovering return code from auth call"));
- pam_get_data(pamh, "pwdb_setcred_return", (const void **) &pretval);
- pam_set_data(pamh, "pwdb_setcred_return", NULL, NULL);
+ pam_get_data(pamh, "pwdb_setcred_return", (const void **) pretval);
D(("recovered data indicates that old retval was %d", retval));
}
if (on(UNIX_LIKE_AUTH, ctrl) && ret_data) { \
D(("recording return code for next time [%d]", \
retval)); \
- *ret_data = retval; \
pam_set_data(pamh, "unix_setcred_return", \
- (void *) ret_data, NULL); \
+ (void *) retval, NULL); \
} \
D(("done. [%s]", pam_strerror(pamh, retval))); \
return retval; \
int *pretval = NULL;
D(("recovering return code from auth call"));
- pam_get_data(pamh, "unix_setcred_return", (const void **) &pretval);
- pam_set_data(pamh, "unix_setcred_return", NULL, NULL);
+ pam_get_data(pamh, "unix_setcred_return", (const void **) pretval);
if(pretval) {
retval = *pretval;
free(pretval);