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

Karolin Seeger kseeger at samba.org
Thu Jan 23 15:43:04 UTC 2020


The branch, v4-10-stable has been updated
       via  9678370227a VERSION: Disable GIT_SNAPSHOT for the 4.10.13 release.
       via  5630c60aea4 WHATSNEW: Add release notes for Samba 4.10.13.
       via  969123b4ab8 script/release.sh: make it possible to run from a git worktree
       via  1c330a18d45 VERSION: Bump version up to 4.10.13.
       via  a69b3905140 Merge tag 'samba-4.10.12' into v4-10-test
       via  b2800628a6b ctdb-tests: Skip some tests that don't work with IPv6
       via  57390cc5a36 ctdb-scripts: Strip square brackets when gathering connection info
       via  6a109e3ddb3 librpc: Fix string length checking in ndr_pull_charset_to_null()
       via  fe015ece4ee upgradedns: ensure lmdb lock files linked
       via  78fb3cb0051 test upgradedns: ensure lmdb lock files linked
       via  decce5e6e19 docs-xml/winbindnssinfo: clarify interaction with idmap_ad etc.
       via  a2f8fdb4109 libsmbclient: If over SMB1 first try to do a posix stat on the file.
       via  6ae62c26ef9 s3:libsmb: Add a setup_stat_from_stat_ex() function
       via  0d32af6001d s3:libsmb: Return a 'struct stat' buffer for SMBC_getatr()
       via  9c7ec52a017 s3:libsmb: Add try_posixinfo to SMBSRV struct. Only enable for SMB1 with UNIX for now.
       via  9cb73280894 s3:libsmb: Generate the inode only based on the path component
       via  745f563d4c7 s3: libsmb: Move setting all struct stat fields into setup_stat().
       via  ee236c2f307 s3: libsmb: Move setting st->st_ino into setup_stat.
       via  06b0e8d3ae1 s3: libsmb: Change generate_inode()/setup_stat() to modern coding standards.
       via  b5e8ba021bf s3: VFS: glusterfs: Reset nlinks for symlink entries during readdir
       via  30352214311 Avoiding bad call flags with python 3.8, using METH_NOARGS instead of zero.
       via  edeed08a04c pygpo: use correct method flags
       via  bbeb73b40b8 VERSION: Bump version up to 4.10.12.
       via  2757c0711d0 s3: smbd: Only set xconn->smb1.negprot.done = true after supported_protocols[protocol].proto_reply_fn() succeeds.
       via  d8d661aabfd python: tests. Add test for fuzzing smbd crash bug.
       via  a622ad439bd s3: smbd: Ensure we exit if supported_protocols[protocol].proto_reply_fn() fails.
       via  fb1beba0091 s3: smbd: Change (*proto_reply_fn()) to return an NTSTATUS.
       via  2feddd181dd s3: smbd: Change reply_smb20xx() to return NTSTATUS.
       via  100caebe0b7 s3: smbd: Ensure we exit on smbd_smb2_process_negprot() fail.
       via  546a2e935a5 s3: smbd: Allow smbd_smb2_process_negprot() to return NTSTATUS as it can fail.
       via  41c9250320d s3: smbd: SMB2 - Ensure we use the correct session_id if encrypting an interim response.
       via  8f9a2afd469 Merge tag 'samba-4.10.11' into v4-10-test
       via  cc58e4b1899 heimdal-build: avoid hard-coded /usr/include/heimdal in asn1_compile-generated code.
       via  939a0c8bb24 ctdb-tcp: Close inflight connecting TCP sockets after fork
       via  47b1e70b6aa ctdb-tcp: Drop tracking of file descriptor for incoming connections
       via  39f93ff7121 ctdb-tcp: Avoid orphaning the TCP incoming queue
       via  5eb95d0d088 ctdb-tcp: Check incoming queue to see if incoming connection is up
       via  471835acb08 s3: libsmb: Ensure return from net_share_enum_rpc() sets cli->raw_status on error.
       via  0b6c23def7b s3: utils: smbtree. Ensure we don't call cli_RNetShareEnum() on an SMB1 connection.
       via  dd946f54f6f s3: libsmb: Ensure we don't call cli_RNetShareEnum() on an SMB1 connection.
       via  7fe9b58d665 s3:printing: Fix %J substition
       via  c7013a9f905 s3:printing: add a DEBUG statement
       via  136a1553f6c s3:lib: factor out talloc_sub_advanced() from talloc_sub_full()
       via  3a9fa54ca0e s3: rename talloc_sub_advanced() to talloc_sub_full()
       via  eb304625299 s3: remove unused function standard_sub_advanced()
       via  046fe483012 s3: replace standard_sub_advanced with talloc_sub_advanced in one place
       via  2f6ec2e6aa5 s3:printing: fix a long line
       via  33142a8fe9b lib/adouble: pass filesize to ad_unpack()
       via  2a61a6b7c37 lib/adouble: drop ad_data reallocate logic
       via  f3482d9efc8 vfs_fruit: README.Coding fix: multi-line if expression
       via  5f4e4ff16a8 vfs_fruit: fix a long line
       via  d3a81333a8f torture: expand test "vfs.fruit.resource fork IO" to check size
       via  e6129b8930b s3:smbd: Fix sync dosmode fallback in async dosmode codepath
       via  5ba5a1dc780 s3:smbd: Incomplete conversion of former parametric options
       via  47466691ccb s3: remove now unneeded call to cmdline_messaging_context()
       via  459ead6d8f0 s3:dbwrap: initialize messaging before getting the ctdb connection
       via  466b19feef4 libnet_join: add SPNs for additional-dns-hostnames entries
       via  d57753e3476 docs-xml: add "additional dns hostnames" smb.conf option
       via  3d9240bf3cf libnet_join_set_machine_spn: simplify adding uniq spn to array
       via  5ec4cead4ed libnet_join_set_machine_spn: simplify memory handling
       via  b4350bee2d2 libnet_join_set_machine_spn: improve style and make a bit room for indentation
       via  025af7a1789 libnet_join: build dnsHostName from netbios name and lp_dnsdomain()
       via  7e0d00eaa69 s4:dirsync: fix interaction of dirsync and extended_dn controls
       via  328f89cb9b8 s4:tests/dirsync: add tests for dirsync with extended_dn
       via  bb4dd482917 replace: Only link libnsl and libsocket if requrired
       via  d92fa942a25 s3: torture: Ensure SMB1 cli_qpathinfo2() doesn't return an inode number.
       via  f48393e1bd9 s3: libsmb: Ensure SMB1 cli_qpathinfo2() doesn't return an inode number.
       via  9dabad3ccb7 wscript: Remove checks for shm_open and shmget
       via  5c49caea0e2 waf: print the library name in which we search for a function
       via  f86e09dcd48 VERSION: Bump version up to 4.10.11.
       via  9d50efa5183 Merge tag 'samba-4.10.10' into v4-10-test
       via  b19b75e324f VERSION: Bump version up to 4.10.10...
      from  06f7473fe56 VERSION: Disable GIT_SNAPSHOT for the 4.10.12 release.

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


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

