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

Karolin Seeger kseeger at samba.org
Tue Feb 23 11:41:42 UTC 2016


The branch, v4-4-stable has been updated
       via  ff77a11 VERSION: Disable git snapshots for the Samba 4.4.0rc3 release.
       via  84348b2 WHATSNEW: Add release notes for Samba 4.4.0rc3.
       via  a2aea37 Real memeory leak(buildup) issue in loadparm.
       via  956289e libcli: Fix debug message, print sid string for new_ace trustee.
       via  d605d6d docs: Add manpage for cifsdd
       via  db13d6a s4-client: Fix cifsdd arg parsing for skip
       via  fce2c82 docs: Add example for domain logins to smbspool man page.
       via  a5f6056 script/release.sh: generate announce.${tagname}.patch.txt in announcement_samba_rc()
       via  3e92dce script/release.sh: improve error messages if the tag verification fails
       via  1a70742 s3-waf: Install smbspool_krb5_wrapper in LIBEXECDIR
       via  389c89c ctdb: Install helpers under libexecdir
       via  3a4be07 ctdb-scripts: Drop use of "smbcontrol winbindd ip-dropped ..."
       via  4f637ba lib/tsocket: workaround sockets not supporting FIONREAD
       via  6774af1 param: Fix str_list_v3 to accept ; again
       via  b65697f lib:socket: fix CID 1350009 - illegal memory accesses (BUFFER_SIZE_WARNING)
       via  08b1ff8 s3:utils/smbget set default blocksize
       via  5ca7624 s3:utils/smbget add a error message on allocation error
       via  558663a lib/socket: Fix improper use of default interface speed
       via  903b13e loadparm: Fix memory leak issue.
       via  2c91eb7 Revert "ctdb-daemon: Check packet generation against database generation"
       via  f3bca17 s3: smbd: posix_acls: Fix check for setting u:g:o entry on a filesystem with no ACL support.
       via  0221677 s3:smbd:open: Skip redundant call to file_set_dosmode when creating a new file.
       via  c358f3c smbd: Fix CID 1351216 Dereference null return value
       via  ed8a55f smbd: Fix CID 1351215 Improper use of negative value
       via  6c2a3e2 lib:socket: fix CID 1350010 - integer OVERFLOW_BEFORE_WIDEN
       via  0a0276b VERSION: Bump version up to 4.4.0rc3...
      from  186206f VERSION: Disable git snapshots for the Samba 4.4.0rc2 release.

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


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

Summary of changes:
 VERSION                                  |   2 +-
 WHATSNEW.txt                             |  52 +++++++++++++++-
 ctdb/config/events.d/11.natgw            |   6 +-
 ctdb/config/events.d/49.winbind          |   7 ---
 ctdb/config/functions                    |   4 ++
 ctdb/config/statd-callout                |   9 +--
 ctdb/packaging/RPM/ctdb.spec.in          |  11 ++--
 ctdb/server/ctdb_call.c                  |  59 ++++--------------
 ctdb/server/ctdb_server.c                |  21 +++++--
 ctdb/tests/eventscripts/scripts/local.sh |   1 +
 ctdb/wscript                             |  19 +++---
 docs-xml/manpages/cifsdd.8.xml           | 101 +++++++++++++++++++++++++++++++
 docs-xml/manpages/smbspool.8.xml         |   5 ++
 docs-xml/wscript_build                   |   1 +
 lib/socket/interfaces.c                  |   9 ++-
 lib/tsocket/tsocket_bsd.c                |  62 ++++++++++++++++++-
 lib/util/util_strlist.c                  |  18 +++++-
 libcli/security/secdesc.c                |   2 +-
 script/release.sh                        |  44 +++++++++++++-
 source3/param/loadparm.c                 |  40 ++++++++----
 source3/smbd/open.c                      |   4 +-
 source3/smbd/posix_acls.c                |  39 +++++++++++-
 source3/smbd/smbXsrv_client.c            |  15 ++++-
 source3/utils/smbget.c                   |   4 +-
 source3/wscript_build                    |   1 +
 source4/client/cifsdd.c                  |   2 +-
 26 files changed, 426 insertions(+), 112 deletions(-)
 create mode 100644 docs-xml/manpages/cifsdd.8.xml


