svn commit: samba r23095 - in branches: SAMBA_3_0/source SAMBA_3_0/source/auth SAMBA_3_0/source/lib SAMBA_3_0/source/nsswitch SAMBA_3_0/source/pam_smbpass SAMBA_3_0_26/source SAMBA_3_0_26/source/auth SAMBA_3_0_26/source/lib SAMBA_3_0_26/source/nsswitch SAMBA_3_0_26/source/pam_smbpass

jpeach at samba.org jpeach at samba.org
Wed May 23 20:31:30 GMT 2007


Author: jpeach
Date: 2007-05-23 20:31:28 +0000 (Wed, 23 May 2007)
New Revision: 23095

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23095

Log:
Support systems that have their PAM headers in /usr/include/pam.

Modified:
   branches/SAMBA_3_0/source/auth/pampass.c
   branches/SAMBA_3_0/source/configure.in
   branches/SAMBA_3_0/source/lib/pam_errors.c
   branches/SAMBA_3_0/source/nsswitch/pam_winbind.h
   branches/SAMBA_3_0/source/pam_smbpass/general.h
   branches/SAMBA_3_0/source/pam_smbpass/pam_smb_acct.c
   branches/SAMBA_3_0/source/pam_smbpass/pam_smb_auth.c
   branches/SAMBA_3_0/source/pam_smbpass/pam_smb_passwd.c
   branches/SAMBA_3_0_26/source/auth/pampass.c
   branches/SAMBA_3_0_26/source/configure.in
   branches/SAMBA_3_0_26/source/lib/pam_errors.c
   branches/SAMBA_3_0_26/source/nsswitch/pam_winbind.h
   branches/SAMBA_3_0_26/source/pam_smbpass/general.h
   branches/SAMBA_3_0_26/source/pam_smbpass/pam_smb_acct.c
   branches/SAMBA_3_0_26/source/pam_smbpass/pam_smb_auth.c
   branches/SAMBA_3_0_26/source/pam_smbpass/pam_smb_passwd.c


Changeset:
Modified: branches/SAMBA_3_0/source/auth/pampass.c
===================================================================
--- branches/SAMBA_3_0/source/auth/pampass.c	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0/source/auth/pampass.c	2007-05-23 20:31:28 UTC (rev 23095)
@@ -41,7 +41,11 @@
  *   which determines what actions/limitations/allowances become affected.
  *********************************************************************/
 