Summary of changes:
 VERSION                                            |   2 +-
 WHATSNEW.txt                                       | 105 ++++++++++-
 buildtools/wafsamba/samba_autoconf.py              |   5 +-
 ctdb/config/functions                              |   6 +
 ctdb/tcp/ctdb_tcp.h                                |   1 -
 ctdb/tcp/tcp_connect.c                             |  11 +-
 ctdb/tcp/tcp_init.c                                |  12 +-
 ctdb/tcp/tcp_io.c                                  |   2 -
 ctdb/tests/complex/60_rogueip_releaseip.sh         |  10 ++
 ctdb/tests/complex/61_rogueip_takeip.sh            |  14 ++
 .../smbdotconf/base/additionaldnshostnames.xml     |  11 ++
 docs-xml/smbdotconf/printing/lppausecommand.xml    |   1 +
 docs-xml/smbdotconf/printing/lpqcommand.xml        |   1 +
 docs-xml/smbdotconf/printing/lpresumecommand.xml   |   1 +
 docs-xml/smbdotconf/printing/lprmcommand.xml       |   1 +
 docs-xml/smbdotconf/printing/printcommand.xml      |   1 +
 docs-xml/smbdotconf/printing/queuepausecommand.xml |   1 +
 .../smbdotconf/printing/queueresumecommand.xml     |   1 +
 docs-xml/smbdotconf/winbind/winbindnssinfo.xml     |   9 +-
 lib/replace/wscript                                |  36 +++-
 libgpo/pygpo.c                                     |   2 +-
 librpc/ndr/ndr_string.c                            |  49 +++++-
 python/samba/provision/sambadns.py                 |  10 ++
 python/samba/tests/__init__.py                     |  16 ++
 python/samba/tests/samba_upgradedns_lmdb.py        |  75 ++++++++
 python/samba/tests/smbd_fuzztest.py                |  77 ++++++++
 script/release.sh                                  |  11 +-
 selftest/tests.py                                  |   1 +
 source3/include/libsmb_internal.h                  |  22 ++-
 source3/include/proto.h                            |   8 +-
 source3/lib/dbwrap/dbwrap_open.c                   |   8 +-
 source3/lib/popt_common_cmdline.c                  |   7 -
 source3/lib/substitute.c                           |  38 ++--
 source3/libnet/libnet_join.c                       | 195 +++++++++++----------
 source3/libsmb/clirap.c                            |  10 +-
 source3/libsmb/libsmb_dir.c                        |  71 ++++----
 source3/libsmb/libsmb_file.c                       | 122 ++++++++-----
 source3/libsmb/libsmb_server.c                     |   9 +
 source3/libsmb/libsmb_stat.c                       | 132 ++++++++------
 source3/libsmb/libsmb_xattr.c                      |  69 +++-----
 source3/modules/vfs_ceph.c                         |   2 +-
 source3/modules/vfs_expand_msdfs.c                 |   2 +-
 source3/modules/vfs_fruit.c                        |  57 +++---
 source3/modules/vfs_full_audit.c                   |   2 +-
 source3/modules/vfs_glusterfs.c                    |   7 +-
 source3/modules/vfs_gpfs.c                         |   2 +-
 source3/modules/vfs_recycle.c                      |   2 +-
 source3/modules/vfs_virusfilter_utils.c            |   2 +-
 source3/printing/print_generic.c                   |  19 +-
 source3/printing/printing.c                        |  29 +--
 source3/rpc_server/srvsvc/srv_srvsvc_nt.c          |  10 +-
 source3/smbd/dosmode.c                             |   6 +-
 source3/smbd/globals.h                             |   6 +-
 source3/smbd/lanman.c                              |   4 +-
 source3/smbd/negprot.c                             |  39 +++--
 source3/smbd/process.c                             |   9 +-
 source3/smbd/reply.c                               |   4 +-
 source3/smbd/service.c                             |  10 +-
 source3/smbd/smb2_negprot.c                        |  15 +-
 source3/smbd/smb2_server.c                         |  17 +-
 source3/smbd/trans2.c                              |   4 +-
 source3/torture/torture.c                          |  49 +++++-
 source3/utils/dbwrap_tool.c                        |   2 -
 source3/utils/eventlogadm.c                        |   3 -
 source3/utils/ntlm_auth.c                          |   2 -
 source3/utils/pdbedit.c                            |   2 -
 source3/utils/sharesec.c                           |   1 -
 source3/utils/smbget.c                             |   2 -
 source3/utils/smbpasswd.c                          |   2 -
 source3/utils/smbtree.c                            |   5 +
 source3/utils/testparm.c                           |   4 +-
 source3/wscript                                    |   3 -
 source4/auth/gensec/pygensec.c                     |   2 +-
 source4/dsdb/samdb/ldb_modules/dirsync.c           |  19 +-
 source4/dsdb/tests/python/dirsync.py               |  31 ++++
 source4/heimdal_build/wscript_build                |   2 +-
 source4/selftest/tests.py                          |   2 +
 source4/torture/vfs/fruit.c                        |  29 +++
 testprogs/blackbox/test_net_ads.sh                 |  17 +-
 79 files changed, 1123 insertions(+), 465 deletions(-)
 create mode 100644 docs-xml/smbdotconf/base/additionaldnshostnames.xml
 create mode 100644 python/samba/tests/samba_upgradedns_lmdb.py
 create mode 100644 python/samba/tests/smbd_fuzztest.py


