Amitay Isaacs | 27 Mar 04:28 2015

[PATCH] tdb: Do not build test binaries if it's not a standalone build


This avoids building tdb test binaries in non-standalone builds.

Please review/push.

Tom | 26 Mar 20:18 2015

winbindd: Failed to fetch our own, local AD domain join password for winbindd's internal use


I apologize in advance for cross-posting (and posting for help) to
samba-technical, but I've been seeking help on the samba list and bugzilla
since last week and have had no replies. Using Google, I've found this
issue referenced only once on the mailing list and once in a bugzilla bug
(10991). Unfortunately, I've found no resolutions.

The problem appears to be specific to Samba 4.2, where domains were
provisioned using classicupgrade. In my case, the classicupgrade provision
was performed just a few weeks after 4.0.0 was released, going from version
3.6.x > 4.0.0. I have since kept my install fairly up to date throughout
the 4.0 and 4.1 cycles. I am currently trying to upgrade from 4.1.16 to
4.2.0. After this latest upgrade, S4 fails to start, with the above
mentioned error being logged to log.winbindd. I have found that adding
"server services = -winbindd +winbind" allows 4.2.0 to start correctly.
That said, I decided to revert to the 4.1.16 backup that I took immediately
before the upgrade. I did this just to be safe, as it appears to be
something specific to my AD directory, possibly related to the
classicupgrade. I say this because I do not have the issue with my test
domain, which was newly provisioned from 4.0.0.

I have moved a copy of my live 4.1.16 instance to a VM environment for
testing, and have duplicated the problem in testing. My goal was to upgrade
to 4.2.0 and setup a secondary DC here on-site before standing up 3 more
DCs at branch offices. I am wary of moving forward with this deployment
knowing this problem exists, or without at least better understanding what
is happening. The concern that something wrong with my AD directory
(stemming from the classicupgrade) is what really worries me and I
certainly don't want to start replicating "bad" data to remote sites.
(Continue reading)

Jeremy Allison | 26 Mar 18:12 2015

[PATCH] Fix bug #11177 - no talloc stackframe at ../source3/libsmb/clifsinfo.c:444, leaking memory

Pretty obvious, missing talloc stackframe in libsmbclient.

Confirmed by submitter.

Please review and push.


David Disseldorp | 26 Mar 15:31 2015

[PATCH v3] File Server Remote VSS Protocol server

This patch-set adds a new File Server Remote VSS (Volume Shadow Copy
Service) Protocol server, test infrastructure, documentation, and
corresponding VFS layer changes to handle remote share snapshot

FSRVP clients, including Samba's rpcclient utility, can request the
creation of a remote share snapshot using a sequence of operations as
documented in the MS-FSRVP[1] specification (§4 Protocol examples). E.g.
- IsPathSupported to query if the share is supported by the server for
  shadow copy operations.
  + Samba handles this request by calling the new snap_check_path() VFS
    hook, to check whether the underlying FS supports snapshots on the
    corresponding share path.
- SetContext to set the context of subsequent shadow copy operations.
- StartShadowCopySet to initiate a new shadow copy set on the server.
- AddToShadowCopySet to add a share to the shadow copy set.
  + Persistent FSRVP server state is stored by Samba in srv_fss.tdb.
- PrepareShadowCopySet  to prepare the shadow copy set.
- CommitShadowCopySet to commit a shadow copy set.
  + Samba handles this request by calling the new snap_create() VFS
    hook for each shadow copy in the set.
- ExposeShadowCopySet to expose all the shadow copies in a shadow copy
  set as file shares.
  + Samba uses the registry smb.conf back-end to dynamically expose
    snapshot shares, using configuration parameters and share ACLs
    cloned from the base share.

vfs_btrfs and vfs_snapper changes are included to perform snapshot
creation and deletion for Btrfs subvolumes.
A new vfs_shell_snap module is additionally provided, which allows for
(Continue reading)

Michael Adam | 26 Mar 14:09 2015

[PATCHES] regarding new logging


attached two patches regarding the new logging code:

1. fix a wording in the man page.
2. use 'logging = file' in selftest envs.
   (this removes warning messages)

Cheers - Michael

From 5a67adcea5f819b40727cd1f409b4124563194b7 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox <at>>
Date: Thu, 26 Mar 2015 13:45:50 +0100
Subject: [PATCH 1/2] docs: fix duplicate word in explanation of parameter

Signed-off-by: Michael Adam <obnox <at>>
 docs-xml/smbdotconf/logging/logging.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs-xml/smbdotconf/logging/logging.xml b/docs-xml/smbdotconf/logging/logging.xml
index 41b6c08..a82496b 100644
--- a/docs-xml/smbdotconf/logging/logging.xml
+++ b/docs-xml/smbdotconf/logging/logging.xml
 <at>  <at>  -5,7 +5,7  <at>  <at> 
