Rev 12009: Merge upstream. in file:///home/jelmer/bzr.samba/python/

Jelmer Vernooij jelmer at samba.org
Sat May 5 00:03:14 GMT 2007


At file:///home/jelmer/bzr.samba/python/

------------------------------------------------------------
revno: 12009
revision-id: jelmer at samba.org-20070505000247-o4e3y4k8a3gbdx59
parent: jelmer at samba.org-20070501232403-io0ugx8i9wmgcmo3
parent: svn-v2:22672 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: python
timestamp: Sat 2007-05-05 02:02:47 +0200
message:
  Merge upstream.
added:
  source/lib/ldb/external/       svn-v2:22642 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2fldb%2fexternal
  source/lib/ldb/external/libpopt.m4 svn-v2:22642 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2fldb%2fexternal%2flibpopt.m4
  source/lib/ldb/external/libtalloc.m4 svn-v2:22642 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2fldb%2fexternal%2flibtalloc.m4
  source/lib/ldb/external/libtdb.m4 svn-v2:22642 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2fldb%2fexternal%2flibtdb.m4
  source/lib/ldb/external/pkg.m4 svn-v2:22642 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2fldb%2fexternal%2fpkg.m4
modified:
  .bzrignore                     svn-v2:17811 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-.bzrignore
  source/auth/gensec/gensec_gssapi.c svn-v2:6113 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2fauth%2fgensec%2fgensec_gssapi.c
  source/auth/kerberos/krb5_init_context.c svn-v2:10286 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2fauth%2fkerberos%2fkrb5_init_context.c
  source/build/m4/check_ld.m4    svn-v2:7274 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2fbuild%2fm4%2fcheck_ld.m4
  source/lib/events/events_aio.c svn-v2:20104 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2fevents%2fevents_aio.c
  source/lib/events/events_epoll.c svn-v2:20539 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2fevents%2fevents_epoll.c
  source/lib/events/events_internal.h svn-v2:5407 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2fevents%2fevents_internal.h
  source/lib/events/events_select.c svn-v2:20539 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2fevents%2fevents_select.c
  source/lib/events/events_standard.c svn-v2:5373 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2fevents%2fevents_standard.c
  source/lib/events/events_timed.c svn-v2:20539 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2fevents%2fevents_timed.c
  source/lib/ldb/autogen.sh      svn-v2:6479 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2fldb%2fautogen.sh
  source/lib/ldb/configure.ac    svn-v2:18036 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2fldb%2fconfigure.ac
  source/lib/ldb/include/includes.h svn-v2:6 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2fldb%2finclude%2fincludes.h
  source/lib/replace/autoconf-2.60.m4 svn-v2:18292 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2freplace%2fautoconf%2d2.60.m4
  source/lib/replace/test/testsuite.c svn-v2:18031 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2freplace%2ftest%2ftestsuite.c
  source/lib/tdb/Makefile.in     svn-v2:6546 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2ftdb%2fMakefile.in
  source/lib/tdb/configure.ac    svn-v2:18031 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flib%2ftdb%2fconfigure.ac
  source/libnet/libnet_passwd.c  svn-v2:1816 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flibnet%2flibnet_passwd.c
  source/libnet/libnet_rpc.c     svn-v2:1836 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2flibnet%2flibnet_rpc.c
  source/torture/raw/notify.c    svn-v2:6 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2ftorture%2fraw%2fnotify.c
    ------------------------------------------------------------
    revno: 11989.1.104
    merged: svn-v2:22672 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: svn-v2:22670 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    committer: mimir
    timestamp: Fri 2007-05-04 18:59:51 +0000
    message:
      use composite_create calls instead of talloc_zero.
      
      
      rafal
    ------------------------------------------------------------
    revno: 11989.1.103
    merged: svn-v2:22670 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: svn-v2:22669 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    committer: tridge
    timestamp: Fri 2007-05-04 12:41:28 +0000
    message:
      
      changed the RAW-NOTIFY test to support clustered testing (two nodes)
    ------------------------------------------------------------
    revno: 11989.1.102
    merged: svn-v2:22669 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: svn-v2:22668 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    committer: metze
    timestamp: Fri 2007-05-04 11:26:25 +0000
    message:
      fix uninitialized element which was causing a crash with 'net password set'
      
      metze
    ------------------------------------------------------------
    revno: 11989.1.101
    merged: svn-v2:22668 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: svn-v2:22667 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: jelmer at samba.org-20070504110832-4pyga5axfuts2rc8
    committer: jelmer
    timestamp: Fri 2007-05-04 11:08:53 +0000
    message:
      Fix ldb build
        ------------------------------------------------------------
        revno: 11989.1.100.1.1
        merged: jelmer at samba.org-20070504110832-4pyga5axfuts2rc8
        parent: svn-v2:22667 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
        committer: Jelmer Vernooij <jelmer at samba.org>
        branch nick: SAMBA_4_0
        timestamp: Fri 2007-05-04 13:08:32 +0200
        message:
          Fix ldb build
    ------------------------------------------------------------
    revno: 11989.1.100
    merged: svn-v2:22667 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: svn-v2:22665 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    committer: metze
    timestamp: Fri 2007-05-04 10:44:41 +0000
    message:
      revert revision 22640 as it breaks nested structs in idl
      
      metze
    ------------------------------------------------------------
    revno: 11989.1.99
    merged: svn-v2:22665 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: svn-v2:22662 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: jelmer at samba.org-20070504110219-twqhdkx6mck6asyd
    committer: jelmer
    timestamp: Fri 2007-05-04 10:02:47 +0000
    message:
      Change version back to 0.9.
        ------------------------------------------------------------
        revno: 11989.1.98.1.1
        merged: jelmer at samba.org-20070504110219-twqhdkx6mck6asyd
        parent: svn-v2:22662 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
        committer: Jelmer Vernooij <jelmer at samba.org>
        branch nick: SAMBA_4_0
        timestamp: Fri 2007-05-04 13:02:19 +0200
        message:
          Change version back to 0.9.
    ------------------------------------------------------------
    revno: 11989.1.98
    merged: svn-v2:22662 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: svn-v2:22661 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    committer: metze
    timestamp: Fri 2007-05-04 09:35:01 +0000
    message:
      disable shared library support on Tru64
      
      metze 
    ------------------------------------------------------------
    revno: 11989.1.97
    merged: svn-v2:22661 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: svn-v2:22658 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    committer: metze
    timestamp: Fri 2007-05-04 09:22:52 +0000
    message:
      optimize the handling of directly triggered timed events:
      
      - if someone adds a timed_event with a zero timeval
        we now avoid serval gettimeofday() calls and the
        event handler doesn't get the current time when it's
        called, instead we also pass a zero timeval
      
      - this also makes sure multiple timed events with a zero timeval
        are processed in the order there're added.
      
      the little benchmark shows that processing 2000000 directly timed events
      is now much faster, while avoiding syscalls at all!
      
      > time ./evtest (with the old code)
      
      real    0m6.388s
      user    0m1.740s
      sys     0m4.632s
      > time ./evtest (with the new code)
      
      real    0m1.498s
      user    0m1.496s
      sys     0m0.004s
      metze at SERNOX:~/devel/samba/4.0/samba4-ci/source> cat evtest.c
      #include <stdio.h>
      #include <stdint.h>
      #include <sys/time.h>
      #include <talloc.h>
      #include <events.h>
      
      static void dummy_fde_handler(struct event_context *ev_ctx, struct fd_event *fde,
                                    uint16_t flags, void *private_data)
      {
      }
      
      static void timeout_handler(struct event_context *ev, struct timed_event *te,
                                  struct timeval tval, void *private_data)
      {
              uint32_t *countp = (uint32_t *)private_data;
              (*countp)++;
              if (*countp > 2000000) exit(0);
              event_add_timed(ev, ev, tval, timeout_handler, countp);
      }
      
      int main(void)
      {
              struct event_context *ev;
              struct timeval tval =  { 0, 0 };
              uint32_t count = 0;
              ev = event_context_init(NULL);
              event_add_fd(ev, ev, 0, 0, dummy_fde_handler, NULL);
              event_add_timed(ev, ev, tval, timeout_handler, &count);
              return event_loop_wait(ev);
      }
    ------------------------------------------------------------
    revno: 11989.1.96
    merged: svn-v2:22658 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: svn-v2:22642 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    committer: metze
    timestamp: Fri 2007-05-04 06:59:02 +0000
    message:
      - add AC_GNU_SOURCE macro for systems which don't have it
        (sles8)
      - fix compiler warning on some systems
      
      metze
    ------------------------------------------------------------
    revno: 11989.1.95
    merged: svn-v2:22642 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: svn-v2:22640 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    committer: jelmer
    timestamp: Wed 2007-05-02 22:05:48 +0000
    message:
      Allow standalone build to work without tdb or talloc checked out, but 
      provided by the system.
    ------------------------------------------------------------
    revno: 11989.1.94
    merged: svn-v2:22640 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: svn-v2:22637 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    committer: metze
    timestamp: Wed 2007-05-02 18:00:02 +0000
    message:
      - generate nicer output
      - fix compiler warning about unused ';'
      
      metze
    ------------------------------------------------------------
    revno: 11989.1.93
    merged: svn-v2:22637 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: svn-v2:22635 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: jelmer at samba.org-20070502170822-sp9950452zu87uyx
    committer: jelmer
    timestamp: Wed 2007-05-02 16:09:33 +0000
    message:
      Install tdbbackup and tdbdump again.
        ------------------------------------------------------------
        revno: 11989.1.92.1.1
        merged: jelmer at samba.org-20070502170822-sp9950452zu87uyx
        parent: svn-v2:22635 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
        committer: Jelmer Vernooij <jelmer at samba.org>
        branch nick: SAMBA_4_0
        timestamp: Wed 2007-05-02 19:08:22 +0200
        message:
          Install tdbbackup and tdbdump again.
    ------------------------------------------------------------
    revno: 11989.1.92
    merged: svn-v2:22635 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    parent: svn-v2:22634 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
    committer: metze
    timestamp: Wed 2007-05-02 09:54:06 +0000
    message:
      make it possible to not turn off dns canonicalization of hostnames
      with krb5:set_dns_canonicalize=yes
      
      needed for the drsuapi replication, but we should fix this with
      a kdc locator plugin ...
      
      metze