Changeset truncated at 500 lines:

diff --git a/VERSION b/VERSION
index 79bbc07fd9d..e7e72c2dc8c 100644
--- a/VERSION
+++ b/VERSION
@@ -25,7 +25,7 @@
 ########################################################
 SAMBA_VERSION_MAJOR=4
 SAMBA_VERSION_MINOR=10
-SAMBA_VERSION_RELEASE=12
+SAMBA_VERSION_RELEASE=13
 
 ########################################################
 # If a official release has a serious bug              #
diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 82e54d46a79..fae7ac01244 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -1,3 +1,104 @@
+                   ===============================
+                   Release Notes for Samba 4.10.13
+                          January 23, 2020
+                   ===============================
+
+
+This is the latest stable release of the Samba 4.10 release series.
+
+
+Changes since 4.10.12
+----------------------
+
+o  Jeremy Allison <jra at samba.org>
+   * BUG 14161: s3: libsmb: Ensure SMB1 cli_qpathinfo2() doesn't return an
+     inode number.
+   * BUG 14174: s3: utils: smbtree. Ensure we don't call cli_RNetShareEnum()
+     on an SMB1 connection.
+   * BUG 14176: s3: libsmb: Ensure return from net_share_enum_rpc() sets
+     cli->raw_status on error.
+   * BUG 14189: s3: smbd: SMB2 - Ensure we use the correct session_id if
+     encrypting an interim response.
+   * BUG 14205: s3: smbd: Only set xconn->smb1.negprot.done = true after
+     supported_protocols[protocol].proto_reply_fn() succeeds.
+
+o  Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
+   * BUG 14209: pygpo: Use correct method flags.
+
+o  Ralph Boehme <slow at samba.org>
+   * BUG 13925: s3: Remove now unneeded call to cmdline_messaging_context().
+   * BUG 14069: Incomplete conversion of former parametric options.
+   * BUG 14070: Fix sync dosmode fallback in async dosmode codepath.
+   * BUG 14171: vfs_fruit returns capped resource fork length.
+   * BUG 13745: s3:printing: Fix %J substition.
+
+o  Isaac Boukris <iboukris at gmail.com>
+   * BUG 14116: libnet_join: Add SPNs for additional-dns-hostnames entries.
+
+o  Torsten Fohrer <torsten.fohrer at sbe.de>
+   * BUG 14209: Avoiding bad call flags with python 3.8, using METH_NOARGS
+     instead of zero.
+
+o  Björn Jacke <bjacke at samba.org>
+   * BUG 14122: docs-xml/winbindnssinfo: Clarify interaction with idmap_ad etc.
+
+o  Volker Lendecke <vl at samba.org>
+   * BUG 14175: ctdb-tcp: Close inflight connecting TCP sockets after fork.
+
+o  Stefan Metzmacher <metze at samba.org>
+   * BUG 14153: s4:dirsync: Fix interaction of dirsync and extended_dn controls.
+
+o  Gary Lockyer <gary at catalyst.net.nz>
+   * BUG 14199: upgradedns: Ensure lmdb lock files linked.
+
+o  Anoop C S <anoopcs at redhat.com>
+   * BUG 14182: s3: VFS: glusterfs: Reset nlinks for symlink entries during
+     readdir.
+
+o  Christof Schmitt <cs at samba.org>
+   * BUG 14140: wscript: Remove checks for shm_open and shmget.
+
+o  Andreas Schneider <asn at samba.org>
+   * BUG 14101: libsmbclient: smbc_stat() doesn't return the correct st_mode
+     and also the uid/gid is not filled (SMBv1).
+   * BUG 14168: replace: Only link libnsl and libsocket if required.
+   * BUG 14219: librpc: Fix string length checking in
+     ndr_pull_charset_to_null().
+
+o  Uri Simchoni <uri at samba.org>
+   * BUG 13856: heimdal-build: Avoid hard-coded /usr/include/heimdal in
+     asn1_compile-generated code.
+
+o  Martin Schwenke <martin at meltin.net>
+   * BUG 14175: ctdb-tcp: Drop tracking of file descriptor for incoming
+     connections.
+   * BUG 14227: ctdb-scripts: Strip square brackets when gathering connection
+     info.
+
+
+#######################################
+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.10.12
                           January 21, 2020
