svn commit: samba r16485 - in branches/SAMBA_3_0_RELEASE: . source source/nsswitch source/popt

jerry at samba.org jerry at samba.org
Fri Jun 23 12:57:20 GMT 2006


Author: jerry
Date: 2006-06-23 12:57:19 +0000 (Fri, 23 Jun 2006)
New Revision: 16485

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

Log:
Final changes for 3.0.23rc3 (pulled in changes up to SAMBA_3_0 r16484)
Modified:
   branches/SAMBA_3_0_RELEASE/WHATSNEW.txt
   branches/SAMBA_3_0_RELEASE/source/Makefile.in
   branches/SAMBA_3_0_RELEASE/source/configure.in
   branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_cm.c
   branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_dual.c
   branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_pam.c
   branches/SAMBA_3_0_RELEASE/source/popt/popt.c


Changeset:
Modified: branches/SAMBA_3_0_RELEASE/WHATSNEW.txt
===================================================================
--- branches/SAMBA_3_0_RELEASE/WHATSNEW.txt	2006-06-23 06:19:45 UTC (rev 16484)
+++ branches/SAMBA_3_0_RELEASE/WHATSNEW.txt	2006-06-23 12:57:19 UTC (rev 16485)
@@ -1,21 +1,24 @@
                    =================================
                    Release Notes for Samba 3.0.23rc3
-                              Jun XX, 2006
+                              Jun 23, 2006
                    =================================
 
-This is the third release candidate of the 3.0.23 code base and is 
-provided for testing purposes only.  While close to the final stable 
-release, this snapshot is *not* intended for production servers. 
-Your testing and feedback is greatly appreciated.
+This is the third release candidate of the 3.0.23 code base 
+and is provided for community testing purposes.  If all goes 
+well, we hope that this will become the production 3.0.23 
+release.  Your testing and feedback is greatly appreciated.
 
-We would like to thank the developers of Klocwork for their analysis 
-of the Samba source tree.  This release candidate includes fixes 
-for over three dozen defects reported by the Klocwork code analyzer.
+We would like to thank the developers of Klocwork for their 
+analysis of the Samba source tree.  This release candidate 
+includes fixes for over 170 defects reported by the Klocwork 
+code analyzer.
 
 Common issues addressed in 3.0.23rc3 include:
 
-   o Many more warnings from the Klocwork code analyzer.
+   o Warnings from the Klocwork code analyzer.
    o Various portability bugs on AIX, Solaris, and True64.
+   o Authorization problems when managing services.
+   o Problems joining Windows clients to a Samba/LDAP domain.
 
 
 ######################################################################
@@ -64,6 +67,8 @@
     * Add "rpc shell" to the usage text for the net command.
     * Winbindd user aliases lookup fixes for large domains.
     * Fix memleak in the CLDAP processing code.
+    * Enable AD features in winbindd's PAM support only when 
+      communicating with an AD domain controller.
 
 
 o   Bjoern Jacke <samba at j3e.de>.
@@ -91,6 +96,7 @@
 o   James Peach <jpeach at sgi.com>
     * Ensure smbclient always prompts on standard output when in
       interactive mode.
+    * BUG 3801, 3805: Fix MIPSPro compiler warnings on IRIX.
 
 
 o   Andreas Schwab

Modified: branches/SAMBA_3_0_RELEASE/source/Makefile.in
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/Makefile.in	2006-06-23 06:19:45 UTC (rev 16484)
+++ branches/SAMBA_3_0_RELEASE/source/Makefile.in	2006-06-23 12:57:19 UTC (rev 16485)
@@ -517,9 +517,6 @@
 PAM_WINBIND_OBJ = nsswitch/pam_winbind.o $(WBCOMMON_OBJ) \
 		  lib/replace1.o $(SNPRINTF_OBJ) @BUILD_INIPARSER@
 