Changeset truncated at 500 lines:

diff --git a/VERSION b/VERSION
index f254fd5..4cd96cc 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=2
+SAMBA_VERSION_RC_RELEASE=3
 
 ########################################################
 # To mark SVN snapshots this should be set to 'yes'    #
diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 3805f5f..721eb9c 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -1,7 +1,7 @@
 Release Announcements
 =====================
 
-This is the second release candidate of Samba 4.4.  This is *not*
+This is the third release candidate of Samba 4.4.  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/.
@@ -235,6 +235,54 @@ KNOWN ISSUES
 Currently none.
 
 
+CHANGES SINCE 4.4.0rc2
+======================
+
+o  Michael Adam <obnox at samba.org>
+   * BUG 11723: lib:socket: Fix CID 1350010: Integer OVERFLOW_BEFORE_WIDEN.
+   * BUG 11735: lib:socket: Fix CID 1350009: Fix illegal memory accesses
+     (BUFFER_SIZE_WARNING).
+
+o  Jeremy Allison <jra at samba.org>
+   * BUG 10489: s3: smbd: posix_acls: Fix check for setting u:g:o entry on a
+     filesystem with no ACL support.
+
+o  Christian Ambach <ambi at samba.org>
+   * BUG 11700: s3:utils/smbget: Set default blocksize.
+
+o  Anoop C S <anoopcs at redhat.com>
+   * BUG 11734: lib/socket: Fix improper use of default interface speed.
+
+o  Ralph Boehme <slow at samba.org>
+   * BUG 11714: lib/tsocket: Work around sockets not supporting FIONREAD.
+
+o  Volker Lendecke <vl at samba.org>
+   * BUG 11724: smbd: Fix CID 1351215 Improper use of negative value.
+   * BUG 11725: smbd: Fix CID 1351216 Dereference null return value.
+   * BUG 11732: param: Fix str_list_v3 to accept ; again.
+
+o  Noel Power <noel.power at suse.com>
+   * BUG 11738: libcli: Fix debug message, print sid string for new_ace trustee.
+
+o  Jose A. Rivera <jarrpa at samba.org>
+   * BUG 11727: s3:smbd:open: Skip redundant call to file_set_dosmode when
+     creating a new file.
+
+o  Andreas Schneider <asn at samba.org>
+   * BUG 11730: docs: Add manpage for cifsdd.
+   * BUG 11739: Fix installation path of Samba helper binaries.
+
+o  Berend De Schouwer <berend.de.schouwer at gmail.com>
+   * BUG 11643: docs: Add example for domain logins to smbspool man page.
+
+o  Martin Schwenke <martin at meltin.net>
+   * BUG 11719: ctdb-scripts: Drop use of "smbcontrol winbindd ip-dropped ..."
+
+o  Hemanth Thummala <hemanth.thummala at nutanix.com>
+   * BUG 11708: loadparm: Fix memory leak issue.
+   * BUG 11740: Fix memory leak in loadparm.
+
+
 CHANGES SINCE 4.4.0rc1
 ======================
 
@@ -245,7 +293,7 @@ o  Jeremy Allison <jra at samba.org>
    * BUG 11703: s3: smbd: Fix timestamp rounding inside SMB2 create.
 
 o  Christian Ambach <ambi at samba.org>
-   * BUG 11700:  Streamline 'smbget' options with the rest of the Samba utils.
+   * BUG 11700: Streamline 'smbget' options with the rest of the Samba utils.
 
 o  Günther Deschner <gd at samba.org>
    * BUG 11696: ctdb: Do not provide a useless pkgconfig file for ctdb.
diff --git a/ctdb/config/events.d/11.natgw b/ctdb/config/events.d/11.natgw
index 2b30eeb..25cf27f 100755
--- a/ctdb/config/events.d/11.natgw
+++ b/ctdb/config/events.d/11.natgw
@@ -164,15 +164,11 @@ natgw_set_slave ()
 	_net="${_net_gw%@*}"
 	ip route add "$_net" via "$_natgwip" metric 10
     done
