diff options
author | Thorsten Kukuk <kukuk@thkukuk.de> | 2004-09-14 13:48:38 +0000 |
---|---|---|
committer | Thorsten Kukuk <kukuk@thkukuk.de> | 2004-09-14 13:48:38 +0000 |
commit | ff883e0d18e0c274da4689b6efa7064408d8c74b (patch) | |
tree | 4a9da60a2686cb5bc9951ee5ea8a8bb043aa85a9 | |
parent | 44d2b97a5ca02cad258093bd3add986f3e095941 (diff) | |
download | pam-ff883e0d18e0c274da4689b6efa7064408d8c74b.tar.gz pam-ff883e0d18e0c274da4689b6efa7064408d8c74b.tar.bz2 pam-ff883e0d18e0c274da4689b6efa7064408d8c74b.zip |
Relevant BUGIDs:
Purpose of commit:
Commit summary:
---------------
bugfix: Bug 1027903 and 1027912
-rw-r--r-- | CHANGELOG | 4 | ||||
-rw-r--r-- | libpam/pam_start.c | 5 | ||||
-rw-r--r-- | modules/pam_unix/support.c | 2 |
3 files changed, 10 insertions, 1 deletions
@@ -82,6 +82,10 @@ BerliOS Bugs are marked with (BerliOS #XXXX). (patch by "Dmitry V. Levin" <ldv@altlinux.org>) (Bug 812567 - baggins). * doc/modules/pam_mkhomedir.sgml: Remove wrong debug options (Bug 591605 - kukuk) +* pam_unix: Call password checking helper whenever the password field + contains only one character (Bug 1027903 - kukuk) +* libpam/pam_start.c: All service names should be files below /etc/pam.d + and nothing else. Forbid paths. (Bug 1027912 - kukuk) 0.77: Mon Sep 23 10:25:42 PDT 2002 diff --git a/libpam/pam_start.c b/libpam/pam_start.c index ef1dae1d..f8955854 100644 --- a/libpam/pam_start.c +++ b/libpam/pam_start.c @@ -34,6 +34,11 @@ int pam_start ( return (PAM_BUF_ERR); } + /* All service names should be files below /etc/pam.d and nothing + else. Forbid paths. */ + if (strrchr(service_name, '/') != NULL) + service_name = strrchr(service_name, '/') + 1; + /* Mark the caller as the application - permission to do certain things is limited to a module or an application */ diff --git a/modules/pam_unix/support.c b/modules/pam_unix/support.c index 1b55d23b..5486e12f 100644 --- a/modules/pam_unix/support.c +++ b/modules/pam_unix/support.c @@ -554,7 +554,7 @@ int _unix_verify_password(pam_handle_t * pamh, const char *name } retval = PAM_SUCCESS; - if (pwd == NULL || salt == NULL || !strcmp(salt, "x")) { + if (pwd == NULL || salt == NULL || strlen(salt) == 1) { if (geteuid()) { /* we are not root perhaps this is the reason? Run helper */ D(("running helper binary")); |