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)

Reply via email to