=== added directory 'source/lib/ldb/external'
=== added file 'source/lib/ldb/external/libpopt.m4'
--- a/source/lib/ldb/external/libpopt.m4	1970-01-01 00:00:00 +0000
+++ b/source/lib/ldb/external/libpopt.m4	2007-05-02 22:05:48 +0000
@@ -0,0 +1,7 @@
+POPT_OBJ=""
+AC_SUBST(POPT_OBJ)
+AC_SUBST(POPT_LIBS)
+AC_SUBST(POPT_CFLAGS)
+
+AC_CHECK_HEADERS(popt.h)
+AC_CHECK_LIB(popt, poptGetContext, [ POPT_LIBS="-lpopt" ])

=== added file 'source/lib/ldb/external/libtalloc.m4'
--- a/source/lib/ldb/external/libtalloc.m4	1970-01-01 00:00:00 +0000
+++ b/source/lib/ldb/external/libtalloc.m4	2007-05-02 22:05:48 +0000
@@ -0,0 +1,4 @@
+m4_include(pkg.m4)
+TALLOC_OBJ=""
+AC_SUBST(TALLOC_OBJ)
+PKG_CHECK_MODULES(TALLOC, talloc)

=== added file 'source/lib/ldb/external/libtdb.m4'
--- a/source/lib/ldb/external/libtdb.m4	1970-01-01 00:00:00 +0000
+++ b/source/lib/ldb/external/libtdb.m4	2007-05-02 22:05:48 +0000
@@ -0,0 +1,4 @@
+m4_include(pkg.m4)
+TDB_OBJ=""
+AC_SUBST(TDB_OBJ)
+PKG_CHECK_MODULES(TDB, tdb >= 1.1.0)

