Andrew Bartlett | 4 May 05:28 2015

Investigating CI options for Samba test branches

Towards my proposal for faster release cycles, I've been looking into
how we can ensure developers use their own time better.  In particular,
I'm really keen to see a situation where folks push 'try' branches to a
review server, and even if that isn't how the patch is finally merged,
that an autobuild 'just happens' against that tree.

That way, it is much less likely that the reviewer will have to re-push
things due to an autobuild failure, as if they look at the patch over 2
hours after it was written, the patch would have been automatically

So far, I've looked at the practical details of three systems.
 - my cloud-autobuild scripts (on the Catalyst Cloud)

I've got a patch to support the latter two solutions attached and here;a=shortlog;h=refs/heads/cloud-build

The cloud-autobuild scripts are at:;a=summary
git:// master

However, this solution requires an active step, pushing the build, and
of course an account on a cloud.


For, the build doesn't even start properly, perhaps there is a
disk space limit on their free plans.  This is however an interesting
option, perhaps if we host it on our own (virtual) systems, as it meets
our requirement of being an open source project.  I've asked for
(Continue reading)

Richard Sharpe | 4 May 04:36 2015

Found some more things needing converting in winbind ...

Sorry folks,

One more small cleanup patch.

Richard Sharpe
Uri Simchoni | 3 May 23:38 2015

[PATCH v2 0/3] Waf: Semi-automatic generation of results for cross-answers files

This patchset automates the generation of cross-answers file for cross-compiling
samba. It takes a different approach than the first version of the patch, 
namely that instead of cacheing the built tests and run them later in one
batch, it runs each test immediately using the cross-execute parameter.

One of the methods for cross-compiling samba is to provide a cross-answers file,
which contains the results of configure tests which have to run on the target.
The other method is the cross-execute parameter which typically points to a
target emulator. Cross-answer has the advantage of being more accurate, since
the results of the test depend on kernel configuration, something the emulator cannot
However, there's no automation in getting the correct answer for the target.
Realizing that cross-execute is actually not limited to emulators, but can be
used for running the test on an actual target, the solution is to use both
cross-answers and cross-execute parameters simultaneously, and fill
missing cross-answers by running cross-execute.

Typical workflow:
1. ./configure --cross-compile --cross-answers=<ca_file> --cross-execute=<cross-execute-script>
   -  ca_file is name of the partially-filled or non-existant cross-answers file.
   -  cross-execute is a script that runs the test on the target
   -  Note the simultaneous activation of both --cross-answers and --cross-execute.
      This combination activates the new mode.
2. Copy the resulting ca_file into someplace safe - this can be used
   later during production building.
3. Run production builds only with --cross-answers only - no link to the
   target is required.

Requirements of the cross-execute script:
(Continue reading)

Maks Naumov | 3 May 12:38 2015

[PATCH] s3: Fix pam_authenticate() when lp_null_passwords() is true

It seems this is an old bug.
For example:

From f53e1c8b63a528e087ed23543a0b187ca7e397b9 Mon Sep 17 00:00:00 2001
From: Maks Naumov <maksqwe1 <at>>
Date: Sun, 3 May 2015 13:34:49 +0300
Subject: [PATCH] s3: Fix pam_authenticate() when lp_null_passwords() is true

(PAM_SILENT | lp_null_passwords() ? 0 : PAM_DISALLOW_NULL_AUTHTOK)
is always 0 when lp_null_passwords() == true.

Signed-off-by: Maks Naumov <maksqwe1 <at>>
 source3/auth/pampass.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source3/auth/pampass.c b/source3/auth/pampass.c
index bde7c22..2a3195c 100644
--- a/source3/auth/pampass.c
+++ b/source3/auth/pampass.c
 <at>  <at>  -524,7 +524,7  <at>  <at>  static NTSTATUS smb_pam_auth(pam_handle_t *pamh, const char *user)

 	DEBUG(4,("smb_pam_auth: PAM: Authenticate User: %s\n", user));