-
-    # Make sure winbindd does not stay bound to this address if we are
-    # no longer NATGW master
-    smbcontrol winbindd ip-dropped $CTDB_NATGW_PUBLIC_IP >/dev/null 2>&1
 }
 
 natgw_ensure_master ()
 {
-    set -- $(ctdb_natgw master)
+    set -- $("${CTDB_HELPER_BINDIR}/ctdb_natgw" master)
     natgwmaster="${1:--1}" # Default is -1 if natgwlist fails
     natgwip="$2"
 
diff --git a/ctdb/config/events.d/49.winbind b/ctdb/config/events.d/49.winbind
index dee3c90..a1ea787 100755
--- a/ctdb/config/events.d/49.winbind
+++ b/ctdb/config/events.d/49.winbind
@@ -55,13 +55,6 @@ case "$1" in
 	ctdb_check_command wbinfo -p
 	;;
 
-     takeip|releaseip)
-	iface=$2
-	ip=$3
-	maskbits=$4
-
-	smbcontrol winbindd ip-dropped $ip >/dev/null 2>/dev/null
-	;;
     *)
 	ctdb_standard_event_handler "$@"
 	;;
diff --git a/ctdb/config/functions b/ctdb/config/functions
index b714c63..eab5563 100755
--- a/ctdb/config/functions
+++ b/ctdb/config/functions
@@ -20,6 +20,10 @@ if [ -z "$CTDB_SYS_ETCDIR" ] ; then
     CTDB_SYS_ETCDIR="/etc"
 fi
 
+if [ -z "$CTDB_HELPER_BINDIR" ] ; then
+    CTDB_HELPER_BINDIR="/usr/local/libexec/ctdb"
+fi
+
 #######################################
 # pull in a system config file, if any
 
diff --git a/ctdb/config/statd-callout b/ctdb/config/statd-callout
index f56e50f..a923d8a 100755
--- a/ctdb/config/statd-callout
+++ b/ctdb/config/statd-callout
@@ -168,6 +168,7 @@ case "$1" in
 	statd_state=$(ctdb catdb ctdb.tdb | sed -n "$sed_expr" | sort)
 	[ -n "$statd_state" ] || exit 0
 
