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

Karolin Seeger kseeger at samba.org
Tue Nov 3 12:35:17 UTC 2020


The branch, v4-13-stable has been updated
       via  ffef4e947a6 VERSION: Disable GIT_SNAPSHOT for the 4.13.2 release.
       via  c2df37320aa WHATSNEW: Add relase notes for Samba 4.13.2.
       via  2599b6bd3ef s3: modules: vfs_glusterfs: Fix leak of char **lines onto mem_ctx on return.
       via  3d5be93eea8 s3-vfs_glusterfs: refuse connection when write-behind xlator is present
       via  8079e2a9116 docs-xml/manpages: Add warning about write-behind translator for vfs_glusterfs
       via  dbba939ce50 s4:torture: Pass buffer correctly to write()
       via  e424e1d65e4 DNS Resolver: support both dnspython before and after 2.0.0
       via  6521b0ff5e2 ctdb-common: Avoid aliasing errors during code optimization
       via  d9d661993d4 vfs_zfsacl: only grant DELETE_CHILD if ACL tag is special
       via  c64c277b607 vfs_zfsacl: use a helper variable in zfs_get_nt_acl_common()
       via  2a6c27d63b7 vfs_zfsacl: README.Coding fix
       via  50bb50341df vfs_zfsacl: Add new parameter to stop automatic addition of special entries
       via  1b03a345231 vfs_zfsacl: use handle based facl() call to query ZFS filesytem ACL
       via  bca2f0e92c2 libndr: Avoid assigning duplicate versions to symbols
       via  1b6b85304d3 smb.conf.5: add clarification how configuration changes reflected by Samba
       via  05aa0b4b3d5 VERSION: Bump version up to 4.13.2.
       via  c2fef893ca7 Merge tag 'samba-4.13.1' into v4-13-test
       via  c4938561a97 daemons: report status to systemd even when running in foreground
       via  ff781ba4682 docs: fix default value of spoolss:architecture
       via  24ae26cb49e provision: BIND 9.17.x is not supported
       via  a831cc5799b provision: Add support for BIND 9.16.x
       via  f6b6867d549 bind9-dlz: Add support for BIND 9.16.x
       via  34513738155 provision: BIND 9.15.x is not supported
       via  4e65cc6058e provision: Add support for BIND 9.14.x
       via  63d94da74a6 bind9-dlz: Add support for BIND 9.14.x
       via  b5bc60e77d3 provision: BIND 9.13.x is not supported
       via  8e2ef3cda23 bind9-dlz: Bind 9.13.x switched to using bool as isc_boolean_t instead of int.
       via  61cd114be10 examples:auth: Do not install example plugin
       via  b5b7a958ef6 s3:modules: Do not install vfs modules only used for testing
       via  cfd5b368d42 unittests: Mark test binaries for selftest
       via  a4c241736bc buildtools: Do not install binaries which are for selftest
       via  fe28ffc4a7e s3:script: Fix test_dfree_quota.sh
       via  d76e1b43e2d third_party: Update resolv_wrapper to version 1.1.7
       via  995478c9378 testprogs: Fix and improve upgradeprovision-oldrelease test
       via  e51a5e8aea4 testprogs: Fix and improve dbcheck-oldrelease test
       via  7357ddefe33 testprogs: Fix and improve functionalprep test
       via  7b2c975a88b testprogs: Fix and improve dbcheck-links test
       via  2aad79378ad testprogs: Fix and improve runtime-links test
       via  62e97089a88 testprogs: Fix and improve tombstones-expunge test
       via  33b116da10a testprogs: Fix and improve demote-saveddb test
       via  daeada8e48e testprogs: Add remove_directory to common test functions
       via  069c5acc4b6 python: Create targetdir recursively
       via  15e15f7c21b nsswitch/nsstest.c: Avoid nss function conflicts with glibc nss.h
       via  b15f35b5738 s4:dsdb:acl_read: Implement "List Object" mode feature
       via  0918966f9d5 s4:dsdb:util: add dsdb_do_list_object() helper
       via  160a2d6a5f9 s4:dsdb:acl_read: defer LDB_ERR_NO_SUCH_OBJECT
       via  ee5b2e3be90 s4:dsdb:acl_read: make use of aclread_check_object_visible() for the search base
       via  24e0a440a93 s4:dsdb:acl_read: fully set up 'struct aclread_context' before the search base acl check
       via  540cd43baf2 s4:dsdb:acl_read: introduce aclread_check_object_visible() helper
       via  f92b61ec826 s4:dsdb:tests: add AclVisibiltyTests
       via  a89a78aa609 python/tests: add DynamicTestCase setUpDynamicTestCases() infrastructure
       via  e759ecdae11 ctdb-tests: Strengthen node state checking in ctdb disable/enable test
       via  710b287bdc9 ctdb-recoverd: Drop unnecessary and broken code
       via  895bc9a7c2a ctdb-recoverd: Drop unnecessary code
       via  a6606369e2c vfs_shadow_copy2: Avoid closing snapsdir twice
       via  a9bf4f90260 winbind: Fix a memleak
       via  e32a1f1bd25 WHATSNEW: Fix release notes.
       via  cbcc754bc36 VERSION: Bump version up to 4.13.1...
      from  9e9941a843f VERSION: Disable GIT_SNAPSHOT for the 4.13.1 release.