=== added file 'source/lib/ldb/external/pkg.m4'
--- a/source/lib/ldb/external/pkg.m4	1970-01-01 00:00:00 +0000
+++ b/source/lib/ldb/external/pkg.m4	2007-05-02 22:05:48 +0000
@@ -0,0 +1,157 @@
+# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
+# 
+# Copyright © 2004 Scott James Remnant <scott at netsplit.com>.
+#
+# 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
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=m4_default([$1], [0.9.0])
+	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		AC_MSG_RESULT([yes])
+	else
+		AC_MSG_RESULT([no])
+		PKG_CONFIG=""
+	fi
+		
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists.  Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+#
+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
+# this or PKG_CHECK_MODULES is called, or make sure to call
+# PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+  m4_ifval([$2], [$2], [:])
+m4_ifvaln([$3], [else
+  $3])dnl
+fi])
+
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$PKG_CONFIG"; then
+    if test -n "$$1"; then
+        pkg_cv_[]$1="$$1"
+    else
+        PKG_CHECK_EXISTS([$3],
+                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+			 [pkg_failed=yes])
+    fi
+else
+	pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+        _PKG_SHORT_ERRORS_SUPPORTED
+        if test $_pkg_short_errors_supported = yes; then
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+        else 
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+	ifelse([$4], , [AC_MSG_ERROR(dnl
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT
+])],
+		[AC_MSG_RESULT([no])
+                $4])
+elif test $pkg_failed = untried; then
+	ifelse([$4], , [AC_MSG_FAILURE(dnl
+[The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
+		[$4])
+else
+	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        AC_MSG_RESULT([yes])
+	ifelse([$3], , :, [$3])
+fi[]dnl
+])# PKG_CHECK_MODULES

=== modified file '.bzrignore'
--- a/.bzrignore	2007-05-01 23:24:03 +0000
+++ b/.bzrignore	2007-05-05 00:02:47 +0000
@@ -189,3 +189,5 @@
 source/lib/ldb/lib
 source/lib/ldb/examples/ldbreader
 source/lib/ldb/examples/ldifreader
+source/lib/tdb/bin/tdbbackup
+source/lib/tdb/bin/tdbdump

=== modified file 'source/auth/gensec/gensec_gssapi.c'
--- a/source/auth/gensec/gensec_gssapi.c	2007-04-17 03:49:46 +0000
+++ b/source/auth/gensec/gensec_gssapi.c	2007-05-02 09:54:06 +0000
@@ -218,7 +218,7 @@
 	}
 
 	/* don't do DNS lookups of any kind, it might/will fail for a netbios name */
