diff options
Diffstat (limited to 'pam-ck-connector')
-rw-r--r-- | pam-ck-connector/pam-ck-connector.c | 14 | ||||
-rw-r--r-- | pam-ck-connector/test-pam.c | 8 |
2 files changed, 19 insertions, 3 deletions
diff --git a/pam-ck-connector/pam-ck-connector.c b/pam-ck-connector/pam-ck-connector.c index 39c0332..5d4f7c0 100644 --- a/pam-ck-connector/pam-ck-connector.c +++ b/pam-ck-connector/pam-ck-connector.c @@ -26,6 +26,8 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +#include "config.h" + #include <ctype.h> #include <pwd.h> #include <stdarg.h> @@ -39,6 +41,14 @@ #include <dirent.h> #include <errno.h> +#ifdef HAVE_PATHS_H +#include <paths.h> +#endif /* HAVE_PATHS_H */ + +#ifndef _PATH_DEV +#define _PATH_DEV "/dev/" +#endif + #define PAM_SM_SESSION #include <security/pam_modules.h> @@ -187,8 +197,8 @@ pam_sm_open_session (pam_handle_t *pamh, if (strchr (display_device, ':') != NULL) { x11_display = display_device; display_device = ""; - } else if (strncmp ("/dev/", display_device, 5) != 0) { - snprintf (ttybuf, sizeof (ttybuf), "/dev/%s", display_device); + } else if (strncmp (_PATH_DEV, display_device, 5) != 0) { + snprintf (ttybuf, sizeof (ttybuf), _PATH_DEV "%s", display_device); display_device = ttybuf; } diff --git a/pam-ck-connector/test-pam.c b/pam-ck-connector/test-pam.c index b5619b9..310a15f 100644 --- a/pam-ck-connector/test-pam.c +++ b/pam-ck-connector/test-pam.c @@ -24,6 +24,8 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +#include "config.h" + #include <stdio.h> #include <stdlib.h> #include <unistd.h> @@ -31,6 +33,10 @@ #include <security/pam_appl.h> #include <security/pam_misc.h> +#ifdef HAVE_PATHS_H +#include <paths.h> +#endif /* HAVE_PATHS_H */ + #define PAM_MAX_LOGIN_TRIES 3 #define PAM_FAIL_CHECK if (retcode != PAM_SUCCESS) { \ fprintf (stderr, "\n%s\n", pam_strerror (pamh, retcode)); \ @@ -69,7 +75,7 @@ main (int argc, char *argv[]) ttyn = ttyname (0); - if (strncmp(ttyn, "/dev/", 5) == 0) { + if (strncmp (ttyn, _PATH_DEV, 5) == 0) { tty_name = ttyn + 5; } else { tty_name = ttyn; |