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

Karolin Seeger kseeger at samba.org
Thu May 16 13:57:03 UTC 2019


The branch, v4-10-test has been updated
       via  d6243acb3ac ctdb-common: Fix memory leak in run_proc
       via  0d4280abf98 ctdb-common: Fix memory leak
       via  32065a0772e ctdb-recoverd: Fix memory leak
       via  417a4d2c3cc vfs_ceph: fix cephwrap_flistxattr() debug message
       via  4c02823ab51 s3:smbspool: Fix regression printing with Kerberos credentials
       via  5c9489ba557 s3: SMB1: Don't allow recvfile on stream fsp's.
       via  198cb5b0550 s3:smbd: don't use recvfile on streams
       via  f7ffa7a007f s3:utils: If share is NULL in smbcacls, don't print it
       via  b0e862a64a7 s3:utils: If share is NULL in smbcquotas, don't print it
       via  601cb1d5726 s3:winbindd: Do not free db_path in idmap_tdb2 before we printed it
       via  5b6adbb0f05 ctdb:common: Do not print NULL if we don't get a sockpath
       via  b578a2df99f s4:torture: Do not free full_name before we printed it
       via  4113054a7ce lib:torture: Fix string comparison macros where we directly pass NULL
       via  a81f78ce4e4 s4:torture: Do not print NULL strings we just checked before
       via  b522ed38de1 s4:ntvfs: Do not free eadb before we printed an error
       via  405872948fa s3:rpc_server: Do not free the tdbname before we printed it
       via  4f0a4fac3de s4:auth: Fix debug statement in gensec_gssapi
       via  8542379bde8 s3 rpc_client: Fix Asan stack use after scope
       via  8a320aad332 ctdb-daemon: Never use 0 as a client ID
       via  6aa0fd8b7cd s4 lib socket: Ensure address string owned by parent struct
       via  385a36b7e7c nsswitch pam_winbind: Fix Asan use after free
       via  52ba5136f2f ctdb-tests: Fix logic error in simple ctdb reloadips test
       via  63a59de4f0f ctdb-tests: Make ctdb reloadips tests more reliable
       via  efb35a1a695 ctdb-tests: Capture output in $out on failure as well
       via  65bf14afd83 ctdb-tests: Remove old socket wrapper state directory during setup
       via  33739d55569 ctdb-tests: Actually restart if cluster doesn't become healthy
       via  0cdf5c6b5ce ctdb-tests: Don't clean up test var directory in autotest target
       via  3582e306606 ctdb-tests: Fix usage message
       via  b8cf1594a73 ctdb-tests: Wait to allow database attach/detach to take effect
       via  221da170256 ctdb-tests: Avoid bulk output in $out, prefer $outfile
       via  2044466dd3e ctdb-tests: Make try_command_on_node less error-prone
       via  8bb1726f6a7 ctdb-tests: Change sanity_check_output() to internally use $out
       via  c054f19fb37 ctdb-tests: Extend test to cover ctdb rddumpmemory
       via  8c9abb2749f ctdb-tools: Fix ctdb dumpmemory to avoid printing trailing NUL
       via  42b32da4160 smbd: implement SMB_FILE_NORMALIZED_NAME_INFORMATION handling
       via  5308f042e67 s4:torture/smb2: add smb2.getinfo.normalized test
       via  3205d032781 s4:libcli/raw: add RAW_FILEINFO_NORMALIZED_NAME_INFORMATION support
       via  07382f0765a smbd: allow case insensitive opens of named streams
       via  649dd7bce86 s4:torture/smb2: add smb2.stream.names3 test
       via  f4a603a9f32 s3: modules: ceph: use current working directory instead of share path
       via  de505618e60 s3:debug: enable logging for early startup failures
       via  c584a4b4dfb s3:debug: adjust indention
       via  c7f25b25d3a s3:debug: use struct initializer
       via  1fa6a46fa53 winbind: Fix overlapping id ranges
       via  24d39db5c37 selftest: Add trusted domain tests for idmap_ad
       via  3a46730f12e selftest: Pass trusted domain information to idmap_ad test
       via  c3c2f3707a0 selftest: Add idmap configuration for trusted domain for idmap_ad
       via  79c04524c38 selftest: Make trusted domain information available for idmap_ad environment
       via  28b5ff2ccf7 selftest: Use fl2008r2dc for ad_member_idmap_ad
       via  38746ec0a3e selftest: Add gid-to-sid lookup to idmap_ad test
       via  9c167fa8628 lib util debug: Increase format buffer to 4KiB
       via  2cc3b4c42c5 lib: Initialize getline() arguments
       via  d1962a5f527 pytests/dns: use 2.6 compatible syntax
      from  893ac2a6b20 netcmd: Fix passwordsettings --max-pwd-age command

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


- Log -----------------------------------------------------------------
commit d6243acb3ac386c91e66ff9a2957b87c3fe7a6a1
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Mon May 13 17:07:59 2019 +1000

    ctdb-common: Fix memory leak in run_proc
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13943
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>
    
    Autobuild-User(master): Amitay Isaacs <amitay at samba.org>
    Autobuild-Date(master): Tue May 14 08:59:03 UTC 2019 on sn-devel-184
    
    (cherry picked from commit b1f4c86eea022999d5439e4a6ef3494fe41479b6)
    
    Autobuild-User(v4-10-test): Karolin Seeger <kseeger at samba.org>
    Autobuild-Date(v4-10-test): Thu May 16 13:56:00 UTC 2019 on sn-devel-144

commit 0d4280abf98cb023d21edbf4e069f551931cca1f
Author: Martin Schwenke <martin at meltin.net>
Date:   Sat May 11 17:33:57 2019 +1000

    ctdb-common: Fix memory leak
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13943
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    (cherry picked from commit 30bc6e2529cdd444d4ec7902844c3a6fb0858090)

commit 32065a0772ef8c43676d39b43fefd1accf47decb
Author: Martin Schwenke <martin at meltin.net>
Date:   Sat May 11 14:24:24 2019 +1000

    ctdb-recoverd: Fix memory leak
    
    state is always freed before exiting this function, so allocate fde
    off it instead of long-lived ctdb context.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13943
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    (cherry picked from commit 6a2941e2a9fd6ab2d5b8dbac042b61a7b1b0b914)

commit 417a4d2c3cc7b007036b1936601ec71d55f7f9e8
Author: David Disseldorp <ddiss at samba.org>
Date:   Fri May 10 13:18:49 2019 +0200

    vfs_ceph: fix cephwrap_flistxattr() debug message
    
    The @list buffer may be uninitialised prior to ceph_flistxattr()
    invocation, so only log the address.
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=13940
    
    Signed-off-by: David Disseldorp <ddiss at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    
    Autobuild-User(master): David Disseldorp <ddiss at samba.org>
    Autobuild-Date(master): Fri May 10 12:59:05 UTC 2019 on sn-devel-184
    
    (cherry picked from commit 21dc6f8e8d82f84e4afda355a48fbbd39c7fe800)

commit 4c02823ab51f99932aadc65244372f5e9b495093
Author: Andreas Schneider <asn at samba.org>
Date:   Thu May 9 16:18:51 2019 +0200

    s3:smbspool: Fix regression printing with Kerberos credentials
    
    This is a regression which has been introduced with Samba 4.8.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13939
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>
    (cherry picked from commit fd4b1f4f16aee3e3c9a2cb449655edfed171963a)

commit 5c9489ba557d2ee0b8e40a4dec5e10982126d5dd
Author: Jeremy Allison <jra at samba.org>
Date:   Thu May 9 12:53:11 2019 -0700

    s3: SMB1: Don't allow recvfile on stream fsp's.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13938
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Fri May 10 01:14:02 UTC 2019 on sn-devel-184
    
    (cherry picked from commit 667db8e8c7836c750085729f5062807669cbb204)

