[SCM] Samba Shared Repository - branch v3-3-stable updated - release-3-3-1-39-ga5aa69f

Karolin Seeger kseeger at samba.org
Tue Mar 10 11:44:32 GMT 2009


The branch, v3-3-stable has been updated
       via  a5aa69f9d1a6499e9eea1b4821bdfbc87597a603 (commit)
       via  676e0d0caf1aac8eb331589c2c5a4ffb0e83b4f4 (commit)
       via  cc3237bb192d6f2c7ae9887df28518c011bdac14 (commit)
       via  f93dfe8659cec3ad5996d8ed6f7f9d6df4b697fb (commit)
       via  3867513e10dce26a7d7d1c3fde9597af5c9176a2 (commit)
       via  eeb49fd2211fa7ed4e96ccfd2ad07f6d65140a82 (commit)
      from  aff7429440784c41666d978e2b74784f36f87d98 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-stable


- Log -----------------------------------------------------------------
commit a5aa69f9d1a6499e9eea1b4821bdfbc87597a603
Author: Karolin Seeger <kseeger at samba.org>
Date:   Tue Mar 10 12:43:01 2009 +0100

    WHATSNEW: Update changes.
    
    Karolin
    (cherry picked from commit 1067eae0ae6e7cef7419cc373b96aa0c2de9bb55)

commit 676e0d0caf1aac8eb331589c2c5a4ffb0e83b4f4
Author: Andrew Tridgell <tridge at samba.org>
Date:   Tue Mar 10 16:45:45 2009 +1100

    fixed a bug in message handling for code the change notify code
    
    The change notify code registered a separate message handler for each
    tree connect. This registration uses the global messaging context.
    
    The messaging code would consider a 2nd registration for the same
    messaging type as being an 'update' of the handler, rather than a new
    handler. It also would only call the first handler in the linked list
    for a given message type when dispatching messages.
    
    This patch changes the messaging code to allow for multiple
    registrations of the same message type, and allow for multiple calls
    to different messaging handler for one incoming message.
    
    This fixes the problem with the test_notify_tcon() test that I
    recently committed to the S4 smbtorture
    (cherry picked from commit 89e340e09fbdc375c0aa85506add525b8ba5dcd0)

commit cc3237bb192d6f2c7ae9887df28518c011bdac14
Author: Karolin Seeger <kseeger at samba.org>
Date:   Tue Mar 10 11:31:52 2009 +0100

    WHATSNEW: Update changes since 3.3.1.
    
    Karolin
    (cherry picked from commit 391a391a8bc57f59af627f676d2a507d46bd0832)

commit f93dfe8659cec3ad5996d8ed6f7f9d6df4b697fb
Author: Karolin Seeger <kseeger at samba.org>
Date:   Mon Mar 9 16:16:20 2009 +0100

    s3/packaging: Fix typo in comment.
    
    Karolin
    (cherry picked from commit c666aef471174ca5d95afcc48924325e7caded14)
    (cherry picked from commit 6dc12c482044597af41fb476624642d17e415858)

commit 3867513e10dce26a7d7d1c3fde9597af5c9176a2
Author: Karolin Seeger <kseeger at samba.org>
Date:   Mon Mar 9 16:01:30 2009 +0100

    s3/packaging: Package new files properly.
    
    That is part of the fix for bug #6144.
    Thanks to Diego Remolina dijuremo [at] gatech [dot] edu for reporting!
    
    Karolin
    (cherry picked from commit a60aaf214cd94cbd793018a59da3b0ac5263e5bb)
    (cherry picked from commit 2e8c941edc21a00f8dbeb7d7782cbb536ab97b98)

commit eeb49fd2211fa7ed4e96ccfd2ad07f6d65140a82
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Mar 9 12:35:21 2009 +0100

    s3:lib: interfaces.c isn't used in the configure tests anymore
    
    libreplace always provides the getifaddr() function.
    
    This fixes the build on sles8.
    
    metze
    (cherry picked from commit 1410490fe769bc79f98b4ab364685c7aed253e09)
    (cherry picked from commit bac96af2053996f28894458fce87e84c5c2356ff)

