[SCM] Samba Shared Repository - branch v4-0-stable updated

Karolin Seeger kseeger at samba.org
Tue Oct 2 04:00:36 MDT 2012


The branch, v4-0-stable has been updated
       via  cc9315a VERSION: Bump version number up to 4.0.0rc2.
       via  7eb1f6f librelease.sh: Move the GPG data to the library section.
       via  85289d8 WHATSNEW: Add kernel oplocks...
       via  fe880b5 WHATSNEW: Remove default values.
       via  3cebcfc WHATSNEW: Add more changes since rc1.
       via  a7c4372 s4-dns: fix a non handled memory out of memory
       via  3d3acf0 s3fs-smbd: Move housekeeping to the background process.
       via  b74ed15 Fix service control for non-internal services.
       via  6d184c0 s3-winbindd: Adjust error code loop logic in rpc_trusted_domains().
       via  9525921 s3-lsa: Flesh out the returned info in _lsa_EnumTrustedDomainsEx().
       via  3058755 s3-winbindd: Allow DNS resolution of trusted domains if DNS name is avaliable
       via  a92e4e5 docs-xml: fix build of winbindd- and krb5 locator-related manpages
       via  08cb895 docs-xml: convert smb.conf.5 build to waf
       via  de953ff build: Fix build on systems without ldap development headers
       via  6f07216 s3: make smbldaphelper subsystem an internal library
       via  aeac5ef WHATSNEW: Start release notes for Samba 4.0.0rc2.
       via  c10debd s3-smbd: Don't segfault if user specified ports out for range.
       via  d5f5a6a Fix bug #9213 - Bad ASN.1 NegTokenInit packet can cause invalid free.
       via  4d295c9 s4:dns.py: reproducer for (bug #9184)
       via  c362ed5 lib/tsocket: fix receiving of udp packets from 0 bytes (bug #9184)
       via  036c23a libcli/echo: validate the message length
       via  350d5ec selftest: skip the samba4.smb2.compound testsuite
       via  010c93e s3:smbd:smb2: initialize variable in vfs_default_durable_reconnect()
       via  d995da0 selftest: we fail samba3.smb2.compound.interim2
       via  20656f8 s4:torture:smb2:compound: remove two unused macros (cherry picked from commit 6f6b1c6ac15f225978e8c2d67c1a817d9e098317)
       via  b40a7e6 s4:torture:smb2: don't skip the compound.interim2 test for non win7/win2k8 (cherry picked from commit 8df0b023c51ed198d3054760447e1b273eada991)
       via  c05693a s4:torture:smb2: don't skip the compound.interim1 test for non win7/win2k8 (cherry picked from commit 917e714831178b2a3d07c7f9d09711231a7ccf31)
       via  e17df2b s3:smbd: remove struct member smbd_smb2_request.cancelled - it was only written (cherry picked from commit 88d051f7f18ff88ec5385fdc798f051659134bd3)
       via  829d9dc s3:smb2_lock: let smbd_smb2_create_cancel() trigger NT_STATUS_CANCELED
       via  493dec1 s3:smb2_lock: smbd_smb2_notify_recv() can already return NT_STATUS_CANCELED
       via  c99507d s3:smb2_notify: make use of tevent_req_defer_callback() instead of custom tevent_immediate
       via  a6fd1ee s3:smb2_notify: don't call tevent_req_done() from smbd_smb2_notify_cancel()
       via  e899a51 s3:smb2_lock: let smbd_smb2_lock_cancel() trigger NT_STATUS_CANCELED
       via  aa16e20 s3:smb2_server: avoid segfault in smbd_smb2_request_pending_queue()
       via  0e5ecc5 s4:torture:smb2: extend the compound.invalid1 test
       via  c4d803b s3:smbd:smb2: simplify smbd_smb2_request_validate() and smbd_smb2_request_dispatch()
       via  021dd55 s3:smbd:smb2: add check for session_status for compound requests (cherry picked from commit 27d38b5c27bd96d5124c175d946718bf0836b8f4)
       via  9f73827 s3:smb2_server: do the req->next_status check before the signing checks
       via  b26bf82 s3:smb2_server: reset req->last_session_id and req->last_tid after using it
       via  f24ee3b s4:torture:smb2: fix the compound.invalid3 test to work against windows (cherry picked from commit bd8d50b451ea7f94efa7777fbe5dc0c2c19f6bf9)
       via  f9ef916 s4:torture:smb2: fix compound.related3 test to work against windows (cherry picked from commit 8e525a29a7c6512f61e4647ecb2e0771e2019a49)
       via  8b67af7 s3: Compound requests should continue processing.
       via  ce21ae1 s3-spoolss: Fix builtin forms order to match Windows again.
       via  569f63f s3: For read-only shares, filter out write bits from conn->access_mask
       via  b94c9a6 s3: Fix rejecting mkdir on read-only shares
       via  28f6a6d panic action is defined as GLOBAL_VAR(szPanicAction) not GLOBAL_VAR(panic_action)
       via  6d9841d s3:printing only do printing_subsystem_update when printing is enabled
       via  4ee9a57 dynconfig/config.m4: disallow --prefix=/usr and --prefix=/usr/local without --enable-fhs
       via  4c97f0d s3:smb2_server: fix usage of invalid memory in smb2_signing_check_pdu()
       via  68be257 We now pass "samba3.raw.acls.generic" and "samba3.smb2.acls.GENERIC" with the max access change.
       via  973281b Fix bug #9189 - SMB2 Create doesn't return correct MAX ACCESS access mask in blob.
       via  164cb1c packaging/RHEL-CTDB: add "BUILD_GPFS=no configure.rpm" and "BUILD_GPFS=no makerpms.sh"
       via  4b59959 packaging/RHEL-CTDB: try harder to set $RPMVER
       via  cb57e4a packaging/RHEL-CTDB: fix the build
       via  9c1992c source3/script: fix installman.sh after the last build-manpages-nogit change
       via  bc3bd09 quota: add supprt for gfs2
       via  17c5903 s3:smbd: release the share mode lock before calling exit_server() (bug #9191)
       via  9d6068c docs: Fix generating idmap manpages.
       via  d2cd124 s3: make ldapsam-related functions a smbldaphelper subsystem
       via  47a2df0 Sigh :-(. Removing optimization prematurely is the root of all evil :-(.
       via  d8eb7c2 s3:vfs_gpfs: fix build
       via  f4765c6 s3: fix the aix acl module
       via  ff37f64 s3: fix the tru64 acl module
       via  baeaa32 s3: fix the hpux acl module
       via  579879a s3: Fix the vfs_solarisacl module to compile.
       via  949c37c script/autobuild.py: add --log-base option
       via  e08d4f0 script/autobuild.py: add log_base variable to avoid hardcoded values
       via  a12e5ca script/autobuild.py: add --branch option
       via  fb2229c script/autobuild.py: use some variables for push_remote and push_branch
       via  5732784 script/autobuild.py: use some variables for rebase_remote and rebase_branch
      from  2050b48 VERSION: Release Samba 4.0.0rc1

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


- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 VERSION                                     |    2 +-
 WHATSNEW.txt                                |  224 ++++++++++++++++++--------
 buildtools/wafsamba/wafsamba.py             |    6 +-
 docs-xml/build/catalog.xml.in               |    7 +-
 docs-xml/manpages/smb.conf.5.xml            |    5 +-
 docs-xml/wscript_build                      |   37 ++++-
 dynconfig/config.m4                         |    4 +
 lib/param/loadparm.c                        |    2 +-
 lib/tsocket/tsocket_bsd.c                   |    5 +-
 libcli/echo/echo.c                          |    5 +
 packaging/RHEL-CTDB/configure.rpm           |   18 ++-
 packaging/RHEL-CTDB/makerpms.sh             |    3 +
 packaging/RHEL-CTDB/makespec.sh             |   24 ++--
 packaging/RHEL-CTDB/samba.spec.tmpl         |  118 ++++++--------
 script/autobuild.py                         |  134 ++++++++++------
 script/librelease.sh                        |   34 +++-
 selftest/knownfail                          |    4 +-
 selftest/skip                               |    1 +
 source3/lib/sysquotas.c                     |    2 +
 source3/libsmb/clispnego.c                  |    4 +
 source3/modules/vfs_aixacl_util.c           |   18 +-
 source3/modules/vfs_gpfs.c                  |   10 +-
 source3/modules/vfs_hpuxacl.c               |   10 +-
 source3/modules/vfs_solarisacl.c            |   10 +-
 source3/modules/vfs_tru64acl.c              |   10 +-
 source3/param/loadparm.c                    |    1 -
 source3/passdb/ABI/pdb-0.sigs               |    7 -
 source3/passdb/wscript_build                |    4 +-
 source3/printing/queue_process.c            |    9 +
 source3/rpc_client/cli_winreg_spoolss.c     |  238 +++++++++++++--------------
 source3/rpc_server/lsa/srv_lsa_nt.c         |    5 +
 source3/rpc_server/svcctl/srv_svcctl_reg.c  |    4 -
 source3/script/installman.sh                |    4 +-
 source3/smbd/durable.c                      |    2 +-
 source3/smbd/globals.c                      |    1 +
 source3/smbd/globals.h                      |    4 +-
 source3/smbd/open.c                         |   11 +-
 source3/smbd/server.c                       |   21 ++-
 source3/smbd/service.c                      |    7 +
 source3/smbd/smb2_create.c                  |   17 +--
 source3/smbd/smb2_lock.c                    |   30 +---
 source3/smbd/smb2_notify.c                  |   55 +------
 source3/smbd/smb2_read.c                    |    2 -
 source3/smbd/smb2_server.c                  |   93 +++--------
 source3/smbd/smb2_write.c                   |    2 -
 source3/smbd/vfs.c                          |   13 ++
 source3/winbindd/winbindd_cm.c              |   11 +-
 source3/winbindd/winbindd_rpc.c             |   68 ++++++---
 source3/winbindd/winbindd_util.c            |    4 +-
 source3/winbindd/wscript_build              |    2 +-
 source3/wscript_build                       |   14 ++-
 source4/dns_server/dns_server.c             |    1 +
 source4/scripting/python/samba/tests/dns.py |   29 ++++
 source4/torture/smb2/compound.c             |   30 ++--
 wscript_build                               |    6 +-
 55 files changed, 774 insertions(+), 618 deletions(-)


Changeset truncated at 500 lines:

diff --git a/VERSION b/VERSION
index 642809e..e88690b 100644
--- a/VERSION
+++ b/VERSION
@@ -87,7 +87,7 @@ SAMBA_VERSION_PRE_RELEASE=
 # e.g. SAMBA_VERSION_RC_RELEASE=1                      #
 #  ->  "3.0.0rc1"                                      #
 ########################################################
-SAMBA_VERSION_RC_RELEASE=1
+SAMBA_VERSION_RC_RELEASE=2
 
 ########################################################
 # To mark SVN snapshots this should be set to 'yes'    #
diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index b594e0e..f214087 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -1,33 +1,24 @@
-What's new in Samba 4.0.0 rc1
-=============================
+Release Announcements
+=====================
+
+This is the second release candidate of Samba 4.0.  This is *not*
+intended for production environments and is designed for testing
+purposes only.  Please report any defects via the Samba bug reporting
+system at https://bugzilla.samba.org/.
 
 Samba 4.0 will be the next version of the Samba suite and incorporates
-all the technology found in both the Samba4 alpha series and the
+all the technology found in both the Samba4 series and the
 stable 3.x series. The primary additional features over Samba 3.6 are
 support for the Active Directory logon protocols used by Windows 2000
 and above.
 
-
-WARNINGS
-========
-
-Samba 4.0.0 rc1 is not a final Samba release, however we are now making
-good progress towards a Samba 4.0 release.  However, this is expected to be the
-last beta release before we start on our release candidate series.
-
 This release contains the best of all of Samba's
 technology parts, both a file server (that you can reasonably expect
 to upgrade existing Samba 3.x releases to) and the AD domain
 controller work previously known as 'samba4'.
 
-Samba 4.0 is subjected to an awesome battery of tests on an automated
-basis, we have found Samba 4.0 to be very stable in it's behaviour.
-However, as with all our pre-releases we still recommend against
-upgrading production servers from Samba 3.x release to Samba 4.0 beta
-at this stage.
-
 If you are upgrading, or looking to develop, test or deploy Samba 4.0
-beta releases, you should backup all configuration and data.
+releases candidates, you should backup all configuration and data.
 
 
 UPGRADING
@@ -36,7 +27,7 @@ UPGRADING
 Users upgrading from Samba 3.x domain controllers and wanting to use
 Samba 4.0 as an AD DC should use the 'samba-tool domain
 classicupgrade' command.  See the wiki for more details:
-https://wiki.samba.org/index.php/Samba4/samba3upgrade/HOWTO 
+https://wiki.samba.org/index.php/Samba4/samba3upgrade/HOWTO.
 
 Users upgrading from Samba 4.0 alpha and beta releases since alpha15
 should run 'samba-tool dbcheck --cross-ncs --fix' before re-starting
@@ -53,6 +44,7 @@ If you used the BIND9_FLATFILE or BIND9_DLZ features,
 you'll have to add '-dns' to the 'server services' option,
 as the internal dns server (SAMBA_INTERNAL) is the default now.
 
+
 NEW FEATURES
 ============
 
@@ -66,17 +58,17 @@ Samba3-like logon services provided over CIFS.  We correctly generate
 the infamous Kerberos PAC, and include it with the Kerberos tickets we
 issue.
 
-Samba 4.0 beta ships with two distinct file servers.  We now use the
+Samba 4.0.0rc2 ships with two distinct file servers.  We now use the
 file server from the Samba 3.x series 'smbd' for all file serving by
 default.
 
 Samba 4.0 also ships with the 'NTVFS' file server.  This file server
-is what was used in all previous alpha releases of Samba 4.0, and is
+is what was used in all previous releases of Samba 4.0, and is
 tuned to match the requirements of an AD domain controller.  We
 continue to support this, not only to provide continuity to
 installations that have deployed it as part of an AD DC, but also as a
 running example of the NT-FSA architecture we expect to move smbd to in
-the longer term.  
+the longer term.
 
 For pure file server work, the binaries users would expect from that
 series (nmbd, winbindd, smbpasswd) continue to be available.  When
@@ -102,53 +94,155 @@ Finally, a new scripting interface has been added to Samba 4, allowing
 Python programs to interface to Samba's internals, and many tools and
 internal workings of the DC code is now implemented in python.
 
-CHANGES SINCE beta8
-===================
-
-For a list of changes since beta8, please see the git log.
-
-$ git clone git://git.samba.org/samba.git
-$ cd samba.git
-$ git log samba-4.0.0beta8..samba-4.0.0rc1
 
-Some major user-visible changes include:
+######################################################################
+Changes
+#######
+
+smb.conf changes
+----------------
+
+   Parameter Name			Description
+   --------------			-----------
+
+   allow dns updates			New
+   announce as				Removed
+   announce version			Removed
+   cldap port				New
+   client max protocol			New
+   client min protocol			New
+   client signing			Changed default
+   dcerpc endpoint servers		New
+   dgram port				New
+   display charset			Removed
+   dns forwarder			New
+   dns update command			New
+   homedir map				Changed default
+   kernel oplocks			Changed default
+   kernel share modes			New
+   kpasswd port				New
+   krb5 port				New
+   max protocol				Removed
+   min protocol				Removed
+   nbt client socket address		New
+   nbt port				New
+   nsupdate command			New
+   ntp signd socket directory		New
+   ntvfs handler			New
+   paranoid server security		Removed
+   pid directory			New
+   printer admin			Removed
+   rndc command 			New
+   rpc big endian			New
+   samba kcc command			New
+   send spnego principal		Removed
+   server max protocol			New
+   server min protocol			New
+   server role				New
+   server services			New
+   server signing			Changed default
+   share backend			New
+   share modes				Removed
+   smb2 max read			Changed default
+   smb2 max write			Changed default
+   smb2 max trans			Changed default
+   socket address			Removed
+   spn update command			New
+   time offset				Removed
+   tls cafile				New
+   tls certfile				New
+   tls crlfile				New
+   tls dh params file			New
+   tls enabled				New
+   tls keyfile				New
+   unicode				New
+   web port				New
+   winbindd privileged socket directory	New
+   winbind sealed pipes			New
+   winbindd socket directory		New
+
+
+CHANGES SINCE 4.0.0rc1
+======================
+
+o   Michael Adam <obnox at samba.org>
+    * BUG 9173: Make the SMB2 compound request create/delete_on_close/
+      close work as Windows.
+
+
+o   Jeremy Allison <jra at samba.org>
+    * BUG 9161: Re-add the vfs_Chdir() cache.
+    * BUG 9189: SMB2 Create doesn't return correct MAX ACCESS access mask in
+      blob.
+    * BUG 9213: Bad ASN.1 NegTokenInit packet can cause invalid free.
+
+
+o   Christian Ambach <ambi at samba.org>
+    * BUG 9162: Fix the build of the GPFS VFS module.
+    * BUG 9197: Only do 'printing_subsystem_update' when printing is enabled.
+
+
+o   Andrew Bartlett <abartlet at samba.org>
+    * BUG 9228: Fix build on systems without ldap development headers.
+
+
+o   Alexander Bokovoy <ab at samba.org>
+    * BUG 9157: Cleanup idmap_ldap build dependencies.
+    * BUG 9228: Make smbldaphelper subsystem an internal library.
+    * BUG 9229: Fix build of winbindd- and krb5 locator-related manpages.
+
+
+o   Sumit Bose <sbose at redhat.com>
+    * BUG 9185: Allow DNS resolution of trusted domains if DNS name is
+      available.
+
+
+o   Ira Cooper <ira at samba.org>
+    * BUG 9162: Fix build on Illumos/Solaris using '--with-acl'.
+    * BUG 9173: Compound requests should continue processing.
+
+
+o   Günther Deschner <gd at samba.org>
+    * BUG 9185: Winbind cannot resolve AD DC in a different subnet.
+
+
+o   Björn Jacke <bj at sernet.de>
+    * BUG 9162: Fix the build of the ACL VFS modules.
+    * BUG 9172: Fix reporting of gfs2 quotas.
+
+
+o   Volker Lendecke <vl at samba.org>
+    * BUG 9217: CreateFile with FILE_DIRECTORY_FILE can create directories
+      on read-only shares.
+
+
+o   Vladimir Marek <Vladimir.Marek at Oracle.COM>
+    * BUG 9192: Fix service control for non-internal services.
 
-- The smbd file server now offers SMB3 as the maximum protocol
-  by default. Samba can negotiate version 3 of the SMB protocol
-  and supports the required features, including all required
-  features of SMB 2.1 and SMB 2.0. Note that this does not imply
-  that Samba implements all features of SMB3 since many of them
-  are optional capabilities. Examples of features that Samba does
-  not implement yet are leases (SMB 2.1) and multi-channel (SMB 3).
 
-  Samba now offers an initial support for SMB2 durable file handles.
-  These are enabled by default and can be turned off on a per share
-  basis by setting "durable handles = no" on the share configuration.
-  Note that in order to prevent conflicts with other applications
-  accessing the same files, durable handles are only granted on
-  shares that are configured for CIFS/SMB2-only access, i.e. more
-  explicitly shares that are configured for minimal interoperability
-  with these settings:
+o   Stefan Metzmacher <metze at samba.org>
+    * BUG 9173: Make the SMB2 compound request create/delete_on_close/
+      close work as Windows.
+    * BUG 9184: Fix receiving of UDP packets from 0 bytes.
+    * BUG 9191: Release the share mode lock before calling exit_server().
+    * BUG 9193: Fix usage of invalid memory in smb2_signing_check_pdu().
+    * BUG 9194: Disallow '--prefix=/usr' and '--prefix=/usr/local' without
+      '--enable-fhs'.
+    * BUG 9198: Fix RHEL-CTDB packaging.
 
-    kernel oplocks = no
-    kernel share modes = no
-    posix locking = no
 
-  The option "kernel share modes" has been introduced to be able
-  to turn the translation of SMB share modes into kernel flocks
-  off.
+o   Matthieu Patou <mat at matws.net>
+    * BUG 9199: Fix usage of "panic action".
+    * BUG 9233: Fix a non handled memory out of memory.
 
-- The 'provision' script was merged into 'samba-tool'
-  as 'samba-tool domain provision' the arguments are still
-  the same.
 
-- The 'updateprovision' script was renamed to 'samba_upgradeprovision'.
+o   Andreas Schneider <asn at samba.org>
+    * BUG 8632: Fix builtin forms order to match Windows again.
+    * BUG 9159: Fix generating idmap manpages.
+    * BUG 9218: Don't segfault if user specified ports out for range.
+    * BUG 9231: Fix NT_STATUS_IO_TIMEOUT during slow import of printers into
+      registry.
 
-- We changed the default dns implementation to the internal dns server
-  (SAMBA_INTERNAL). BIND9_FLATFILE and BIND9_DLZ are still available,
-  but you'll have to add '-dns' to the 'server services' option
-  to disable the internal dns server.
-  The default for 'allow dns updates' has changed to 'secure only'.
 
 KNOWN ISSUES
 ============
@@ -179,17 +273,17 @@ KNOWN ISSUES
   this partition is not yet reliable.
 
 - Replication may fail on FreeBSD due to getaddrinfo() rejecting names
-  containing _.  A workaround will be in a future beta.
+  containing _.  A workaround will be in a future release.
 
 - samba_upgradeprovision should not be run when upgrading to this release
   from a recent release.  No important database format changes have
-  been made since alpha16.  
+  been made since alpha16.
 
 - Installation on systems without a system iconv (and developer
   headers at compile time) is known to cause errors when dealing with
   non-ASCII characters.
 
-- Domain member support in the 'samba' binary is in it's infancy, and
+- Domain member support in the 'samba' binary is in its infancy, and
   is not comparable to the support found in winbindd.  As such, do not
   use the 'samba' binary (provided for the AD server) on a member
   server.
@@ -205,7 +299,7 @@ KNOWN ISSUES
 
 - The DRS replication code may fail.  Please contact the team if you
   experience issues with DRS replication, as we have fixed many issues
-  here in response to feedback from our production users. 
+  here in response to feedback from our production users.
 
 
 RUNNING Samba 4.0 as an AD DC
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 1f71bd3..50bd4fa 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -789,14 +789,16 @@ def SAMBAMANPAGES(bld, manpages):
     '''build and install manual pages'''
     bld.env.SAMBA_EXPAND_XSL = bld.srcnode.abspath() + '/docs-xml/xslt/expand-sambadoc.xsl'
     bld.env.SAMBA_MAN_XSL = bld.srcnode.abspath() + '/docs-xml/xslt/man.xsl'
-    os.environ["XML_CATALOG_FILES"] = 'file:///etc/xml/catalog file://' + bld.srcnode.abspath() + '/bin/default/docs-xml/build/catalog.xml'
+    bld.env.SAMBA_CATALOGS = 'file:///etc/xml/catalog file://' + bld.srcnode.abspath() + '/bin/default/docs-xml/build/catalog.xml'
     for m in manpages.split():
         source = m + '.xml'
         bld.SAMBA_GENERATOR(m,
                             source=source,
                             target=m,
                             group='final',
-                            rule='${XSLTPROC} --xinclude --stringparam noreference 0 -o ${TGT}.xml --nonet ${SAMBA_EXPAND_XSL} ${SRC} && ${XSLTPROC} --nonet -o ${TGT} ${SAMBA_MAN_XSL} ${TGT}.xml'
+                            rule='''export XML_CATALOG_FILES="${SAMBA_CATALOGS}"
+                                    ${XSLTPROC} --xinclude --stringparam noreference 0 -o ${TGT}.xml --nonet ${SAMBA_EXPAND_XSL} ${SRC}
+                                    ${XSLTPROC} --nonet -o ${TGT} ${SAMBA_MAN_XSL} ${TGT}.xml'''
                             )
         bld.INSTALL_FILES('${MANDIR}/man%s' % m[-1], m, flat=True)
 Build.BuildContext.SAMBAMANPAGES = SAMBAMANPAGES
diff --git a/docs-xml/build/catalog.xml.in b/docs-xml/build/catalog.xml.in
index 4b99cf5..56d13a6 100644
--- a/docs-xml/build/catalog.xml.in
+++ b/docs-xml/build/catalog.xml.in
@@ -6,9 +6,12 @@
 
     <rewriteURI
 			uriStartString="http://www.samba.org/samba/DTD/"
-			rewritePrefix="file://@abs_top_builddir@/build/DTD/"/>
+			rewritePrefix="file://@abs_top_srcdir@/build/DTD/"/>
 
     <rewriteURI
 			uriStartString="http://www.gnu.org/licenses/"
-			rewritePrefix="file://@abs_top_builddir@/Samba3-ByExample/"/>
+			rewritePrefix="file://@abs_top_srcdir@/Samba3-ByExample/"/>
+    <rewriteURI
+			uriStartString="http://www.samba.org/samba/smbdotconf/"
+			rewritePrefix="file://@abs_top_builddir@/smbdotconf/"/>
 </catalog>
diff --git a/docs-xml/manpages/smb.conf.5.xml b/docs-xml/manpages/smb.conf.5.xml
index e09eee0..a73382f 100644
--- a/docs-xml/manpages/smb.conf.5.xml
+++ b/docs-xml/manpages/smb.conf.5.xml
@@ -757,7 +757,10 @@ chmod 1770 /usr/local/samba/lib/usershares
 	<title>EXPLANATION OF EACH PARAMETER</title>
 	
 	<samba:parameterlist>
-		<xi:include href="../smbdotconf/parameters.all.xml" parse="xml"/>
+		<!-- The URI below is resolved to local generated version of parameters.all.xml //-->
+		<!-- WAF build places it in bin/default/docs-xml/smbdotconf/parameters.all.xml //-->
+		<!-- and we redirect there via use of XML_CATALOG_FILES, see docs-xml/build/catalog.xml.in //-->
+		<xi:include href="http://www.samba.org/samba/smbdotconf/parameters.all.xml" parse="xml"/>
 	</samba:parameterlist>
 
 </refsect1>
diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build
index 14fa152..32cf9be 100644
--- a/docs-xml/wscript_build
+++ b/docs-xml/wscript_build
@@ -1,11 +1,19 @@
 #!/usr/bin/env python
-
+from samba_utils import save_file
 manpages='''
          manpages/eventlogadm.8
          manpages/findsmb.1
          manpages/libsmbclient.7
          manpages/lmhosts.5
          manpages/log2pcap.1
+         manpages/idmap_ad.8
+         manpages/idmap_autorid.8
+         manpages/idmap_hash.8
+         manpages/idmap_ldap.8
+         manpages/idmap_nss.8
+         manpages/idmap_rid.8
+         manpages/idmap_tdb.8
+         manpages/idmap_tdb2.8
          manpages/net.8
          manpages/nmbd.8
          manpages/nmblookup.1
@@ -15,7 +23,6 @@ manpages='''
          manpages/rpcclient.1
          manpages/samba.7
          manpages/sharesec.1
-         manpages/smb.conf.5
          manpages/smbcacls.1
          manpages/smbclient.1
          manpages/smbcontrol.1
@@ -79,12 +86,34 @@ pam_winbind_manpages = '''
 
 krb5_locator_manpages = 'manpages/winbind_krb5_locator.7'
 
+def smbdotconf_generate_parameter_list(task):
+    parameter_all = task.outputs[0].bldpath(task.env)
+    articles = task.inputs
+
+    t = '<section xmlns:xi="http://www.w3.org/2003/XInclude">\n'
+    for article in articles:
+        t += "<xi:include href='file://" + article.abspath(task.env) + "' parse='xml'/>\n"
+    t += "</section>\n"
+    save_file(parameter_all, t , create_dir=True)
+    return 0
+
+def SMBDOTCONF_MANPAGE(bld, target):
+    ''' assemble and build smb.conf.5 manual page'''
+    articles = bld.path.ant_glob("smbdotconf/**/*.xml")
+    parameter_all = 'smbdotconf/parameters.all.xml'
+    bld.SAMBA_GENERATOR(parameter_all,
+                        source=articles,
+                        target=parameter_all,
+                        rule=smbdotconf_generate_parameter_list)
+    bld.SAMBAMANPAGES(target)
+
 if ('XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']):
 
+    SMBDOTCONF_MANPAGE(bld, 'manpages/smb.conf.5')
     bld.SAMBAMANPAGES(manpages)
 
     if bld.CONFIG_SET('WITH_PAM_MODULES') and bld.CONFIG_SET('HAVE_PAM_START'):
-        bld.MANPAGES(pam_winbind_manpages)
+        bld.SAMBAMANPAGES(pam_winbind_manpages)
 
     if bld.CONFIG_SET('HAVE_KRB5_LOCATE_PLUGIN_H'):
-        bld.MANPAGES(krb5_locator_manpages)
+        bld.SAMBAMANPAGES(krb5_locator_manpages)
diff --git a/dynconfig/config.m4 b/dynconfig/config.m4
index 842a960..6b5dfdb 100644
--- a/dynconfig/config.m4
+++ b/dynconfig/config.m4
@@ -19,6 +19,10 @@ AC_ARG_ENABLE(fhs,
 [AS_HELP_STRING([--enable-fhs], [Turn on FHS support (default=no)])])
 
 if test x$enable_fhs != xyes; then
+	if test x"$prefix" = x"/usr" -o x"$prefix" = x"/usr/local"; then
+		AC_MSG_WARN([Don't install directly under /usr or /usr/local without using the FHS option (--enable-fhs)])
+		AC_MSG_ERROR([invalid --prefix=$prefix])
+	fi
 	MODULESDIR="${libdir}"
 	INCLUDEDIR="${includedir}"
 	SETUPDIR="${datadir}/setup"
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 990dd29..b2e4218 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -2295,7 +2295,7 @@ static bool lpcfg_update(struct loadparm_context *lp_ctx)
 		return true;
 	}
 
-	panic_action = lp_ctx->globals->panic_action;
+	panic_action = lp_ctx->globals->szPanicAction;
 
 	reload_charcnv(lp_ctx);
 
diff --git a/lib/tsocket/tsocket_bsd.c b/lib/tsocket/tsocket_bsd.c
index 9e80065..d5721b4 100644
--- a/lib/tsocket/tsocket_bsd.c
+++ b/lib/tsocket/tsocket_bsd.c
@@ -876,10 +876,6 @@ static void tdgram_bsd_recvfrom_handler(void *private_data)
 	bool retry;
 
 	ret = tsocket_bsd_pending(bsds->fd);
-	if (ret == 0) {
-		/* retry later */
-		return;
-	}
 	err = tsocket_bsd_error_from_errno(ret, errno, &retry);
 	if (retry) {
 		/* retry later */
@@ -889,6 +885,7 @@ static void tdgram_bsd_recvfrom_handler(void *private_data)
 		return;
 	}
 
+	/* note that 'ret' can be 0 here */
 	state->buf = talloc_array(state, uint8_t, ret);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list