commit 198cb5b0550cc7d9c8b2be216f5b695aa1a686f8
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 25 10:57:58 2019 +0200

    s3:smbd: don't use recvfile on streams
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=13938
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Ralph Böhme <slow at samba.org>
    Autobuild-Date(master): Thu May  9 20:43:53 UTC 2019 on sn-devel-184
    
    (cherry picked from commit 219bc189472acff24410009ee16a409e0aaf8eef)

commit f7ffa7a007f462ee240fb3cec5398264d6c140a5
Author: Andreas Schneider <asn at samba.org>
Date:   Wed May 8 17:12:12 2019 +0200

    s3:utils: If share is NULL in smbcacls, don't print it
    
    Found by GCC 9.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13937
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit 2b957bde5a2f0f670ee0c8acde6edae1f4aaf253)

commit b0e862a64a76db0c1865e280367898f6fd31e938
Author: Andreas Schneider <asn at samba.org>
Date:   Wed May 8 17:11:13 2019 +0200

    s3:utils: If share is NULL in smbcquotas, don't print it
    
    Found by GCC 9.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13937
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit 3653dc7013518d90e6deb08a1f21d7472dc86675)

commit 601cb1d57266abd62da921f97f7aa3c1d80055f2
Author: Andreas Schneider <asn at samba.org>
Date:   Wed May 8 17:05:58 2019 +0200

    s3:winbindd: Do not free db_path in idmap_tdb2 before we printed it
    
    Found by GCC 9.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13937
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit e333425e0ff6be5691b74a920610b508e7d26892)

commit 5b6adbb0f056061fd2348004a286c8220182214a
Author: Andreas Schneider <asn at samba.org>
Date:   Wed May 8 17:03:54 2019 +0200

    ctdb:common: Do not print NULL if we don't get a sockpath
    
    sock_socket_start_recv() might not fill sockpath if we return early.
    
    Found by GCC 9.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13937
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit 830cb7e67568de5f3ce359cb6af3be8ab545c824)

commit b578a2df99fa29b8331446658d3be8b65baa2ddc
Author: Andreas Schneider <asn at samba.org>
Date:   Wed May 8 16:58:07 2019 +0200

    s4:torture: Do not free full_name before we printed it
    
    Found by GCC 9.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13937
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit 46f036d3231bc99cf37c7cabf82757d3c28c5cff)

commit 4113054a7ceacde8648ea210791ea8cc3effacbd
Author: Andreas Schneider <asn at samba.org>
Date:   Wed May 8 16:54:30 2019 +0200

    lib:torture: Fix string comparison macros where we directly pass NULL
    
    See e.g. lib/util/tests/strlist.c +177
    
    Found by GCC 9.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13937
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit a8f773e326d6bdfc1c9eb87a74c00108f6620c56)

commit a81f78ce4e47710ddbb04eadd4ab6e5052037b8f
Author: Andreas Schneider <asn at samba.org>
Date:   Wed May 8 16:51:20 2019 +0200

    s4:torture: Do not print NULL strings we just checked before
    
    Found by GCC 9.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13937
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit be72dfbc8edc53ed191dc01668a53cafb5cd785d)

commit b522ed38de14a8b544a49396c8f8d4b2a6a62a46
Author: Andreas Schneider <asn at samba.org>
Date:   Wed May 8 16:32:45 2019 +0200

    s4:ntvfs: Do not free eadb before we printed an error
    
    Found by GCC 9.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13937
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit 6da032df5450ef72f8608a19b3b5cc6e9185cd6e)

commit 405872948fa3cbac491ecf184e7ca69f34ae0e4e
Author: Andreas Schneider <asn at samba.org>
Date:   Wed May 8 16:31:10 2019 +0200

    s3:rpc_server: Do not free the tdbname before we printed it
    
    Found by GCC 9.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13937
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit 790d7e34cbe4e190d6acdd24696efe53944cd4a6)

commit 4f0a4fac3de770cc303abdfe48e44f1d42ea6858
Author: Andreas Schneider <asn at samba.org>
Date:   Wed May 8 16:27:57 2019 +0200

    s4:auth: Fix debug statement in gensec_gssapi
    
    The 'role' is set to null, we should first set it to the correct value
    before printing anything.
    
    Found by GCC 9.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13937
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit bd29f3fcc023d00afde8e9cc2f9db22dcae49877)

commit 8542379bde8e48d25bab820c37eef0aafc2f6472
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Fri May 10 08:47:46 2019 +1200

    s3 rpc_client: Fix Asan stack use after scope
    
    Fixes Asan error:
    
    ==1924==ERROR: AddressSanitizer: stack-use-after-scope on address
        0x7ffe63f873d0 at pc 0x7fb99dae1733 bp 0x7ffe63f86a00 sp 0x7ffe63f861a8
    READ of size 24 at 0x7ffe63f873d0 thread T0
        #0 0x7fb99dae1732  (/usr/lib/x86_64-linux-gnu/libasan.so.4+0x79732)
        #1 0x7fb99cfe5549 in memcpy
            /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34
        #2 0x7fb99cfe5549 in ndr_push_bytes
            ../../librpc/ndr/ndr_basic.c:729
        #3 0x7fb99cfe5646 in ndr_push_array_uint8
            ../../librpc/ndr/ndr_basic.c:754
        #4 0x7fb99a69dd1b in ndr_push_netr_ChallengeResponse
            librpc/gen_ndr/ndr_netlogon.c:462
        #5 0x7fb99a6c5fab in ndr_push_netr_NetworkInfo
            librpc/gen_ndr/ndr_netlogon.c:556
        #6 0x7fb99a6c749d in ndr_push_netr_LogonLevel
             librpc/gen_ndr/ndr_netlogon.c:783
        #7 0x7fb99a7222de in ndr_push_netr_LogonSamLogonEx
             librpc/gen_ndr/ndr_netlogon.c:16547
        #8 0x7fb99c982c97 in dcerpc_binding_handle_call_send
             ../../librpc/rpc/binding_handle.c:416
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=13936
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Fri May 10 10:02:21 UTC 2019 on sn-devel-184
    
    (cherry picked from commit a5d1df4a8f9c535ff2f7ef11d7dfea4d79d65e7e)

commit 8a320aad33230de0996f8f455377b1ef11fde637
Author: Martin Schwenke <martin at meltin.net>
Date:   Mon May 6 15:22:49 2019 +1000

    ctdb-daemon: Never use 0 as a client ID
    
    ctdb_control_db_attach() and ctdb_control_db_detach() assume that any
    control with client ID 0 comes from another daemon and treat it
    specially.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13930
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    (cherry picked from commit 8663e0a64fbdb9ea16babbfe87d6f5d7a7b72bbd)

commit 6aa0fd8b7cdbf429d3b07adba5b922aa1a6c30f3
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Tue May 7 16:30:22 2019 +1200

    s4 lib socket: Ensure address string owned by parent struct
    
    The local address string was not owned by it's parent structure, which
    caused a use after free error in
    continue_ip_open_socket source4/librpc/rpc/dcerpc_sock.c:267
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13929
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Wed May  8 20:03:42 UTC 2019 on sn-devel-184
    
    (cherry picked from commit ae9fb93393bcadbc71328335e481e4381ecb65bf)

