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

Karolin Seeger kseeger at samba.org
Mon Feb 22 18:35:05 UTC 2016


The branch, v4-4-test has been updated
       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
      from  3a4be07 ctdb-scripts: Drop use of "smbcontrol winbindd ip-dropped ..."

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


- Log -----------------------------------------------------------------
commit a2aea37161f55475e5fb25cf92a2b050389bb412
Author: Hemanth Thummala <hemanth.thummala at nutanix.com>
Date:   Tue Feb 16 14:44:38 2016 -0800

    Real memeory leak(buildup) issue in loadparm.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=11740
    
    As part of reload services, unused service ptr structures are getting
    unloaded without actually freeingup the memory associated to them.
    
    Made changes to freeup those allocations on unload. On reload, reuse the
    slots in ServicePtr global array instead of extending the array with
    holes.
    
    Also we should mark shares like IPC$ as auto loaded as they never be
    exposed to users.
    
    Signed-off-by: Hemanth Thummala <hemanth.thummala at nutanix.com>
    Reviewed-by: Volker Lendecke <Volker.Lendecke at SerNet.DE>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Wed Feb 17 22:30:25 CET 2016 on sn-devel-144
    
    (cherry picked from commit 03081c2c1484504bdcc0e111b2df95e073c1c166)
    
    Autobuild-User(v4-4-test): Karolin Seeger <kseeger at samba.org>
    Autobuild-Date(v4-4-test): Mon Feb 22 19:33:58 CET 2016 on sn-devel-144

commit 956289e6b55e2917ac539de1eb32c33d83d28c7c
Author: Noel Power <noel.power at suse.com>
Date:   Thu Feb 11 16:00:55 2016 +0000

    libcli: Fix debug message, print sid string for new_ace trustee.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=11738
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    (cherry picked from commit c4cd56c484c4edd8f271524bdd8e97a9e52116e6)

commit d605d6d4d6beddbddc3996bc78c821bbcb90f2ba
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Feb 11 10:49:39 2016 +0100

    docs: Add manpage for cifsdd
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=11730
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>
    
    (cherry picked from commit a5e349a5ffaba56c47dc73b809b427f17abe1c65)

commit db13d6adcb97479b2c98f7f4068f0f9dd4ca4e65
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Feb 11 10:47:58 2016 +0100

    s4-client: Fix cifsdd arg parsing for skip
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=11730
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>
    (cherry picked from commit 23d2c7f6707fee14330881c341249d6ce766dda0)

commit fce2c82f0a3336c8f4ffc56c5dc5f4d7dc6eaec6
Author: Berend De Schouwer <berend.de.schouwer at gmail.com>
Date:   Mon Feb 22 11:09:57 2016 +0100

    docs: Add example for domain logins to smbspool man page.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=11643
    
    Reviewed-by: Karolin Seeger <kseeger at samba.org>

commit a5f60566ef7768f40d19695fe80c137167836542
Author: Karolin Seeger <kseeger at samba.org>
Date:   Wed Jan 27 12:33:21 2016 +0100

    script/release.sh: generate announce.${tagname}.patch.txt in announcement_samba_rc()
    
    This was only done in announcement_samba_stable() before.
    
    Pair-Programmed-With: Stefan Metzmacher <metze at samba.org>
    
    Signed-off-by: Karolin Seeger <kseeger at samba.org>
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    
    Autobuild-User(master): Karolin Seeger <kseeger at samba.org>
    Autobuild-Date(master): Mon Feb 15 17:41:49 CET 2016 on sn-devel-144
    
    (cherry picked from commit 19fdc7fd5785498044223874460f0ef13e88f576)

commit 3e92dcefb65029dd700a9b620ac6357456993983
Author: Karolin Seeger <kseeger at samba.org>
Date:   Wed Jan 27 12:29:44 2016 +0100

    script/release.sh: improve error messages if the tag verification fails
    
    This makes it more obvious if a gpg key is expired.
    
    Pair-Programmed-With: Stefan Metzmacher <metze at samba.org>
    
    Signed-off-by: Karolin Seeger <kseeger at samba.org>
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    (cherry picked from commit d87077afb41e3602443bbd79b1466f35e087e457)