-PAM_WINBIND_PICOBJ = $(PAM_WINBIND_OBJ:.o=. at PICSUFFIX@)
-
-
 SMBW_OBJ1 = smbwrapper/smbw.o \
 		smbwrapper/smbw_dir.o smbwrapper/smbw_stat.o \
 		smbwrapper/realcalls.o smbwrapper/shared.o \
@@ -1217,7 +1214,7 @@
 		$(LDAP_LIBS) $(KRB5LIBS) \
 		@SONAMEFLAG@`basename $@`@NSSSONAMEVERSIONSUFFIX@
 
-bin/pam_winbind. at SHLIBEXT@: $(PAM_WINBIND_PICOBJ) bin/.dummy
+bin/pam_winbind. at SHLIBEXT@: $(PAM_WINBIND_OBJ:.o=. at PICSUFFIX@) bin/.dummy
 	@echo "Linking shared library $@"
 	@$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_WINBIND_PICOBJ) \
 		@SONAMEFLAG@`basename $@` -lpam @INIPARSERLIBS@

Modified: branches/SAMBA_3_0_RELEASE/source/configure.in
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/configure.in	2006-06-23 06:19:45 UTC (rev 16484)
+++ branches/SAMBA_3_0_RELEASE/source/configure.in	2006-06-23 12:57:19 UTC (rev 16485)
@@ -554,7 +554,22 @@
 
 dnl Add #include for broken IRIX header files
   case "$host_os" in
-	*irix6*) AC_ADD_INCLUDE(<standards.h>)
+	*irix6*)
+		AC_ADD_INCLUDE(<standards.h>)
+		if test x"$ac_cv_prog_gcc" != x"yes" ; then
+			dnl Fix sensible defaults for MIPSPro compilers. The
+			dnl error numbers are valid for the 7.3 compilers,
+			dnl hopefully also valid for the 7.4 series.
+			dnl
+			dnl Bugzilla 3801. Force an error on warning 1035
+			dnl so we don't incorrectly detect stdint.h. This
+			dnl warning is emitted for #error directives.
+			CFLAGS="$CFLAGS -diag_error 1035"
+			dnl 1209: Controlling expression is constant
+			dnl 1174: Function foo declared but never referenced
+			dnl 3201: Parameter foo was never referenced
+			CFLAGS="$CFLAGS -woff 1209,1174,3201"
+		fi
 	;;
 esac
 
@@ -5397,7 +5412,7 @@
     AC_MSG_RESULT(yes)
     BUILD_POPT='$(POPT_OBJS)'
 	POPTLIBS='$(POPT_OBJS)'
-    FLAGS1="-I$srcdir/popt"
+    FLAGS1="-I\$(srcdir)/popt"
 else
     AC_MSG_RESULT(no)
 	BUILD_POPT=""
@@ -5432,7 +5447,7 @@
     AC_MSG_RESULT(yes)
     BUILD_INIPARSER='$(INIPARSER_OBJ)'
 	INIPARSERLIBS=""
-    FLAGS1="$FLAGS1 -I$srcdir/iniparser/src"
+    FLAGS1="$FLAGS1 -I\$(srcdir)/iniparser/src"
 else
     AC_MSG_RESULT(no)
 	BUILD_INIPARSER=""

Modified: branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_cm.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_cm.c	2006-06-23 06:19:45 UTC (rev 16484)
+++ branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_cm.c	2006-06-23 12:57:19 UTC (rev 16485)
@@ -783,7 +783,7 @@
 				fstrcpy( domain->dcname, saf_name );
 			} else {
 				add_failed_connection_entry(
-					domain->name, saf_name,
+					domain->name, saf_servername,
 					NT_STATUS_UNSUCCESSFUL);
 			}
 		} 

Modified: branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_dual.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_dual.c	2006-06-23 06:19:45 UTC (rev 16484)
+++ branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_dual.c	2006-06-23 12:57:19 UTC (rev 16485)
@@ -649,6 +649,10 @@
 	}
 	
 	message = collect_onlinestatus(mem_ctx);