commit 385a36b7e7cb20e4cb25d03b84611dff85922a49
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Thu Apr 18 09:29:28 2019 +1200

    nsswitch pam_winbind: Fix Asan use after free
    
    Fix use after free condition detected by Address Sanitizer triggered by
    wbcLogonUserInfoDestructor, wbcFreeMemory has code to detect and prevent a
    double free.  This patch prevents the Address Sanitizer error, allowing
    tests to be run with Address Sanitizer enabled.
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=13927
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Mon May  6 08:55:22 UTC 2019 on sn-devel-184
    
    (cherry picked from commit 193b44466ba05deba8f2b1fdc16ab55c102e82ad)

commit 52ba5136f2f0107650f2dfe187bffa3f5d0918f3
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue May 7 15:42:49 2019 +1000

    ctdb-tests: Fix logic error in simple ctdb reloadips test
    
    There is a chance that restoring IP addresses to the test node will
    result in different IP addresses being assigned to that node.
    Removing a single IP address may then fail (or be a no-op) if it is
    done after the restore.
    
    So, swap the single IP address removal to happen first, then restore,
    then remove all IP addresses.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13924
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    (cherry picked from commit dc89db8ca6aadd4a9f7e8a85843c53709d04587c)

commit 63a59de4f0fe8a1f8dd41868692857fdec6e405a
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue May 7 15:29:19 2019 +1000

    ctdb-tests: Make ctdb reloadips tests more reliable
    
    ctdb reloadips will fail if it can't disable takover runs.  The most
    likely reason for this is that there is already a takeover run in
    progress.  We can't predict when this will happen, so retry if this
    occurs.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13924
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    (cherry picked from commit 8be4ee1a28d5c037955832b6f827d40f28f02796)

commit efb35a1a6950b8483907320590da2140b7e7a084
Author: Martin Schwenke <martin at meltin.net>
Date:   Mon May 13 17:40:15 2019 +1000

    ctdb-tests: Capture output in $out on failure as well
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13924
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    (cherry picked from commit cf00db40355b49443263187f9d97934f91287e51)

commit 65bf14afd83821016e8772311c9c5e97f26453de
Author: Martin Schwenke <martin at meltin.net>
Date:   Sun May 12 07:52:13 2019 +1000

    ctdb-tests: Remove old socket wrapper state directory during setup
    
    Otherwise, when looping tests for a long time, nodes are unable to
    connect to each other.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13924
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    
    Autobuild-User(master): Amitay Isaacs <amitay at samba.org>
    Autobuild-Date(master): Mon May 13 08:42:44 UTC 2019 on sn-devel-184
    
    (cherry picked from commit c75fbeaa96108cd4dc193ef5f4170977804e5104)

commit 33739d555690d121bddaf858fe20a85aed6dad30
Author: Martin Schwenke <martin at meltin.net>
Date:   Fri May 10 19:22:16 2019 +1000

    ctdb-tests: Actually restart if cluster doesn't become healthy
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13924
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    (cherry picked from commit 97ad353a67ce0232d7ca5637f1bf8886e2df1aca)

commit 0cdf5c6b5ceb89592ce2b93de65f7ad3a6c8db91
Author: Martin Schwenke <martin at meltin.net>
Date:   Wed May 1 15:17:14 2019 +1000

    ctdb-tests: Don't clean up test var directory in autotest target
    
    If the directory is always cleaned up then it is not possible to look
    at daemon logs to debug test failures.
    
    This target is only really used by autobuild.py, which (optionally)
    cleans up the parent directory anyway.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13924
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    
    Autobuild-User(master): Amitay Isaacs <amitay at samba.org>
    Autobuild-Date(master): Tue May  7 06:56:01 UTC 2019 on sn-devel-184
    
    (cherry picked from commit 5a9e338330fe136908a3a17a5df81c054c5cc5b0)

commit 3582e3066061ac965341bd504f01f8f356b4c08e
Author: Martin Schwenke <martin at meltin.net>
Date:   Wed May 1 15:10:28 2019 +1000

    ctdb-tests: Fix usage message
    
    Since commit 0e9ead8f28fced3ebfa888786a1dc5bb59e734a3 daemons have
    been shut down after each test, so this option no longer has anything
    to do with killing daemons.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13924
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    (cherry picked from commit a2ab6485e027ebb13871c7d83b7626ac5c9b98c0)

commit b8cf1594a73f2a19a7b295681674383faa63f32d
Author: Martin Schwenke <martin at meltin.net>
Date:   Sat Apr 27 14:54:09 2019 +1000

    ctdb-tests: Wait to allow database attach/detach to take effect
    
    Sometimes the detach test fails:
    
      Check detaching single test database detach_test1.tdb
      BAD: database detach_test1.tdb is still attached
      Number of databases:4
      dbid:0x5ae995ee name:detach_test4.tdb path:tests/var/simple/node.0/db/volatile/detach_test4.tdb.0
      dbid:0xd84cc13c name:detach_test3.tdb path:tests/var/simple/node.0/db/volatile/detach_test3.tdb.0
      dbid:0x8e8e8cef name:detach_test2.tdb path:tests/var/simple/node.0/db/volatile/detach_test2.tdb.0
      dbid:0xc62491f4 name:detach_test1.tdb path:tests/var/simple/node.0/db/volatile/detach_test1.tdb.0
      Number of databases:3
      dbid:0x5ae995ee name:detach_test4.tdb path:tests/var/simple/node.1/db/volatile/detach_test4.tdb.1
      dbid:0xd84cc13c name:detach_test3.tdb path:tests/var/simple/node.1/db/volatile/detach_test3.tdb.1
      dbid:0x8e8e8cef name:detach_test2.tdb path:tests/var/simple/node.1/db/volatile/detach_test2.tdb.1
      Number of databases:4
      dbid:0x5ae995ee name:detach_test4.tdb path:tests/var/simple/node.2/db/volatile/detach_test4.tdb.2
      dbid:0xd84cc13c name:detach_test3.tdb path:tests/var/simple/node.2/db/volatile/detach_test3.tdb.2
      dbid:0x8e8e8cef name:detach_test2.tdb path:tests/var/simple/node.2/db/volatile/detach_test2.tdb.2
      dbid:0xc62491f4 name:detach_test1.tdb path:tests/var/simple/node.2/db/volatile/detach_test1.tdb.2
      *** TEST COMPLETED (RC=1) AT 2019-04-27 03:35:40, CLEANING UP...
    
    When issued from a client, the detach control re-broadcasts itself
    asynchronously to all nodes and then returns success.  The controls to
    some nodes to do the actual detach may still be in flight when success
    is returned to the client.  Therefore, the test should wait for a few
    seconds to allow the asynchronous controls to complete.
    
    The same is true for the attach control, so workaround the problem in
    the attach test too.
    
    An alternative is to make the attach and detach controls synchronous
    by avoiding the broadcast and waiting for the results of the
    individual controls sent to the nodes.  However, a simple
    implementation would involve adding new nested event loops.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13924
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    (cherry picked from commit 3cb53a7a05409925024d6a67bcfaeb962d896e0b)

commit 221da170256da830e06b721af9799be57ef1a21f
Author: Martin Schwenke <martin at meltin.net>
Date:   Thu Apr 11 20:55:20 2019 +1000

    ctdb-tests: Avoid bulk output in $out, prefer $outfile
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13924
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    (cherry picked from commit 066cc5b0c561464ed08890d9aa1a1a55b545e9cc)