-	ret = gsskrb5_set_dns_canonicalize(FALSE);
+	ret = gsskrb5_set_dns_canonicalize(lp_parm_bool(-1, "krb5", "set_dns_canonicalize", false));
 	if (ret) {
 		DEBUG(1,("gensec_krb5_start: gsskrb5_set_dns_canonicalize failed\n"));
 		talloc_free(gensec_gssapi_state);

=== modified file 'source/auth/kerberos/krb5_init_context.c'
--- a/source/auth/kerberos/krb5_init_context.c	2007-04-30 11:27:41 +0000
+++ b/source/auth/kerberos/krb5_init_context.c	2007-05-02 09:54:06 +0000
@@ -473,7 +473,8 @@
 
 	/* Set options in kerberos */
 
-	krb5_set_dns_canonicalize_hostname((*smb_krb5_context)->krb5_context, FALSE);
+	krb5_set_dns_canonicalize_hostname((*smb_krb5_context)->krb5_context,
+					   lp_parm_bool(-1, "krb5", "set_dns_canonicalize", false));
 
 	return 0;
 }

=== modified file 'source/build/m4/check_ld.m4'
--- a/source/build/m4/check_ld.m4	2007-04-17 13:58:57 +0000
+++ b/source/build/m4/check_ld.m4	2007-05-04 09:35:01 +0000
@@ -135,7 +135,8 @@
 		fi
 		;;
 	*osf*)
-		BLDSHARED="true"
+		# disabled because tru64 fails to link libtorture.so
+		BLDSHARED="false"
 		SONAMEFLAG="-Wl,-soname,"
 		PICFLAG="-fPIC"
 		;;

=== modified file 'source/lib/events/events_aio.c'
--- a/source/lib/events/events_aio.c	2007-05-01 21:29:42 +0000
+++ b/source/lib/events/events_aio.c	2007-05-04 09:22:52 +0000
@@ -250,7 +250,8 @@
 	}
 
 	if (ret == 0 && tvalp) {
-		common_event_loop_timer(aio_ev->ev);
+		/* we don't care about a possible delay here */
+		common_event_loop_timer_delay(aio_ev->ev);
 		return 0;
 	}
 
@@ -431,10 +432,8 @@
 		 					   struct aio_event_context);
 	struct timeval tval;
 
-	tval = common_event_loop_delay(ev);
-
+	tval = common_event_loop_timer_delay(ev);
 	if (timeval_is_zero(&tval)) {
-		common_event_loop_timer(ev);
 		return 0;
 	}
 

=== modified file 'source/lib/events/events_epoll.c'
--- a/source/lib/events/events_epoll.c	2007-05-01 21:29:42 +0000
+++ b/source/lib/events/events_epoll.c	2007-05-04 09:22:52 +0000
@@ -233,7 +233,8 @@
 	}
 
 	if (ret == 0 && tvalp) {
-		common_event_loop_timer(epoll_ev->ev);
+		/* we don't care about a possible delay here */
+		common_event_loop_timer_delay(epoll_ev->ev);
 		return 0;
 	}
 
@@ -376,10 +377,8 @@
 		 					   struct epoll_event_context);
 	struct timeval tval;
 
-	tval = common_event_loop_delay(ev);
-
+	tval = common_event_loop_timer_delay(ev);
 	if (timeval_is_zero(&tval)) {
-		common_event_loop_timer(ev);
 		return 0;
 	}
 

=== modified file 'source/lib/events/events_internal.h'
--- a/source/lib/events/events_internal.h	2007-05-01 21:29:42 +0000
+++ b/source/lib/events/events_internal.h	2007-05-04 09:22:52 +0000
@@ -117,8 +117,7 @@
 
 struct timed_event *common_event_add_timed(struct event_context *, TALLOC_CTX *,
 					   struct timeval, event_timed_handler_t, void *);
-void common_event_loop_timer(struct event_context *);
-struct timeval common_event_loop_delay(struct event_context *);
+struct timeval common_event_loop_timer_delay(struct event_context *);
 
 struct signal_event *common_event_add_signal(struct event_context *ev, 
 					     TALLOC_CTX *mem_ctx,

=== modified file 'source/lib/events/events_select.c'
--- a/source/lib/events/events_select.c	2007-05-01 21:29:42 +0000
+++ b/source/lib/events/events_select.c	2007-05-04 09:22:52 +0000
@@ -218,7 +218,8 @@
 	}
 
 	if (selrtn == 0 && tvalp) {
-		common_event_loop_timer(select_ev->ev);
+		/* we don't care about a possible delay here */
+		common_event_loop_timer_delay(select_ev->ev);
 		return 0;
 	}
 
@@ -252,10 +253,8 @@
 		 					   struct select_event_context);
 	struct timeval tval;
 
