17 lines
776 B
Diff
17 lines
776 B
Diff
|
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");
|