-	pam_error = pam_authenticate(pamh, PAM_SILENT | lp_null_passwords() ? 0 : PAM_DISALLOW_NULL_AUTHTOK);
+	pam_error = pam_authenticate(pamh, PAM_SILENT | (lp_null_passwords() ? 0 : PAM_DISALLOW_NULL_AUTHTOK));
(Continue reading)

Felix Janda | 3 May 08:40 2015

[PATCH] replace: Replace BSD strtoll by wrapping strtoll instead of strtoq

When it is detected that strtoll returns EINVAL not only in the case
that the base is not supported, HAVE_BSD_STRTOLL is declared and
strtoll is replaced. The current replacement code wraps strtoq in
order to replace strtoll and errors out when strtoq is missing.

In order to remove this possible error path, we can use strtoll instead
of strtoq since the code is only used when it is known that strtoll exists.

The fixes a compilation problem on linux systems using musl libc, which
has a BSD-like strtoll but no strtoq.

Signed-off-by: Felix Janda <felix.janda <at>>
 lib/replace/replace.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/lib/replace/replace.c b/lib/replace/replace.c
index 9fae44a..dccf514 100644
--- a/lib/replace/replace.c
+++ b/lib/replace/replace.c
 <at>  <at>  -518,11 +518,10  <at>  <at>  long long int rep_strtoll(const char *str, char **endptr, int base)
 long long int rep_strtoll(const char *str, char **endptr, int base)
-	long long int nb = strtoq(str, endptr, base);
-	/* In linux EINVAL is only returned if base is not ok */
+	long long int nb = strtoll(str, endptr, base);
(Continue reading)

Richard Sharpe | 3 May 06:10 2015

Convert all uint32/16/8 to _t in source3/smbd/*.[hc]

One more ... this time smbd.

Richard Sharpe
Richard Sharpe | 3 May 05:12 2015

Convert all uint8/16/32 in the modules to _t.

One more down ...

Richard Sharpe
Uri Simchoni | 1 May 23:35 2015

[PATCH 0/2] libads: A couple of fixes for keytab generation

Fix a crash in "net ads keytab create" if the keytab file cannot be opened
Fix a deadlock in "net ads join" if a keytab is updated

Uri Simchoni (2):
  libads: Fix free of uninitialized pointer
  libads: Fix deadlock when re-joining a domain and updating keytab

 source3/libads/kerberos_keytab.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)



vishal | 1 May 18:15 2015

windows 2012 backup failure due to resilient file handles

I see this bug:
Did Microsoft came up with a patch for this or there is a fix in samba code for this issue?

Martin Schwenke | 1 May 12:51 2015

[PATCHES] Various minor CTDB improvements

This is an assortment of CTDB improvements that I have had around for
varying amounts of time.  :-)

These patches are also in my ctdb-misc branch:;a=shortlog;h=refs/heads/ctdb-misc

  git:// (ctdb-misc branch)

Review and push appreciated.  Thanks!

peace & happiness,
Attachment (ctdb.patches): application/octet-stream, 15 KiB
Martin Schwenke | 1 May 12:30 2015

[PATCHES] CTDB recovery daemon cleanups

This is a bunch of CTDB recovery daemon patches.  4 main themes:

* Remove capabilities from the struct ctdb_node.

  This particular capabilities entry is only used in the recovery
  daemon, so store them in struct ctdb_recoverd instead.

* Start cleaning up references to ctdb->recovery_daemon.

  This is part of a goal to move knowledge of the recovery master to
  the recovery daemon (and eventually a cluster management daemon).

* Start cleaning up recovery lock code.

  The goal is to handle the recovery lock using a helper program, so
  knowledge of a lock file (or similar) doesn't need to be spread

* Start tidying up the election code.

  This will eventually want to go into a cluster management daemon.

These patches are in my ctdb-recovery branch:;a=shortlog;h=refs/heads/ctdb-recovery

  git:// (ctdb-recovery branch)

Review and push appreciated.  Thanks!

(Continue reading)