-	tval = common_event_loop_delay(ev);
-
+	tval = common_event_loop_timer_delay(ev);
 	if (timeval_is_zero(&tval)) {
-		common_event_loop_timer(ev);
 		return 0;
 	}
 

=== modified file 'source/lib/events/events_standard.c'
--- a/source/lib/events/events_standard.c	2007-05-01 21:29:42 +0000
+++ b/source/lib/events/events_standard.c	2007-05-04 09:22:52 +0000
@@ -248,7 +248,8 @@
 	}
 
 	if (ret == 0 && tvalp) {
-		common_event_loop_timer(std_ev->ev);
+		/* we don't care about a possible delay here */
+		common_event_loop_timer_delay(std_ev->ev);
 		return 0;
 	}
 
@@ -471,7 +472,8 @@
 	}
 
 	if (selrtn == 0 && tvalp) {
-		common_event_loop_timer(std_ev->ev);
+		/* we don't care about a possible delay here */
+		common_event_loop_timer_delay(std_ev->ev);
 		return 0;
 	}
 
@@ -505,10 +507,8 @@
 		 					   struct std_event_context);
 	struct timeval tval;
 
-	tval = common_event_loop_delay(ev);
-
+	tval = common_event_loop_timer_delay(ev);
 	if (timeval_is_zero(&tval)) {
-		common_event_loop_timer(ev);
 		return 0;
 	}
 

=== modified file 'source/lib/events/events_timed.c'
--- a/source/lib/events/events_timed.c	2007-01-05 10:31:54 +0000
+++ b/source/lib/events/events_timed.c	2007-05-04 09:22:52 +0000
@@ -68,9 +68,7 @@
 	last_te = NULL;
 	for (cur_te = ev->timed_events; cur_te; cur_te = cur_te->next) {
 		/* if the new event comes before the current one break */
-		if (!timeval_is_zero(&cur_te->next_event) &&
-		    timeval_compare(&te->next_event,
-				    &cur_te->next_event) < 0) {
+		if (timeval_compare(&te->next_event, &cur_te->next_event) < 0) {
 			break;
 		}
 
@@ -85,16 +83,46 @@
 }
 
 /*
-  a timer has gone off - call it
+  do a single event loop using the events defined in ev
+
+  return the delay untill the next timed event,
+  or zero if a timed event was triggered
 */
-void common_event_loop_timer(struct event_context *ev)
+struct timeval common_event_loop_timer_delay(struct event_context *ev)
 {
-	struct timeval t = timeval_current();
+	struct timeval current_time = timeval_zero();
 	struct timed_event *te = ev->timed_events;
 
-	if (te == NULL) {
-		return;
-	}
+	if (!te) {
+		/* have a default tick time of 30 seconds. This guarantees
+		   that code that uses its own timeout checking will be
+		   able to proceeed eventually */
+		return timeval_set(30, 0);
+	}
+
+	/*
+	 * work out the right timeout for the next timed event
+	 *
+	 * avoid the syscall to gettimeofday() if the timed event should
+	 * be triggered directly
+	 *
+	 * if there's a delay till the next timed event, we're done
+	 * with just returning the delay
+	 */
+	if (!timeval_is_zero(&te->next_event)) {
+		struct timeval delay;
+
+		current_time = timeval_current();
+
+		delay = timeval_until(&current_time, &te->next_event);
+		if (!timeval_is_zero(&delay)) {
+			return delay;
+		}
+	}
+
+	/*
+	 * ok, we have a timed event that we'll process ...
+	 */
 
 	/* deny the handler to free the event */
 	talloc_set_destructor(te, common_event_timed_deny_destructor);
@@ -104,33 +132,21 @@
 	 * handler we don't want to come across this event again -- vl */
 	DLIST_REMOVE(ev->timed_events, te);
 
-	te->handler(ev, te, t, te->private_data);
+	/*
+	 * If the timed event was registered for a zero current_time,
+	 * then we pass a zero timeval here too! To avoid the
+	 * overhead of gettimeofday() calls.
+	 *
+	 * otherwise we pass the current time
+	 */
+	te->handler(ev, te, current_time, te->private_data);
 
 	/* The destructor isn't necessary anymore, we've already removed the
 	 * event from the list. */
 	talloc_set_destructor(te, NULL);
 
 	talloc_free(te);
-}
-
-/*
-  do a single event loop using the events defined in ev 
-*/
-struct timeval common_event_loop_delay(struct event_context *ev)
-{
-	struct timeval tval;
-
-	/* work out the right timeout for all timed events */
-	if (ev->timed_events) {
-		struct timeval t = timeval_current();
-		tval = timeval_until(&t, &ev->timed_events->next_event);
-	} else {
-		/* have a default tick time of 30 seconds. This guarantees
-		   that code that uses its own timeout checking will be
-		   able to proceeed eventually */
-		tval = timeval_set(30, 0);
-	}
-	
-	return tval;
+
+	return timeval_zero();
 }
 

=== modified file 'source/lib/ldb/autogen.sh'
--- a/source/lib/ldb/autogen.sh	2006-09-05 23:32:35 +0000
+++ b/source/lib/ldb/autogen.sh	2007-05-02 22:05:48 +0000
@@ -7,6 +7,11 @@
 IPATHS="$IPATHS -I lib/talloc -I talloc -I ../talloc"
 IPATHS="$IPATHS -I lib/tdb -I tdb -I ../tdb"
 IPATHS="$IPATHS -I lib/popt -I popt -I ../popt"
+
+# Always keep this listed last, so the built-in versions of tdb and talloc
+# get used if available.
+IPATHS="$IPATHS -I ./external"
+
 autoheader $IPATHS || exit 1
 autoconf $IPATHS || exit 1
 

=== modified file 'source/lib/ldb/configure.ac'
--- a/source/lib/ldb/configure.ac	2007-04-30 08:08:36 +0000
+++ b/source/lib/ldb/configure.ac	2007-05-04 11:08:53 +0000
@@ -11,7 +11,7 @@
 AC_DEFUN([SMB_LIBRARY_ENABLE], [echo -n ""])
 AC_DEFUN([SMB_EXT_LIB], [echo -n ""])
 AC_DEFUN([SMB_ENABLE], [echo -n ""])
-AC_INIT(ldb, 1.0)
+AC_INIT(ldb, 0.9.0)
 AC_CONFIG_SRCDIR([common/ldb.c])
 
 AC_LIBREPLACE_ALL_CHECKS

=== modified file 'source/lib/ldb/include/includes.h'
--- a/source/lib/ldb/include/includes.h	2007-04-15 21:13:13 +0000
+++ b/source/lib/ldb/include/includes.h	2007-05-02 22:05:48 +0000
@@ -20,7 +20,7 @@
 #include "system/filesys.h"
 #include "system/network.h"
 #include "system/time.h"
-#include "talloc/talloc.h"
+#include "talloc.h"
 #include "ldb.h"
 #include "ldb_errors.h"
 #include "ldb_private.h"

=== modified file 'source/lib/replace/autoconf-2.60.m4'
--- a/source/lib/replace/autoconf-2.60.m4	2007-04-23 11:41:38 +0000
+++ b/source/lib/replace/autoconf-2.60.m4	2007-05-05 00:02:47 +0000
@@ -1,3 +1,16 @@
+# AC_GNU_SOURCE
+# --------------
+AC_DEFUN([AC_GNU_SOURCE],
+[AH_VERBATIM([_GNU_SOURCE],
+[/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif])dnl
+AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
+AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
+AC_DEFINE([_GNU_SOURCE])
+])
+
 # _AC_C_STD_TRY(STANDARD, TEST-PROLOGUE, TEST-BODY, OPTION-LIST,
 #		ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE)
 # --------------------------------------------------------------

=== modified file 'source/lib/replace/test/testsuite.c'
--- a/source/lib/replace/test/testsuite.c	2007-04-16 19:55:51 +0000
+++ b/source/lib/replace/test/testsuite.c	2007-05-04 06:59:02 +0000
@@ -511,7 +511,7 @@
 		       "\tptr: %p - %p = %d != %d\n" \
 		       "]\n", \
 		       __STRING(func), __location__, __STRING(func), \
-		       str, diff, base, res, _v, _ep, _p, diff - (_ep - _p), diff); \
+		       str, diff, base, res, _v, _ep, _p, (int)(diff - (_ep - _p)), diff); \
 		return false; \
 	} \
 } while (0)