commit 2044466dd3e2f389843acd8dc24e522c3364cd2b
Author: Martin Schwenke <martin at meltin.net>
Date:   Thu Mar 28 14:26:52 2019 +1100

    ctdb-tests: Make try_command_on_node less error-prone
    
    This sometimes fails, apparently due to a cat process in onnode
    getting EAGAIN.  The conclusion is that tests that process large
    amounts of output should not depend on a sub-shell delivering that
    output into a shell variable.
    
    Change try_command_on_node() to leave all of the output in file
    $outfile and just put the first 1KB into $out.  $outfile is removed
    after each test completes.
    
    Change the implementation of sanity_check_output() to use $outfile
    instead of $out.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13924
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    (cherry picked from commit 9d02452a24625df5f62fd6d45a16effe2fa45fbe)

commit 8bb1726f6a714dddc3ef63c42ac4741f6477b986
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue Apr 30 12:09:26 2019 +1000

    ctdb-tests: Change sanity_check_output() to internally use $out
    
    All callers are currently passed $out.  Global variable $out is used
    in many other places so use it here to simplify the interface and make
    future changes simpler.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13924
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    (cherry picked from commit 7c3819d1ac264acf998f426e0cef7f6211e0ddee)

commit c054f19fb3773102262b477c8e4d3ec97449a520
Author: Martin Schwenke <martin at meltin.net>
Date:   Thu Apr 11 16:58:10 2019 +1000

    ctdb-tests: Extend test to cover ctdb rddumpmemory
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13923
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    (cherry picked from commit 8108b3134c017c22d245fc5b2207a88d44ab0dd2)

commit 8c9abb2749f2836c97bfa4c4ef3786b3e82633c6
Author: Martin Schwenke <martin at meltin.net>
Date:   Thu Apr 11 16:56:32 2019 +1000

    ctdb-tools: Fix ctdb dumpmemory to avoid printing trailing NUL
    
    Fix ctdb rddumpmemory too.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13923
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    (cherry picked from commit f78d9388fb459dc83fafb4da6e683e3137ad40e1)

commit 42b32da416056f315925c2e6563c2c5d26f27832
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Apr 25 14:57:33 2019 +0200

    smbd: implement SMB_FILE_NORMALIZED_NAME_INFORMATION handling
    
    Windows 10 (1803 and higher) support and use
    SMB_FILE_NORMALIZED_NAME_INFORMATION calls over the network. As a
    fallback (in case the server don't support it) the client traverses all
    path components, which is very expensive.
    
    Implementing SMB_FILE_NORMALIZED_NAME_INFORMATION is very cheap for us
    as the open already went through unix_convert() and we have the
    information the client is asking for.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13919
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Wed May  1 18:33:00 UTC 2019 on sn-devel-184
    
    (cherry picked from commit b20fd15e04ce9292f90a7f70f4184e43034b4b9d)

commit 5308f042e672b61eab98a486b87dddd54ac6e764
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Apr 25 14:57:02 2019 +0200

    s4:torture/smb2: add smb2.getinfo.normalized test
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13919
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit 8a5828de2bdd95223e5f30996d0490fef53742dd)

commit 3205d032781b706fb83acfdb6b8dc4dd8bd51a4d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Apr 25 12:12:34 2019 +0200

    s4:libcli/raw: add RAW_FILEINFO_NORMALIZED_NAME_INFORMATION support
    
    This is supported over the wire in SMB 3.1.1 on starting with
    Windows 10 1803.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13919
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit 0c602319194bda6b2a0efdd7c186078583f79264)

commit 07382f0765acf7480a4d78144fcd1659334f375e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Apr 25 17:30:43 2019 +0200

    smbd: allow case insensitive opens of named streams
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13919
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit 2a69c0915586fb9fb2148239965d06bf9f93c803)

commit 649dd7bce868bef1cb62a9070f32858a525c7cd7
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Apr 29 14:53:13 2019 +0200

    s4:torture/smb2: add smb2.stream.names3 test
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13919
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit b5c4fdbf99caa3a9e7c6446cfbc4f1b23b84b3c8)

commit f4a603a9f32b75662dc08bf58b75345b16ac8ee7
Author: Robert Sander <r.sander at heinlein-support.de>
Date:   Thu May 2 11:20:44 2019 -0700

    s3: modules: ceph: use current working directory instead of share path
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13918
    
    Signed-off-by: Robert Sander <r.sander at heinlein-support.de>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Böhme <slow at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Thu May  2 19:34:11 UTC 2019 on sn-devel-184
    
    (cherry picked from commit 966fc0dc604299a87e40e7170d80911475317db5)

commit de505618e6028f35d924170fc36652d069464e35
Author: Ralph Wuerthner <ralph.wuerthner at de.ibm.com>
Date:   Mon Mar 25 15:17:07 2019 +0100

    s3:debug: enable logging for early startup failures
    
    Commit c89a33a07a 'debug: Use backends instead of explicitly logging to
    syslog or file' introduced a regression where early startup failures (e.g.
    unable to connect to CTDB) are no longer logged because the debug subsystem
    is not yet fully initialized. Enable logging again with reasonable defaults
    when reopen_logs() is called and the parameter file is not yet parsed.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13904
    
    Signed-off-by: Ralph Wuerthner <ralph.wuerthner at de.ibm.com>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Christof Schmitt <cs at samba.org>
    
    Autobuild-User(master): Christof Schmitt <cs at samba.org>
    Autobuild-Date(master): Thu Apr 18 22:21:15 UTC 2019 on sn-devel-144
    
    (cherry picked from commit 9b30fcda64080592d20de64b384fd6d3d0775cbf)

commit c584a4b4dfbdf7df1acc9bc452f95511a3f07f02
Author: Ralph Wuerthner <ralph.wuerthner at de.ibm.com>
Date:   Thu Apr 11 13:11:34 2019 +0200

    s3:debug: adjust indention
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13904
    
    Signed-off-by: Ralph Wuerthner <ralph.wuerthner at de.ibm.com>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Christof Schmitt <cs at samba.org>
    (cherry picked from commit a45675879ddcb43ab274d28496eedd6833466ae4)

commit c7f25b25d3a4599d6274819e34717c9eae56c2b0
Author: Ralph Wuerthner <ralph.wuerthner at de.ibm.com>
Date:   Thu Apr 11 13:01:16 2019 +0200

    s3:debug: use struct initializer
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13904
    
    Signed-off-by: Ralph Wuerthner <ralph.wuerthner at de.ibm.com>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Christof Schmitt <cs at samba.org>
    (cherry picked from commit b9e1b4ad0033c211710da285c30d603ccb8b8d40)

commit 1fa6a46fa53eb2d174b7a60624c44f38c07a8afa
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Apr 12 16:56:45 2019 +0200

    winbind: Fix overlapping id ranges
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13903
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Christof Schmitt <cs at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Wed Apr 24 02:25:56 UTC 2019 on sn-devel-184
    
    (cherry picked from commit 3020050bdf9df077ec9a0e962a689557187174ac)

commit 24d39db5c372eb96b2bcc4ac44e53f68e03b3f66
Author: Christof Schmitt <cs at samba.org>
Date:   Mon Apr 22 16:41:42 2019 -0700

    selftest: Add trusted domain tests for idmap_ad
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13903
    
    Signed-off-by: Christof Schmitt <cs at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit 2577f43a133f8b8eb997b9529a38e21c77b5da22)

commit 3a46730f12e3760d1eef2461527e4b58432ee917
Author: Christof Schmitt <cs at samba.org>
Date:   Mon Apr 22 16:38:11 2019 -0700

    selftest: Pass trusted domain information to idmap_ad test
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13903
    
    Signed-off-by: Christof Schmitt <cs at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit ac0f8656eed39a4527a5336cf93aa1508666f79b)

