[SCM] Samba Shared Repository - branch master updated

2019-06-28 Thread Jeremy Allison
The branch, master has been updated
   via  98e34c299dd .gitlab-ci.yml: Increase resources for 
samba-ad-dc-backup job
  from  0b556e7827b vfs_preopen: TALLOC_FREE(fde) before closing the 
underlying fd

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 98e34c299ddd8b24f3daeeafe45ab136ad015a47
Author: Andrew Bartlett 
Date:   Fri Jun 28 23:28:39 2019 +1200

.gitlab-ci.yml: Increase resources for samba-ad-dc-backup job

This job seems to need more resources, possibly after
b6b5b5fe355fee2a4096e9214831cb88c7a2a4c6 and
565341baf537c9b3145a882d6a23ad4f155c0036

Signed-off-by: Andrew Bartlett 
Reviewed-by: Jeremy Allison 

Autobuild-User(master): Jeremy Allison 
Autobuild-Date(master): Fri Jun 28 18:48:49 UTC 2019 on sn-devel-184

---

Summary of changes:
 .gitlab-ci.yml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7ac73546989..19f6c5beae7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -141,9 +141,6 @@ samba-ad-dc-5:
 samba-ad-dc-6:
   extends: .shared_template
 
-samba-ad-dc-backup:
-  extends: .shared_template
-
 samba-libs:
   extends: .shared_template
 
@@ -172,6 +169,9 @@ samba-ad-dc-ntvfs:
   # settings -> CI/CD -> Environment variables
   - $SUPPORT_PRIVATE_TEST == "yes"
 
+samba-ad-dc-backup:
+  extends: .private_template
+
 samba-fileserver:
   extends: .private_template
 


-- 
Samba Shared Repository



[SCM] Samba Shared Repository - branch master updated

2019-06-28 Thread Michael Adam
The branch, master has been updated
   via  0b556e7827b vfs_preopen: TALLOC_FREE(fde) before closing the 
underlying fd
   via  c26e42cb53f vfs_preopen: Fix an uninitialized variable read
   via  6bc70dcde26 vfs_preopen: Fix for O_NOFOLLOW
   via  c88240e0e70 smbd: Fix broken brlock for clustering
  from  fee8cf326bf vfs:glusterfs_fuse: treat ENOATTR as ENOENT

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 0b556e7827b32192cbbce1464e30764648ea1712
Author: Volker Lendecke 
Date:   Wed Jun 26 17:43:44 2019 +0200

vfs_preopen: TALLOC_FREE(fde) before closing the underlying fd

Without that we might get wrong stuff out of epoll

Signed-off-by: Volker Lendecke 
Reviewed-by: Michael Adam 

Autobuild-User(master): Michael Adam 
Autobuild-Date(master): Fri Jun 28 16:42:42 UTC 2019 on sn-devel-184

commit c26e42cb53f9cfd9a54cacde64817ccf4ddd0412
Author: Volker Lendecke 
Date:   Wed Jun 26 17:43:20 2019 +0200

vfs_preopen: Fix an uninitialized variable read

Signed-off-by: Volker Lendecke 
Reviewed-by: Michael Adam 

commit 6bc70dcde2685e13f2f4cd6d9876e022629004de
Author: Volker Lendecke 
Date:   Wed Jun 26 17:42:54 2019 +0200

vfs_preopen: Fix for O_NOFOLLOW

Since 4301505d977449d core smbd code passes O_NOFOLLOW together with
[O_RDONLY|O_RDWR] as flags. This breaks activating vfs_preopen, we
need to look at *just* the access mode.

Signed-off-by: Volker Lendecke 
Reviewed-by: Michael Adam 

commit c88240e0e70279207611a0aba4554cb907275e42
Author: Volker Lendecke 
Date:   Thu Jun 27 13:21:33 2019 +0200

smbd: Fix broken brlock for clustering

This should have been in f11c5887f4fb4b766, sorry. We now always need
TDB_SEQNUM on brlock.tdb.

Signed-off-by: Volker Lendecke 
Reviewed-by: Michael Adam 

---

Summary of changes:
 source3/locking/brlock.c  | 16 ++--
 source3/modules/vfs_preopen.c |  4 +++-
 2 files changed, 9 insertions(+), 11 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/locking/brlock.c b/source3/locking/brlock.c