=== modified file 'source/lib/tdb/Makefile.in'
--- a/source/lib/tdb/Makefile.in	2007-04-30 10:49:42 +0000
+++ b/source/lib/tdb/Makefile.in	2007-05-02 16:09:33 +0000
@@ -19,8 +19,8 @@
 
 .PHONY: test
 
-PROGS = bin/tdbtool$(EXEEXT) bin/tdbtorture$(EXEEXT)
-PROGS_NOINSTALL = bin/tdbtest$(EXEEXT) bin/tdbdump$(EXEEXT) bin/tdbbackup$(EXEEXT)
+PROGS = bin/tdbtool$(EXEEXT) bin/tdbdump$(EXEEXT) bin/tdbbackup$(EXEEXT)
+PROGS_NOINSTALL = bin/tdbtest$(EXEEXT) bin/tdbtorture$(EXEEXT)
 ALL_PROGS = $(PROGS) $(PROGS_NOINSTALL)
 
 TDB_OBJ = @TDB_OBJ@ @LIBREPLACEOBJ@

=== modified file 'source/lib/tdb/configure.ac'
--- a/source/lib/tdb/configure.ac	2007-04-30 08:08:36 +0000
+++ b/source/lib/tdb/configure.ac	2007-05-02 16:09:33 +0000
@@ -2,7 +2,7 @@
 AC_DEFUN([SMB_MODULE_DEFAULT], [echo -n ""])
 AC_DEFUN([SMB_LIBRARY_ENABLE], [echo -n ""])
 AC_DEFUN([SMB_ENABLE], [echo -n ""])