commit c3c2f3707a0131a5dbf9ed71e48bdda0166ad929
Author: Christof Schmitt <cs at samba.org>
Date:   Mon Apr 22 16:07:02 2019 -0700

    selftest: Add idmap configuration for trusted domain for idmap_ad
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13903
    
    Signed-off-by: Christof Schmitt <cs at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit 65e1d783cb17904cd117d896569e7cbe79a3131b)

commit 79c04524c380d2ce58b022ef625d6afbe7fb45c6
Author: Christof Schmitt <cs at samba.org>
Date:   Thu Apr 18 13:04:09 2019 -0700

    selftest: Make trusted domain information available for idmap_ad environment
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13903
    
    Signed-off-by: Christof Schmitt <cs at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit 281fb81ab1c72831c752be44fd1bfdcfd10bd798)

commit 28b5ff2ccf7a5c7d7391450ded6d03b2475276ce
Author: Christof Schmitt <cs at samba.org>
Date:   Wed Apr 17 16:12:27 2019 -0700

    selftest: Use fl2008r2dc for ad_member_idmap_ad
    
    fl2008r2dc already has a trusted domain. That will be used to use
    idmap_ad for querying idmap attributes from the trusted domain.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13903
    
    Signed-off-by: Christof Schmitt <cs at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit 8266bd1f45d1b5b2a61d84006ab8e8e1ed0e52a9)

commit 38746ec0a3ea943d9489b4115deb76cc42bb34ff
Author: Christof Schmitt <cs at samba.org>
Date:   Mon Apr 22 16:15:20 2019 -0700

    selftest: Add gid-to-sid lookup to idmap_ad test
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13903
    
    Signed-off-by: Christof Schmitt <cs at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    (cherry picked from commit d7b5ad5e6159c224f70bea782bbdc46059e67978)

commit 9c167fa8628846426cf9e09e93313174564d09a2
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Thu Apr 18 10:23:22 2019 +1200

    lib util debug: Increase format buffer to 4KiB
    
    Increase the debug line buffer to 4KiB, the existing size of 1KiB is too
    small for dsdbChange JSON audit messages.  These messages were then
    split across multipe lines causing issues in log ingestion tools
    expecting single line messages.
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=13902
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    
    Autobuild-User(master): Gary Lockyer <gary at samba.org>
    Autobuild-Date(master): Mon May  6 01:18:22 UTC 2019 on sn-devel-184
    
    (cherry picked from commit ad3af7cdffb98b7998857db609548fc96f60c669)

commit 2cc3b4c42c5acfba2c0d1d5cee8e0c02f38c322c
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Apr 9 12:47:13 2019 +0200

    lib: Initialize getline() arguments
    
    Keep "len" valid across the loop iterations for getline to consume
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=13892
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>
    (cherry picked from commit c0b2272a7d15d266ce64c86cf6a313b5b0fb67fd)

commit d1962a5f5278fc299af982d73e517c40a4b09320
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Fri Apr 5 09:25:15 2019 +1300

    pytests/dns: use 2.6 compatible syntax
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13886
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>

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

Summary of changes:
 ctdb/common/event_script.c                         |   3 +-
 ctdb/common/run_proc.c                             |   7 +-
 ctdb/common/sock_daemon.c                          |   2 +-
 ctdb/server/ctdb_daemon.c                          |  48 +++-
 ctdb/server/ctdb_recoverd.c                        |   2 +-
 ctdb/tests/complex/11_ctdb_delip_removes_ip.sh     |  10 +-
 ctdb/tests/complex/18_ctdb_reloadips.sh            |  43 ++-
 ctdb/tests/complex/32_cifs_tickle.sh               |   7 -
 ctdb/tests/complex/36_smb_reset_server.sh          |  12 +-
 ctdb/tests/complex/37_nfs_reset_server.sh          |   4 +-
 ctdb/tests/complex/60_rogueip_releaseip.sh         |   2 +-
 ctdb/tests/complex/scripts/local.bash              |   5 +-
 ctdb/tests/local_daemons.sh                        |   1 +
 ctdb/tests/run_tests.sh                            |   2 +-
 ctdb/tests/scripts/integration.bash                |  72 +++--
 ctdb/tests/simple/02_ctdb_tunables.sh              |   6 +-
 ctdb/tests/simple/05_ctdb_listnodes.sh             |   5 +-
 ctdb/tests/simple/08_ctdb_isnotrecmaster.sh        |  10 +-
 ctdb/tests/simple/09_ctdb_ping.sh                  |   6 +-
 ctdb/tests/simple/11_ctdb_ip.sh                    |  14 +-
 ctdb/tests/simple/12_ctdb_getdebug.sh              |   3 +-
 ctdb/tests/simple/14_ctdb_statistics.sh            |   2 +-
 ctdb/tests/simple/15_ctdb_statisticsreset.sh       |  21 +-
 ctdb/tests/simple/18_ctdb_reloadips.sh             |  70 +++--
 ctdb/tests/simple/19_ip_takeover_noop.sh           |   4 +-
 ctdb/tests/simple/20_delip_iface_gc.sh             |  10 +-
 ctdb/tests/simple/21_ctdb_attach.sh                |  49 ++--
 ctdb/tests/simple/23_ctdb_moveip.sh                |  25 +-
 ctdb/tests/simple/24_ctdb_getdbmap.sh              |  10 +-
 ctdb/tests/simple/25_dumpmemory.sh                 |   9 +-
 ..._ctdb_config_check_error_on_unreachable_ctdb.sh |   6 +-
 ctdb/tests/simple/27_ctdb_detach.sh                |  71 +++--
 ctdb/tests/simple/35_ctdb_getreclock.sh            |   2 +-
 ctdb/tests/simple/51_message_ring.sh               |  14 +-
 ctdb/tests/simple/52_fetch_ring.sh                 |  14 +-
 ctdb/tests/simple/53_transaction_loop.sh           |   4 +-
 ctdb/tests/simple/54_transaction_loop_recovery.sh  |   4 +-
 ctdb/tests/simple/55_ctdb_ptrans.sh                |  12 +-
 .../simple/56_replicated_transaction_recovery.sh   |   4 +-
 ctdb/tests/simple/58_ctdb_restoredb.sh             |   8 +-
 ctdb/tests/simple/69_recovery_resurrect_deleted.sh |  10 +-
 ctdb/tests/simple/70_recoverpdbbyseqnum.sh         |   4 +-
 ctdb/tests/simple/71_ctdb_wipedb.sh                |   4 +-
 ctdb/tests/simple/72_update_record_persistent.sh   |   4 +-
 ctdb/tests/simple/75_readonly_records_basic.sh     |  24 +-
 ctdb/tests/simple/77_ctdb_db_recovery.sh           |   6 +-
 ctdb/tests/simple/79_volatile_db_traverse.sh       |   4 +-
 ctdb/tests/simple/80_ctdb_traverse.sh              |   2 +-
 ctdb/tests/simple/81_tunnel_ring.sh                |  14 +-
 ctdb/tests/simple/90_debug_hung_script.sh          |   6 +-
 ctdb/tools/ctdb.c                                  |  10 +-
 ctdb/wscript                                       |   2 +-
 lib/torture/torture.h                              |   8 +-
 lib/util/debug.c                                   |   2 +-
 lib/util/debug_s3.c                                |  44 ++-
 libcli/dns/resolvconf.c                            |   2 +-
 nsswitch/pam_winbind.c                             |   5 +
 nsswitch/tests/test_idmap_ad.sh                    | 137 ++++++++-
 python/samba/tests/dns.py                          |   2 +-
 selftest/target/Samba3.pm                          |  11 +-
 source3/client/smbspool.c                          |   2 +-
 source3/modules/vfs_ceph.c                         |   9 +-
 source3/rpc_client/cli_netlogon.c                  |  13 +-
 source3/rpc_server/eventlog/srv_eventlog_nt.c      |   4 +-
 source3/selftest/tests.py                          |   2 +-
 source3/smbd/filename.c                            |  72 ++++-
 source3/smbd/reply.c                               |   4 +
 source3/smbd/smb2_getinfo.c                        |   9 +
 source3/smbd/smb2_server.c                         |   3 +
 source3/smbd/trans2.c                              |  57 ++++
 source3/utils/smbcacls.c                           |   4 +-
 source3/utils/smbcquotas.c                         |   4 +-
 source3/winbindd/idmap_tdb2.c                      |   4 +-
 source3/winbindd/wb_xids2sids.c                    |  12 +-
 source4/auth/gensec/gensec_gssapi.c                |   9 +-
 source4/lib/socket/socket_ip.c                     |   2 +-
 source4/libcli/raw/interfaces.h                    |  16 +-
 source4/libcli/raw/rawfileinfo.c                   |  11 +
 source4/libcli/raw/trans2.h                        |   1 +
 source4/ntvfs/ntvfs_generic.c                      |   2 +
 source4/ntvfs/posix/pvfs_qfileinfo.c               |   2 +
 source4/ntvfs/posix/vfs_posix.c                    |   2 +-
 source4/torture/gentest.c                          |   4 +
 source4/torture/rpc/drsuapi_cracknames.c           |   8 +-
 source4/torture/smb2/getinfo.c                     | 311 +++++++++++++++++++++
 source4/torture/smb2/streams.c                     | 115 ++++++++
 source4/torture/vfs/fruit.c                        |   2 +-
 87 files changed, 1237 insertions(+), 351 deletions(-)