https://git.samba.org/?p=samba.git;a=shortlog;h=v4-13-stable


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

Summary of changes:
 VERSION                                            |   2 +-
 WHATSNEW.txt                                       | 117 +++++++-
 buildtools/wafsamba/samba_third_party.py           |   2 +-
 buildtools/wafsamba/wafsamba.py                    |   6 +-
 ctdb/common/system_socket.c                        |  31 +-
 ctdb/server/ctdb_recoverd.c                        |  61 ----
 .../failover/pubips.030.disable_enable.sh          |   4 +-
 docs-xml/manpages/nmbd.8.xml                       |  10 +-
 docs-xml/manpages/smb.conf.5.xml                   |  30 ++
 docs-xml/manpages/smbd.8.xml                       |  13 +-
 docs-xml/manpages/vfs_glusterfs.8.xml              |  22 ++
 docs-xml/manpages/vfs_zfsacl.8.xml                 |  20 ++
 docs-xml/manpages/winbindd.8.xml                   |   7 +-
 .../smbdotconf/printing/spoolssarchitecture.xml    |   4 +-
 examples/auth/wscript_build                        |   3 +-
 librpc/wscript_build                               |   2 +-
 nsswitch/nsstest.c                                 |  16 +-
 python/samba/dnsresolver.py                        |  68 +++++
 python/samba/netcmd/domain.py                      |   2 +-
 python/samba/provision/sambadns.py                 |  17 +-
 python/samba/tests/__init__.py                     |  27 ++
 source3/modules/vfs_glusterfs.c                    |  91 ++++++
 source3/modules/vfs_shadow_copy2.c                 |   7 +
 source3/modules/vfs_zfsacl.c                       | 206 ++++++++++---
 source3/modules/wscript_build                      |  12 +-
 source3/nmbd/nmbd.c                                |   4 +-
 source3/script/tests/test_dfree_quota.sh           |   2 +-
 source3/smbd/server.c                              |   4 +-
 source3/winbindd/winbindd.c                        |   5 +-
 source3/winbindd/winbindd_ads.c                    |   1 +
 source4/dns_server/dlz_minimal.h                   |  24 +-
 source4/dns_server/wscript_build                   |  20 ++
 source4/dsdb/samdb/ldb_modules/acl_read.c          | 185 +++++++++---
 source4/dsdb/samdb/ldb_modules/util.c              |  21 ++
 source4/dsdb/tests/python/acl.py                   | 321 ++++++++++++++++++++-
 source4/scripting/bin/samba_dnsupdate              |   5 +-
 source4/selftest/tests.py                          |   2 +-
 source4/setup/named.conf.dlz                       |   6 +
 source4/smbd/server.c                              |   4 +-
 source4/torture/basic/denytest.c                   |   2 +-
 testprogs/blackbox/common-links.sh                 |  16 +-
 testprogs/blackbox/common_test_fns.inc             |  11 +
 testprogs/blackbox/dbcheck-links.sh                | 160 +++++-----
 testprogs/blackbox/dbcheck-oldrelease.sh           | 240 +++++++--------
 testprogs/blackbox/demote-saveddb.sh               |  75 +++--
 testprogs/blackbox/functionalprep.sh               |  77 ++---
 testprogs/blackbox/runtime-links.sh                |  65 +++--
 testprogs/blackbox/tombstones-expunge.sh           |  94 +++---
 testprogs/blackbox/upgradeprovision-oldrelease.sh  | 254 ++++++++--------
 testsuite/unittests/wscript                        |   6 +-
 third_party/resolv_wrapper/resolv_wrapper.c        |   4 +-
 third_party/resolv_wrapper/wscript                 |   2 +-
 52 files changed, 1705 insertions(+), 685 deletions(-)
 create mode 100644 python/samba/dnsresolver.py


