[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Tue Apr 10 20:05:03 MDT 2012

The branch, master has been updated
       via  47e7013 on our way with Samba 4.0alpha20
       via  8a34f61 prepare WHATSNEW for Samba 4.0alpha19 release and mark as release.
       via  7381863 ccan: Fix failtest on Fedora 16 as stdlib.h does not imply malloc.h
       via  ce5ac20 remove --enable-developer from samba4-libs autobuild
       via  f446506 remove --enable-developer from recursive waf build in autoconf build
       via  72b8a09 buildtools: Add --enable-debug option
       via  031dee3 .gitignore: ignore MYMETA.yml
       via  646aced build: search for talloc, tdb, tevent in non-standard system locations
       via  f7d6089 build: Add tevent deps for users of tevent calls
      from  fe707f6 Add a new module, aio_linux which implements Linux kernel aio support. Docs to follow.


- Log -----------------------------------------------------------------
commit 47e7013d20d5ca4fc2b9445d8618a29e85f21f79
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Apr 11 07:33:26 2012 +1000

    on our way with Samba 4.0alpha20
    Autobuild-User: Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date: Wed Apr 11 04:04:18 CEST 2012 on sn-devel-104

commit 8a34f61b27b2de4b0672e46b2fd50f8191a880ad
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Apr 11 07:32:43 2012 +1000

    prepare WHATSNEW for Samba 4.0alpha19 release and mark as release.

commit 73818636e01de66d7a8d98072188a60284a00d00
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Apr 11 08:27:14 2012 +1000

    ccan: Fix failtest on Fedora 16 as stdlib.h does not imply malloc.h
    The issue is that there are two different sources of the malloc
    prototype, and they both need to be included otherwise the failtest
    overrides chokes on the headers.
    Andrew Bartlett

commit ce5ac20d1979498572d4b6f631801664a8f4a9ee
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Apr 11 08:01:47 2012 +1000

    remove --enable-developer from samba4-libs autobuild
    This will ensure everything works for end users without --enable-developer.
    Andrew Bartlett

commit f446506608ba93303b9c671bdaacd692f72bad28
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Apr 11 07:59:01 2012 +1000

    remove --enable-developer from recursive waf build in autoconf build
    wanting to run make test does not make you a developer in need of ABI checking.
    Andrew Bartlett

commit 72b8a0952a10c94aa0483a83bec9253b53a30e39
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Apr 11 08:08:44 2012 +1000

    buildtools: Add --enable-debug option

commit 031dee348dbbf1c4658a0488520bacc582c4fe29
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Apr 11 07:56:00 2012 +1000

    .gitignore: ignore MYMETA.yml

commit 646aced66543b56725b3f2f5bc061d946c109db8
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Apr 11 09:36:12 2012 +1000

    build: search for talloc, tdb, tevent in non-standard system locations
    This is needed because the s3 includes.h directly mentions these
    headers, but not every part of s3 depends on these directly.
    Andrew Bartlett

commit f7d60899d6118185cc09aad52eeaf3146d577413
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Apr 11 09:09:56 2012 +1000

    build: Add tevent deps for users of tevent calls
    This isn't strictly required - this isn't a build break at the moment,
    but is a good practice to directly depend on the major libraries we
    use, and helps us to have more fine-grained rather than global
    Andrew Bartlett


Summary of changes:
 .gitignore                            |    1 +
 VERSION                               |    2 +-
 WHATSNEW.txt                          |   67 +++++++++++++++++---------------
 buildtools/wafsamba/samba3.py         |   26 ++++++++++--
 buildtools/wafsamba/samba_autoconf.py |    4 ++
 buildtools/wafsamba/wscript           |    3 +
 lib/ccan/failtest/failtest_override.h |    4 ++
 script/autobuild.py                   |   10 ++--
 source3/Makefile-smbtorture4          |    2 +-
 source3/modules/wscript_build         |    6 +-
 10 files changed, 79 insertions(+), 46 deletions(-)

Changeset truncated at 500 lines:

diff --git a/.gitignore b/.gitignore
index 09a5ee4..d8cb4e7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -102,6 +102,7 @@ pidl/blib
diff --git a/VERSION b/VERSION
index 952ff93..beab1e5 100644
@@ -57,7 +57,7 @@ SAMBA_VERSION_TP_RELEASE=
 # e.g. SAMBA_VERSION_ALPHA_RELEASE=1                   #
 #  ->  "4.0.0alpha1"                                   #
 # For 'pre' releases the version will be               #
diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index a9258b0..d58ad09 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -1,4 +1,4 @@
-What's new in Samba 4 alpha18
+What's new in Samba 4 alpha19
 Samba 4.0 will be the next version of the Samba suite and incorporates
@@ -10,7 +10,7 @@ and above.
-Samba4 alpha18 is not a final Samba release, however we are now making
+Samba4 alpha19 is not a final Samba release, however we are now making
 good progress towards a Samba 4.0 release, of which this is a preview.
 Be aware the this release contains both the technology of Samba 3.6
 (that you can reasonably expect to upgrade existing Samba 3.x releases
@@ -55,52 +55,59 @@ programs to interface to Samba's internals, and many tools and
 internal workings of the DC code is now implemented in python.
-For a list of changes since alpha 17, please see the git log.
+For a list of changes since alpha 18, please see the git log.
 $ git clone git://git.samba.org/samba.git
 $ cd samba.git
-$ git log samba-4.0.0alpha17..samba-4.0.0alpha18
+$ git log samba-4.0.0alpha18..samba-4.0.0alpha19
 Some major user-visible changes include:
-Improvements to DNS servers.  Samba4 now has 3 options for the
-handling of DNS:  The default option is to use the BIND 9.8 DLZ plugin,
-which stores the information about the DNS zone in the directory.
-There is also an internal DNS server (but which does not support
-secure DNS updates at this time) and the flat file BIND 9.8 backend
-(storing the data in traditional zone files).
+   Samba 3.0.x to 3.6.3 are affected by a
+   vulnerability that allows remote code
+   execution as the "root" user.
-To migrate from zone files to directory based DNS servers, a migration
-tool (upgradedns) has been added.
+Portability to MacOS X.  By using the CC_MD5*() routines we no longer
+segfault on MacOS X.
-samba-tool dns commands to manage DNS records stored in directory.
+The source4/librpc layer has been reworked to be much more robust to
+connection failures.
-smbwrapper (a user-space file system based on LD_PRELOAD) has been
+security=share in smbd has now been removed.
+A segfault in vfs_aio_fork for the smbd file server has been fixed
+ldbadd and ldbmodify now handle each ldif file in a single
+transaction, when modifying a local ldb.
+Further improvements to the dlz_bind9 and internal DNS servers.
-Improvement to the upgrade process between Samba 3.x domains and Samba
-4.0 AD domains (samba-tool domain samba3upgrade).
 Some major but less visible changes include:
-Major work to bridge the code gap between the major parts of the code
-base, including a common loadparm wrapper, smb client library, as well
-as NTLMSSP, GSSAPI and SPNEGO code as part of the GENSEC
-authentication and authorization stack.
+Initial support for s3fs, using the smbd file server in the AD Domain
+controller has been added (but not yet finished, so not exposed)
+Samba now only uses the _FILE_OFFSET_BITS=64 API for accessing large
+files, not the _LARGEFILE64_SOURCE API.
+All Samba daemons now monitor stdin when launched in the foreground,
+and shutdown when stdin is closed.  We also ensure that all child
+processes are clened up by a similar mechanism.  This ensures that
+stray processes do not hang around, particularly in make test.
-Preparation work for moving to TDB2, a new version of Samba's core TDB
+Further preparation work for moving to TDB2, a new version of Samba's core TDB
-smbtorture tests for SMB 2 and SMB 2.2 as the team improves and
-develops support these new protocols.
+Early implementation work on the SMB 2.2 protocol client and server as
+the team improves and develops support these new protocols.
-Major cleanup and removal of global variables in the smbd SMB and SMB2 server.
+The last of the old-style krb5 ticket handling has been removed.
-Heimdal security issue 2012-01-11 - libkrb5 checksum - denial of serice
@@ -113,9 +120,7 @@ KNOWN ISSUES
 - Systems with tdb or ldb installed as a system library may have
   difficulty building this release of Samba4.  The --disable-tdb2
-  configure switch may be of assistance.  (Distributors who (rightly)
-  have difficulty with this may wish to wait until a future release,
-  which will soon fix this issue).
+  configure switch may be of assistance.
 - Installation on systems without a system iconv (and developer
   headers at compile time) is known to cause errors when dealing with
diff --git a/buildtools/wafsamba/samba3.py b/buildtools/wafsamba/samba3.py
index fdc5712..afdf99a 100644
--- a/buildtools/wafsamba/samba3.py
+++ b/buildtools/wafsamba/samba3.py
@@ -4,6 +4,7 @@
 import Options, Build, os
 from optparse import SUPPRESS_HELP
 from samba_utils import os_path_relpath, TO_LIST
+from samba_autoconf import library_flags
 def SAMBA3_ADD_OPTION(opt, option, help=(), dest=None, default=True,
                       with_name="with", without_name="without"):
@@ -58,19 +59,34 @@ def s3_fix_kwargs(bld, kwargs):
                             '../source4/heimdal_build' ]
     if bld.CONFIG_SET('BUILD_TDB2'):
-        if not bld.CONFIG_SET('USING_SYSTEM_TDB2'):
+        if bld.CONFIG_SET('USING_SYSTEM_TDB2'):
+            (tdb2_includes, tdb2_ldflags) = library_flags(bld, 'tdb')
+            extra_includes += tdb2_includes
+        else:
             extra_includes += [ '../lib/tdb2' ]
-        if not bld.CONFIG_SET('USING_SYSTEM_TDB'):
+        if bld.CONFIG_SET('USING_SYSTEM_TDB'):
+            (tdb_includes, tdb_ldflags) = library_flags(bld, 'tdb')
+            extra_includes += tdb_includes
+        else:
             extra_includes += [ '../lib/tdb/include' ]
+        (tevent_includes, tevent_ldflags) = library_flags(bld, 'tevent')
+        extra_includes += tevent_includes
+    else:
         extra_includes += [ '../lib/tevent' ]
+        (talloc_includes, talloc_ldflags) = library_flags(bld, 'talloc')
+        extra_includes += talloc_includes
+    else:
         extra_includes += [ '../lib/talloc' ]
-    if not bld.CONFIG_SET('USING_SYSTEM_POPT'):
+        (popt_includes, popt_ldflags) = library_flags(bld, 'popt')
+        extra_includes += popt_includes
+    else:
         extra_includes += [ '../lib/popt' ]
     # s3 builds assume that they will have a bunch of extra include paths
diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py
index 2bb86c7..08df2b3 100644
--- a/buildtools/wafsamba/samba_autoconf.py
+++ b/buildtools/wafsamba/samba_autoconf.py
@@ -599,6 +599,10 @@ def SAMBA_CONFIG_H(conf, path=None):
     if not IN_LAUNCH_DIR(conf):
+    if Options.options.debug:
+        conf.ADD_CFLAGS('-g',
+                        testflags=True)
     if Options.options.developer:
         # we add these here to ensure that -Wstrict-prototypes is not set during configure
         conf.ADD_CFLAGS('-Wall -g -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -Wformat=2 -Wno-format-y2k -Wmissing-prototypes -fno-common',
diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript
index a302280..ff18777 100755
--- a/buildtools/wafsamba/wscript
+++ b/buildtools/wafsamba/wscript
@@ -81,6 +81,9 @@ def set_options(opt):
                    help='enable automatic reconfigure on build',
                    action='store_true', dest='enable_auto_reconfigure')
+    gr.add_option('--enable-debug',
+                   help=("Turn on debugging symbols"),
+                   action="store_true", dest='debug', default=False)
                    help=("Turn on developer warnings and debugging"),
                    action="store_true", dest='developer', default=False)
