s3: PAM_RHOST and PAM_TTY are enums on FreeBSD
authorVolker Lendecke <vl@samba.org>
Mon, 23 Aug 2010 19:00:27 +0000 (21:00 +0200)
committerVolker Lendecke <vl@samba.org>
Mon, 23 Aug 2010 20:59:56 +0000 (22:59 +0200)
source3/auth/pampass.c
source3/configure.in

index f2e30b2c6321e9d5dd80800ba95c36ea4500aa7e..83a3f81db0c73dd71a1734c612d75075a2a1e46d 100644 (file)
@@ -494,7 +494,7 @@ static bool smb_pam_start(pam_handle_t **pamh, const char *user, const char *rho
                return False;
        }
 
-#ifdef PAM_RHOST
+#if HAVE_PAM_RHOST
        if (rhost == NULL) {
                our_rhost = client_name(smbd_server_fd());
                if (strequal(our_rhost,"UNKNOWN"))
@@ -512,7 +512,7 @@ static bool smb_pam_start(pam_handle_t **pamh, const char *user, const char *rho
                return False;
        }
 #endif
-#ifdef PAM_TTY
+#if HAVE_PAM_TTY
        DEBUG(4,("smb_pam_start: PAM: setting tty\n"));
        pam_error = pam_set_item(*pamh, PAM_TTY, "samba");
        if (!smb_pam_error_handler(*pamh, pam_error, "set tty failed", 0)) {
@@ -657,7 +657,7 @@ static bool smb_internal_pam_session(pam_handle_t *pamh, const char *user, const
 {
        int pam_error;
 
-#ifdef PAM_TTY
+#if HAVE_PAM_TTY
        DEBUG(4,("smb_internal_pam_session: PAM: tty set to: %s\n", tty));
        pam_error = pam_set_item(pamh, PAM_TTY, tty);
        if (!smb_pam_error_handler(pamh, pam_error, "set tty failed", 0))
index db524d58919368bc7b315be242a97c0aac488806..02904800a35c78c7890a58c59c0987cc14bbe1bd 100644 (file)
@@ -4586,6 +4586,29 @@ if test x"${try_pam}" != x"no";then
 
        AC_MSG_CHECKING(whether to have PAM MODULES support)
        AC_MSG_RESULT([$create_pam_modules])
+
+       AC_TRY_COMPILE([
+               #if defined(HAVE_SECURITY_PAM_APPL_H)
+               #include <security/pam_appl.h>
+               #elif defined(HAVE_PAM_PAM_APPL_H)
+               #include <pam/pam_appl.h>
+               #endif],[
+               pam_set_item(0, PAM_RHOST, 0);
+               ],
+               AC_DEFINE(HAVE_PAM_RHOST, 1,
+                         [Define to 1 if PAM_RHOST is available]),[])
+
+       AC_TRY_COMPILE([
+               #if defined(HAVE_SECURITY_PAM_APPL_H)
+               #include <security/pam_appl.h>
+               #elif defined(HAVE_PAM_PAM_APPL_H)
+               #include <pam/pam_appl.h>
+               #endif],[
+               pam_set_item(0, PAM_TTY, 0);
+               ],
+               AC_DEFINE(HAVE_PAM_TTY, 1,
+                         [Define to 1 if PAM_TTY is available]),[])
+
 fi # try_pam != no
 
 #################################################