Changeset truncated at 500 lines:

diff --git a/ctdb/common/event_script.c b/ctdb/common/event_script.c
index 8978d1452c0..8bdfdd0b5ca 100644
--- a/ctdb/common/event_script.c
+++ b/ctdb/common/event_script.c
@@ -117,7 +117,8 @@ int event_script_get_list(TALLOC_CTX *mem_ctx,
 	}
 
 	*out = script_list;
-	return 0;
+	ret = 0;
+	goto done;
 
 nomem:
 	ret = ENOMEM;
diff --git a/ctdb/common/run_proc.c b/ctdb/common/run_proc.c
index 037b6d9651d..0c3c1de72fe 100644
--- a/ctdb/common/run_proc.c
+++ b/ctdb/common/run_proc.c
@@ -302,13 +302,15 @@ again:
 		proc->fd = -1;
 	}
 
+	DLIST_REMOVE(run_ctx->plist, proc);
+
 	/* Active run_proc request */
 	if (proc->req != NULL) {
 		run_proc_done(proc->req);
+	} else {
+		talloc_free(proc);
 	}
 
-	DLIST_REMOVE(run_ctx->plist, proc);
-
 	goto again;
 }
 
@@ -426,6 +428,7 @@ static void run_proc_done(struct tevent_req *req)
 	if (state->proc->output != NULL) {
 		state->output = talloc_steal(state, state->proc->output);
 	}
+	talloc_steal(state, state->proc);
 
 	tevent_req_done(req);
 }
diff --git a/ctdb/common/sock_daemon.c b/ctdb/common/sock_daemon.c
index e5e16f8af12..6298653f4ec 100644
--- a/ctdb/common/sock_daemon.c
+++ b/ctdb/common/sock_daemon.c
@@ -893,7 +893,7 @@ static void sock_daemon_run_socket_fail(struct tevent_req *subreq)
 		subreq, struct tevent_req);
 	struct sock_daemon_run_state *state = tevent_req_data(
 		req, struct sock_daemon_run_state);
-	const char *sockpath = NULL;
+	const char *sockpath = "INVALID";
 	int ret = 0;
 	bool status;
 
diff --git a/ctdb/server/ctdb_daemon.c b/ctdb/server/ctdb_daemon.c
index a8691388d4a..aa0694548f8 100644
--- a/ctdb/server/ctdb_daemon.c
+++ b/ctdb/server/ctdb_daemon.c
@@ -928,6 +928,44 @@ static int ctdb_clientpid_destructor(struct ctdb_client_pid_list *client_pid)
 	return 0;
 }
 