-AC_INIT(tdb, 1.1)
+AC_INIT(tdb, 1.1.0)
 AC_CONFIG_SRCDIR([common/tdb.c])
 AC_CONFIG_HEADER(include/config.h)
 AC_LIBREPLACE_ALL_CHECKS

=== modified file 'source/libnet/libnet_passwd.c'
--- a/source/libnet/libnet_passwd.c	2006-11-28 17:30:43 +0000
+++ b/source/libnet/libnet_passwd.c	2007-05-04 11:26:25 +0000
@@ -644,6 +644,7 @@
 	r2.samr_handle.in.newpassword	= r->samr.in.newpassword;
 	r2.samr_handle.in.user_handle   = &u_handle;
 	r2.samr_handle.in.dcerpc_pipe   = c.out.dcerpc_pipe;
+	r2.samr_handle.in.info21	= NULL;
 
 	status = libnet_SetPassword(ctx, mem_ctx, &r2);
 

=== modified file 'source/libnet/libnet_rpc.c'
--- a/source/libnet/libnet_rpc.c	2006-11-28 21:01:10 +0000
+++ b/source/libnet/libnet_rpc.c	2007-05-04 18:59:51 +0000
@@ -57,15 +57,13 @@
 	struct composite_context *pipe_connect_req;
 
 	/* composite context allocation and setup */
-	c = talloc_zero(mem_ctx, struct composite_context);
-	if (c == NULL) return NULL;
+	c = composite_create(ctx, ctx->event_ctx);
+	if (c == NULL) return c;
 
 	s = talloc_zero(c, struct rpc_connect_srv_state);
 	if (composite_nomem(s, c)) return c;
 
-	c->state = COMPOSITE_STATE_IN_PROGRESS;
 	c->private_data = s;
-	c->event_ctx = ctx->event_ctx;
 
 	s->ctx = ctx;
 	s->r = *r;
@@ -218,15 +216,13 @@
 	struct composite_context *lookup_dc_req;
 
 	/* composite context allocation and setup */
-	c = talloc_zero(mem_ctx, struct composite_context);
-	if (c == NULL) return NULL;
+	c = composite_create(ctx, ctx->event_ctx);
+	if (c == NULL) return c;
 
 	s = talloc_zero(c, struct rpc_connect_dc_state);
 	if (composite_nomem(s, c)) return c;
 
-	c->state = COMPOSITE_STATE_IN_PROGRESS;
 	c->private_data = s;
-	c->event_ctx = ctx->event_ctx;
 
 	s->ctx = ctx;
 	s->r   = *r;
@@ -433,15 +429,13 @@
 	struct rpc_connect_dci_state *s;
 
 	/* composite context allocation and setup */
-	c = talloc_zero(mem_ctx, struct composite_context);
-	if (c == NULL) return NULL;
+	c = composite_create(ctx, ctx->event_ctx);
+	if (c == NULL) return c;
 
 	s = talloc_zero(c, struct rpc_connect_dci_state);
 	if (composite_nomem(s, c)) return c;
 
-	c->state = COMPOSITE_STATE_IN_PROGRESS;
 	c->private_data = s;
-	c->event_ctx = ctx->event_ctx;
 
 	s->ctx = ctx;
 	s->r   = *r;

=== modified file 'source/torture/raw/notify.c'
--- a/source/torture/raw/notify.c	2007-02-02 17:30:10 +0000
+++ b/source/torture/raw/notify.c	2007-05-04 12:41:28 +0000
@@ -55,7 +55,8 @@
 /* 
    basic testing of change notify on directories
 */
