SHA256
3
0
forked from pool/pam
pam/pam-usrmerge.diff

17 lines
776 B
Diff
Raw Normal View History

Index: Linux-PAM-1.4.0/libpam/pam_handlers.c
===================================================================
--- Linux-PAM-1.4.0.orig/libpam/pam_handlers.c
+++ Linux-PAM-1.4.0/libpam/pam_handlers.c
@@ -801,6 +801,11 @@ int _pam_add_handler(pam_handle_t *pamh
} else if (asprintf(&mod_full_path, "%s%s",
DEFAULT_MODULE_PATH, mod_path) >= 0) {
mod = _pam_load_module(pamh, mod_full_path, handler_type);
+ /* for usrmerge transition, the the path in / also */
+ if (mod == NULL && !strncmp(DEFAULT_MODULE_PATH, "/usr/", 5) &&
+ access(mod_full_path+4, F_OK)) {
+ mod = _pam_load_module(pamh, mod_full_path+4, handler_type);
+ }
_pam_drop(mod_full_path);
} else {
pam_syslog(pamh, LOG_CRIT, "cannot malloc full mod path");