@@ -67,8 +168,8 @@ database (https://bugzilla.samba.org/).
 ======================================================================
 
 
-Release notes for older releases follow:
-----------------------------------------
+----------------------------------------------------------------------
+
 
                    ===============================
                    Release Notes for Samba 4.10.11
diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py
index 6208e3b0439..a39d6ef06d1 100644
--- a/buildtools/wafsamba/samba_autoconf.py
+++ b/buildtools/wafsamba/samba_autoconf.py
@@ -251,7 +251,10 @@ def CHECK_FUNC(conf, f, link=True, lib=None, headers=None):
 
     ret = False
 
-    conf.COMPOUND_START('Checking for %s' % f)
+    in_lib_str = ""
+    if lib:
+        in_lib_str = " in %s" % lib
+    conf.COMPOUND_START('Checking for %s%s' % (f, in_lib_str))
 
     if link is None or link:
         ret = CHECK_CODE(conf,
diff --git a/ctdb/config/functions b/ctdb/config/functions
index 1dc16532890..2e9c3ef6bf0 100755
--- a/ctdb/config/functions
+++ b/ctdb/config/functions
@@ -977,10 +977,16 @@ update_tickles ()
 	_my_connections="${tickledir}/${_port}.connections.$$"
 	# Parentheses are needed around the filters for precedence but
 	# the parentheses can't be empty!
+	#
+	# Recent versions of ss print square brackets around IPv6
+	# addresses.  While it is desirable to update CTDB's address
+	# parsing and printing code, something needs to be done here
+	# for backward compatibility, so just delete the brackets.
 	ss -tn state established \
 	   "${_ip_filter:+( ${_ip_filter} )}" \
 	   "${_port_filter:+( ${_port_filter} )}" |
 	awk 'NR > 1 {print $4, $3}' |
+	tr -d '][' |
 	sort >"$_my_connections"
 
 	# Record our current tickles in a temporary file
diff --git a/ctdb/tcp/ctdb_tcp.h b/ctdb/tcp/ctdb_tcp.h
index 9a615fc6393..daabad74297 100644
--- a/ctdb/tcp/ctdb_tcp.h
+++ b/ctdb/tcp/ctdb_tcp.h
@@ -37,7 +37,6 @@ struct ctdb_tcp_node {
 	struct tevent_timer *connect_te;
 
 	struct ctdb_context *ctdb;
-	int in_fd;
 	struct ctdb_queue *in_queue;
 };
 
diff --git a/ctdb/tcp/tcp_connect.c b/ctdb/tcp/tcp_connect.c
index f02340c1789..0b5d021480a 100644
--- a/ctdb/tcp/tcp_connect.c
+++ b/ctdb/tcp/tcp_connect.c
@@ -153,7 +153,7 @@ static void ctdb_node_connect_write(struct tevent_context *ev,
 	 * as connected, but only if the corresponding listening
 	 * socket is also connected
 	 */
-	if (tnode->in_fd != -1) {
+	if (tnode->in_queue != NULL) {
 		node->ctdb->upcalls->node_connected(node);
 	}
 }
@@ -312,6 +312,13 @@ static void ctdb_listen_event(struct tevent_context *ev, struct tevent_fd *fde,
 		return;
 	}
 
+	if (tnode->in_queue != NULL) {
+		DBG_ERR("Incoming queue active, rejecting connection from %s\n",
+			ctdb_addr_to_str(&addr));
+		close(fd);
+		return;
+	}
+
 	ret = set_blocking(fd, false);
 	if (ret != 0) {
 		DBG_ERR("Failed to set socket non-blocking (%s)\n",
@@ -348,8 +355,6 @@ static void ctdb_listen_event(struct tevent_context *ev, struct tevent_fd *fde,
 		return;
 	}
 
-	tnode->in_fd = fd;
-
        /*
 	* Mark the connecting node as connected, but only if the
 	* corresponding outbound connected is also up
diff --git a/ctdb/tcp/tcp_init.c b/ctdb/tcp/tcp_init.c
index 91d4e992c8f..dc92abd4e6c 100644
--- a/ctdb/tcp/tcp_init.c
+++ b/ctdb/tcp/tcp_init.c
@@ -43,11 +43,6 @@ static int tnode_destructor(struct ctdb_tcp_node *tnode)
 		tnode->out_fd = -1;
 	}
 
-	if (tnode->in_fd != -1) {
-		close(tnode->in_fd);
-		tnode->in_fd = -1;
-	}
-
 	return 0;
 }
 
@@ -61,7 +56,6 @@ static int ctdb_tcp_add_node(struct ctdb_node *node)
 	CTDB_NO_MEMORY(node->ctdb, tnode);
 
 	tnode->out_fd = -1;
-	tnode->in_fd = -1;
 	tnode->ctdb = node->ctdb;
 
 	node->private_data = tnode;
@@ -143,8 +137,14 @@ static void ctdb_tcp_shutdown(struct ctdb_context *ctdb)
 {
 	struct ctdb_tcp *ctcp = talloc_get_type(ctdb->private_data,
 						struct ctdb_tcp);
+	uint32_t i;
+
 	talloc_free(ctcp);
 	ctdb->private_data = NULL;
+
+	for (i=0; i<ctdb->num_nodes; i++) {
+		TALLOC_FREE(ctdb->nodes[i]->private_data);
+	}
 }
 
 /*
diff --git a/ctdb/tcp/tcp_io.c b/ctdb/tcp/tcp_io.c
index e8ebff887e1..2d8ec0f7062 100644
--- a/ctdb/tcp/tcp_io.c
+++ b/ctdb/tcp/tcp_io.c
@@ -76,8 +76,6 @@ void ctdb_tcp_read_cb(uint8_t *data, size_t cnt, void *args)
 
 failed:
 	TALLOC_FREE(tnode->in_queue);
-	close(tnode->in_fd);
-	tnode->in_fd = -1;
 	node->ctdb->upcalls->node_dead(node);
 
 	TALLOC_FREE(data);
diff --git a/ctdb/tests/complex/60_rogueip_releaseip.sh b/ctdb/tests/complex/60_rogueip_releaseip.sh
index 88e4e554c34..99d0d406e6f 100755
--- a/ctdb/tests/complex/60_rogueip_releaseip.sh
+++ b/ctdb/tests/complex/60_rogueip_releaseip.sh
@@ -21,6 +21,16 @@ select_test_node_and_ips
 
 echo "Using $test_ip, which is onnode $test_node"
 
+# This test depends on being able to assign a duplicate address on a
+# 2nd node.  However, IPv6 guards against this and causes the test to
+# fail.
+case "$test_ip" in
+*:*)
+	echo "SKIPPING TEST: not supported for IPv6 addresses"
+	exit 0
+	;;
+esac
+
 get_test_ip_mask_and_iface
 
 echo "Finding another node that knows about $test_ip"
diff --git a/ctdb/tests/complex/61_rogueip_takeip.sh b/ctdb/tests/complex/61_rogueip_takeip.sh
index 2c5f7c5c999..e1981eba572 100755
--- a/ctdb/tests/complex/61_rogueip_takeip.sh
+++ b/ctdb/tests/complex/61_rogueip_takeip.sh
@@ -21,6 +21,20 @@ select_test_node_and_ips
 
 echo "Running test against node $test_node and IP $test_ip"
 
+# This test puts an address on an interface and then needs to quickly
+# configure that address and cause an IP takeover.  However, an IPv6
+# address will be tentative for a while so "quickly" is not possible".
+# When ctdb_control_takeover_ip() calls ctdb_sys_have_ip() it will
+# decide that the address is not present.  It then attempts a takeip,
+# which can fail if the address is suddenly present because it is no
+# longer tentative.
+case "$test_ip" in
+*:*)
+	echo "SKIPPING TEST: not supported for IPv6 addresses"
+	exit 0
+	;;
+esac
+
 get_test_ip_mask_and_iface
 
 echo "Deleting IP $test_ip from all nodes"
diff --git a/docs-xml/smbdotconf/base/additionaldnshostnames.xml b/docs-xml/smbdotconf/base/additionaldnshostnames.xml
new file mode 100644
index 00000000000..ddc04ee9f81
--- /dev/null
+++ b/docs-xml/smbdotconf/base/additionaldnshostnames.xml
@@ -0,0 +1,11 @@
+<samba:parameter name="additional dns hostnames"
+                 context="G"
+                 type="cmdlist"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+        <para> A list of additional DNS names by which this host can be identified
+        </para>
+</description>
+<value type="default"><comment>empty string (no additional dns names)</comment></value>
+<value type="example"> host2.example.com host3.other.com </value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/lppausecommand.xml b/docs-xml/smbdotconf/printing/lppausecommand.xml
index 3aa134c4377..f2518d3def0 100644
--- a/docs-xml/smbdotconf/printing/lppausecommand.xml
+++ b/docs-xml/smbdotconf/printing/lppausecommand.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="lppause command"
                  context="S"
                  type="string"
+                 constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter specifies the command to be 
diff --git a/docs-xml/smbdotconf/printing/lpqcommand.xml b/docs-xml/smbdotconf/printing/lpqcommand.xml
index f3c17f286d1..f0161f3448d 100644
--- a/docs-xml/smbdotconf/printing/lpqcommand.xml
+++ b/docs-xml/smbdotconf/printing/lpqcommand.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="lpq command"
                  context="S"
                  type="string"
+                 constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <description>
     <para>This parameter specifies the command to be 
diff --git a/docs-xml/smbdotconf/printing/lpresumecommand.xml b/docs-xml/smbdotconf/printing/lpresumecommand.xml
index 153ba76a693..2cee574bd73 100644
--- a/docs-xml/smbdotconf/printing/lpresumecommand.xml
+++ b/docs-xml/smbdotconf/printing/lpresumecommand.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="lpresume command"
                  context="S"
                  type="string"
+                 constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter specifies the command to be 
diff --git a/docs-xml/smbdotconf/printing/lprmcommand.xml b/docs-xml/smbdotconf/printing/lprmcommand.xml
index 4b7f3dd75c3..a595c1225c0 100644
--- a/docs-xml/smbdotconf/printing/lprmcommand.xml
+++ b/docs-xml/smbdotconf/printing/lprmcommand.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="lprm command"
                  context="S"
                  type="string"
+                 constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter specifies the command to be 
diff --git a/docs-xml/smbdotconf/printing/printcommand.xml b/docs-xml/smbdotconf/printing/printcommand.xml
index c84e45f404d..42a7188cb9a 100644
--- a/docs-xml/smbdotconf/printing/printcommand.xml
+++ b/docs-xml/smbdotconf/printing/printcommand.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="print command"
                  context="S"
                  type="string"
+                 constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>After a print job has finished spooling to 
diff --git a/docs-xml/smbdotconf/printing/queuepausecommand.xml b/docs-xml/smbdotconf/printing/queuepausecommand.xml
index 5dca45657cc..600a2baa621 100644
--- a/docs-xml/smbdotconf/printing/queuepausecommand.xml
+++ b/docs-xml/smbdotconf/printing/queuepausecommand.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="queuepause command"
                  context="S"
                  type="string"
+                 constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter specifies the command to be 
diff --git a/docs-xml/smbdotconf/printing/queueresumecommand.xml b/docs-xml/smbdotconf/printing/queueresumecommand.xml
index 4a573330048..431295a804e 100644
--- a/docs-xml/smbdotconf/printing/queueresumecommand.xml
+++ b/docs-xml/smbdotconf/printing/queueresumecommand.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="queueresume command"
                  context="S"
                  type="string"
+                 constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter specifies the command to be 
diff --git a/docs-xml/smbdotconf/winbind/winbindnssinfo.xml b/docs-xml/smbdotconf/winbind/winbindnssinfo.xml
index d8347442a8d..e6d17c256a1 100644
--- a/docs-xml/smbdotconf/winbind/winbindnssinfo.xml
+++ b/docs-xml/smbdotconf/winbind/winbindnssinfo.xml
@@ -22,11 +22,10 @@
 			Domain Controller does support the Microsoft "Services for Unix" (SFU)
 			LDAP schema, winbind can retrieve the login shell and the home
 			directory attributes directly from your Directory Server. For SFU 3.0 or 3.5 simply choose
-			"sfu", if you use SFU 2.0 please choose "sfu20". Note that
-			retrieving UID and GID from your ADS-Server requires to
-			use <parameter moreinfo="none">idmap config DOMAIN:backend</parameter> = ad
-			as well. The primary group membership is currently
-			always calculated via the "primaryGroupID" LDAP attribute.
+			"sfu", if you use SFU 2.0 please choose "sfu20".</para>
+			<para>Note that for the idmap backend <refentrytitle>idmap_ad</refentrytitle>
+			you need to configure those settings in the idmap configuration section.
+			Make sure to consult the documentation of the idmap backend that you are using.
 			</para>
 		</listitem>
 	</itemizedlist>
diff --git a/lib/replace/wscript b/lib/replace/wscript
index b5919835c0b..0ebeb36944f 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -190,10 +190,35 @@ def configure(conf):
     conf.CHECK_TYPE_IN('sig_atomic_t', 'signal.h', define='HAVE_SIG_ATOMIC_T_TYPE')
     conf.CHECK_FUNCS('sigsetmask siggetmask sigprocmask sigblock sigaction sigset')
 
-    conf.CHECK_FUNCS_IN('''inet_ntoa inet_aton inet_ntop inet_pton connect gethostbyname
-                           getaddrinfo getnameinfo freeaddrinfo gai_strerror socketpair''',
-                        'socket nsl', checklibc=True,
-                        headers='sys/socket.h netinet/in.h arpa/inet.h netdb.h')
+    # Those functions are normally available in libc
+    if not conf.CHECK_FUNCS('''
+                            inet_ntoa
+                            inet_aton
+                            inet_ntop
+                            inet_pton
+                            connect
+                            gethostbyname
+                            getaddrinfo
+                            getnameinfo
+                            freeaddrinfo
+                            gai_strerror
+                            socketpair''',
+                            headers='sys/socket.h netinet/in.h arpa/inet.h netdb.h'):
+        conf.CHECK_FUNCS_IN('''
+                            inet_ntoa
+                            inet_aton
+                            inet_ntop
+                            inet_pton
+                            connect
+                            gethostbyname
+                            getaddrinfo
+                            getnameinfo
+                            freeaddrinfo
+                            gai_strerror
+                            socketpair''',
+                            'socket nsl',
+                            headers='sys/socket.h netinet/in.h arpa/inet.h netdb.h')
+        conf.DEFINE('REPLACE_REQUIRES_LIBSOCKET_LIBNSL', 1)
 
     conf.CHECK_FUNCS('memset_s memset_explicit')
 
@@ -835,6 +860,7 @@ def build(bld):
     extra_libs = ''
     if bld.CONFIG_SET('HAVE_LIBBSD'): extra_libs += ' bsd'
     if bld.CONFIG_SET('HAVE_LIBRT'): extra_libs += ' rt'
+    if bld.CONFIG_SET('REPLACE_REQUIRES_LIBSOCKET_LIBNSL'): extra_libs += ' socket nsl'
 
     bld.SAMBA_SUBSYSTEM('LIBREPLACE_HOSTCC',
         REPLACE_HOSTCC_SOURCE,
@@ -875,7 +901,7 @@ def build(bld):
                       # at the moment:
                       # hide_symbols=bld.BUILTIN_LIBRARY('replace'),
                       private_library=True,
-                      deps='crypt dl nsl socket attr' + extra_libs)
+                      deps='crypt dl attr' + extra_libs)
 
     replace_test_cflags = ''
     if bld.CONFIG_SET('HAVE_WNO_FORMAT_TRUNCATION'):
diff --git a/libgpo/pygpo.c b/libgpo/pygpo.c
index 4db8cad7ca4..b8dfcd5572f 100644


-- 
Samba Shared Repository



More information about the samba-cvs mailing list