diff --git a/lib/ccan/failtest/failtest_override.h b/lib/ccan/failtest/failtest_override.h
index b056d53..7d03188 100644
--- a/lib/ccan/failtest/failtest_override.h
+++ b/lib/ccan/failtest/failtest_override.h
@@ -10,6 +10,10 @@
 /* Replacement of allocators. */
 #include <stdlib.h>
+#include <malloc.h>
 #undef calloc
 #define calloc(nmemb, size)	\
 	failtest_calloc((nmemb), (size), __FILE__, __LINE__)
diff --git a/script/autobuild.py b/script/autobuild.py
index 6e090fa..41b2537 100755
--- a/script/autobuild.py
+++ b/script/autobuild.py
@@ -55,23 +55,23 @@ tasks = {
                  ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
                  ("clean", "make clean", "text/plain") ],
-    "samba4-libs" : [ ("talloc-configure", "cd lib/talloc && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --enable-developer -C ${PREFIX}", "text/plain"),
+    "samba4-libs" : [ ("talloc-configure", "cd lib/talloc && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --enable-debug -C ${PREFIX}", "text/plain"),
                       ("talloc-make", "cd lib/talloc && make -j", "text/plain"),
                       ("talloc-install", "cd lib/talloc && make install", "text/plain"),
-                      ("tdb-configure", "cd lib/tdb && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --enable-developer -C ${PREFIX}", "text/plain"),
+                      ("tdb-configure", "cd lib/tdb && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --enable-debug -C ${PREFIX}", "text/plain"),
                       ("tdb-make", "cd lib/tdb && make -j", "text/plain"),
                       ("tdb-install", "cd lib/tdb && make install", "text/plain"),
-                      ("tevent-configure", "cd lib/tevent && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --enable-developer -C ${PREFIX}", "text/plain"),
+                      ("tevent-configure", "cd lib/tevent && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --enable-debug -C ${PREFIX}", "text/plain"),
                       ("tevent-make", "cd lib/tevent && make -j", "text/plain"),
                       ("tevent-install", "cd lib/tevent && make install", "text/plain"),
-                      ("ldb-configure", "cd lib/ldb && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --disable-tdb2 --enable-developer -C ${PREFIX}", "text/plain"),
+                      ("ldb-configure", "cd lib/ldb && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --disable-tdb2 --enable-debug -C ${PREFIX}", "text/plain"),
                       ("ldb-make", "cd lib/ldb && make -j", "text/plain"),
                       ("ldb-install", "cd lib/ldb && make install", "text/plain"),
-                      ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=!talloc,!tdb,!pytdb,!ldb,!pyldb,!tevent,!pytevent --disable-tdb2 --enable-developer -C ${PREFIX}", "text/plain"),
+                      ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=!talloc,!tdb,!pytdb,!ldb,!pyldb,!tevent,!pytevent --disable-tdb2 --enable-debug -C ${PREFIX}", "text/plain"),
                       ("make", "make -j", "text/plain"),
                       ("install", "make install", "text/plain")],
diff --git a/source3/Makefile-smbtorture4 b/source3/Makefile-smbtorture4
index 57fff2b..c2fe87a 100644
--- a/source3/Makefile-smbtorture4
+++ b/source3/Makefile-smbtorture4
@@ -6,7 +6,7 @@ SAMBA4_BINARIES="smbtorture,ndrdump"
 	@(cd .. && \
 		CFLAGS='' $(WAF) reconfigure || \
-		CFLAGS='' $(WAF) configure --enable-socket-wrapper --enable-nss-wrapper --enable-uid-wrapper --nonshared-binary=$(SAMBA4_BINARIES) --enable-auto-reconfigure --enable-developer --disable-tdb2)
+		CFLAGS='' $(WAF) configure --enable-socket-wrapper --enable-nss-wrapper --enable-uid-wrapper --nonshared-binary=$(SAMBA4_BINARIES) --enable-auto-reconfigure --enable-debug --disable-tdb2)
 .PHONY: samba4-configure
diff --git a/source3/modules/wscript_build b/source3/modules/wscript_build
index 090ca1b..f230fe3 100644
--- a/source3/modules/wscript_build
+++ b/source3/modules/wscript_build
@@ -352,7 +352,7 @@ bld.SAMBA3_MODULE('vfs_fileid',
-                 deps='samba-util',
+                 deps='samba-util tevent',
@@ -361,7 +361,7 @@ bld.SAMBA3_MODULE('vfs_aio_fork',
-                 deps='samba-util',
+                 deps='samba-util tevent',
@@ -475,7 +475,7 @@ bld.SAMBA3_MODULE('vfs_time_audit',
-                 deps='samba-util dfs_server_ad samdb',
+                 deps='samba-util dfs_server_ad samdb tevent',

Samba Shared Repository

More information about the samba-cvs mailing list