(Continue reading)

Anoop C S | 26 Mar 13:57 2015

[PATCH] Coverity fixes


Reviews are welcomed.

--Anoop C S.

Volker Lendecke | 26 Mar 13:19 2015

[PATCH] Some Coverity fixes


Review&push appreciated!




SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen, mailto:kontakt <at>

David Disseldorp | 26 Mar 12:21 2015

[PATCH] replace: clean-up strlcpy and add note on return value

The existing implementation uses single line ifs, making the code hard
to visually parse.

Signed-off-by: David Disseldorp <ddiss <at>>
 lib/replace/replace.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/lib/replace/replace.c b/lib/replace/replace.c
index 2a9ca3e..9fae44a 100644
--- a/lib/replace/replace.c
+++ b/lib/replace/replace.c
 <at>  <at>  -64,14 +64,22  <at>  <at>  int rep_ftruncate(int f, off_t l)

-/* like strncpy but does not 0 fill the buffer and always null 
-   terminates. bufsize is the size of the destination buffer */
+ * Like strncpy but does not 0 fill the buffer and always null
+ * terminates. bufsize is the size of the destination buffer.
+ * Returns the length of s.
+ */
 size_t rep_strlcpy(char *d, const char *s, size_t bufsize)
 	size_t len = strlen(s);
 	size_t ret = len;
-	if (bufsize <= 0) return 0;
-	if (len >= bufsize) len = bufsize-1;
(Continue reading)

Guenther Deschner | 25 Mar 17:47 2015

[PATCH] add missing prototypes to generated python code


please review and push if appropriate.


Günther Deschner                    GPG-ID: 8EE11688
Red Hat                         gdeschner <at>
Samba Team                              gd <at>
From 4a0ab10d68fd3f8990ee1a692f6139dc3cb8893d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?G=C3=BCnther=20Deschner?= <gd <at>>
Date: Wed, 25 Mar 2015 17:38:12 +0100
Subject: [PATCH] pidl/python: add prototypes into header section of generated
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This stops emmiting hundreds of warnings when compiling with


Signed-off-by: Günther Deschner <gd <at>>
(Continue reading)

Julien Kerihuel | 24 Mar 16:34 2015

[PATCH] Add support for multiplexed connections in dcerpc server

Good afternoon all,

Attached is a patch to add support for multiplexed connections in dcerpc
server. The implementation scope is similar to
DCESRV_CALL_STATE_FLAG_ASYNC, which means that the endpoint defines
whether it supports the flag or not by adding it to dcesrv_call_state

Context: Microsoft Exchange is implementing a DCERPC endpoint server
called async_emsmdb with a single asynchronous call named
EcDoAyncWaitEx. When Outlook sends a EcDoAsyncWaitEx request, the server
does not reply  unless there is either a notification for Outlook to
process or the timeout of 5 minutes is reached. Without this patch,
Microsoft Outlook clients block and do not move further with any of the
existing connections from DCERPC altered context unless the call to
EcDoAsyncWaitEx actually returns. With this patch, Outlook operates
properly and as expected.

I have identified that implementing this multiplexed connection behavior
was both required when:

    1. initializing a new connection, hence dcesrv_bind

    2. when altering an existing context, hence dcesrv_alter. However,
    in this specific case we don't have existing state_flags on the
    connection. It is therefore necessary to save  and retrieving the
    flags from the existing context to decide whether or not the
    DCERPC_PFC_FLAG_CONC_MPX should be applied to the state_flags of the
    current connection.

(Continue reading)

David Disseldorp | 24 Mar 16:11 2015

[PATCH] util_tdb: mark tdb_pack() and friends as deprecated

Following a discussion[1] with Volker, add a note to the tdb_unpack()
and tdb_pack[_append]() prototypes describing them as deprecated.


Signed-off-by: David Disseldorp <ddiss <at>>
 source3/include/util_tdb.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/source3/include/util_tdb.h b/source3/include/util_tdb.h
index 13bdeab..80a8cac 100644
--- a/source3/include/util_tdb.h
+++ b/source3/include/util_tdb.h
 <at>  <at>  -32,6 +32,10  <at>  <at>  int tdb_trans_store(struct tdb_context *tdb, TDB_DATA key, TDB_DATA dbuf,
 		    int flag);
 int tdb_trans_delete(struct tdb_context *tdb, TDB_DATA key);

+ * The tdb_unpack() and tdb_pack[_append]() helpers are deprecated. Consider
+ * using idl/ndr for marshalling of complex data types instead.
+ */
 int tdb_unpack(const uint8 *buf, int bufsize, const char *fmt, ...);
 size_t tdb_pack(uint8 *buf, int bufsize, const char *fmt, ...);
 bool tdb_pack_append(TALLOC_CTX *mem_ctx, uint8 **buf, size_t *len,