-static BOOL test_notify_dir(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
+static BOOL test_notify_dir(struct smbcli_state *cli, struct smbcli_state *cli2, 
+			    TALLOC_CTX *mem_ctx)
 {
 	BOOL ret = True;
 	NTSTATUS status;
@@ -110,7 +111,7 @@
 	printf("testing notify mkdir\n");
 
 	req = smb_raw_changenotify_send(cli->tree, &notify);
-	smbcli_mkdir(cli->tree, BASEDIR "\\subdir-name");
+	smbcli_mkdir(cli2->tree, BASEDIR "\\subdir-name");
 
 	status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
 	CHECK_STATUS(status, NT_STATUS_OK);
@@ -122,7 +123,7 @@
 	printf("testing notify rmdir\n");
 
 	req = smb_raw_changenotify_send(cli->tree, &notify);
-	smbcli_rmdir(cli->tree, BASEDIR "\\subdir-name");
+	smbcli_rmdir(cli2->tree, BASEDIR "\\subdir-name");
 
 	status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
 	CHECK_STATUS(status, NT_STATUS_OK);
@@ -132,10 +133,10 @@
 
 	printf("testing notify mkdir - rmdir - mkdir - rmdir\n");
 
-	smbcli_mkdir(cli->tree, BASEDIR "\\subdir-name");
-	smbcli_rmdir(cli->tree, BASEDIR "\\subdir-name");
-	smbcli_mkdir(cli->tree, BASEDIR "\\subdir-name");
-	smbcli_rmdir(cli->tree, BASEDIR "\\subdir-name");
+	smbcli_mkdir(cli2->tree, BASEDIR "\\subdir-name");
+	smbcli_rmdir(cli2->tree, BASEDIR "\\subdir-name");
+	smbcli_mkdir(cli2->tree, BASEDIR "\\subdir-name");
+	smbcli_rmdir(cli2->tree, BASEDIR "\\subdir-name");
 	req = smb_raw_changenotify_send(cli->tree, &notify);
 	status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
 	CHECK_STATUS(status, NT_STATUS_OK);
@@ -174,11 +175,14 @@
 	notify.nttrans.in.file.fnum = fnum;
 	req = smb_raw_changenotify_send(cli->tree, &notify);
 
+	status = smbcli_unlink(cli->tree, BASEDIR "\\nonexistant.txt");
+	CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_NOT_FOUND);
+
 	/* (1st unlink) as the 2nd notify directly returns,
 	   this unlink is only seen by the 1st notify and 
 	   the 3rd notify (later) */
 	printf("testing notify on unlink for the first file\n");
-	status = smbcli_unlink(cli->tree, BASEDIR "\\test0.txt");
+	status = smbcli_unlink(cli2->tree, BASEDIR "\\test0.txt");
 	CHECK_STATUS(status, NT_STATUS_OK);
 
 	/* receive the reply from the 2nd notify */
@@ -186,24 +190,27 @@
 	CHECK_STATUS(status, NT_STATUS_OK);
 
 	CHECK_VAL(notify.nttrans.out.num_changes, count);
-	for (i=1;i<notify.nttrans.out.num_changes;i++) {
+	for (i=1;i<count;i++) {
 		CHECK_VAL(notify.nttrans.out.changes[i].action, NOTIFY_ACTION_ADDED);
 	}
 	CHECK_WSTR(notify.nttrans.out.changes[0].name, "test0.txt", STR_UNICODE);
 
-	/* and now from the 1st notify */
+	printf("and now from the 1st notify\n");
 	status = smb_raw_changenotify_recv(req2, mem_ctx, &notify);
 	CHECK_STATUS(status, NT_STATUS_OK);
 	CHECK_VAL(notify.nttrans.out.num_changes, 1);
 	CHECK_VAL(notify.nttrans.out.changes[0].action, NOTIFY_ACTION_REMOVED);
 	CHECK_WSTR(notify.nttrans.out.changes[0].name, "test0.txt", STR_UNICODE);
 
-	/* (3rd notify) this notify will only see the 1st unlink */
+	printf("(3rd notify) this notify will only see the 1st unlink\n");
 	req = smb_raw_changenotify_send(cli->tree, &notify);
 
+	status = smbcli_unlink(cli->tree, BASEDIR "\\nonexistant.txt");
+	CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_NOT_FOUND);
+
 	printf("testing notify on wildcard unlink for %d files\n", count-1);
 	/* (2nd unlink) do a wildcard unlink */
-	status = smbcli_unlink(cli->tree, BASEDIR "\\test*.txt");
+	status = smbcli_unlink(cli2->tree, BASEDIR "\\test*.txt");
 	CHECK_STATUS(status, NT_STATUS_OK);
 
 	/* receive the 3rd notify */
@@ -1149,13 +1156,16 @@
 */
 BOOL torture_raw_notify(struct torture_context *torture)
 {
-	struct smbcli_state *cli;
+	struct smbcli_state *cli, *cli2;
 	BOOL ret = True;
 	TALLOC_CTX *mem_ctx;
 		
 	if (!torture_open_connection(&cli, 0)) {
 		return False;
 	}
+	if (!torture_open_connection(&cli2, 0)) {
+		return False;
+	}
 
 	mem_ctx = talloc_init("torture_raw_notify");
 
@@ -1163,7 +1173,7 @@
 		return False;
 	}
 
-	ret &= test_notify_dir(cli, mem_ctx);
+	ret &= test_notify_dir(cli, cli2, mem_ctx);
 	ret &= test_notify_mask(cli, mem_ctx);
 	ret &= test_notify_recursive(cli, mem_ctx);
 	ret &= test_notify_file(cli, mem_ctx);
@@ -1177,6 +1187,7 @@
 	smb_raw_exit(cli->session);
 	smbcli_deltree(cli->tree, BASEDIR);
 	torture_close_connection(cli);
+	torture_close_connection(cli2);
 	talloc_free(mem_ctx);
 	return ret;
 }



More information about the samba-cvs mailing list