+	if (message == NULL) {
+		talloc_destroy(mem_ctx);
+		return;
+	}
 
 	message_send_pid(*sender, MSG_WINBIND_ONLINESTATUS, 
 			 message, strlen(message) + 1, True);
@@ -730,7 +734,7 @@
 		return False;
 	}
 
-	if (child->domain != NULL) {
+	if (child->domain != NULL && lp_winbind_offline_logon()) {
 		/* We might be in the idmap child...*/
 		child->lockout_policy_event = add_timed_event(
 			child->mem_ctx, timeval_zero(),

Modified: branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_pam.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_pam.c	2006-06-23 06:19:45 UTC (rev 16484)
+++ branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_pam.c	2006-06-23 12:57:19 UTC (rev 16485)
@@ -6,7 +6,7 @@
    Copyright (C) Andrew Tridgell 2000
    Copyright (C) Tim Potter 2001
    Copyright (C) Andrew Bartlett 2001-2002
-   Copyright (C) Guenther Deschner 2005
+   Copyright (C) Guenther Deschner 2005-2006
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -221,6 +221,44 @@
 		return NULL;
 	}
 
+	if (strequal(domain_name, lp_workgroup())) {
+		return find_our_domain();
+	}
+
+#ifdef HAVE_ADS
+
+	/* when trying to login using krb5 with a trusted domain account, we
+	 * need to make sure that our and the remote domain are AD */
+
+	if ((state->request.flags & WBFLAG_PAM_KRB5) &&
+	    (lp_security() == SEC_ADS)) {
+
+		struct winbindd_domain *our_domain = find_our_domain();
+
+		if (!our_domain->active_directory) {
+			DEBUG(3,("find_auth_domain: out domain is not AD\n"));
+			return NULL;
+		}
+		
+		if ((domain = find_domain_from_name_noinit(domain_name)) == NULL) {
+			return NULL;
+		}
+
+		/* do we already know it's AD ? */
+		if (domain->active_directory) {
+			return domain;
+		} 
+
+		set_dc_type_and_flags(domain);
+
+		if (!domain->active_directory) {
+			DEBUG(3,("find_auth_domain: remote domain is not AD\n"));
+			return NULL;
+		}
+
+		return domain;
+	}
+#endif
 	return find_our_domain();
 }
 
@@ -897,13 +935,20 @@
 		}
 	}
 
-	set_dc_type_and_flags(contact_domain);
+	if (contact_domain->initialized && 
+	    contact_domain->active_directory) {
+	    	goto try_login;
+	}
 
+	if (!contact_domain->initialized) {
+		set_dc_type_and_flags(contact_domain);
+	}
+
 	if (!contact_domain->active_directory) {
 		DEBUG(3,("krb5 auth requested but domain is not Active Directory\n"));
 		return NT_STATUS_INVALID_LOGON_TYPE;
 	}
-
+try_login:
 	result = winbindd_raw_kerberos_login(contact_domain, state, info3);
 done:
 	return result;

Modified: branches/SAMBA_3_0_RELEASE/source/popt/popt.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/popt/popt.c	2006-06-23 06:19:45 UTC (rev 16484)
+++ branches/SAMBA_3_0_RELEASE/source/popt/popt.c	2006-06-23 12:57:19 UTC (rev 16485)
@@ -927,7 +927,9 @@
 		    if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_DOUBLE) {
 			*((double *) opt->arg) = aDouble;
 		    } else {
+#ifndef _ABS
 #define _ABS(a)	((((a) - 0.0) < DBL_EPSILON) ? -(a) : (a))
+#endif
 			if ((_ABS(aDouble) - FLT_MAX) > DBL_EPSILON)
 			    return POPT_ERROR_OVERFLOW;
 			if ((FLT_MIN - _ABS(aDouble)) > DBL_EPSILON)



More information about the samba-cvs mailing list