+#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
 
 /*
  * Structure used to communicate between the conversation function

Modified: branches/SAMBA_3_0/source/configure.in
===================================================================
--- branches/SAMBA_3_0/source/configure.in	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0/source/configure.in	2007-05-23 20:31:28 UTC (rev 23095)
@@ -4399,7 +4399,11 @@
 
 
 #################################################
-# check for a PAM clear-text auth, accounts, password and session support
+# Check for a PAM clear-text auth, accounts, password
+# and session support. Most PAM implementations keep their
+# headers in /usr/include/security. Darwin keeps its in
+# /usr/include/pam.
+
 with_pam_for_crypt=no
 try_pam=no
 AC_MSG_CHECKING(whether to try PAM support)
@@ -4419,10 +4423,13 @@
 	use_pam=yes
 	create_pam_modules=yes
 
-	AC_CHECK_HEADERS(security/pam_appl.h)
-	if test x"$ac_cv_header_security_pam_appl_h" != x"yes"; then
+	# Most systems have PAM headers in /usr/include/security, but Darwin
+	# has them in /usr/include/pam.
+	AC_CHECK_HEADERS(security/pam_appl.h pam/pam_appl.h)
+	if test x"$ac_cv_header_security_pam_appl_h" != x"yes" -a \
+		x"$ac_cv_header_pam_pam_appl_h" != x"yes"; then
 		if test x"${try_pam}" = x"yes";then
-			AC_MSG_ERROR([--with-pam=yes but security/pam_appl.h not found])
+			AC_MSG_ERROR([--with-pam=yes but pam_appl.h not found])
 		fi
 		use_pam=no
 		create_pam_modules=no
@@ -4437,14 +4444,18 @@
 		create_pam_modules=no
 	fi
 
-	AC_CHECK_HEADERS(security/pam_modules.h,,,[[
+	AC_CHECK_HEADERS(security/pam_modules.h pam/pam_modules.h,,,[[
 		#if HAVE_SECURITY_PAM_APPL_H
 		#include <security/pam_appl.h>
 		#endif
+		#if HAVE_PAM_PAM_APPL_H
+		#include <pam/pam_appl.h>
+		#endif
 	]])
-	if test x"$ac_cv_header_security_pam_modules_h" = x"no"; then
+	if test x"$ac_cv_header_security_pam_modules_h" = x"no" -a \
+		x"$ac_cv_header_pam_pam_modules_h" = x"no" ; then
 		if test x"${try_pam}" = x"yes";then
-			AC_MSG_ERROR([--with-pam=yes but security/pam_modules.h not found])
+			AC_MSG_ERROR([--with-pam=yes but pam_modules.h not found])
 		fi
 		create_pam_modules=no
 	fi
@@ -4460,6 +4471,7 @@
 			# this checks are optional,
 			# we don't care about the results here
 			AC_CHECK_HEADERS(security/pam_ext.h security/_pam_macros.h)
+			AC_CHECK_HEADERS(pam/pam_ext.h pam/_pam_macros.h)
 			AC_CHECK_FUNC_EXT(pam_vsyslog,$PAM_LIBS)
 		else
 			AC_MSG_WARN([PAM support detected but PAM MODULES support is missing])		

Modified: branches/SAMBA_3_0/source/lib/pam_errors.c
===================================================================
--- branches/SAMBA_3_0/source/lib/pam_errors.c	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0/source/lib/pam_errors.c	2007-05-23 20:31:28 UTC (rev 23095)
@@ -21,7 +21,11 @@
 #include "includes.h"
 
 #ifdef WITH_PAM
+#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
 
 #if defined(PAM_AUTHTOK_RECOVERY_ERR) && !defined(PAM_AUTHTOK_RECOVER_ERR)
 #define PAM_AUTHTOK_RECOVER_ERR PAM_AUTHTOK_RECOVERY_ERR

Modified: branches/SAMBA_3_0/source/nsswitch/pam_winbind.h
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/pam_winbind.h	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0/source/nsswitch/pam_winbind.h	2007-05-23 20:31:28 UTC (rev 23095)
@@ -23,7 +23,11 @@
 
 /* Solaris always uses dynamic pam modules */
 #define PAM_EXTERN extern
+#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
 
 #ifndef PAM_AUTHTOK_RECOVER_ERR
 #define PAM_AUTHTOK_RECOVER_ERR PAM_AUTHTOK_RECOVERY_ERR
@@ -31,12 +35,16 @@
 
 #endif /* defined(SUNOS5) || defined(SUNOS4) || defined(HPUX) || defined(FREEBSD) || defined(AIX) */
 
-#ifdef HAVE_SECURITY_PAM_MODULES_H
+#if defined(HAVE_SECURITY_PAM_MODULES_H)
 #include <security/pam_modules.h>
+#elif defined(HAVE_PAM_PAM_MODULES_H)
+#include <pam/pam_modules.h>
 #endif
 
-#ifdef HAVE_SECURITY__PAM_MACROS_H
+#if defined(HAVE_SECURITY__PAM_MACROS_H)
 #include <security/_pam_macros.h>
+#elif defined(HAVE_PAM__PAM_MACROS_H)
+#include <pam/_pam_macros.h>
 #else
 /* Define required macros from (Linux PAM 0.68) security/_pam_macros.h */
 #define _pam_drop_reply(/* struct pam_response * */ reply, /* int */ replies) \

Modified: branches/SAMBA_3_0/source/pam_smbpass/general.h
===================================================================
--- branches/SAMBA_3_0/source/pam_smbpass/general.h	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0/source/pam_smbpass/general.h	2007-05-23 20:31:28 UTC (rev 23095)
@@ -1,9 +1,17 @@
 #ifndef LINUX
 /* This is only needed by modules in the Sun implementation. */