+static int get_new_client_id(struct reqid_context *idr,
+			     struct ctdb_client *client,
+			     uint32_t *out)
+{
+	uint32_t client_id;
+
+	client_id = reqid_new(idr, client);
+	/*
+	 * Some places in the code (e.g. ctdb_control_db_attach(),
+	 * ctdb_control_db_detach()) assign a special meaning to
+	 * client_id 0.  The assumption is that if client_id is 0 then
+	 * the control has come from another daemon.  Therefore, we
+	 * should never return client_id == 0.
+	 */
+	if (client_id == 0) {
+		/*
+		 * Don't leak ID 0.  This is safe because the ID keeps
+		 * increasing.  A test will be added to ensure that
+		 * this doesn't change.
+		 */
+		reqid_remove(idr, 0);
+
+		client_id = reqid_new(idr, client);
+	}
+
+	if (client_id == REQID_INVALID) {
+		return EINVAL;
+	}
+
+	if (client_id == 0) {
+		/* Every other ID must have been used and we can't use 0 */
+		reqid_remove(idr, 0);
+		return EINVAL;
+	}
+
+	*out = client_id;
+	return 0;
+}
 
 static void ctdb_accept_client(struct tevent_context *ev,
 			       struct tevent_fd *fde, uint16_t flags,
@@ -971,7 +1009,15 @@ static void ctdb_accept_client(struct tevent_context *ev,
 
 	client->ctdb = ctdb;
 	client->fd = fd;
-	client->client_id = reqid_new(ctdb->idr, client);
+
+	ret = get_new_client_id(ctdb->idr, client, &client->client_id);
+	if (ret != 0) {
+		DBG_ERR("Unable to get client ID (%d)\n", ret);
+		close(fd);
+		talloc_free(client);
+		return;
+	}
+
 	client->pid = peer_pid;
 
 	client_pid = talloc(client, struct ctdb_client_pid_list);
diff --git a/ctdb/server/ctdb_recoverd.c b/ctdb/server/ctdb_recoverd.c
index 9b3559b2a92..3e63bd1e7a5 100644
--- a/ctdb/server/ctdb_recoverd.c
+++ b/ctdb/server/ctdb_recoverd.c
@@ -1134,7 +1134,7 @@ static int helper_run(struct ctdb_recoverd *rec, TALLOC_CTX *mem_ctx,
 
 	state->done = false;
 
-	fde = tevent_add_fd(rec->ctdb->ev, rec->ctdb, state->fd[0],
+	fde = tevent_add_fd(rec->ctdb->ev, state, state->fd[0],
 			    TEVENT_FD_READ, helper_handler, state);
 	if (fde == NULL) {
 		goto fail;
diff --git a/ctdb/tests/complex/11_ctdb_delip_removes_ip.sh b/ctdb/tests/complex/11_ctdb_delip_removes_ip.sh
index b5c8866d67a..543472c0f22 100755
--- a/ctdb/tests/complex/11_ctdb_delip_removes_ip.sh
+++ b/ctdb/tests/complex/11_ctdb_delip_removes_ip.sh
@@ -22,8 +22,8 @@ cluster_is_healthy
 select_test_node_and_ips
 get_test_ip_mask_and_iface
 
-echo "Checking that node ${test_node} hosts ${test_ip} on interface ${iface}..."
-try_command_on_node $test_node "ip addr show dev $iface | grep -E 'inet6?[[:space:]]*${test_ip}/'"
+echo "Checking that node ${test_node} hosts ${test_ip}..."
+try_command_on_node $test_node "ip addr show to ${test_ip} | grep -q ."
 
 echo "Attempting to remove ${test_ip} from node ${test_node}."
 try_command_on_node $test_node $CTDB delip $test_ip
@@ -33,10 +33,10 @@ wait_until_ips_are_on_node '!' $test_node $test_ip
 timeout=60
 increment=5
 count=0
-echo "Waiting for ${test_ip} to disappear from ${iface}..."
+echo "Waiting for ${test_ip} to disappear from node ${test_node}..."
 while : ; do
-    try_command_on_node -v $test_node "ip addr show dev $iface"
-    if echo "$out" | grep -E 'inet6?[[:space:]]*${test_ip}/'; then
+    try_command_on_node -v $test_node "ip addr show to ${test_node}"
+    if -n "$out" ; then
 	echo "Still there..."
 	if [ $(($count * $increment)) -ge $timeout ] ; then
 	    echo "BAD: Timed out waiting..."
diff --git a/ctdb/tests/complex/18_ctdb_reloadips.sh b/ctdb/tests/complex/18_ctdb_reloadips.sh
index 2beff771874..26782130430 100755
--- a/ctdb/tests/complex/18_ctdb_reloadips.sh
+++ b/ctdb/tests/complex/18_ctdb_reloadips.sh
@@ -48,12 +48,12 @@ select_test_node_and_ips
 
 echo "Getting public IP information from CTDB..."
 try_command_on_node any "$CTDB ip -X -v all"
-ctdb_ip_info=$(echo "$out" | awk -F'|' 'NR > 1 { print $2, $3, $5 }')
+ctdb_ip_info=$(awk -F'|' 'NR > 1 { print $2, $3, $5 }' "$outfile")
 
 echo "Getting IP information from interfaces..."
 try_command_on_node all "ip addr show"
-ip_addr_info=$(echo "$out" | \
-    awk '$1 == "inet" { ip = $2; sub(/\/.*/, "", ip); print ip }')
+ip_addr_info=$(awk '$1 == "inet" { ip = $2; sub(/\/.*/, "", ip); print ip }' \
+		   "$outfile")
 
 prefix=""
 for b in $(seq 0 255) ; do
@@ -168,7 +168,7 @@ check_ips ()
 
     try_command_on_node $test_node "ip addr show dev ${iface}"
     local ip_addrs_file=$(mktemp)
-    echo "$out" | \
+    cat "$outfile" | \
 	sed -n -e "s at .*inet * \(${prefix//./\.}\.[0-9]*\)/.*@\1 at p" | \
 	sort >"$ip_addrs_file"
 
@@ -184,6 +184,33 @@ check_ips ()
     fi
 }
 
+# ctdb reloadips will fail if it can't disable takover runs.  The most
+# likely reason for this is that there is already a takeover run in
+# progress.  We can't predict when this will happen, so retry if this
+# occurs.
+do_ctdb_reloadips ()
+{
+	local retry_max=10
+	local retry_count=0
+	while : ; do
+		if try_command_on_node "$test_node" "$CTDB reloadips" ; then
+			return 0
+		fi
+
+		if [ "$out" != "Failed to disable takeover runs" ] ; then
+			return 1
+		fi
+
+		if [ $retry_count -ge $retry_max ] ; then
+			return 1
+		fi
+
+		retry_count=$((retry_count + 1))
+		echo "Retrying..."
+		sleep_for 1
+	done
+}
+
 ####################
 
 new_ip_max=100
@@ -193,7 +220,7 @@ new_ip_max=100
 add_ips_to_original_config \
     $test_node "$addresses" "$iface" "$prefix" 1 $new_ip_max
 
-try_command_on_node $test_node "$CTDB reloadips"
+do_ctdb_reloadips
 
 check_ips $test_node "$iface" "$prefix" 1 $new_ip_max
 
@@ -207,7 +234,7 @@ echo "Using 'ctdb reloadips' to remove the 1st address just added..."
 add_ips_to_original_config \
     $test_node "$addresses" "$iface" "$prefix" 2 $new_ip_max
 
-try_command_on_node $test_node "$CTDB reloadips"
+do_ctdb_reloadips
 
 check_ips $test_node "$iface" "$prefix" 2 $new_ip_max
 
@@ -222,7 +249,7 @@ echo "Updating to include only about 1/2 of the new IPs..."
 add_ips_to_original_config \
     $test_node "$addresses" "$iface" "$prefix" $start $new_ip_max
 
-try_command_on_node $test_node "$CTDB reloadips"
+do_ctdb_reloadips
 
 check_ips $test_node "$iface" "$prefix" $start $new_ip_max
 
@@ -234,6 +261,6 @@ try_command_on_node any $CTDB sync
 echo "Restoring original IP configuration..."
 restore_public_addresses
 
-try_command_on_node $test_node "$CTDB reloadips"
+do_ctdb_reloadips
 
 check_ips $test_node "$iface" "$prefix" 0
diff --git a/ctdb/tests/complex/32_cifs_tickle.sh b/ctdb/tests/complex/32_cifs_tickle.sh
index 4f2cdadbdfc..bfe3df4e82f 100755
--- a/ctdb/tests/complex/32_cifs_tickle.sh
+++ b/ctdb/tests/complex/32_cifs_tickle.sh
@@ -61,13 +61,6 @@ echo "Source socket is $src_socket"
 # we sometimes beat the registration.
 echo "Checking if CIFS connection is tracked by CTDB on test node..."
 wait_until 10 check_tickles $test_node $test_ip $test_port $src_socket
-echo "$out"
-
-if [ "${out/SRC: ${src_socket} /}" != "$out" ] ; then
-    echo "GOOD: CIFS connection tracked OK by CTDB."
-else
-    die "BAD: Socket not tracked by CTDB."
-fi
 
 # This is almost immediate.  However, it is sent between nodes
 # asynchonously, so it is worth checking...
diff --git a/ctdb/tests/complex/36_smb_reset_server.sh b/ctdb/tests/complex/36_smb_reset_server.sh
index 0de77722fc3..870b80661aa 100755
--- a/ctdb/tests/complex/36_smb_reset_server.sh
+++ b/ctdb/tests/complex/36_smb_reset_server.sh
@@ -59,16 +59,8 @@ echo "Source socket is $src_socket"
 
 # This should happen as soon as connection is up... but unless we wait
 # we sometimes beat the registration.
-echo "Checking if CIFS connection is tracked by CTDB on test node..."
+echo "Waiting until SMB connection is tracked by CTDB on test node..."
 wait_until 10 check_tickles $test_node $test_ip $test_port $src_socket
-echo "$out"
-
-if [ "${out/SRC: ${src_socket} /}" != "$out" ] ; then
-    echo "GOOD: CIFS connection tracked OK by CTDB."
-else
-    echo "BAD: Socket not tracked by CTDB."
-    exit 1
-fi
 
 # It would be nice if ss consistently used local/peer instead of src/dst
 ss_filter="src ${test_ip}:${test_port} dst ${src_socket}"
@@ -80,7 +72,7 @@ if [ -z "$out" ] ; then
 	exit 1
 fi
 echo "GOOD: ss lists the socket:"
-echo "$out"
+cat "$outfile"
 
 echo "Disabling node $test_node"
 try_command_on_node 1 $CTDB disable -n $test_node
diff --git a/ctdb/tests/complex/37_nfs_reset_server.sh b/ctdb/tests/complex/37_nfs_reset_server.sh
index 7190af0f552..32ff9295cc6 100755
--- a/ctdb/tests/complex/37_nfs_reset_server.sh
+++ b/ctdb/tests/complex/37_nfs_reset_server.sh
@@ -60,7 +60,7 @@ echo "Source socket is $src_socket"
 echo "Wait until NFS connection is tracked by CTDB on test node ..."
 wait_until $((monitor_interval * 2)) \
 	   check_tickles $test_node $test_ip $test_port $src_socket
-echo "$out"
+cat "$outfile"
 
 # It would be nice if ss consistently used local/peer instead of src/dst
 ss_filter="src ${test_ip}:${test_port} dst ${src_socket}"
@@ -72,7 +72,7 @@ if [ -z "$out" ] ; then
 	exit 1
 fi
 echo "GOOD: ss lists the socket:"
-echo "$out"
+cat "$outfile"
 
 echo "Disabling node $test_node"
 try_command_on_node 1 $CTDB disable -n $test_node
diff --git a/ctdb/tests/complex/60_rogueip_releaseip.sh b/ctdb/tests/complex/60_rogueip_releaseip.sh
index 2fddc06f867..88e4e554c34 100755
--- a/ctdb/tests/complex/60_rogueip_releaseip.sh
+++ b/ctdb/tests/complex/60_rogueip_releaseip.sh
@@ -31,7 +31,7 @@ for i in $all_pnns ; do
 		continue
 	fi
 	try_command_on_node $i "$CTDB ip"
-	n=$(awk -v ip="$test_ip" '$1 == ip { print }' <<<"$out")
+	n=$(awk -v ip="$test_ip" '$1 == ip { print }' "$outfile")
 	if [ -n "$n" ] ; then
 		other_node="$i"
 		break
diff --git a/ctdb/tests/complex/scripts/local.bash b/ctdb/tests/complex/scripts/local.bash
index 7787de8f111..787f597edcc 100644
--- a/ctdb/tests/complex/scripts/local.bash
+++ b/ctdb/tests/complex/scripts/local.bash
@@ -67,7 +67,7 @@ check_tickles ()
     local src_socket="$4"
     try_command_on_node $node ctdb gettickles $test_ip $test_port
     # SRC: 10.0.2.45:49091   DST: 10.0.2.143:445
-    [ "${out/SRC: ${src_socket} /}" != "$out" ]
+    grep -Fq "SRC: ${src_socket} " "$outfile"
 }
 
 check_tickles_all ()
@@ -79,8 +79,7 @@ check_tickles_all ()
 
     try_command_on_node all ctdb gettickles $test_ip $test_port
     # SRC: 10.0.2.45:49091   DST: 10.0.2.143:445
-    local t="${src_socket//./\\.}"
-    local count=$(grep -E -c "SRC: ${t} " <<<"$out" || true)
+    local count=$(grep -Fc "SRC: ${src_socket} " "$outfile" || true)
     [ $count -eq $numnodes ]
 }
 
diff --git a/ctdb/tests/local_daemons.sh b/ctdb/tests/local_daemons.sh
index 3c3897feb50..5a92a24e9e7 100755
--- a/ctdb/tests/local_daemons.sh
+++ b/ctdb/tests/local_daemons.sh
@@ -119,6 +119,7 @@ setup_socket_wrapper ()
 	ln -s "$_socket_wrapper_so" "$_so"
 
 	_d="${directory}/sw"
+	rm -rf "$_d"
 	mkdir -p "$_d"
 }
 
diff --git a/ctdb/tests/run_tests.sh b/ctdb/tests/run_tests.sh
index f5be01a8d66..a9c68464883 100755
--- a/ctdb/tests/run_tests.sh
+++ b/ctdb/tests/run_tests.sh
@@ -7,7 +7,7 @@ Usage: $0 [OPTIONS] [TESTS]
 Options:
   -A		Use "cat -A" to print test output (only some tests)
   -c		Run integration tests on a cluster
-  -C		Clean up - kill daemons and remove TEST_VAR_DIR when done
+  -C		Remove TEST_VAR_DIR when done
   -d		Print descriptions of tests instead of filenames (dodgy!)
   -D		Show diff between failed/expected test output (some tests only)
   -e		Exit on the first test failure
diff --git a/ctdb/tests/scripts/integration.bash b/ctdb/tests/scripts/integration.bash
index 6ba531a4a76..30725c48e53 100644
--- a/ctdb/tests/scripts/integration.bash
+++ b/ctdb/tests/scripts/integration.bash
@@ -72,7 +72,20 @@ ctdb_test_init ()
 
 ########################################
 
-# Sets: $out
+# Sets: $out, $outfile
+# * The first 1KB of output is put into $out
+# * Tests should use $outfile for handling large output
+# * $outfile is removed after each test
+out=""
+outfile="${TEST_VAR_DIR}/try_command_on_node.out"
+
+outfile_cleanup ()
+{
+	rm -f "$outfile"
+}
+
+ctdb_test_exit_hook_add outfile_cleanup
+
 try_command_on_node ()
 {
     local nodespec="$1" ; shift
@@ -91,16 +104,19 @@ try_command_on_node ()
 
     local cmd="$*"
 
-    out=$(onnode -q $onnode_opts "$nodespec" "$cmd" 2>&1) || {
+    local status=0
+    onnode -q $onnode_opts "$nodespec" "$cmd" >"$outfile" 2>&1 || status=$?
+    out=$(dd if="$outfile" bs=1k count=1 2>/dev/null)
 
+    if [ $status -ne 0 ] ; then
 	echo "Failed to execute \"$cmd\" on node(s) \"$nodespec\""
-	echo "$out"
+	cat "$outfile"
 	return 1
-    }
+    fi
 
     if $verbose ; then
 	echo "Output of \"$cmd\":"
-	echo "$out"
+	cat "$outfile"
     fi
 }
 
@@ -108,11 +124,10 @@ sanity_check_output ()
 {
     local min_lines="$1"
     local regexp="$2" # Should be anchored as necessary.
-    local output="$3"
 
     local ret=0
 
-    local num_lines=$(echo "$output" | wc -l)
+    local num_lines=$(wc -l <"$outfile")
     echo "There are $num_lines lines of output"
     if [ $num_lines -lt $min_lines ] ; then
 	echo "BAD: that's less than the required number (${min_lines})"
@@ -121,7 +136,7 @@ sanity_check_output ()
 
     local status=0
     local unexpected # local doesn't pass through status of command on RHS.
-    unexpected=$(echo "$output" | egrep -v "$regexp") || status=$?
+    unexpected=$(grep -Ev "$regexp" "$outfile") || status=$?
 
     # Note that this is reversed.
     if [ $status -eq 0 ] ; then
@@ -135,30 +150,7 @@ sanity_check_output ()
     return $ret
 }
 
-sanity_check_ips ()
-{
-    local ips="$1" # list of "ip node" lines
-
-    echo "Sanity checking IPs..."
-
-    local x ipp prev
-    prev=""
-    while read x ipp ; do
-	[ "$ipp" = "-1" ] && break
-	if [ -n "$prev" -a "$ipp" != "$prev" ] ; then
-	    echo "OK"
-	    return 0
-	fi
-	prev="$ipp"
-    done <<<"$ips"
-
-    echo "BAD: a node was -1 or IPs are only assigned to one node:"
-    echo "$ips"
-    echo "Are you running an old version of CTDB?"
-    return 1
-}
-
-# This returns a list of "ip node" lines in $out
+# This returns a list of "ip node" lines in $outfile
 all_ips_on_node()
 {
     local node="$1"
@@ -179,9 +171,9 @@ _select_test_node_and_ips ()


-- 
Samba Shared Repository



More information about the samba-cvs mailing list