-----------------------------------------------------------------------

Summary of changes:
 WHATSNEW.txt                   |    8 ++++
 packaging/RHEL/samba.spec.tmpl |    6 +++
 packaging/bin/fill-templates   |    2 +-
 source/lib/interfaces.c        |   74 +---------------------------------------
 source/lib/messages.c          |   18 +++++++++-
 5 files changed, 32 insertions(+), 76 deletions(-)


Changeset truncated at 500 lines:

diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 873c7bc..06b9624 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -36,6 +36,10 @@ o   Jeremy Allison <jra at samba.org>
     * Fix more POSIX path lstat calls.
 
 
+o   Andrew Tridgell <tridge at samba.org>
+    * Fix a bug in message handling for the change notify code.
+
+
 o   Steven Danneman <steven.danneman at isilon.com>
     * Fix guest authentication in setups with "security = share" and "guest ok =
       yes" when Winbind is running.
@@ -55,6 +59,10 @@ o   Volker Lendecke <vl at samba.org>
     * BUG 6124: Fix the build on IRIX.
 
 
+o   Stefan Metzmacher <metze at samba.org>
+    * Fix build on SLES8.
+
+
 o   Tim Prouty <tprouty at samba.org>
     * Fix creation of core files.
 
diff --git a/packaging/RHEL/samba.spec.tmpl b/packaging/RHEL/samba.spec.tmpl
index f674e83..94794cc 100644
--- a/packaging/RHEL/samba.spec.tmpl
+++ b/packaging/RHEL/samba.spec.tmpl
@@ -348,6 +348,7 @@ fi
 %{_mandir}/man1/vfstest.1*
 %{_mandir}/man5/smbpasswd.5*
 %{_mandir}/man7/samba.7*
+%{_mandir}/man7/winbind_krb5_locator.7*
 %{_mandir}/man8/nmbd.8*
 %{_mandir}/man8/pdbedit.8*
 %{_mandir}/man8/smbd.8*
@@ -396,6 +397,7 @@ fi
 
 %{_bindir}/rpcclient
 %{_bindir}/smbcacls
+%{_bindir}/sharesec
 %{_bindir}/findsmb
 %{_bindir}/smbcquotas
 %{_bindir}/nmblookup
@@ -417,6 +419,7 @@ fi
 %{_mandir}/man1/nmblookup.1*
 %{_mandir}/man1/rpcclient.1*
 %{_mandir}/man1/smbcacls.1*
+%{_mandir}/man1/sharesec.1*
 %{_mandir}/man1/smbclient.1*
 %{_mandir}/man1/smbtar.1*
 %{_mandir}/man1/smbtree.1*
@@ -437,6 +440,7 @@ fi
 %attr(755,root,root) /%{_libarch}/libnss_winbind.so*
 %attr(755,root,root) /%{_libarch}/security/pam_winbind.so
 %attr(755,root,root) /%{_libarch}/security/pam_smbpass.so
+/usr/share/locale/de/LC_MESSAGES/pam_winbind.mo
 
 %{_includedir}/libsmbclient.h
 %{_libarchdir}/libsmbclient.*
@@ -464,6 +468,7 @@ fi
 %{_bindir}/ldbdel
 %{_bindir}/ldbedit
 %{_bindir}/ldbmodify
+%{_bindir}/ldbrename
 %{_bindir}/ldbsearch
 
 %{_mandir}/man1/profiles.1*
@@ -478,6 +483,7 @@ fi
 %{_mandir}/man1/ldbdel.1*
 %{_mandir}/man1/ldbedit.1*
 %{_mandir}/man1/ldbmodify.1*
+%{_mandir}/man1/ldbrename.1*
 %{_mandir}/man1/ldbsearch.1*
 
 %changelog
diff --git a/packaging/bin/fill-templates b/packaging/bin/fill-templates
index 20e32b2..7e8a498 100755
--- a/packaging/bin/fill-templates
+++ b/packaging/bin/fill-templates
@@ -4,7 +4,7 @@
 # information that is created by mkversion in advance.
 #
 # This is a standalone wrapper for update-pkginfo, which
