[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Thu Nov 24 12:06:01 UTC 2022


The branch, master has been updated
       via  95676825adb gitlab-ci: do some basic testing on ubuntu1804-32bit
       via  98c1e357a7f selftest: add --default-ldb-backend option
       via  9ba10b97d3a selftest: samba-ktest-mit also needs $ENV{KRB5RCACHETYPE} = "none"
       via  dce639f8bd7 CVE-2022-42898: HEIMDAL: lib/krb5: fix _krb5_get_int64 on systems where 'unsigned long' is just 32-bit
       via  838f6207879 third_party: Update socket_wrapper to version 1.3.5
       via  6dddb268df0 lib/replace: let rep_openat2() inject O_LARGEFILE as needed
       via  4c2e1d6259c s3:locking: relax __SHARE_MODE_LOCK_SPACE check for 32bit platforms
       via  44192d5f2ca s4:kdc: make sure reset_bad_password_netlogon() stops subreq before return
       via  73ec7253139 s4:messaging: add irpc_bh_do_ndr_print() in order to debug irpc calls
       via  1414269dccf CVE-2021-20251: s4:auth: fix use after free in authsam_logon_success_accounting()
       via  2dcd8369fe7 bootstrap: Remove duplicate line from CentOS 8 powertools install
       via  3dbe8fd66ca bootstrap: Spelling fix in bootstrap from Michael Tokarev
       via  f738842adba tests: Replace OpenSSL MD4 invocation with a python3 call
      from  09f8d4ac81a tests: Start testing smb2 symlink error returns

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


- Log -----------------------------------------------------------------
commit 95676825adbb13ab2a0e24983780125218c17265
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Nov 22 10:41:39 2022 +0100

    gitlab-ci: do some basic testing on ubuntu1804-32bit
    
    For now we allow build warnings and only do some basic testing.
    We also ignore timestamp related problems, as well as some charset
    failures.
    
    Over time we should try to address the situation by not allowing warnings
    and verify if expected failures are harmless or not.
    
    But it's already much better then having no 32bit testing at all!
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    
    Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
    Autobuild-Date(master): Thu Nov 24 12:05:26 UTC 2022 on sn-devel-184

commit 98c1e357a7fd25b6706b4341b3407c03369501fc
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Nov 22 10:31:19 2022 +0100

    selftest: add --default-ldb-backend option
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 9ba10b97d3aa50f89f01bb038d98a8086d409c3e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Nov 4 10:23:07 2022 +0000

    selftest: samba-ktest-mit also needs $ENV{KRB5RCACHETYPE} = "none"
    
    We need to pass --mitkrb5 to selftest.pl in all cases we use
    system mit kerberos not only when we also test the kdc.
    
    We can't use a replay cache in selftest verifies the stat.st_uid
    against getuid().
    
    BTW: while debugging this on ubuntu 22.04 I exported
    KRB5_TRACE="/dev/stderr", which means we get tracing into
    the servers log file and into selftest_prefix/subunit for the client...
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit dce639f8bd75ecdca261d1dc8b97ce6a8ebb4eb0
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Nov 16 12:08:45 2022 +0100

    CVE-2022-42898: HEIMDAL: lib/krb5: fix _krb5_get_int64 on systems where 'unsigned long' is just 32-bit
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15203
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 838f62078795150bb7ec9ec1b4690a1d6a8991ae
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Nov 23 12:14:12 2022 +0100

    third_party: Update socket_wrapper to version 1.3.5
    
    This injects O_LARGEFILE as needed.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit 6dddb268df08fd91f8e0f189f948ad76e5805dca
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Nov 23 11:38:20 2022 +0100

    lib/replace: let rep_openat2() inject O_LARGEFILE as needed
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15251
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 4c2e1d6259c4c06fce5d1333553b611ffd8f0ef4
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Nov 22 10:47:33 2022 +0100

    s3:locking: relax __SHARE_MODE_LOCK_SPACE check for 32bit platforms
    
    sizeof(struct share_mode_lock) is only 28 bytes instead of 32 bytes
    on 32bit systems...
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 44192d5f2cae2350d7de109690799dea1a2a2e16
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Nov 7 17:40:07 2022 +0100

    s4:kdc: make sure reset_bad_password_netlogon() stops subreq before return
    
    We pass the stack variable 'req' to dcerpc_winbind_SendToSam_r_send(),
    so we need to make sure the runtime of the subreq in not longer
    than the stack variable.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15253
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 73ec7253139cf4704135ec7abfa6a669e158fddc
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Nov 7 17:15:32 2022 +0100

    s4:messaging: add irpc_bh_do_ndr_print() in order to debug irpc calls
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15253
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 1414269dccfd7cb831889cc92df35920b034457c
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Nov 7 17:21:44 2022 +0100

    CVE-2021-20251: s4:auth: fix use after free in authsam_logon_success_accounting()
    
    This fixes a use after free problem introduced by
    commit 7b8e32efc336fb728e0c7e3dd6fbe2ed54122124,
    which has msg = current; which means the lifetime
    of the 'msg' memory is no longer in the scope of th
    caller.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14611
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15253
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 2dcd8369fe7e6c7664f5e18324e85e0c4eebb2d5
Author: Joseph Sutton <josephsutton at catalyst.net.nz>
Date:   Mon Oct 10 13:54:08 2022 +1300

    bootstrap: Remove duplicate line from CentOS 8 powertools install
    
    This was missed in 136ec5bc01e2648bae34a1158f923fbf5a86d561 when
    we moved to CentOS 8 stream.
    
    Signed-off-by: Joseph Sutton <josephsutton at catalyst.net.nz>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 3dbe8fd66ca7d98fd05f5ff9ed9e414b9dd1915b
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Thu Oct 27 11:39:02 2022 +1300

    bootstrap: Spelling fix in bootstrap from Michael Tokarev
    
    This could not previously be included as all changes require a full image rebuild
    as they change the SHA1 hash.
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit f738842adba3a50a6019ff6d0360763e7540659d
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Oct 31 12:01:12 2022 +1300

    tests: Replace OpenSSL MD4 invocation with a python3 call
    
    This will allow the test to pass on Ubuntu 22.04 which has MD4 disabled
    in OpenSSL by default.
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

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

Summary of changes:
 .gitlab-ci-main.yml                                |   9 +-
 bootstrap/.gitlab-ci.yml                           |   5 +
 bootstrap/config.py                                |  12 ++-
 bootstrap/generated-dists/Vagrantfile              |   7 ++
 bootstrap/generated-dists/centos8s/bootstrap.sh    |   3 +-
 .../{debian11 => ubuntu1804-32bit}/Dockerfile      |   2 +-
 .../{ubuntu1804 => ubuntu1804-32bit}/bootstrap.sh  |   0
 .../{centos7 => ubuntu1804-32bit}/locale.sh        |   0
 .../{ubuntu1804 => ubuntu1804-32bit}/packages.yml  |   0
 bootstrap/sha1sum.txt                              |   2 +-
 lib/replace/replace.c                              |  16 +++
 script/autobuild.py                                |  16 +++
 selftest/knownfail-32bit                           | 117 +++++++++++++++++++++
 selftest/selftest.pl                               |   5 +-
 selftest/skip-32bit                                |  69 ++++++++++++
 selftest/target/Samba.pm                           |   5 +-
 selftest/target/Samba4.pm                          |  15 +--
 selftest/wscript                                   |  11 +-
 source3/locking/share_mode_lock.c                  |   2 +-
 source3/script/tests/test_rpcclient_pw_nt_hash.sh  |   2 +-
 source4/auth/ntlm/auth_sam.c                       |   1 +
 source4/auth/ntlm/auth_winbind.c                   |   2 +-
 source4/auth/sam.c                                 |   9 +-
 source4/auth/tests/sam.c                           |  24 ++---
 source4/kdc/hdb-samba4.c                           |  17 ++-
 source4/kdc/mit_samba.c                            |   4 +-
 source4/lib/messaging/messaging.c                  |  33 ++++++
 third_party/heimdal/lib/krb5/store-int.c           |   2 +-
 third_party/socket_wrapper/socket_wrapper.c        |  39 +++++--
 29 files changed, 381 insertions(+), 48 deletions(-)
 copy bootstrap/generated-dists/{debian11 => ubuntu1804-32bit}/Dockerfile (91%)
 copy bootstrap/generated-dists/{ubuntu1804 => ubuntu1804-32bit}/bootstrap.sh (100%)
 copy bootstrap/generated-dists/{centos7 => ubuntu1804-32bit}/locale.sh (100%)
 copy bootstrap/generated-dists/{ubuntu1804 => ubuntu1804-32bit}/packages.yml (100%)
 create mode 100644 selftest/knownfail-32bit
 create mode 100644 selftest/skip-32bit


Changeset truncated at 500 lines:

diff --git a/.gitlab-ci-main.yml b/.gitlab-ci-main.yml
index f1f9908dc55..8bc33ecfc4d 100644
--- a/.gitlab-ci-main.yml
+++ b/.gitlab-ci-main.yml
@@ -47,7 +47,7 @@ variables:
   # Set this to the contents of bootstrap/sha1sum.txt
   # which is generated by bootstrap/template.py --render
   #
-  SAMBA_CI_CONTAINER_TAG: e3639b136a9b626936e849fb2976ebeed7e4fd3b
+  SAMBA_CI_CONTAINER_TAG: ae284a5a64fcff65729bf50b5b0cfdba16afc682
   #
   # We use the ubuntu1804 image as default as
   # it matches what we have on sn-devel-184.
@@ -59,6 +59,7 @@ variables:
   # We should run that for each available image
   #
   SAMBA_CI_CONTAINER_IMAGE_ubuntu1804: ubuntu1804
+  SAMBA_CI_CONTAINER_IMAGE_ubuntu1804_32bit: ubuntu1804-32bit
   SAMBA_CI_CONTAINER_IMAGE_ubuntu2004: ubuntu2004
   SAMBA_CI_CONTAINER_IMAGE_debian11: debian11
   SAMBA_CI_CONTAINER_IMAGE_opensuse154: opensuse154
@@ -576,6 +577,12 @@ coverity:
     paths:
       - cov-int/*.txt
 
+ubuntu1804-samba-32bit:
+  extends: .shared_template
+  variables:
+    AUTOBUILD_JOB_NAME: samba-32bit
+    SAMBA_CI_JOB_IMAGE: ${SAMBA_CI_CONTAINER_IMAGE_ubuntu1804_32bit}
+
 #
 # We build samba-o3 on all supported distributions
 #
diff --git a/bootstrap/.gitlab-ci.yml b/bootstrap/.gitlab-ci.yml
index dff5cd2bf94..fee2861e6ea 100644
--- a/bootstrap/.gitlab-ci.yml
+++ b/bootstrap/.gitlab-ci.yml
@@ -91,6 +91,11 @@
 ubuntu1804:
   extends: .build_image_template
 
+ubuntu1804-32bit:
+  extends: .build_image_template
+  variables:
+    SAMBA_CI_TEST_JOB: "samba-32bit"
+
 ubuntu2004:
   extends: .build_image_template
 
diff --git a/bootstrap/config.py b/bootstrap/config.py
index 048f256ef2e..bbcd45a044c 100644
--- a/bootstrap/config.py
+++ b/bootstrap/config.py
@@ -126,7 +126,7 @@ PKGS = [
     ('apt-utils', 'yum-utils'),
     ('pkg-config', 'pkgconfig'),
     ('procps', 'procps-ng'),  # required for the free cmd in tests
-    ('lsb-release', 'lsb-release'),  # we need lsb_relase to show info
+    ('lsb-release', 'lsb-release'),  # we need lsb_release to show info
     ('', 'rpcgen'),  # required for test
     # refer: https://fedoraproject.org/wiki/Changes/SunRPCRemoval
     ('', 'libtirpc-devel'),  # for <rpc/rpc.h> header on fedora
@@ -245,8 +245,7 @@ yum install -y dnf-plugins-core
 yum install -y epel-release
 
 yum -v repolist all
-yum config-manager --set-enabled powertools -y || \
-    yum config-manager --set-enabled powertools -y
+yum config-manager --set-enabled powertools -y
 
 yum update -y
 
@@ -428,6 +427,13 @@ DEB_DISTS = {
             'liburing-dev': '',   # not available
         }
     },
+    'ubuntu1804-32bit': {
+        'docker_image': 'registry-1.docker.io/i386/ubuntu:18.04',
+        'vagrant_box': 'ubuntu/bionic32',
+        'replace': {
+            'liburing-dev': '',   # not available
+        }
+    },
     'ubuntu2004': {
         'docker_image': 'ubuntu:20.04',
         'vagrant_box': 'ubuntu/focal64',
diff --git a/bootstrap/generated-dists/Vagrantfile b/bootstrap/generated-dists/Vagrantfile
index dad82c1e502..64ab54d2682 100644
--- a/bootstrap/generated-dists/Vagrantfile
+++ b/bootstrap/generated-dists/Vagrantfile
@@ -59,6 +59,13 @@ Vagrant.configure("2") do |config|
         v.vm.provision :shell, path: "ubuntu1804/locale.sh"
     end
 
+    config.vm.define "ubuntu1804-32bit" do |v|
+        v.vm.box = "ubuntu/bionic32"
+        v.vm.hostname = "ubuntu1804-32bit"
+        v.vm.provision :shell, path: "ubuntu1804-32bit/bootstrap.sh"
+        v.vm.provision :shell, path: "ubuntu1804-32bit/locale.sh"
+    end
+
     config.vm.define "ubuntu2004" do |v|
         v.vm.box = "ubuntu/focal64"
         v.vm.hostname = "ubuntu2004"
diff --git a/bootstrap/generated-dists/centos8s/bootstrap.sh b/bootstrap/generated-dists/centos8s/bootstrap.sh
index cc3d92eaeb4..0dc04a843dd 100755
--- a/bootstrap/generated-dists/centos8s/bootstrap.sh
+++ b/bootstrap/generated-dists/centos8s/bootstrap.sh
@@ -12,8 +12,7 @@ yum install -y dnf-plugins-core
 yum install -y epel-release
 
 yum -v repolist all
-yum config-manager --set-enabled powertools -y || \
-    yum config-manager --set-enabled powertools -y
+yum config-manager --set-enabled powertools -y
 
 yum update -y
 
diff --git a/bootstrap/generated-dists/debian11/Dockerfile b/bootstrap/generated-dists/ubuntu1804-32bit/Dockerfile
similarity index 91%
copy from bootstrap/generated-dists/debian11/Dockerfile
copy to bootstrap/generated-dists/ubuntu1804-32bit/Dockerfile
index b7a46ca53e5..3d0c21c1434 100644
--- a/bootstrap/generated-dists/debian11/Dockerfile
+++ b/bootstrap/generated-dists/ubuntu1804-32bit/Dockerfile
@@ -3,7 +3,7 @@
 # See also bootstrap/config.py
 #
 
-FROM debian:11
+FROM registry-1.docker.io/i386/ubuntu:18.04
 
 # pass in with --build-arg while build
 ARG SHA1SUM
diff --git a/bootstrap/generated-dists/ubuntu1804/bootstrap.sh b/bootstrap/generated-dists/ubuntu1804-32bit/bootstrap.sh
similarity index 100%
copy from bootstrap/generated-dists/ubuntu1804/bootstrap.sh
copy to bootstrap/generated-dists/ubuntu1804-32bit/bootstrap.sh
diff --git a/bootstrap/generated-dists/centos7/locale.sh b/bootstrap/generated-dists/ubuntu1804-32bit/locale.sh
similarity index 100%
copy from bootstrap/generated-dists/centos7/locale.sh
copy to bootstrap/generated-dists/ubuntu1804-32bit/locale.sh
diff --git a/bootstrap/generated-dists/ubuntu1804/packages.yml b/bootstrap/generated-dists/ubuntu1804-32bit/packages.yml
similarity index 100%
copy from bootstrap/generated-dists/ubuntu1804/packages.yml
copy to bootstrap/generated-dists/ubuntu1804-32bit/packages.yml
diff --git a/bootstrap/sha1sum.txt b/bootstrap/sha1sum.txt
index 9d2e589a876..1a76e376b75 100644
--- a/bootstrap/sha1sum.txt
+++ b/bootstrap/sha1sum.txt
@@ -1 +1 @@
-e3639b136a9b626936e849fb2976ebeed7e4fd3b
+ae284a5a64fcff65729bf50b5b0cfdba16afc682
diff --git a/lib/replace/replace.c b/lib/replace/replace.c
index cbf372e494f..68829f2a3c9 100644
--- a/lib/replace/replace.c
+++ b/lib/replace/replace.c
@@ -1116,6 +1116,22 @@ long rep_openat2(int dirfd, const char *pathname,
 		 struct open_how *how, size_t size)
 {
 #ifdef __NR_openat2
+#if _FILE_OFFSET_BITS == 64 && SIZE_MAX == 0xffffffffUL && defined(O_LARGEFILE)
+	struct open_how __how;
+
+#if defined(O_PATH) && ! defined(DISABLE_OPATH)
+	if ((how->flags & O_PATH) == 0)
+#endif
+	{
+		if (sizeof(__how) == size) {
+			__how = *how;
+
+			__how.flags |= O_LARGEFILE;
+			how = &__how;
+		}
+	}
+#endif
+
 	return syscall(__NR_openat2,
 		       dirfd,
 		       pathname,
diff --git a/script/autobuild.py b/script/autobuild.py
index b7be54024f6..7b34c2d6b28 100755
--- a/script/autobuild.py
+++ b/script/autobuild.py
@@ -811,6 +811,20 @@ tasks = {
         ],
     },
 
+    "samba-32bit": {
+        "sequence": [
+            ("random-sleep", random_sleep(300, 900)),
+            ("configure", "./configure.developer --abi-check-disable --disable-warnings-as-errors" + samba_configure_params),
+            ("make", "make -j"),
+            ("nonetest", make_test(cmd='make test', TESTS="--exclude=selftest/slow-none", include_envs=["none"])),
+            ("quicktest", make_test(cmd='make quicktest', include_envs=["ad_dc", "ad_dc_smb1", "ad_dc_smb1_done"])),
+            ("ktest", make_test(cmd='make test', include_envs=["ktest"])),
+            ("install", "make install"),
+            ("check-clean-tree", CLEAN_SOURCE_TREE_CMD),
+            ("clean", "make clean"),
+        ],
+    },
+
     "samba-ctdb": {
         "sequence": [
             ("random-sleep", random_sleep(900, 1500)),
@@ -1165,6 +1179,8 @@ defaulttasks.remove("samba-addc-mit-1")
 defaulttasks.remove("samba-addc-mit-4a")
 defaulttasks.remove("samba-addc-mit-4b")
 
+defaulttasks.remove("samba-32bit")
+
 if os.environ.get("AUTOBUILD_SKIP_SAMBA_O3", "0") == "1":
     defaulttasks.remove("samba-o3")
 
diff --git a/selftest/knownfail-32bit b/selftest/knownfail-32bit
new file mode 100644
index 00000000000..2946f3e9936
--- /dev/null
+++ b/selftest/knownfail-32bit
@@ -0,0 +1,117 @@
+#
+# [3(9)/257 at 5s] samba.tests.blackbox.ndrdump
+# UNEXPECTED(failure): samba.tests.blackbox.ndrdump.samba.tests.blackbox.ndrdump.NdrDumpTests.test_ndrdump_upn_dns_info_ex(none)
+# REASON: Exception: Exception: Traceback (most recent call last):
+#   File "/home/samba/samba.git/bin/python/samba/tests/blackbox/ndrdump.py", line 106, in test_ndrdump_upn_dns_info_ex
+#     self.assertEqual(actual, expected.encode('utf-8'))
+# AssertionError: b'pul[904 chars]   : Wed Jan 22 10:55:33 PM 1975 UTC\n        [19848 chars]OK\n' != b'pul[904 chars]   : Thu Sep 14 02:48:05 AM 30828 UTC\n       [19850 chars]OK\n'
+# UNEXPECTED(failure): samba.tests.blackbox.ndrdump.samba.tests.blackbox.ndrdump.NdrDumpTests.test_ndrdump_upn_dns_info_ex_not_supported(none)
+# REASON: Exception: Exception: Traceback (most recent call last):
+#   File "/home/samba/samba.git/bin/python/samba/tests/blackbox/ndrdump.py", line 125, in test_ndrdump_upn_dns_info_ex_not_supported
+#     self.assertEqual(actual, expected.encode('utf-8'))
+# AssertionError: b'pul[904 chars]   : Wed Jan 22 10:55:33 PM 1975 UTC\n        [19948 chars]OK\n' != b'pul[904 chars]   : Thu Sep 14 02:48:05 AM 30828 UTC\n       [19950 chars]OK\n'
+# command: PYTHONPATH=$PYTHONPATH python3 -m samba.subunit.run  $LOADLIST samba.tests.blackbox.ndrdump 2>&1  | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.blackbox.ndrdump." --suffix="(none)"
+# expanded command: PYTHONPATH=/home/samba/samba.git/bin/python python3 -m samba.subunit.run  $LOADLIST samba.tests.blackbox.ndrdump 2>&1  | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.blackbox.ndrdump." --suffix="(none)"
+# ERROR: Testsuite[samba.tests.blackbox.ndrdump]
+# REASON: Exit code was 1
+^samba.tests.blackbox.ndrdump.samba.tests.blackbox.ndrdump.NdrDumpTests.test_ndrdump_upn_dns_info_ex.none
+^samba.tests.blackbox.ndrdump.samba.tests.blackbox.ndrdump.NdrDumpTests.test_ndrdump_upn_dns_info_ex_not_supported.none
+#
+# [25(244)/261 at 15s] samba.tests.s3passdb
+# ...
+# REASON: Exception: Exception: Traceback (most recent call last):
+#  File "/home/samba/samba.git/bin/python/samba/tests/s3passdb.py", line 92, in test_getuser
+#    self.assertEqual(9223372036854775807, user.kickoff_time)
+# AssertionError: 9223372036854775807 != 2147483647
+^samba.tests.s3passdb.samba.tests.s3passdb.PassdbTestCase.test_getuser.none
+#
+# [53(610)/261 at 4m22s, 1 errors] samba.tests.glue
+# UNEXPECTED(failure): samba.tests.glue.samba.tests.glue.GlueTests.test_nttime2float(none)
+# REASON: Exception: Exception: Traceback (most recent call last):
+#   File "/home/samba/samba.git/bin/python/samba/tests/glue.py", line 54, in test_nttime2float
+#     self.assertEqual(_glue.nttime2float(1), -11644473600.0)
+# AssertionError: 1240428288.0 != -11644473600.0
+^samba.tests.glue.samba.tests.glue.GlueTests.test_nttime2float.none
+#
+# [95(849)/261 at 5m19s, 2 errors] samba3.smbtorture_s3.LOCAL-MEMCACHE
+# UNEXPECTED(failure): samba3.smbtorture_s3.LOCAL-MEMCACHE.smbtorture(none)
+# REASON: Exception: Exception: using seed 1669051619
+# host=foo share=bar user= myname=dc5
+# Running LOCAL-MEMCACHE
+# Did not find k4, should not have been purged
+# TEST LOCAL-MEMCACHE FAILED!
+# LOCAL-MEMCACHE took 3.3e-05 secs
+# command: /home/samba/samba.git/source3/script/tests/test_smbtorture_s3.sh LOCAL-MEMCACHE //foo/bar "" "" /home/samba/samba.git/bin/smbtorture3  2>&1  | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba3.smbtorture_s3.LOCAL-MEMCACHE." --suffix="(none)"
+# expanded command: /home/samba/samba.git/source3/script/tests/test_smbtorture_s3.sh LOCAL-MEMCACHE //foo/bar "" "" /home/samba/samba.git/bin/smbtorture3  2>&1  | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba3.smbtorture_s3.LOCAL-MEMCACHE." --suffix="(none)"
+# ERROR: Testsuite[samba3.smbtorture_s3.LOCAL-MEMCACHE]
+# REASON: Exit code was 1
+^samba3.smbtorture_s3.LOCAL-MEMCACHE.smbtorture.none
+#
+# [152(1033)/261 at 5m54s, 3 errors] samba4.local.time
+# UNEXPECTED(failure): samba4.local.time.normalize_timespec(none)
+# REASON: Exception: Exception: ../../lib/util/tests/time.c:129: ts.tv_sec was -2 (0xFFFFFFFE), expected 2 (0x2): mismatch in tv_sec
+# command:  /home/samba/samba.git/bin/smbtorture  $LOADLIST --configfile=$SMB_CONF_PATH --option='fss:sequence timeout=1' --maximum-runtime=$SELFTEST_MAXTIME --based
+# ir=$SELFTEST_TMPDIR --format=subunit --option=torture:progress=no --target=samba4 ncalrpc:localhost local.time 2>&1  | python3 /home/samba/samba.git/selftest/filte
+# r-subunit --fail-on-empty --prefix="samba4.local.time." --suffix="(none)"
+# expanded command:  /home/samba/samba.git/bin/smbtorture  $LOADLIST --configfile=/home/samba/samba.git/st/client/client.conf --option='fss:sequence timeout=1' --max
+# imum-runtime=1200 --basedir=/home/samba/samba.git/st/tmp --format=subunit --option=torture:progress=no --target=samba4 ncalrpc:localhost local.time 2>&1  | python3
+#  /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba4.local.time." --suffix="(none)"
+# ERROR: Testsuite[samba4.local.time]
+# REASON: Exit code was 1
+^samba4.local.time.normalize_timespec.none
+
+
+# 
+# [171(1386)/261 at 6m24s, 4 errors] samba4.local.charset
+# UNEXPECTED(failure): samba4.local.charset.strcasecmp(none)
+# REASON: Exception: Exception: ../../lib/util/charset/tests/charset.c:56: strcasecmp("foo", "bar") was 1 (0x1), expected 4 (0x4): different strings both lower
+# UNEXPECTED(failure): samba4.local.charset.strcasecmp_m(none)
+# REASON: Exception: Exception: ../../lib/util/charset/tests/charset.c:85: strcasecmp_m(file_iso8859_1, file_utf8) was 1 (0x1), expected 38 (0x26): file.{accented e}
+#  should differ
+# UNEXPECTED(failure): samba4.local.charset.strncasecmp(none)
+# REASON: Exception: Exception: ../../lib/util/charset/tests/charset.c:132: strncasecmp("foo", "bar", 3) was 1 (0x1), expected 4 (0x4): different strings both lower
+# UNEXPECTED(failure): samba4.local.charset.strncasecmp_m(none)
+# REASON: Exception: Exception: ../../lib/util/charset/tests/charset.c:167: strncasecmp_m(file_iso8859_1, file_utf8, 6) was 1 (0x1), expected 38 (0x26): file.{accent
+# ed e} should differ
+# command:  /home/samba/samba.git/bin/smbtorture  $LOADLIST --configfile=$SMB_CONF_PATH --option='fss:sequence timeout=1' --maximum-runtime=$SELFTEST_MAXTIME --based
+# ir=$SELFTEST_TMPDIR --format=subunit --option=torture:progress=no --target=samba4 ncalrpc:localhost local.charset 2>&1  | python3 /home/samba/samba.git/selftest/fi
+# lter-subunit --fail-on-empty --prefix="samba4.local.charset." --suffix="(none)"
+# expanded command:  /home/samba/samba.git/bin/smbtorture  $LOADLIST --configfile=/home/samba/samba.git/st/client/client.conf --option='fss:sequence timeout=1' --max
+# imum-runtime=1200 --basedir=/home/samba/samba.git/st/tmp --format=subunit --option=torture:progress=no --target=samba4 ncalrpc:localhost local.charset 2>&1  | pyth
+# on3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba4.local.charset." --suffix="(none)"
+# ERROR: Testsuite[samba4.local.charset]
+# REASON: Exit code was 1
+^samba4.local.charset.strcasecmp.none
+^samba4.local.charset.strcasecmp_m.none
+^samba4.local.charset.strncasecmp.none
+^samba4.local.charset.strncasecmp_m.none
+#
+# [229(2702)/261 at 8m44s, 5 errors] samba.tests.samba_tool.provision_lmdb_size
+# UNEXPECTED(failure): samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_134217728b(none)
+# REASON: Exception: Exception: Traceback (most recent call last):
+#   File "/home/samba/samba.git/bin/python/samba/tests/samba_tool/provision_lmdb_size.py", line 104, in test_134217728b
+#     self.assertEqual(0, result)
+# AssertionError: 0 != 255
+# UNEXPECTED(failure): samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_1Gb(none)
+# REASON: Exception: Exception: Traceback (most recent call last):
+#   File "/home/samba/samba.git/bin/python/samba/tests/samba_tool/provision_lmdb_size.py", line 97, in test_1Gb
+#     self.assertEqual(0, result)
+# AssertionError: 0 != 255
+# UNEXPECTED(failure): samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_64Mb(none)
+# REASON: Exception: Exception: Traceback (most recent call last):
+#   File "/home/samba/samba.git/bin/python/samba/tests/samba_tool/provision_lmdb_size.py", line 92, in test_64Mb
+#     self.assertEqual(0, result)
+# AssertionError: 0 != 255
+# UNEXPECTED(failure): samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_default(none)
+# REASON: Exception: Exception: Traceback (most recent call last):
+#   File "/home/samba/samba.git/bin/python/samba/tests/samba_tool/provision_lmdb_size.py", line 87, in test_default
+#     self.assertEqual(0, result)
+# AssertionError: 0 != 255
+# command: PYTHONPATH=$PYTHONPATH python3 -m samba.subunit.run  $LOADLIST samba.tests.samba_tool.provision_lmdb_size 2>&1  | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.samba_tool.provision_lmdb_size." --suffix="(none)"
+# expanded command: PYTHONPATH=/home/samba/samba.git/bin/python python3 -m samba.subunit.run  $LOADLIST samba.tests.samba_tool.provision_lmdb_size 2>&1  | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.samba_tool.provision_lmdb_size." --suffix="(none)"
+# ERROR: Testsuite[samba.tests.samba_tool.provision_lmdb_size]
+# REASON: Exit code was 1
+^samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_134217728b.none
+^samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_1Gb.none
+^samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_64Mb.none
+^samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_default.none
diff --git a/selftest/selftest.pl b/selftest/selftest.pl
index 11f8e92e84e..230c49124b4 100755
--- a/selftest/selftest.pl
+++ b/selftest/selftest.pl
@@ -55,6 +55,7 @@ my @opt_include_env = ();
 my $opt_testenv = 0;
 my $opt_list = 0;
 my $opt_mitkrb5 = 0;
+my $opt_default_ldb_backend = "mdb";
 my $opt_resetup_env = undef;
 my $opt_load_list = undef;
 my $opt_libnss_wrapper_so_path = "";
@@ -240,6 +241,7 @@ my $result = GetOptions (
 		'testenv' => \$opt_testenv,
 		'list' => \$opt_list,
 		'mitkrb5' => \$opt_mitkrb5,
+		'default-ldb-backend=s' => \$opt_default_ldb_backend,
 		'resetup-environment' => \$opt_resetup_env,
 		'testlist=s' => \@testlists,
 		'random-order' => \$opt_random_order,
@@ -460,7 +462,8 @@ if (defined($ENV{SMBD_MAXTIME}) and $ENV{SMBD_MAXTIME} ne "") {
 
 $target = new Samba($bindir, $srcdir, $server_maxtime,
 		    $opt_socket_wrapper_pcap,
-		    $opt_socket_wrapper_keep_pcap);
+		    $opt_socket_wrapper_keep_pcap,
+		    $opt_default_ldb_backend);
 unless ($opt_list) {
 	if ($opt_target eq "samba") {
 		$testenv_default = "ad_dc";
diff --git a/selftest/skip-32bit b/selftest/skip-32bit
new file mode 100644
index 00000000000..764bafa012d
--- /dev/null
+++ b/selftest/skip-32bit
@@ -0,0 +1,69 @@
+#
+# [231(2711)/261 at 9m10s, 6 errors] samba.tests.samba_upgradedns_lmdb
+# UNEXPECTED(error): samba.tests.samba_upgradedns_lmdb.samba.tests.samba_upgradedns_lmdb.UpgradeDnsLmdbTestCase.test_lmdb_lock_files_linked_on_upgrade_to_bind9_dlz(none)
+# REASON: Exception: Exception: Traceback (most recent call last):
+#   File "/home/samba/samba.git/bin/python/samba/tests/samba_upgradedns_lmdb.py", line 69, in test_lmdb_lock_files_linked_on_upgrade_to_bind9_dlz
+#     for filename in os.listdir(directory):
+# FileNotFoundError: [Errno 2] No such file or directory: '/home/samba/samba.git/st/tmp/tmpku4ew0tv/samba/bind-dns/dns/sam.ldb.d'
+# command: PYTHONPATH=$PYTHONPATH python3 -m samba.subunit.run  $LOADLIST samba.tests.samba_upgradedns_lmdb 2>&1  | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.samba_upgradedns_lmdb." --suffix="(none)"
+# expanded command: PYTHONPATH=/home/samba/samba.git/bin/python python3 -m samba.subunit.run  $LOADLIST samba.tests.samba_upgradedns_lmdb 2>&1  | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.samba_upgradedns_lmdb." --suffix="(none)"
+# ERROR: Testsuite[samba.tests.samba_upgradedns_lmdb]
+# REASON: Exit code was 1
+^samba.tests.samba_upgradedns_lmdb
+#
+# [235(2761)/261 at 9m14s, 7 errors] samba.tests.blackbox.downgradedatabase
+# UNEXPECTED(error): samba.tests.blackbox.downgradedatabase.samba.tests.blackbox.downgradedatabase.DowngradeTestMDB.test_undo_guid(none)
+# REASON: Exception: Exception: Traceback (most recent call last):
+#   File "bin/python/samba/tests/blackbox/downgradedatabase.py", line 43, in setUp
+#     self.check_run(prov_cmd, "Provisioning for downgrade")
+#   File "bin/python/samba/tests/__init__.py", line 421, in check_run
+#     self.check_exit_code(line, 0, msg=msg)
+#   File "bin/python/samba/tests/__init__.py", line 439, in check_exit_code
+#     msg)
+# Traceback (most recent call last):
+#   File "bin/python/samba/tests/__init__.py", line 278, in _remove_tempdir
+#     self.assertEqual([], os.listdir(self.tempdir))
+# AssertionError: Lists differ: [] != ['private', 'bind-dns', 'etc', 'state']
+# 
+# Second list contains 4 additional elements.
+# First extra element 0:
+# 'private'
+# 
+# - []
+# + ['private', 'bind-dns', 'etc', 'state']
+# command: python3 /home/samba/samba.git/source4/scripting/bin/subunitrun  $LOADLIST samba.tests.blackbox.downgradedatabase 2>&1  | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.blackbox.downgradedatabase." --suffix="(none)"
+# expanded command: python3 /home/samba/samba.git/source4/scripting/bin/subunitrun  $LOADLIST samba.tests.blackbox.downgradedatabase 2>&1  | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba.tests.blackbox.downgradedatabase." --suffix="(none)"
+# ERROR: Testsuite[samba.tests.blackbox.downgradedatabase]
+# REASON: Exit code was 1
+^samba.tests.blackbox.downgradedatabase
+#
+# [236(2763)/261 at 9m46s, 8 errors] samba4.ldap.index.python
+# Unable to find backend for 'mdb:///home/samba/samba.git/st/tmp/tmpshxaw8jv/indexedcomptest.ldb' - do you need to set LDB_MODULES_PATH?
+# UNEXPECTED(error): samba4.ldap.index.python.__main__.LdbLMDBIndexedComparisonExpressions.test_comparison_expression(none)
+# REASON: Exception: Exception: Traceback (most recent call last):
+#   File "/home/samba/samba.git/lib/ldb-samba/tests/index.py", line 186, in setUp
+#     super(LdbLMDBIndexedComparisonExpressions, self).setUp()
+#   File "/home/samba/samba.git/lib/ldb-samba/tests/index.py", line 87, in setUp
+#     self.l = _ldb.Ldb(self.url(), options=self.options())
+# _ldb.LdbError: (80, None)
+# Unable to find backend for 'mdb:///home/samba/samba.git/st/tmp/tmpzyl07twx/indexedcomptest.ldb' - do you need to set LDB_MODULES_PATH?
+# UNEXPECTED(error): samba4.ldap.index.python.__main__.LdbLMDBIndexedComparisonExpressions.test_comparison_expression_duplicates(none)
+# REASON: Exception: Exception: Traceback (most recent call last):
+#   File "/home/samba/samba.git/lib/ldb-samba/tests/index.py", line 186, in setUp
+#     super(LdbLMDBIndexedComparisonExpressions, self).setUp()
+#   File "/home/samba/samba.git/lib/ldb-samba/tests/index.py", line 87, in setUp
+#     self.l = _ldb.Ldb(self.url(), options=self.options())
+# _ldb.LdbError: (80, None)
+# command: python3 /home/samba/samba.git/lib/ldb-samba/tests/index.py 2>&1  | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba4.ldap.index.python." --suffix="(none)"
+# expanded command: python3 /home/samba/samba.git/lib/ldb-samba/tests/index.py 2>&1  | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba4.ldap.index.python." --suffix="(none)"
+# ERROR: Testsuite[samba4.ldap.index.python]
+# REASON: Exit code was 1
+^samba4.ldap.index.python
+#
+# [247(2834)/261 at 11m47s, 9 errors] samba4.dsdb.samdb.ldb_modules.encrypted_secrets.mdb
+# sh: 1: /home/samba/samba.git/bin/test_encrypted_secrets_mdb: not found
+# command: /home/samba/samba.git/bin/test_encrypted_secrets_mdb 2>&1  | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba4.dsdb.samdb.ldb_modules.encrypted_secrets.mdb." --suffix="(none)"
+# expanded command: /home/samba/samba.git/bin/test_encrypted_secrets_mdb 2>&1  | python3 /home/samba/samba.git/selftest/filter-subunit --fail-on-empty --prefix="samba4.dsdb.samdb.ldb_modules.encrypted_secrets.mdb." --suffix="(none)"
+# ERROR: Testsuite[samba4.dsdb.samdb.ldb_modules.encrypted_secrets.mdb]
+# REASON: Exit code was 1
+^samba4.dsdb.samdb.ldb_modules.encrypted_secrets.mdb
diff --git a/selftest/target/Samba.pm b/selftest/target/Samba.pm
index 2131e4a39ca..4f0f29df5cf 100644
--- a/selftest/target/Samba.pm
+++ b/selftest/target/Samba.pm
@@ -15,14 +15,15 @@ use IO::Poll qw(POLLIN);
 
 sub new($$$$$) {
 	my ($classname, $bindir, $srcdir, $server_maxtime,
-	    $opt_socket_wrapper_pcap, $opt_socket_wrapper_keep_pcap) = @_;
+	    $opt_socket_wrapper_pcap, $opt_socket_wrapper_keep_pcap,
+	    $default_ldb_backend) = @_;
 
 	my $self = {
 	    opt_socket_wrapper_pcap => $opt_socket_wrapper_pcap,
 	    opt_socket_wrapper_keep_pcap => $opt_socket_wrapper_keep_pcap,
 	};
 	$self->{samba3} = new Samba3($self, $bindir, $srcdir, $server_maxtime);
-	$self->{samba4} = new Samba4($self, $bindir, $srcdir, $server_maxtime);
+	$self->{samba4} = new Samba4($self, $bindir, $srcdir, $server_maxtime, $default_ldb_backend);
 	bless $self;
 	return $self;
 }
diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index dcf00e85e9c..f4a02c6133f 100755
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -19,7 +19,7 @@ use target::Samba3;
 use Archive::Tar;
 
 sub new($$$$$) {
-	my ($classname, $SambaCtx, $bindir, $srcdir, $server_maxtime) = @_;
+	my ($classname, $SambaCtx, $bindir, $srcdir, $server_maxtime, $default_ldb_backend) = @_;
 
 	my $self = {
 		vars => {},
@@ -27,7 +27,8 @@ sub new($$$$$) {
 		bindir => $bindir,
 		srcdir => $srcdir,
 		server_maxtime => $server_maxtime,
-		target3 => new Samba3($SambaCtx, $bindir, $srcdir, $server_maxtime)
+		target3 => new Samba3($SambaCtx, $bindir, $srcdir, $server_maxtime),
+		default_ldb_backend => $default_ldb_backend,
 	};
 	bless $self;
 	return $self;
@@ -1584,7 +1585,7 @@ sub provision_vampire_dc($$$)
 	$cmd .= "$samba_tool domain join $ret->{CONFIGURATION} $dcvars->{REALM} DC --realm=$dcvars->{REALM}";
 	$cmd .= " -U$dcvars->{DC_USERNAME}\%$dcvars->{DC_PASSWORD} --domain-critical-only";
 	$cmd .= " --machinepass=machine$ret->{PASSWORD}";
-	$cmd .= " --backend-store=mdb";
+	$cmd .= " --backend-store=$self->{default_ldb_backend}";
 
 	unless (system($cmd) == 0) {
 		warn("Join failed\n$cmd");
@@ -2019,7 +2020,7 @@ sub provision_ad_dc($$$$$$$)
 	copy = print1
 ";


-- 
Samba Shared Repository



More information about the samba-cvs mailing list