+	smnotify="${CTDB_HELPER_BINDIR}/smnotify"
 	prev=""
 	echo "$statd_state" | {
 	    # This all needs to be in the same command group at the
@@ -186,12 +187,12 @@ case "$1" in
 		# Reset stateval for each serverip
 		[ "$sip" = "$prev" ] || stateval="$state_even"
 		# Send notifies for server shutdown
-		smnotify --client=$cip --ip=$sip --server=$sip --stateval=$stateval
-		smnotify --client=$cip --ip=$sip --server=$NFS_HOSTNAME --stateval=$stateval
+		"$smnotify" --client=$cip --ip=$sip --server=$sip --stateval=$stateval
+		"$smnotify" --client=$cip --ip=$sip --server=$NFS_HOSTNAME --stateval=$stateval
 		# Send notifies for server startup
 		stateval=$(($stateval + 1))
-		smnotify --client=$cip --ip=$sip --server=$sip --stateval=$stateval
-		smnotify --client=$cip --ip=$sip --server=$NFS_HOSTNAME --stateval=$stateval
+		"$smnotify" --client=$cip --ip=$sip --server=$sip --stateval=$stateval
+		"$smnotify" --client=$cip --ip=$sip --server=$NFS_HOSTNAME --stateval=$stateval
 	    done
 
 	    echo "$items" | ctdb ptrans "ctdb.tdb"
diff --git a/ctdb/packaging/RPM/ctdb.spec.in b/ctdb/packaging/RPM/ctdb.spec.in
index 420ec52..1547dfb 100644
--- a/ctdb/packaging/RPM/ctdb.spec.in
+++ b/ctdb/packaging/RPM/ctdb.spec.in
@@ -195,15 +195,16 @@ rm -rf $RPM_BUILD_ROOT
 %{_sbindir}/ctdbd
 %{_sbindir}/ctdbd_wrapper
 %{_bindir}/ctdb
-%{_bindir}/ctdb_lock_helper
-%{_bindir}/ctdb_event_helper
-%{_bindir}/ctdb_recovery_helper
-%{_bindir}/smnotify
 %{_bindir}/ping_pong
 %{_bindir}/ltdbtool
 %{_bindir}/ctdb_diagnostics
 %{_bindir}/onnode
-%{_bindir}/ctdb_natgw
+%dir %{_libexecdir}/ctdb
+%{_libexecdir}/ctdb/ctdb_lock_helper
+%{_libexecdir}/ctdb/ctdb_event_helper
+%{_libexecdir}/ctdb/ctdb_recovery_helper
+%{_libexecdir}/ctdb/ctdb_natgw
+%{_libexecdir}/ctdb/smnotify
 %dir %{_libdir}
 %{_libdir}/ctdb/lib*
 %{_libdir}/libtevent-unix-util.so.0*
diff --git a/ctdb/server/ctdb_call.c b/ctdb/server/ctdb_call.c
index db9fb6a..b61754e 100644
--- a/ctdb/server/ctdb_call.c
+++ b/ctdb/server/ctdb_call.c
@@ -586,23 +586,6 @@ void ctdb_request_dmaster(struct ctdb_context *ctdb, struct ctdb_req_header *hdr
 	size_t len;
 	int ret;
 
-	ctdb_db = find_ctdb_db(ctdb, c->db_id);
-	if (!ctdb_db) {
-		ctdb_send_error(ctdb, hdr, -1,
-				"Unknown database in request. db_id==0x%08x",
-				c->db_id);
-		return;
-	}
-
-	if (hdr->generation != ctdb_db->generation) {
-		DEBUG(DEBUG_DEBUG,
-		      ("ctdb operation %u request %u from node %u to %u had an"
-		       " invalid generation:%u while our generation is:%u\n",
-		       hdr->operation, hdr->reqid, hdr->srcnode, hdr->destnode,
-		       hdr->generation, ctdb_db->generation));
-		return;
-	}
-
 	key.dptr = c->data;
 	key.dsize = c->keylen;
 	data.dptr = c->data + c->keylen;
@@ -614,6 +597,14 @@ void ctdb_request_dmaster(struct ctdb_context *ctdb, struct ctdb_req_header *hdr
 		       sizeof(record_flags));
 	}
 
+	ctdb_db = find_ctdb_db(ctdb, c->db_id);
+	if (!ctdb_db) {
+		ctdb_send_error(ctdb, hdr, -1,
+				"Unknown database in request. db_id==0x%08x",
+				c->db_id);
+		return;
+	}
+
 	dmaster_defer_setup(ctdb_db, hdr, key);
 
 	/* fetch the current record */
@@ -642,7 +633,7 @@ void ctdb_request_dmaster(struct ctdb_context *ctdb, struct ctdb_req_header *hdr
 	if (header.dmaster != hdr->srcnode) {
 		DEBUG(DEBUG_ALERT,("pnn %u dmaster request for new-dmaster %u from non-master %u real-dmaster=%u key %08x dbid 0x%08x gen=%u curgen=%u c->rsn=%llu header.rsn=%llu reqid=%u keyval=0x%08x\n",
 			 ctdb->pnn, c->dmaster, hdr->srcnode, header.dmaster, ctdb_hash(&key),
-			 ctdb_db->db_id, hdr->generation, ctdb_db->generation,
+			 ctdb_db->db_id, hdr->generation, ctdb->vnn_map->generation,
 			 (unsigned long long)c->rsn, (unsigned long long)header.rsn, c->hdr.reqid,
 			 (key.dsize >= 4)?(*(uint32_t *)key.dptr):0));
 		if (header.rsn != 0 || header.dmaster != ctdb->pnn) {
@@ -657,7 +648,7 @@ void ctdb_request_dmaster(struct ctdb_context *ctdb, struct ctdb_req_header *hdr
 	if (header.rsn > c->rsn) {
 		DEBUG(DEBUG_ALERT,("pnn %u dmaster request with older RSN new-dmaster %u from %u real-dmaster=%u key %08x dbid 0x%08x gen=%u curgen=%u c->rsn=%llu header.rsn=%llu reqid=%u\n",
 			 ctdb->pnn, c->dmaster, hdr->srcnode, header.dmaster, ctdb_hash(&key),
-			 ctdb_db->db_id, hdr->generation, ctdb_db->generation,
+			 ctdb_db->db_id, hdr->generation, ctdb->vnn_map->generation,
 			 (unsigned long long)c->rsn, (unsigned long long)header.rsn, c->hdr.reqid));
 	}
 
@@ -902,6 +893,7 @@ void ctdb_request_call(struct ctdb_context *ctdb, struct ctdb_req_header *hdr)
 		return;
 	}
 
+
 	ctdb_db = find_ctdb_db(ctdb, c->db_id);
 	if (!ctdb_db) {
 		ctdb_send_error(ctdb, hdr, -1,
@@ -910,15 +902,6 @@ void ctdb_request_call(struct ctdb_context *ctdb, struct ctdb_req_header *hdr)
 		return;
 	}
 
-	if (hdr->generation != ctdb_db->generation) {
-		DEBUG(DEBUG_DEBUG,
-		      ("ctdb operation %u request %u from node %u to %u had an"
-		       " invalid generation:%u while our generation is:%u\n",
-		       hdr->operation, hdr->reqid, hdr->srcnode, hdr->destnode,
-		       hdr->generation, ctdb_db->generation));
-		return;
-	}
-
 	call = talloc(hdr, struct ctdb_call);
 	CTDB_NO_MEMORY_FATAL(ctdb, call);
 
@@ -1193,15 +1176,6 @@ void ctdb_reply_call(struct ctdb_context *ctdb, struct ctdb_req_header *hdr)
 		return;
 	}
 
-	if (hdr->generation != state->generation) {
-		DEBUG(DEBUG_DEBUG,
-		      ("ctdb operation %u request %u from node %u to %u had an"
-		       " invalid generation:%u while our generation is:%u\n",
-		       hdr->operation, hdr->reqid, hdr->srcnode, hdr->destnode,
-		       hdr->generation, state->generation));
-		return;
-	}
-
 
 	/* read only delegation processing */
 	/* If we got a FETCH_WITH_HEADER we should check if this is a ro
@@ -1296,16 +1270,7 @@ void ctdb_reply_dmaster(struct ctdb_context *ctdb, struct ctdb_req_header *hdr)
 		DEBUG(DEBUG_ERR,("Unknown db_id 0x%x in ctdb_reply_dmaster\n", c->db_id));
 		return;
 	}
-
-	if (hdr->generation != ctdb_db->generation) {
-		DEBUG(DEBUG_DEBUG,
-		      ("ctdb operation %u request %u from node %u to %u had an"
-		       " invalid generation:%u while our generation is:%u\n",
-		       hdr->operation, hdr->reqid, hdr->srcnode, hdr->destnode,
-		       hdr->generation, ctdb_db->generation));
-		return;
-	}
-
+	
 	key.dptr = c->data;
 	key.dsize = c->keylen;
 	data.dptr = &c->data[key.dsize];
diff --git a/ctdb/server/ctdb_server.c b/ctdb/server/ctdb_server.c
index b30ecaa..7d42c38 100644
--- a/ctdb/server/ctdb_server.c
+++ b/ctdb/server/ctdb_server.c
@@ -225,11 +225,22 @@ void ctdb_input_pkt(struct ctdb_context *ctdb, struct ctdb_req_header *hdr)
 			goto done;
 		}
 
-		/* Push the check for generation in the handlers for these
-		 * operations.  Check database generation instead of global
-		 * generation.  Since the database context is not available
-		 * here, push the check in the operations.
-		 */
+		/* for ctdb_call inter-node operations verify that the
+		   remote node that sent us the call is running in the
+		   same generation instance as this node
+		*/
+		if (ctdb->vnn_map->generation != hdr->generation) {
+			DEBUG(DEBUG_DEBUG,(__location__ " ctdb operation %u"
+				" request %u"
+				" length %u from node %u to %u had an"
+				" invalid generation id:%u while our"
+				" generation id is:%u\n", 
+				 hdr->operation, hdr->reqid,
+				 hdr->length, 
+				 hdr->srcnode, hdr->destnode, 
+				 hdr->generation, ctdb->vnn_map->generation));
+			goto done;
+		}
 	}
 
 	switch (hdr->operation) {
diff --git a/ctdb/tests/eventscripts/scripts/local.sh b/ctdb/tests/eventscripts/scripts/local.sh
index 82ebc09..fcb7519 100644
--- a/ctdb/tests/eventscripts/scripts/local.sh
+++ b/ctdb/tests/eventscripts/scripts/local.sh
@@ -13,6 +13,7 @@ if [ -d "${TEST_SUBDIR}/stubs" ] ; then
 	/*) : ;;
 	*) EVENTSCRIPTS_PATH="${PWD}/${EVENTSCRIPTS_PATH}" ;;
     esac
+    export CTDB_HELPER_BINDIR="$EVENTSCRIPTS_PATH"
 fi
 
 export EVENTSCRIPTS_PATH
diff --git a/ctdb/wscript b/ctdb/wscript
index e1fad17..5739269 100755
--- a/ctdb/wscript
+++ b/ctdb/wscript
@@ -181,6 +181,7 @@ def configure(conf):
     conf.env.CTDB_ETCDIR = os.path.join(conf.env.SYSCONFDIR, 'ctdb')
     conf.env.CTDB_VARDIR = os.path.join(conf.env.LOCALSTATEDIR, 'lib/ctdb')
     conf.env.CTDB_RUNDIR = os.path.join(conf.env.LOCALSTATEDIR, 'run/ctdb')
+    conf.env.CTDB_HELPER_BINDIR = os.path.join(conf.env.LIBEXECDIR, 'ctdb')
 
     if Options.options.ctdb_logdir:
         conf.env.CTDB_LOGDIR = Options.options.ctdb_logdir
@@ -199,7 +200,7 @@ def configure(conf):
                        -DCTDB_ETCDIR=\"%s\"
                        -DCTDB_VARDIR=\"%s\"
                        -DCTDB_RUNDIR=\"%s\"''' % (
-                    conf.env.CTDB_BINDIR,
+                    conf.env.CTDB_HELPER_BINDIR,
                     conf.env.CTDB_LOGDIR,
                     conf.env.CTDB_ETCDIR,
                     conf.env.CTDB_VARDIR,
@@ -432,19 +433,19 @@ def build(bld):
                      source='server/ctdb_lock_helper.c',
                      deps='samba-util ctdb-system talloc tdb',
                      includes='include',
-                     install_path='${BINDIR}')
+                     install_path='${CTDB_HELPER_BINDIR}')
 
     bld.SAMBA_BINARY('ctdb_event_helper',
                      source='server/ctdb_event_helper.c',
                      includes='include',
                      deps='samba-util ctdb-system replace tdb',
-                     install_path='${BINDIR}')
+                     install_path='${CTDB_HELPER_BINDIR}')
 
     bld.SAMBA_BINARY('ctdb_recovery_helper',
                      source='server/ctdb_recovery_helper.c',
                      deps='''ctdb-client2 ctdb-protocol ctdb-util
                              samba-util replace tdb''',
-                     install_path='${BINDIR}')
+                     install_path='${CTDB_HELPER_BINDIR}')
 
     bld.SAMBA_GENERATOR('ctdb-smnotify-h',
                         source='utils/smnotify/smnotify.x',
@@ -468,7 +469,7 @@ def build(bld):
                                        'smnotify.c gen_smnotify.c gen_xdr.c'),
                      deps='ctdb-smnotify-h ctdb-smnotify-c ctdb-smnotify-x popt',
                      includes='utils utils/smnotify',
-                     install_path='${BINDIR}')
+                     install_path='${CTDB_HELPER_BINDIR}')
 
     bld.SAMBA_BINARY('ping_pong',
                      source='utils/ping_pong/ping_pong.c',
@@ -500,8 +501,10 @@ def build(bld):
     sed_expr3 = 's|/usr/local/var/log|%s|g'       % (bld.env.CTDB_LOGDIR)
     sed_expr4 = 's|/usr/local/var/run/ctdb|%s|g'  % (bld.env.CTDB_RUNDIR)
     sed_expr5 = 's|/usr/local/sbin|%s|g'          % (bld.env.SBINDIR)
-    sed_cmdline = '-e "%s" -e "%s" -e "%s" -e "%s" -e "%s"' % \
-                       (sed_expr1, sed_expr2, sed_expr3, sed_expr4, sed_expr5)
+    sed_expr6 = 's|/usr/local/libexec/ctdb|%s|g'  % (bld.env.CTDB_HELPER_BINDIR)
+    sed_cmdline = '-e "%s" -e "%s" -e "%s" -e "%s" -e "%s" -e "%s"' % \
+                       (sed_expr1, sed_expr2, sed_expr3, sed_expr4, sed_expr5,
+                        sed_expr6)
 
     for f in manpages:
         x = '%s.xml' % (f)
@@ -540,7 +543,7 @@ def build(bld):
                         source='tools/ctdb_natgw',
                         target='ctdb_natgw',
                         rule='sed %s ${SRC} > ${TGT}' % (sed_cmdline))
-    bld.INSTALL_FILES('${BINDIR}', 'ctdb_natgw',
+    bld.INSTALL_FILES('${CTDB_HELPER_BINDIR}', 'ctdb_natgw',
                       destname='ctdb_natgw', chmod=0755)
 
     bld.SAMBA_GENERATOR('ctdbd-wrapper',
diff --git a/docs-xml/manpages/cifsdd.8.xml b/docs-xml/manpages/cifsdd.8.xml
new file mode 100644
index 0000000..572ed7b
--- /dev/null
+++ b/docs-xml/manpages/cifsdd.8.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
+<refentry id="smbspool.8">
+
+<refmeta>
+	<refentrytitle>cifsdd</refentrytitle>
+	<manvolnum>8</manvolnum>
+	<refmiscinfo class="source">Samba</refmiscinfo>
+	<refmiscinfo class="manual">System Administration tools</refmiscinfo>
+	<refmiscinfo class="version">4.4</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+	<refname>cifsdd</refname>
+	<refpurpose>convert and copy a file over SMB</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+	<cmdsynopsis>
+		<command>cifsdd</command>
+		<arg choice="opt">OPERAND</arg>...
+	</cmdsynopsis>
+	<cmdsynopsis>
+		<command>cifsdd</command>
+		<arg choice="plain">OPTION</arg>
+	</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+	<title>DESCRIPTION</title>
+
+	<para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+	<manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+	<para>Copy a file, converting and formatting according to the operands.</para>
+
+	<variablelist>
+		<varlistentry>
+			<term>bs=BYTES</term>
+			<listitem><para>read and write up to BYTES bytes at a time (default: 4096)</para></listitem>
+		</varlistentry>
+		<varlistentry>
+			<term>ibs=BYTES</term>
+			<listitem><para>read up to BYTES bytes at a time (default: 4096)</para></listitem>
+		</varlistentry>
+		<varlistentry>
+			<term>obs=BYTES</term>
+			<listitem><para>write BYTES bytes at a time (default: 4096)</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+			<term>if=FILE</term>
+			<listitem><para>read from FILE instead of stdin</para></listitem>
+		</varlistentry>
+		<varlistentry>
+			<term>of=FILE</term>


-- 
Samba Shared Repository



More information about the samba-cvs mailing list