index 00462a31c78..b4628831f5b 100644
--- a/source3/locking/brlock.c
+++ b/source3/locking/brlock.c
@@ -288,16 +288,12 @@ void brl_init(bool read_only)
return;
}
 
-   tdb_flags = 
TDB_DEFAULT|TDB_VOLATILE|TDB_CLEAR_IF_FIRST|TDB_INCOMPATIBLE_HASH;
-
-   if (!lp_clustering()) {
-   /*
-* We can't use the SEQNUM trick to cache brlock
-* entries in the clustering case because ctdb seqnum
-* propagation has a delay.
-*/
-   tdb_flags |= TDB_SEQNUM;
-   }
+   tdb_flags =
+   TDB_DEFAULT|
+   TDB_VOLATILE|
+   TDB_CLEAR_IF_FIRST|
+   TDB_INCOMPATIBLE_HASH|
+   TDB_SEQNUM;
 
db_path = lock_path(talloc_tos(), "brlock.tdb");
if (db_path == NULL) {
diff --git a/source3/modules/vfs_preopen.c b/source3/modules/vfs_preopen.c
index 24d33fafacd..a2afbf179f8 100644
--- a/source3/modules/vfs_preopen.c
+++ b/source3/modules/vfs_preopen.c
@@ -57,6 +57,7 @@ struct preopen_state {
 static void preopen_helper_destroy(struct preopen_helper *c)
 {
int status;
+   TALLOC_FREE(c->fde);
close(c->fd);
c->fd = -1;
kill(c->pid, SIGKILL);
@@ -274,6 +275,7 @@ static NTSTATUS preopen_init_helpers(TALLOC_CTX *mem_ctx, 
size_t to_read,
result->queue_max = queue_max;
result->template_fname = NULL;
result->fnum_sent = 0;
+   result->fnum_queue_end = 0;
 
for (i=0; ihelpers[i].state = result;
@@ -400,7 +402,7 @@ static int preopen_open(vfs_handle_struct *handle,
return -1;
}
 
-   if (flags != O_RDONLY) {
+   if ((flags & O_ACCMODE) != O_RDONLY) {
return res;
}
 


-- 
Samba Shared Repository



autobuild[sn-devel-184]: intermittent test failure detected

2019-06-28 Thread autobuild
The autobuild test system (on sn-devel-184) has detected an intermittent 
failing test in 
the current master tree.

The autobuild log of the failure is available here:

   
https://git.samba.org/autobuild.flakey.sn-devel-184/2019-06-28-1554/flakey.log

The failure seems to be in the "samba-ad-dc-2" suite, whose build logs are 
available here:

   
https://git.samba.org/autobuild.flakey.sn-devel-184/2019-06-28-1554/samba-ad-dc-2.stderr
   
https://git.samba.org/autobuild.flakey.sn-devel-184/2019-06-28-1554/samba-ad-dc-2.stdout
  
The top commit at the time of the failure was:

commit fee8cf326bfe240d3a8720569eab43f474349aff
Author: Michael Adam 
Date:   Thu Jun 20 15:14:57 2019 +0200

vfs:glusterfs_fuse: treat ENOATTR as ENOENT

The original implementation of the virtual xattr get_real_filename
in gluster was misusing the ENOENT errno as the authoritative anwer
that the file/dir that we were asking the real filename for does not
exist. But since the getxattr call is done on the parent directory,
this is a violation of the getxattr API which uses ENOENT for the
case that the file/dir that the getxattr call is done against does
not exist.

Now after a recent regression for fuse-mount re-exports due to
gluster mapping ENOENT to ESTALE in the fuse-bridge, the gluster
implementation is changed to more correctly return ENOATTR if the
requested file does not exist.

This patch changes the glusterfs_fuse vfs module to treat ENOATTR as
ENOENT to be fully functional again with latest gluster.

- Without this patch, samba against a new gluster will work correctly,
  but the get_real_filename optimization for a non-existing entry
  is lost.

- With this patch, Samba will not work correctly any more against
  very old gluster servers: Those (correctly) returned ENOATTR
  always, which Samba originally interpreted as EOPNOTSUPP, triggering
  the expensive directory scan. With this patch, ENOATTR is
  interpreted as ENOENT, the authoritative answer that the requested
  entry does not exist, which is wrong unless it really does not exist.

Signed-off-by: Michael Adam 
Reviewed-by: Guenther Deschner 

Autobuild-User(master): Günther Deschner 
Autobuild-Date(master): Fri Jun 28 12:52:03 UTC 2019 on sn-devel-184

and the last 50 lines of the stdout log were:

badPwdCount = '3'
lockoutTime = '132062107907405560'
badPasswordTime = '132062107907405560'
Failed to get kerberos credentials (kerberos required): kinit for 
lockout1krb5@SAMBADOMAIN failed (Preauthentication failed)

Wrong username or password: kinit for lockout1krb5@SAMBADOMAIN failed 
(Preauthentication failed)

gensec_spnego_create_negTokenInit_step: gssapi_krb5: creating NEG_TOKEN_INIT 
for ldap/rodc failed (next[(null)]): NT_STATUS_LOGON_FAILURE
Failed to bind - LDAP client internal error: NT_STATUS_LOGON_FAILURE
Failed to connect to 'ldap://rodc' with backend 'ldap': LDAP client internal 
error: NT_STATUS_LOGON_FAILURE
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
badPwdCount = '3'
lockoutTime = '132062107907405560'
badPasswordTime = '132062107907405560'
Failed to get kerberos credentials (kerberos required): kinit for 
lockout1krb5@SAMBADOMAIN failed (Preauthentication failed)

Wrong username or password: kinit for lockout1krb5@SAMBADOMAIN failed 
(Preauthentication failed)

gensec_spnego_create_negTokenInit_step: gssapi_krb5: creating NEG_TOKEN_INIT 
for ldap/rodc failed (next[(null)]): NT_STATUS_LOGON_FAILURE
Failed to bind - LDAP client internal error: NT_STATUS_LOGON_FAILURE
Failed to connect to 'ldap://rodc' with backend 'ldap': LDAP client internal 
error: NT_STATUS_LOGON_FAILURE
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
badPwdCount = '3'
lockoutTime = '132062107907405560'
badPasswordTime = '132062107907405560'
UNEXPECTED(failure): 
samba4.ldap.rodc_rwdc.python(rodc).__main__.RodcRwdcCachedTests.test_login_lockout_krb5(rodc:local)
REASON: Exception: Exception: Traceback (most recent call last):
  File 
"/memdisk/autobuild/fl/b2864834/samba-ad-dc-2/source4/dsdb/tests/python/rodc_rwdc.py",
 line 305, in test_login_lockout_krb5
self._test_login_lockout_rodc_rwdc(self.lockout1krb5_creds, userdn)
  File 
"/memdisk/autobuild/fl/b2864834/samba-ad-dc-2/source4/dsdb/tests/python/rodc_rwdc.py",
 line 556, in _test_login_lockout_rodc_rwdc
self.fail()
AssertionError: None

FAILED (1 failures, 0 errors and 0 unexpected successes in 0 testsuites)

A summary with detailed information can be found in:
  ./bin/ab/summary
TOP 10 slowest tests
samba4.ldap.large_ldap.gssapi.python(vampire_dc)(vampire_dc) -> 299
samba.wbinfo_sids2xids.(rodc:local)(rodc:local) -> 32
samba.tests.ntlm_auth(rodc:local) -> 15
samba.tests.dns(rodc:local) -> 8
samba.tests.py_credentials(vampire_dc) -> 6
samba4.ldap.rodc.python(rodc)(rodc) -> 6
samba.tests.dns(vampire_dc:local) -> 5

[SCM] Samba Shared Repository - branch master updated

2019-06-28 Thread Günther Deschner
The branch, master has been updated
   via  fee8cf326bf vfs:glusterfs_fuse: treat ENOATTR as ENOENT
   via  8899eb21d48 vfs:glusterfs: treat ENOATTR as ENOENT
  from  6e5bff80a0a s3:notifyd: Handle sigup in notifyd to reparse smb.conf

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit fee8cf326bfe240d3a8720569eab43f474349aff
Author: Michael Adam 
Date:   Thu Jun 20 15:14:57 2019 +0200

vfs:glusterfs_fuse: treat ENOATTR as ENOENT

The original implementation of the virtual xattr get_real_filename
in gluster was misusing the ENOENT errno as the authoritative anwer
that the file/dir that we were asking the real filename for does not
exist. But since the getxattr call is done on the parent directory,
this is a violation of the getxattr API which uses ENOENT for the
case that the file/dir that the getxattr call is done against does
not exist.

Now after a recent regression for fuse-mount re-exports due to
gluster mapping ENOENT to ESTALE in the fuse-bridge, the gluster
implementation is changed to more correctly return ENOATTR if the
requested file does not exist.

This patch changes the glusterfs_fuse vfs module to treat ENOATTR as
ENOENT to be fully functional again with latest gluster.

- Without this patch, samba against a new gluster will work correctly,
  but the get_real_filename optimization for a non-existing entry
  is lost.

- With this patch, Samba will not work correctly any more against
  very old gluster servers: Those (correctly) returned ENOATTR
  always, which Samba originally interpreted as EOPNOTSUPP, triggering
  the expensive directory scan. With this patch, ENOATTR is
  interpreted as ENOENT, the authoritative answer that the requested
  entry does not exist, which is wrong unless it really does not exist.

Signed-off-by: Michael Adam 
Reviewed-by: Guenther Deschner 

Autobuild-User(master): Günther Deschner 
Autobuild-Date(master): Fri Jun 28 12:52:03 UTC 2019 on sn-devel-184

commit 8899eb21d48b7077328ae560490f9fb9715a6b83
Author: Michael Adam 
Date:   Thu Jun 20 15:14:57 2019 +0200

vfs:glusterfs: treat ENOATTR as ENOENT

The original implementation of the virtual xattr get_real_filename
in gluster was misusing the ENOENT errno as the authoritative anwer
that the file/dir that we were asking the real filename for does not
exist. But since the getxattr call is done on the parent directory,
this is a violation of the getxattr API which uses ENOENT for the
case that the file/dir that the getxattr call is done against does
not exist.

Now after a recent regression for fuse-mount re-exports due to
gluster mapping ENOENT to ESTALE in the fuse-bridge, the gluster
implementation is changed to more correctly return ENOATTR if the
requested file does not exist.

This patch changes the glusterfs vfs module to treat ENOATTR as ENOENT
to be fully functional again with latest gluster.

- Without this patch, samba against a new gluster will work correctly,
  but the get_real_filename optimization for a non-existing entry
  is lost.

- With this patch, Samba will not work correctly any more against
  very old gluster servers: Those (correctly) returned ENOATTR
  always, which Samba originally interpreted as EOPNOTSUPP, triggering
  the expensive directory scan. With this patch, ENOATTR is
  interpreted as ENOENT, the authoritative answer that the requested
  entry does not exist, which is wrong unless it really does not exist.

Signed-off-by: Michael Adam 
Reviewed-by: Guenther Deschner 

---

Summary of changes:
 source3/modules/vfs_glusterfs.c  | 2 +-
 source3/modules/vfs_glusterfs_fuse.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/vfs_glusterfs.c b/source3/modules/vfs_glusterfs.c
index e8617215355..95f32f9d0a6 100644
--- a/source3/modules/vfs_glusterfs.c
+++ b/source3/modules/vfs_glusterfs.c
@@ -1473,7 +1473,7 @@ static int vfs_gluster_get_real_filename(struct 
vfs_handle_struct *handle,
GLUSTER_NAME_MAX + 1);
if (ret == -1) {
if (errno == ENOATTR) {
-   errno = EOPNOTSUPP;
+   errno = ENOENT;
}
return -1;
}
diff --git a/source3/modules/vfs_glusterfs_fuse.c 
b/source3/modules/vfs_glusterfs_fuse.c
index d92f5e2b08b..51515aa0df4 100644
--- a/source3/modules/vfs_glusterfs_fuse.c
+++ b/source3/modules/vfs_glusterfs_fuse.c
@@ -45,7 +45,7 @@ static int vfs_gluster_fuse_get_real_filename(struct 
vfs_handle_struct *handle,
ret = getxattr(path, key_buf, val_buf,