+#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
 #endif  /* LINUX */
 
+#if defined(HAVE_SECURITY_PAM_MODULES_H)
 #include <security/pam_modules.h>
+#elif defined(HAVE_PAM_PAM_MODULES_H)
+#include <pam/pam_modules.h>
+#endif
 
 #ifndef PAM_AUTHTOK_RECOVER_ERR  
 #define PAM_AUTHTOK_RECOVER_ERR PAM_AUTHTOK_RECOVERY_ERR

Modified: branches/SAMBA_3_0/source/pam_smbpass/pam_smb_acct.c
===================================================================
--- branches/SAMBA_3_0/source/pam_smbpass/pam_smb_acct.c	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0/source/pam_smbpass/pam_smb_acct.c	2007-05-23 20:31:28 UTC (rev 23095)
@@ -23,11 +23,19 @@
 #ifndef LINUX
 
 /* This is only used in the Sun implementation. */
+#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
 
 #endif  /* LINUX */
 
+#if defined(HAVE_SECURITY_PAM_MODULES_H)
 #include <security/pam_modules.h>
+#elif defined(HAVE_PAM_PAM_MODULES_H)
+#include <pam/pam_modules.h>
+#endif
 
 #include "general.h"
 

Modified: branches/SAMBA_3_0/source/pam_smbpass/pam_smb_auth.c
===================================================================
--- branches/SAMBA_3_0/source/pam_smbpass/pam_smb_auth.c	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0/source/pam_smbpass/pam_smb_auth.c	2007-05-23 20:31:28 UTC (rev 23095)
@@ -24,11 +24,19 @@
 #ifndef LINUX
 
 /* This is only used in the Sun implementation. */
+#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
 
 #endif  /* LINUX */
 
+#if defined(HAVE_SECURITY_PAM_MODULES_H)
 #include <security/pam_modules.h>
+#elif defined(HAVE_PAM_PAM_MODULES_H)
+#include <pam/pam_modules.h>
+#endif
 
 #include "general.h"
 

Modified: branches/SAMBA_3_0/source/pam_smbpass/pam_smb_passwd.c
===================================================================
--- branches/SAMBA_3_0/source/pam_smbpass/pam_smb_passwd.c	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0/source/pam_smbpass/pam_smb_passwd.c	2007-05-23 20:31:28 UTC (rev 23095)
@@ -29,10 +29,18 @@
    and others (including FreeBSD). */
 
 #ifndef LINUX
+#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
+#endif
 
+#if defined(HAVE_SECURITY_PAM_MODULES_H)
 #include <security/pam_modules.h>
+#elif defined(HAVE_PAM_PAM_MODULES_H)
+#include <pam/pam_modules.h>
+#endif
 
 #include "general.h" 
 

Modified: branches/SAMBA_3_0_26/source/auth/pampass.c
===================================================================
--- branches/SAMBA_3_0_26/source/auth/pampass.c	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0_26/source/auth/pampass.c	2007-05-23 20:31:28 UTC (rev 23095)
@@ -41,7 +41,11 @@
  *   which determines what actions/limitations/allowances become affected.
  *********************************************************************/
 
