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(¤t_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, ¬ify);
- smbcli_mkdir(cli->tree, BASEDIR "\\subdir-name");
+ smbcli_mkdir(cli2->tree, BASEDIR "\\subdir-name");
status = smb_raw_changenotify_recv(req, mem_ctx, ¬ify);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -122,7 +123,7 @@
printf("testing notify rmdir\n");
req = smb_raw_changenotify_send(cli->tree, ¬ify);
- smbcli_rmdir(cli->tree, BASEDIR "\\subdir-name");
+ smbcli_rmdir(cli2->tree, BASEDIR "\\subdir-name");
status = smb_raw_changenotify_recv(req, mem_ctx, ¬ify);
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, ¬ify);
status = smb_raw_changenotify_recv(req, mem_ctx, ¬ify);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -174,11 +175,14 @@
notify.nttrans.in.file.fnum = fnum;
req = smb_raw_changenotify_send(cli->tree, ¬ify);
+ 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, ¬ify);
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, ¬ify);
+ 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