-# is ususally called from release-scripts/create-tarball.
+# is usually called from release-scripts/create-tarball.
 # This allows for testing some aspects of packaging without
 # the need to go through all of create-tarball.
 #
diff --git a/source/lib/interfaces.c b/source/lib/interfaces.c
index dd857ae..2535418 100644
--- a/source/lib/interfaces.c
+++ b/source/lib/interfaces.c
@@ -18,79 +18,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-
-/* working out the interfaces for a OS is an incredibly non-portable
-   thing. We have several possible implementations below, and autoconf
-   tries each of them to see what works
-
-   Note that this file does _not_ include includes.h. That is so this code
-   can be called directly from the autoconf tests. That also means
-   this code cannot use any of the normal Samba debug stuff or defines.
-   This is standalone code.
-
-*/
-
-#ifndef AUTOCONF_TEST
-#include "config.h"
-#endif
-
-#include <unistd.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <netdb.h>
-#include <sys/ioctl.h>
-#include <netdb.h>
-#include <sys/ioctl.h>
-#include <sys/time.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#ifdef HAVE_IFADDRS_H
-#include <ifaddrs.h>
-#endif
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#ifndef SIOCGIFCONF
-#ifdef HAVE_SYS_SOCKIO_H
-#include <sys/sockio.h>
-#endif
-#endif
-
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-#ifdef HAVE_STRINGS_H
-#include <strings.h>
-#endif
-
-#ifdef __COMPAR_FN_T
-#define QSORT_CAST (__compar_fn_t)
-#endif
-
-#ifndef QSORT_CAST
-#define QSORT_CAST (int (*)(const void *, const void *))
-#endif
-
-#ifdef HAVE_NET_IF_H
-#include <net/if.h>
-#endif
-
-#define SOCKET_WRAPPER_NOT_REPLACE
-#include "interfaces.h"
-#include "lib/replace/replace.h"
-
-/****************************************************************************
- Utility functions.
-****************************************************************************/
+#include "includes.h"
 
 /****************************************************************************
  Create a struct sockaddr_storage with the netmask bits set to 1.
diff --git a/source/lib/messages.c b/source/lib/messages.c
index f5933ca..6395cb6 100644
--- a/source/lib/messages.c
+++ b/source/lib/messages.c
@@ -278,7 +278,15 @@ NTSTATUS messaging_register(struct messaging_context *msg_ctx,
 	 */
 
 	for (cb = msg_ctx->callbacks; cb != NULL; cb = cb->next) {
-		if (cb->msg_type == msg_type) {
+		/* we allow a second registration of the same message
+		   type if it has a different private pointer. This is
+		   needed in, for example, the internal notify code,
+		   which creates a new notify context for each tree
+		   connect, and expects to receive messages to each of
+		   them. */
+		if (cb->msg_type == msg_type && private_data == cb->private_data) {
+			DEBUG(5,("Overriding messaging pointer for type %u - private_data=%p\n",
+				  (unsigned)msg_type, private_data));
 			cb->fn = fn;
 			cb->private_data = private_data;
 			return NT_STATUS_OK;
@@ -309,6 +317,8 @@ void messaging_deregister(struct messaging_context *ctx, uint32_t msg_type,
 		next = cb->next;
 		if ((cb->msg_type == msg_type)
 		    && (cb->private_data == private_data)) {
+			DEBUG(5,("Deregistering messaging pointer for type %u - private_data=%p\n",
+				  (unsigned)msg_type, private_data));
 			DLIST_REMOVE(ctx->callbacks, cb);
 			TALLOC_FREE(cb);
 		}
@@ -354,7 +364,11 @@ void messaging_dispatch_rec(struct messaging_context *msg_ctx,
 		if (cb->msg_type == rec->msg_type) {
 			cb->fn(msg_ctx, cb->private_data, rec->msg_type,
 			       rec->src, &rec->buf);
-			return;
+			/* we continue looking for matching messages
+			   after finding one. This matters for
+			   subsystems like the internal notify code
+			   which register more than one handler for
+			   the same message type */
 		}
 	}
 	return;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list