+#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
 
 /*
  * Structure used to communicate between the conversation function

Modified: branches/SAMBA_3_0_26/source/configure.in
===================================================================
--- branches/SAMBA_3_0_26/source/configure.in	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0_26/source/configure.in	2007-05-23 20:31:28 UTC (rev 23095)
@@ -4248,7 +4248,11 @@
 
 
 #################################################
-# check for a PAM clear-text auth, accounts, password and session support
+# Check for a PAM clear-text auth, accounts, password
+# and session support. Most PAM implementations keep their
+# headers in /usr/include/security. Darwin keeps its in
+# /usr/include/pam.
+
 with_pam_for_crypt=no
 try_pam=no
 AC_MSG_CHECKING(whether to try PAM support)
@@ -4268,10 +4272,13 @@
 	use_pam=yes
 	create_pam_modules=yes
 
-	AC_CHECK_HEADERS(security/pam_appl.h)
-	if test x"$ac_cv_header_security_pam_appl_h" != x"yes"; then
+	# Most systems have PAM headers in /usr/include/security, but Darwin
+	# has them in /usr/include/pam.
+	AC_CHECK_HEADERS(security/pam_appl.h pam/pam_appl.h)
+	if test x"$ac_cv_header_security_pam_appl_h" != x"yes" -a \
+		x"$ac_cv_header_pam_pam_appl_h" != x"yes"; then
 		if test x"${try_pam}" = x"yes";then
-			AC_MSG_ERROR([--with-pam=yes but security/pam_appl.h not found])
+			AC_MSG_ERROR([--with-pam=yes but pam_appl.h not found])
 		fi
 		use_pam=no
 		create_pam_modules=no
@@ -4286,14 +4293,18 @@
 		create_pam_modules=no
 	fi
 
-	AC_CHECK_HEADERS(security/pam_modules.h,,,[[
+	AC_CHECK_HEADERS(security/pam_modules.h pam/pam_modules.h,,,[[
 		#if HAVE_SECURITY_PAM_APPL_H
 		#include <security/pam_appl.h>
 		#endif
+		#if HAVE_PAM_PAM_APPL_H
+		#include <pam/pam_appl.h>
+		#endif
 	]])
-       if test x"$ac_cv_header_security_pam_modules_h" = x"no"; then
+	if test x"$ac_cv_header_security_pam_modules_h" = x"no" -a \
+		x"$ac_cv_header_pam_pam_modules_h" = x"no" ; then
 		if test x"${try_pam}" = x"yes";then
-			AC_MSG_ERROR([--with-pam=yes but security/pam_modules.h not found])
+			AC_MSG_ERROR([--with-pam=yes but pam_modules.h not found])
        fi
 		create_pam_modules=no
     fi
@@ -4309,6 +4320,7 @@
 			# this checks are optional,
 			# we don't care about the results here
 			AC_CHECK_HEADERS(security/pam_ext.h security/_pam_macros.h)
+			AC_CHECK_HEADERS(pam/pam_ext.h pam/_pam_macros.h)
 			AC_CHECK_FUNC_EXT(pam_vsyslog,$PAM_LIBS)
 		else
 			AC_MSG_WARN([PAM support detected but PAM MODULES support is missing])		

Modified: branches/SAMBA_3_0_26/source/lib/pam_errors.c
===================================================================
--- branches/SAMBA_3_0_26/source/lib/pam_errors.c	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0_26/source/lib/pam_errors.c	2007-05-23 20:31:28 UTC (rev 23095)
@@ -21,7 +21,11 @@
 #include "includes.h"
 
 #ifdef WITH_PAM
+#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
 
 #if defined(PAM_AUTHTOK_RECOVERY_ERR) && !defined(PAM_AUTHTOK_RECOVER_ERR)
 #define PAM_AUTHTOK_RECOVER_ERR PAM_AUTHTOK_RECOVERY_ERR

Modified: branches/SAMBA_3_0_26/source/nsswitch/pam_winbind.h
===================================================================
--- branches/SAMBA_3_0_26/source/nsswitch/pam_winbind.h	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0_26/source/nsswitch/pam_winbind.h	2007-05-23 20:31:28 UTC (rev 23095)
@@ -23,7 +23,11 @@
 
 /* Solaris always uses dynamic pam modules */
 #define PAM_EXTERN extern
+#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
 
 #ifndef PAM_AUTHTOK_RECOVER_ERR
 #define PAM_AUTHTOK_RECOVER_ERR PAM_AUTHTOK_RECOVERY_ERR
@@ -31,12 +35,16 @@
 
 #endif /* defined(SUNOS5) || defined(SUNOS4) || defined(HPUX) || defined(FREEBSD) || defined(AIX) */
 
