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 <[EMAIL PROTECTED]>. @@ -91,6 +96,7 @@ o James Peach <[EMAIL PROTECTED]> * 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:[EMAIL PROTECTED]@) - - 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) \ @[EMAIL PROTECTED] [EMAIL PROTECTED]@NSSSONAMEVERSIONSUFFIX@ -bin/[EMAIL PROTECTED]@: $(PAM_WINBIND_PICOBJ) bin/.dummy +bin/[EMAIL PROTECTED]@: $(PAM_WINBIND_OBJ:[EMAIL PROTECTED]@) bin/.dummy @echo "Linking shared library $@" @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_WINBIND_PICOBJ) \ @[EMAIL PROTECTED] [EMAIL PROTECTED] -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)
