summaryrefslogtreecommitdiffstats
path: root/pam-ck-connector/pam-ck-connector.c
diff options
context:
space:
mode:
Diffstat (limited to 'pam-ck-connector/pam-ck-connector.c')
-rw-r--r--pam-ck-connector/pam-ck-connector.c14
1 files changed, 12 insertions, 2 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;
}