-#ifdef HAVE_SECURITY_PAM_MODULES_H
+#if defined(HAVE_SECURITY_PAM_MODULES_H)
 #include <security/pam_modules.h>
+#elif defined(HAVE_PAM_PAM_MODULES_H)
+#include <pam/pam_modules.h>
 #endif
 
-#ifdef HAVE_SECURITY__PAM_MACROS_H
+#if defined(HAVE_SECURITY__PAM_MACROS_H)
 #include <security/_pam_macros.h>
+#elif defined(HAVE_PAM__PAM_MACROS_H)
+#include <pam/_pam_macros.h>
 #else
 /* Define required macros from (Linux PAM 0.68) security/_pam_macros.h */
 #define _pam_drop_reply(/* struct pam_response * */ reply, /* int */ replies) \

Modified: branches/SAMBA_3_0_26/source/pam_smbpass/general.h
===================================================================
--- branches/SAMBA_3_0_26/source/pam_smbpass/general.h	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0_26/source/pam_smbpass/general.h	2007-05-23 20:31:28 UTC (rev 23095)
@@ -1,9 +1,17 @@
 #ifndef LINUX
 /* This is only needed by modules in the Sun implementation. */
+#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
 #endif  /* LINUX */
 
+#if defined(HAVE_SECURITY_PAM_MODULES_H)
 #include <security/pam_modules.h>
+#elif defined(HAVE_PAM_PAM_MODULES_H)
+#include <pam/pam_modules.h>
+#endif
 
 #ifndef PAM_AUTHTOK_RECOVER_ERR  
 #define PAM_AUTHTOK_RECOVER_ERR PAM_AUTHTOK_RECOVERY_ERR

Modified: branches/SAMBA_3_0_26/source/pam_smbpass/pam_smb_acct.c
===================================================================
--- branches/SAMBA_3_0_26/source/pam_smbpass/pam_smb_acct.c	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0_26/source/pam_smbpass/pam_smb_acct.c	2007-05-23 20:31:28 UTC (rev 23095)
@@ -23,11 +23,19 @@
 #ifndef LINUX
 
 /* This is only used in the Sun implementation. */
+#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
 
 #endif  /* LINUX */
 
+#if defined(HAVE_SECURITY_PAM_MODULES_H)
 #include <security/pam_modules.h>
+#elif defined(HAVE_PAM_PAM_MODULES_H)
+#include <pam/pam_modules.h>
+#endif
 
 #include "general.h"
 

Modified: branches/SAMBA_3_0_26/source/pam_smbpass/pam_smb_auth.c
===================================================================
--- branches/SAMBA_3_0_26/source/pam_smbpass/pam_smb_auth.c	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0_26/source/pam_smbpass/pam_smb_auth.c	2007-05-23 20:31:28 UTC (rev 23095)
@@ -24,11 +24,19 @@
 #ifndef LINUX
 
 /* This is only used in the Sun implementation. */
+#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
 
 #endif  /* LINUX */
 
+#if defined(HAVE_SECURITY_PAM_MODULES_H)
 #include <security/pam_modules.h>
+#elif defined(HAVE_PAM_PAM_MODULES_H)
+#include <pam/pam_modules.h>
+#endif
 
 #include "general.h"
 

Modified: branches/SAMBA_3_0_26/source/pam_smbpass/pam_smb_passwd.c
===================================================================
--- branches/SAMBA_3_0_26/source/pam_smbpass/pam_smb_passwd.c	2007-05-23 19:57:13 UTC (rev 23094)
+++ branches/SAMBA_3_0_26/source/pam_smbpass/pam_smb_passwd.c	2007-05-23 20:31:28 UTC (rev 23095)
@@ -29,10 +29,18 @@
    and others (including FreeBSD). */
 
 #ifndef LINUX
+#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
+#endif
 
+#if defined(HAVE_SECURITY_PAM_MODULES_H)
 #include <security/pam_modules.h>
+#elif defined(HAVE_PAM_PAM_MODULES_H)
+#include <pam/pam_modules.h>
+#endif
 
 #include "general.h" 
 



More information about the samba-cvs mailing list