Changeset truncated at 500 lines:

diff --git a/VERSION b/VERSION
index d00b775c7c0..17232cb0574 100644
--- a/VERSION
+++ b/VERSION
@@ -25,7 +25,7 @@
 ########################################################
 SAMBA_VERSION_MAJOR=4
 SAMBA_VERSION_MINOR=13
-SAMBA_VERSION_RELEASE=1
+SAMBA_VERSION_RELEASE=2
 
 ########################################################
 # If a official release has a serious bug              #
diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 994b54221e8..a3ce5cc3dd5 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -1,3 +1,112 @@
+                   ==============================
+                   Release Notes for Samba 4.13.2
+                          November 03, 2020
+                   ==============================
+
+
+This is the latest stable release of the Samba 4.13 release series.
+
+Major enhancements include:
+  o BUG 14537: ctdb-common: Avoid aliasing errors during code optimization.
+  o BUG 14486: vfs_glusterfs: Avoid data corruption with the write-behind
+               translator.
+
+
+=======
+Details
+=======
+
+The GlusterFS write-behind performance translator, when used with Samba, could
+be a source of data corruption. The translator, while processing a write call,
+immediately returns success but continues writing the data to the server in the
+background. This can cause data corruption when two clients relying on Samba to
+provide data consistency are operating on the same file.
+
+The write-behind translator is enabled by default on GlusterFS.
+The vfs_glusterfs plugin will check for the presence of the translator and
+refuse to connect if detected. Please disable the write-behind translator for
+the GlusterFS volume to allow the plugin to connect to the volume.
+
+
+Changes since 4.13.1
+--------------------
+
+o  Jeremy Allison <jra at samba.org>
+   * BUG 14486: s3: modules: vfs_glusterfs: Fix leak of char 
+     **lines onto mem_ctx on return.
+
+o  Ralph Boehme <slow at samba.org>
+   * BUG 14471: RN: vfs_zfsacl: Only grant DELETE_CHILD if ACL tag is special.
+
+o  Alexander Bokovoy <ab at samba.org>
+   * BUG 14538: smb.conf.5: Add clarification how configuration changes
+     reflected by Samba.
+   * BUG 14552: daemons: Report status to systemd even when running in
+     foreground.
+   * BUG 14553: DNS Resolver: Support both dnspython before and after 2.0.0.
+ 
+o  Günther Deschner <gd at samba.org>
+   * BUG 14486: s3-vfs_glusterfs: Refuse connection when write-behind xlator is
+     present.
+
+o  Amitay Isaacs <amitay at gmail.com>
+   * BUG 14487: provision: Add support for BIND 9.16.x.
+   * BUG 14537: ctdb-common: Avoid aliasing errors during code optimization.
+   * BUG 14541: libndr: Avoid assigning duplicate versions to symbols.
+
+o  Björn Jacke <bjacke at samba.org>
+   * BUG 14522: docs: Fix default value of spoolss:architecture.
+
+o  Laurent Menase <laurent.menase at hpe.com>
+   * BUG 14388: winbind: Fix a memleak.
+
+o  Stefan Metzmacher <metze at samba.org>
+   * BUG 14531: s4:dsdb:acl_read: Implement "List Object" mode feature.
+
+o  Sachin Prabhu <sprabhu at redhat.com>
+   * BUG 14486: docs-xml/manpages: Add warning about write-behind translator for
+     vfs_glusterfs.
+
+o  Khem Raj <raj.khem at gmail.com>
+   * nsswitch/nsstest.c: Avoid nss function conflicts with glibc nss.h.
+
+o  Anoop C S <anoopcs at samba.org>
+   * BUG 14530: vfs_shadow_copy2: Avoid closing snapsdir twice.
+
+o  Andreas Schneider <asn at samba.org>
+   * BUG 14547: third_party: Update resolv_wrapper to version 1.1.7.
+   * BUG 14550: examples:auth: Do not install example plugin.
+
+o  Martin Schwenke <martin at meltin.net>
+   * BUG 14513: ctdb-recoverd: Drop unnecessary and broken code.
+
+o  Andrew Walker <awalker at ixsystems.com>
+   * BUG 14471: RN: vfs_zfsacl: Only grant DELETE_CHILD if ACL tag is special.
+
+
+#######################################
+Reporting bugs & Development Discussion
+#######################################
+
+Please discuss this release on the samba-technical mailing list or by
+joining the #samba-technical IRC channel on irc.freenode.net.
+
+If you do report problems then please try to send high quality
+feedback. If you don't provide vital information to help us track down
+the problem then you will probably be ignored.  All bug reports should
+be filed under the Samba 4.1 and newer product in the project's Bugzilla
+database (https://bugzilla.samba.org/).
+
+
+======================================================================
+== Our Code, Our Bugs, Our Responsibility.
+== The Samba Team
+======================================================================
+
+
+Release notes for older releases follow:
+----------------------------------------
+
                    ==============================
                    Release Notes for Samba 4.13.1
                           October 29, 2020
@@ -88,8 +197,8 @@ database (https://bugzilla.samba.org/).
 ======================================================================
 
 
-Release notes for older releases follow:
-----------------------------------------
+----------------------------------------------------------------------
+
 
                    ==============================
                    Release Notes for Samba 4.13.0
@@ -177,9 +286,6 @@ REMOVED FEATURES
 
 The deprecated "ldap ssl ads" smb.conf option has been removed.
 
-The deprecated "server schannel" smb.conf option will very likely
-removed in the final 4.13.0 release.
-
 
 smb.conf changes
 ================
@@ -195,7 +301,6 @@ smb.conf changes
   client NTLMv2 auth                  Deprecated                 yes
   client lanman auth                  Deprecated                 no
   client use spnego                   Deprecated                 yes
-  server schannel                     To be removed in 4.13.0
   server require schannel:COMPUTER    Added
 
 
diff --git a/buildtools/wafsamba/samba_third_party.py b/buildtools/wafsamba/samba_third_party.py
index 318da4f4eff..bc2b21f2a55 100644
--- a/buildtools/wafsamba/samba_third_party.py
+++ b/buildtools/wafsamba/samba_third_party.py
@@ -34,7 +34,7 @@ Build.BuildContext.CHECK_NSS_WRAPPER = CHECK_NSS_WRAPPER
 
 @conf
 def CHECK_RESOLV_WRAPPER(conf):
-    return conf.CHECK_BUNDLED_SYSTEM_PKG('resolv_wrapper', minversion='1.1.6')
+    return conf.CHECK_BUNDLED_SYSTEM_PKG('resolv_wrapper', minversion='1.1.7')
 Build.BuildContext.CHECK_RESOLV_WRAPPER = CHECK_RESOLV_WRAPPER
 
 @conf
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 7827d374654..25fed671e5b 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -365,8 +365,10 @@ def SAMBA_BINARY(bld, binname, source,
                  for_selftest=False):
     '''define a Samba binary'''
 
-    if for_selftest and not bld.CONFIG_GET('ENABLE_SELFTEST'):
-        enabled=False
+    if for_selftest:
+        install=False
+        if not bld.CONFIG_GET('ENABLE_SELFTEST'):
+            enabled=False
 
     if not enabled:
         SET_TARGET_TYPE(bld, binname, 'DISABLED')
diff --git a/ctdb/common/system_socket.c b/ctdb/common/system_socket.c
index af297f8608b..bb513508353 100644
--- a/ctdb/common/system_socket.c
+++ b/ctdb/common/system_socket.c
@@ -67,16 +67,19 @@
 /*
   uint16 checksum for n bytes
  */
-static uint32_t uint16_checksum(uint16_t *data, size_t n)
+static uint32_t uint16_checksum(uint8_t *data, size_t n)
 {
 	uint32_t sum=0;
+	uint16_t value;
+
 	while (n>=2) {
-		sum += (uint32_t)ntohs(*data);
-		data++;
+		memcpy(&value, data, 2);
+		sum += (uint32_t)ntohs(value);
+		data += 2;
 		n -= 2;
 	}
 	if (n == 1) {
-		sum += (uint32_t)ntohs(*(uint8_t *)data);
+		sum += (uint32_t)ntohs(*data);
 	}
 	return sum;
 }
@@ -117,13 +120,13 @@ bool ctdb_sys_have_ip(ctdb_sock_addr *_addr)
 /*
  * simple TCP checksum - assumes data is multiple of 2 bytes long
  */
-static uint16_t ip_checksum(uint16_t *data, size_t n, struct ip *ip)
+static uint16_t ip_checksum(uint8_t *data, size_t n, struct ip *ip)
 {
 	uint32_t sum = uint16_checksum(data, n);
 	uint16_t sum2;
 
-	sum += uint16_checksum((uint16_t *)&ip->ip_src, sizeof(ip->ip_src));
-	sum += uint16_checksum((uint16_t *)&ip->ip_dst, sizeof(ip->ip_dst));
+	sum += uint16_checksum((uint8_t *)&ip->ip_src, sizeof(ip->ip_src));
+	sum += uint16_checksum((uint8_t *)&ip->ip_dst, sizeof(ip->ip_dst));
 	sum += ip->ip_p + n;
 	sum = (sum & 0xFFFF) + (sum >> 16);
 	sum = (sum & 0xFFFF) + (sum >> 16);
@@ -135,22 +138,22 @@ static uint16_t ip_checksum(uint16_t *data, size_t n, struct ip *ip)
 	return sum2;
 }
 
-static uint16_t ip6_checksum(uint16_t *data, size_t n, struct ip6_hdr *ip6)
+static uint16_t ip6_checksum(uint8_t *data, size_t n, struct ip6_hdr *ip6)
 {
 	uint16_t phdr[3];
 	uint32_t sum = 0;
 	uint16_t sum2;
 	uint32_t len;
 
-	sum += uint16_checksum((uint16_t *)(void *)&ip6->ip6_src, 16);
-	sum += uint16_checksum((uint16_t *)(void *)&ip6->ip6_dst, 16);
+	sum += uint16_checksum((uint8_t *)&ip6->ip6_src, 16);
+	sum += uint16_checksum((uint8_t *)&ip6->ip6_dst, 16);
 
 	len = htonl(n);
 	phdr[0] = len & UINT16_MAX;
 	phdr[1] = (len >> 16) & UINT16_MAX;
 	/* ip6_nxt is only 8 bits, so fits comfortably into a uint16_t */
 	phdr[2] = htons(ip6->ip6_nxt);
-	sum += uint16_checksum(phdr, sizeof(phdr));
+	sum += uint16_checksum((uint8_t *)phdr, sizeof(phdr));
 
 	sum += uint16_checksum(data, n);
 
@@ -316,7 +319,7 @@ static int ip6_na_build(uint8_t *buffer,
 				   sizeof(struct nd_opt_hdr));
 	memcpy(ea, hwaddr, ETH_ALEN);
 
-	nd_na->nd_na_cksum = ip6_checksum((uint16_t *)nd_na,
+	nd_na->nd_na_cksum = ip6_checksum((uint8_t *)nd_na,
 					  ntohs(ip6->ip6_plen),
 					  ip6);
 
@@ -556,7 +559,7 @@ static int tcp4_build(uint8_t *buf,
 	ip4pkt->tcp.th_off   = sizeof(ip4pkt->tcp)/sizeof(uint32_t);
 	/* this makes it easier to spot in a sniffer */
 	ip4pkt->tcp.th_win   = htons(1234);
-	ip4pkt->tcp.th_sum   = ip_checksum((uint16_t *)&ip4pkt->tcp,
+	ip4pkt->tcp.th_sum   = ip_checksum((uint8_t *)&ip4pkt->tcp,
 					   sizeof(ip4pkt->tcp),
 					   &ip4pkt->ip);
 
@@ -609,7 +612,7 @@ static int tcp6_build(uint8_t *buf,
 	ip6pkt->tcp.th_off    = sizeof(ip6pkt->tcp)/sizeof(uint32_t);
 	/* this makes it easier to spot in a sniffer */
 	ip6pkt->tcp.th_win   = htons(1234);
-	ip6pkt->tcp.th_sum   = ip6_checksum((uint16_t *)&ip6pkt->tcp,
+	ip6pkt->tcp.th_sum   = ip6_checksum((uint8_t *)&ip6pkt->tcp,
 					    sizeof(ip6pkt->tcp),
 					    &ip6pkt->ip6);
 
diff --git a/ctdb/server/ctdb_recoverd.c b/ctdb/server/ctdb_recoverd.c
index f825427e7a3..856fcbb72c8 100644
--- a/ctdb/server/ctdb_recoverd.c
+++ b/ctdb/server/ctdb_recoverd.c
@@ -2667,67 +2667,6 @@ static void main_loop(struct ctdb_context *ctdb, struct ctdb_recoverd *rec,
 		}
 	}
 
-	/*
-	 * Update node flags obtained from each active node. This ensure we have
-	 * up-to-date information for all the nodes.
-	 */
-	for (j=0; j<nodemap->num; j++) {
-		if (nodemap->nodes[j].pnn == ctdb->pnn) {
-			continue;
-		}
-		if (nodemap->nodes[j].flags & NODE_FLAGS_INACTIVE) {
-			continue;
-		}
-		nodemap->nodes[j].flags = remote_nodemaps[j]->nodes[j].flags;
-	}
-
-	for (j=0; j<nodemap->num; j++) {
-		if (nodemap->nodes[j].pnn == ctdb->pnn) {
-			continue;
-		}
-		if (nodemap->nodes[j].flags & NODE_FLAGS_INACTIVE) {
-			continue;
-		}
-
-		/* verify the flags are consistent
-		*/
-		for (i=0; i<nodemap->num; i++) {
-			if (nodemap->nodes[i].flags & NODE_FLAGS_DISCONNECTED) {
-				continue;
-			}
-			
-			if (nodemap->nodes[i].flags != remote_nodemaps[j]->nodes[i].flags) {
-				DEBUG(DEBUG_ERR, (__location__ " Remote node:%u has different flags for node %u. It has 0x%02x vs our 0x%02x\n", 
-				  nodemap->nodes[j].pnn, 
-				  nodemap->nodes[i].pnn, 
-				  remote_nodemaps[j]->nodes[i].flags,
-				  nodemap->nodes[i].flags));
-				if (i == j) {
-					DEBUG(DEBUG_ERR,("Use flags 0x%02x from remote node %d for cluster update of its own flags\n", remote_nodemaps[j]->nodes[i].flags, j));
-					update_flags_on_all_nodes(
-					    rec,
-					    nodemap->nodes[i].pnn,
-					    remote_nodemaps[j]->nodes[i].flags);
-					ctdb_set_culprit(rec, nodemap->nodes[j].pnn);
-					do_recovery(rec, mem_ctx, pnn, nodemap, 
-						    vnnmap);
-					return;
-				} else {
-					DEBUG(DEBUG_ERR,("Use flags 0x%02x from local recmaster node for cluster update of node %d flags\n", nodemap->nodes[i].flags, i));
-					update_flags_on_all_nodes(
-						rec,
-						nodemap->nodes[i].pnn,
-						nodemap->nodes[i].flags);
-					ctdb_set_culprit(rec, nodemap->nodes[j].pnn);
-					do_recovery(rec, mem_ctx, pnn, nodemap, 
-						    vnnmap);
-					return;
-				}
-			}
-		}
-	}
-
-
 	/* count how many active nodes there are */
 	num_lmasters  = 0;
 	for (i=0; i<nodemap->num; i++) {
diff --git a/ctdb/tests/INTEGRATION/failover/pubips.030.disable_enable.sh b/ctdb/tests/INTEGRATION/failover/pubips.030.disable_enable.sh
index c0bb62d1991..0b8425b2556 100755
--- a/ctdb/tests/INTEGRATION/failover/pubips.030.disable_enable.sh
+++ b/ctdb/tests/INTEGRATION/failover/pubips.030.disable_enable.sh
@@ -21,10 +21,10 @@ select_test_node_and_ips
 
 echo "Disabling node $test_node"
 try_command_on_node 1 $CTDB disable -n $test_node
-wait_until_node_has_status $test_node disabled
+wait_until_node_has_status $test_node disabled 30 all
 wait_until_node_has_no_ips "$test_node"
 
 echo "Re-enabling node $test_node"
 try_command_on_node 1 $CTDB enable -n $test_node
-wait_until_node_has_status $test_node enabled
+wait_until_node_has_status $test_node enabled 30 all
 wait_until_node_has_some_ips "$test_node"
diff --git a/docs-xml/manpages/nmbd.8.xml b/docs-xml/manpages/nmbd.8.xml
index c145e820770..4ece42f3ca6 100644
--- a/docs-xml/manpages/nmbd.8.xml
+++ b/docs-xml/manpages/nmbd.8.xml
@@ -244,7 +244,15 @@
 	directory (or the <filename>var/locks</filename> directory configured
 	under wherever Samba was configured to install itself). This will also
 	cause <command>nmbd</command> to dump out its server database in
-	the <filename>log.nmb</filename> file.</para>
+	the <filename>log.nmb</filename> file. Additionally, the signal will
+	cause reloading <command>nmbd</command> configuration.</para>
+
+        <para>
+        Instead of sending a SIGHUP signal, a request to dump namelists
+        into the file and reload a configuration file may be sent using
+        <citerefentry><refentrytitle>smbcontrol</refentrytitle>
+       <manvolnum>1</manvolnum></citerefentry> program.
+        </para>
 
 	<para>The debug log level of nmbd may be raised or lowered
 	using <citerefentry><refentrytitle>smbcontrol</refentrytitle>
diff --git a/docs-xml/manpages/smb.conf.5.xml b/docs-xml/manpages/smb.conf.5.xml
index f72833c003f..c4387187ecc 100644
--- a/docs-xml/manpages/smb.conf.5.xml
+++ b/docs-xml/manpages/smb.conf.5.xml
@@ -27,6 +27,36 @@
 	</para>
 </refsect1>
 
+<refsect1>
+	<title>HOW CONFIGURATION CHANGES ARE APPLIED</title>
+
+	<para>
+	The Samba suite includes a number of different programs. Some of them operate in a client mode, others are
+	server daemons that provide various services to its clients. The <filename moreinfo="none">smb.conf
+        </filename> file is processed in the following way:
+        </para>
+
+	<itemizedlist>
+		<listitem><para>
+		The Samba suite's client applications read their configuration only once. Any changes made after start aren't
+		reflected in the context of already running client code.
+		</para></listitem>
+
+		<listitem><para>
+		The Samba suite's server daemons reload their configuration when requested. However, already active connections
+		do not change their configuration. More detailed information can be found in
+		<citerefentry><refentrytitle>smbd</refentrytitle><manvolnum>8</manvolnum></citerefentry> and <citerefentry>
+		<refentrytitle>winbindd</refentrytitle><manvolnum>8</manvolnum></citerefentry> manual pages.
+                </para></listitem>
+	</itemizedlist>
+
+	<para>
+	To request Samba server daemons to refresh their configuration, please use
+	<citerefentry><refentrytitle>smbcontrol</refentrytitle><manvolnum>1</manvolnum></citerefentry> utility.
+        </para>
+
+</refsect1>
+
 <refsect1 id="FILEFORMATSECT">
 	<title>FILE FORMAT</title>
 
diff --git a/docs-xml/manpages/smbd.8.xml b/docs-xml/manpages/smbd.8.xml
index deba2cad9e2..73d808c70b7 100644
--- a/docs-xml/manpages/smbd.8.xml
+++ b/docs-xml/manpages/smbd.8.xml
@@ -68,11 +68,18 @@
 	the copy of the server for that client terminates.</para>
 
 	<para>The configuration file, and any files that it includes, 
-	are automatically reloaded every minute, if they change.  You 
-	can force a reload by sending a SIGHUP to the server.  Reloading 
+	are automatically reloaded every three minutes, if they change.
+	One can force a reload by sending a SIGHUP to the server. Reloading
 	the configuration file will not affect connections to any service 
 	that is already established.  Either the user will have to 
-	disconnect from the service, or <command>smbd</command> killed and restarted.</para>
+	disconnect from the service, or <command>smbd</command> killed and restarted.
+        </para>
+
+        <para>Instead of sending a SIGHUP signal, a request to reload configuration
+	file may be sent using <citerefentry><refentrytitle>smbcontrol</refentrytitle>
+	<manvolnum>1</manvolnum></citerefentry> program.
+        </para>
+
 </refsect1>
 
 <refsect1>
diff --git a/docs-xml/manpages/vfs_glusterfs.8.xml b/docs-xml/manpages/vfs_glusterfs.8.xml
index cf3b8e5e384..7a4da1af919 100644
--- a/docs-xml/manpages/vfs_glusterfs.8.xml
+++ b/docs-xml/manpages/vfs_glusterfs.8.xml
@@ -161,6 +161,28 @@
 
 </refsect1>
 
+<refsect1>
+	<title>CAVEATS</title>
+
+	<para>
+                The GlusterFS write-behind performance translator, when used
+                with Samba, could be a source of data corruption. The
+                translator, while processing a write call, immediately returns
+                success but continues writing the data to the server in the
+                background. This can cause data corruption when two clients
+                relying on Samba to provide data consistency are operating on
+                the same file.
+        </para>
+        <para>
+                The write-behind translator is enabled by default on GlusterFS.
+                The vfs_glusterfs plugin will check for the presence of the
+                translator and refuse to connect if detected.
+                Please disable the write-behind translator for the GlusterFS
+                volume to allow the plugin to connect to the volume.
+	</para>
+</refsect1>
+
+
 <refsect1>
 	<title>VERSION</title>
 
diff --git a/docs-xml/manpages/vfs_zfsacl.8.xml b/docs-xml/manpages/vfs_zfsacl.8.xml
index ae583409fe1..1ac954b9429 100644


-- 
Samba Shared Repository



More information about the samba-cvs mailing list