commit 1a7074247418e615f83c09512e9540449b616009
Author: Andreas Schneider <asn at samba.org>
Date:   Fri Feb 12 08:46:10 2016 +0100

    s3-waf: Install smbspool_krb5_wrapper in LIBEXECDIR
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=11739
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>
    
    (cherry picked from commit b504918372df0a55585c92da445f4e1fba4af04a)

commit 389c89c8ae02bf35d7621962a1bc33230caf4038
Author: Martin Schwenke <martin at meltin.net>
Date:   Fri Feb 12 10:12:13 2016 +1100

    ctdb: Install helpers under libexecdir
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=11739
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    
    (cherry picked from commit 0a5cb637d4e25ab94f8dcfd8ab2d205eac90bec3)

-----------------------------------------------------------------------

Summary of changes:
 ctdb/config/events.d/11.natgw            |   2 +-
 ctdb/config/functions                    |   4 ++
 ctdb/config/statd-callout                |   9 +--
 ctdb/packaging/RPM/ctdb.spec.in          |  11 ++--
 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 +
 libcli/security/secdesc.c                |   2 +-
 script/release.sh                        |  44 +++++++++++++-
 source3/param/loadparm.c                 |  40 ++++++++----
 source3/wscript_build                    |   1 +
 source4/client/cifsdd.c                  |   2 +-
 14 files changed, 207 insertions(+), 35 deletions(-)
 create mode 100644 docs-xml/manpages/cifsdd.8.xml


Changeset truncated at 500 lines:

diff --git a/ctdb/config/events.d/11.natgw b/ctdb/config/events.d/11.natgw
index 956f77b..25cf27f 100755
--- a/ctdb/config/events.d/11.natgw
+++ b/ctdb/config/events.d/11.natgw
@@ -168,7 +168,7 @@ natgw_set_slave ()
 
 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/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/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>
+			<listitem><para>write to FILE instead of stdout</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+			<term>count=N</term>
+			<listitem><para>copy only N input blocks</para></listitem>
+		</varlistentry>
+		<varlistentry>
+			<term>seek=N</term>
+			<listitem><para>skip N obs-sized blocks at start of output</para></listitem>
+		</varlistentry>
+		<varlistentry>
+			<term>skip=N</term>
+			<listitem><para>skip N ibs-sized blocks at start of input</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+			<term>direct</term>
+			<listitem><para>use direct I/O for data</para></listitem>
+		</varlistentry>
+		<varlistentry>
+			<term>sync</term>
+			<listitem><para>use synchronous writes</para></listitem>
+		</varlistentry>
+		<varlistentry>
+			<term>oplock</term>
+			<listitem><para>take oplocks on the input and output files</para></listitem>
+		</varlistentry>
+	</variablelist>
+</refsect1>
+
+<refsect1>
+	<title>AUTHOR</title>
+
+	<para>The original Samba software and related utilities
+	were created by Andrew Tridgell. Samba is now developed
+	by the Samba Team as an Open Source project similar
+	to the way the Linux kernel is developed.</para>
+
+	<para>The cifsdd manpage was written by Andreas
+		Schneider.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/smbspool.8.xml b/docs-xml/manpages/smbspool.8.xml
index 51be69f..56aa5d3 100644
--- a/docs-xml/manpages/smbspool.8.xml
+++ b/docs-xml/manpages/smbspool.8.xml
@@ -50,6 +50,7 @@
 		<listitem><para>smb://server[:port]/printer</para></listitem>
 		<listitem><para>smb://workgroup/server[:port]/printer</para></listitem>
 		<listitem><para>smb://username:password@server[:port]/printer</para></listitem>
+		<listitem><para>smb://domain\username:password@server[:port]/printer</para></listitem>
 		<listitem><para>smb://username:password@workgroup/server[:port]/printer</para></listitem>
 	</itemizedlist>
 
@@ -62,6 +63,10 @@
 	pass the URI in argv[0], while shell scripts must set the 
 	<envar>DEVICE_URI</envar> environment variable prior to
 	running smbspool.</para>
+
+	<para>smbspool will accept URI escaped characters.  This allows setting
+	a domain in the username, or space in the printer name. For example
+	smb://domain%5Cusername/printer%20name</para>
 </refsect1>
 
 <refsect1>
diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build
index 3a87ad1..11b826b 100644
--- a/docs-xml/wscript_build
+++ b/docs-xml/wscript_build
@@ -1,6 +1,7 @@
 #!/usr/bin/env python
 from samba_utils import save_file
 manpages='''
+         manpages/cifsdd.8
          manpages/dbwrap_tool.1
          manpages/eventlogadm.8
          manpages/findsmb.1
diff --git a/libcli/security/secdesc.c b/libcli/security/secdesc.c
index bbad8a3..6e20e90 100644
--- a/libcli/security/secdesc.c
+++ b/libcli/security/secdesc.c
@@ -567,7 +567,7 @@ NTSTATUS se_create_child_secdesc(TALLOC_CTX *ctx,
 			  " inherited as %s:%d/0x%02x/0x%08x\n",
 			  dom_sid_string(frame, &ace->trustee),
 			  ace->type, ace->flags, ace->access_mask,
-			  dom_sid_string(frame, &ace->trustee),
+			  dom_sid_string(frame, &new_ace->trustee),
 			  new_ace->type, new_ace->flags,
 			  new_ace->access_mask));
 
diff --git a/script/release.sh b/script/release.sh
index e5d93a7..7db4e53 100755
--- a/script/release.sh
+++ b/script/release.sh
@@ -216,6 +216,8 @@ verify_samba_stable() {
 
 	git tag -v "${oldtagname}" >${verify_out} 2>&1 || {
 		echo "failed to verify old tag[${oldtagname}]"
+		echo ""
+		cat "${verify_out}"
 		return 1
 	}
 
@@ -411,7 +413,9 @@ check_nopatch() {
 	echo "Verifying tagname: ${tagname}"
 
 	git tag -v "${tagname}" >${verify_out} 2>&1 || {
-		echo "failed to verify old tag[${oldtagname}]"
+		echo "failed to verify tag[${tagname}]"
+		echo ""
+		cat "${verify_out}"
 		return 1
 	}
 	grep -q "${GPG_KEYID}" "${verify_out}" || {
@@ -460,7 +464,9 @@ check_samba_stable() {
 	echo "Verifying tagname: ${tagname}"
 
 	git tag -v "${tagname}" >${verify_out} 2>&1 || {
-		echo "failed to verify old tag[${oldtagname}]"
+		echo "failed to verify tag[${tagname}]"
+		echo ""
+		cat "${verify_out}"
 		return 1
 	}
 	grep -q "${GPG_KEYID}" "${verify_out}" || {
@@ -704,6 +710,40 @@ announcement_samba_rc() {
 		echo "<!-- END: ${bodyfile} -->"
 	} > announce.${tagname}.body.html
 
+	local webrepo="${TMPDIR}/webrepo"
+
+	mkdir "${webrepo}" || {
+		return 1
+	}
+	git -C "${webrepo}" init || {
+		return 1
+	}
+
+	mkdir -p "$(dirname ${webrepo}/${headlinefile})" || {
+		return 1
+	}
+	cp -a "announce.${tagname}.headline.html" "${webrepo}/${headlinefile}" || {
+		return 1
+	}
+
+	mkdir -p "$(dirname ${webrepo}/${bodyfile})" || {
+		return 1
+	}
+	cp -a "announce.${tagname}.body.html" "${webrepo}/${bodyfile}" || {
+		return 1
+	}
+
+	git -C "${webrepo}" add "${headlinefile}" "${bodyfile}" || {
+		return 1
+	}
+	git -C "${webrepo}" commit --signoff --message "NEWS[${version}]: Samba ${version} Available for Download" || {
+		return 1
+	}
+	CLEANUP_FILES="${CLEANUP_FILES} announce.${tagname}.patch.txt"
+	git -C "${webrepo}" format-patch --stdout -1 HEAD > announce.${tagname}.patch.txt || {
+		return 1
+	}
+
 	CLEANUP_FILES="${CLEANUP_FILES} announce.${tagname}.todo.txt"
 	{
 		ls -lart announce.${tagname}.*
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index fb92230..605555e 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -93,8 +93,11 @@ static struct smbconf_csn conf_last_csn;
 static int config_backend = CONFIG_BACKEND_FILE;
 
 /* some helpful bits */
-#define LP_SNUM_OK(i) (((i) >= 0) && ((i) < iNumServices) && (ServicePtrs != NULL) && ServicePtrs[(i)]->valid)
-#define VALID(i) (ServicePtrs != NULL && ServicePtrs[i]->valid)
+#define LP_SNUM_OK(i) (((i) >= 0) && ((i) < iNumServices) && \
+                       (ServicePtrs != NULL) && \
+		       (ServicePtrs[(i)] != NULL) && ServicePtrs[(i)]->valid)
+#define VALID(i) ((ServicePtrs != NULL) && (ServicePtrs[i]!= NULL) && \
+                  ServicePtrs[i]->valid)
 
 #define USERSHARE_VALID 1
 #define USERSHARE_PENDING_DELETE 2
@@ -1358,7 +1361,7 @@ static void free_service_byindex(int idx)
 	}
 
 	free_service(ServicePtrs[idx]);
-	talloc_free_children(ServicePtrs[idx]);
+	TALLOC_FREE(ServicePtrs[idx]);
 }
 
 /***************************************************************************
@@ -1380,20 +1383,30 @@ static int add_a_service(const struct loadparm_service *pservice, const char *na
 		}
 	}
 
-	/* if not, then create one */
-	i = iNumServices;
-	tsp = talloc_realloc(NULL, ServicePtrs, struct loadparm_service *, num_to_alloc);
-	if (tsp == NULL) {
-		DEBUG(0,("add_a_service: failed to enlarge ServicePtrs!\n"));
-		return (-1);
+	/* Re use empty slots if any before allocating new one.*/
+	for (i=0; i < iNumServices; i++) {
+		if (ServicePtrs[i] == NULL) {
+			break;
+		}
 	}
-	ServicePtrs = tsp;
-	ServicePtrs[iNumServices] = talloc_zero(ServicePtrs, struct loadparm_service);
-	if (!ServicePtrs[iNumServices]) {
+	if (i == iNumServices) {
+		/* if not, then create one */
+		tsp = talloc_realloc(NULL, ServicePtrs,
+				     struct loadparm_service *,
+				     num_to_alloc);
+		if (tsp == NULL) {
+			DEBUG(0, ("add_a_service: failed to enlarge "
+				  "ServicePtrs!\n"));
+			return (-1);
+		}
+		ServicePtrs = tsp;
+		iNumServices++;
+	}
+	ServicePtrs[i] = talloc_zero(ServicePtrs, struct loadparm_service);
+	if (!ServicePtrs[i]) {
 		DEBUG(0,("add_a_service: out of memory!\n"));
 		return (-1);
 	}
-	iNumServices++;
 
 	ServicePtrs[i]->valid = true;
 
@@ -1559,6 +1572,7 @@ static bool lp_add_ipc(const char *ipc_name, bool guest_ok)
 	ServicePtrs[i]->guest_ok = guest_ok;
 	ServicePtrs[i]->printable = false;
 	ServicePtrs[i]->browseable = sDefault.browseable;
+	ServicePtrs[i]->autoloaded = true;
 
 	DEBUG(3, ("adding IPC service\n"));
 
diff --git a/source3/wscript_build b/source3/wscript_build
index 14cccc5..7848541 100755
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -1191,6 +1191,7 @@ bld.SAMBA3_BINARY('smbspool_krb5_wrapper',
                  DYNCONFIG
                  cups
                  ''',
+                 install_path='${LIBEXECDIR}/samba',
                  enabled=bld.CONFIG_SET('HAVE_CUPS'))
 
 bld.SAMBA3_BINARY('testparm',
diff --git a/source4/client/cifsdd.c b/source4/client/cifsdd.c
index 7d412a5..48ffe18 100644
--- a/source4/client/cifsdd.c
+++ b/source4/client/cifsdd.c
@@ -571,7 +571,7 @@ int main(int argc, const char ** argv)
 	/* Block counts. */
 	set_arg_val("count", (uint64_t)-1);
 	set_arg_val("seek", (uint64_t)0);
-	set_arg_val("seek", (uint64_t)0);
+	set_arg_val("skip", (uint64_t)0);
 	/* Files. */


-- 
Samba Shared Repository



More information about the samba-cvs mailing list