summaryrefslogtreecommitdiff
path: root/selftest
Commit message (Collapse)AuthorAgeFilesLines
...
* s4:torture/smb2: add smb2.samba3misc.localposixlock1Stefan Metzmacher2019-09-092-0/+2
| | | | | | | | | | This demonstrates that the SMB2 code path doesn't do any retry for local posix locks. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14113 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
* s3:blocking: maintain state->deny_statusStefan Metzmacher2019-09-091-1/+0
| | | | | | | | | | For Windows locks we start with LOCK_NOT_GRANTED and use FILE_LOCK_CONFLICT if we retried after a timeout. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14113 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
* s4:torture/raw: assert to get LOCK_NOT_GRANTED in ↵Stefan Metzmacher2019-09-091-0/+1
| | | | | | | | | | | | torture_samba3_posixtimedlock() There should not be a different if the blocker is a posix process instead of another smbd. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14113 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
* s3:blocking: fix posix lock retryStefan Metzmacher2019-09-091-1/+0
| | | | | | | | | | | | | | We should evaluate the timeout condition after the very last retry and not before. Otherwise we'd fail to retry when waiting for posix locks. The problem happens if the client provided timeout is smaller than the 1 sec (for testing temporary 15 secs) retry. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14113 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
* s3:blocking: demonstrate the posix lock retry failsStefan Metzmacher2019-09-091-0/+1
| | | | | | | | | | | | | This is just a temporary commit that shows the bug and its fix. It will be reverted once the problem is fixed. The posix lock retry fails if the client specified timeout is smaller than the hardcoded 1 second retry. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14113 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
* s3:torture: convert LOCK9 into LOCK9A and LOCK9BStefan Metzmacher2019-09-091-1/+1
| | | | | | | | | | | | | LOCK9A is the original test (with a timeout of -1) and LOCK9B is the same but with timeout of 10 seconds. LOCK9B is needed to demonstrate a server bug in the next commits. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14113 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
* CVE-2019-10197: smbd: split change_to_user_impersonate() out of ↵Stefan Metzmacher2019-09-031-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | change_to_user_internal() This makes sure we always call chdir_current_service() even when we still impersonated the user. Which is important in order to run the SMB* request within the correct working directory and only if the user has permissions to enter that directory. It makes sure we always update conn->lastused_count in chdir_current_service() for each request. Note that vfs_ChDir() (called from chdir_current_service()) maintains its own cache and avoids calling SMB_VFS_CHDIR() if possible. It means we still avoid syscalls if we get a multiple requests for the same session/tcon tuple. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14035 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Karolin Seeger <kseeger@samba.org> Autobuild-Date(master): Tue Sep 3 09:27:22 UTC 2019 on sn-devel-184
* CVE-2019-10197: test_smbclient_s3.sh: add regression test for the no ↵Stefan Metzmacher2019-09-032-0/+13
| | | | | | | | permission on share root problem BUG: https://bugzilla.samba.org/show_bug.cgi?id=14035 Signed-off-by: Stefan Metzmacher <metze@samba.org>
* CVE-2019-10197: selftest: make fsrvp_share its own independent subdirectoryStefan Metzmacher2019-09-031-2/+5
| | | | | | | | The next patch will otherwise break the fsrvp related tests. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14035 Signed-off-by: Stefan Metzmacher <metze@samba.org>
* selftest: Remove obsolete LDAP backend hooks from selftest.pl et alAndrew Bartlett2019-08-303-134/+4
| | | | | | | | This removes some quite complex logic that has not been used since the LDAP backend project was shelved prior to 2011. Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Nadezhda Ivanova <nivanova@symas.com>
* s4-dns: Deprecate BIND9_FLATFILE and remove "rndc command"Andrew Bartlett2019-08-221-1/+0
| | | | | | | | Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Thu Aug 22 21:24:00 UTC 2019 on sn-devel-184
* downgradedatabase: installing scriptAaron Haslett2019-08-201-1/+0
| | | | | | | | | | | | | | Installing downgrade script so people don't need the source tree for it. Exception added in usage test because running the script without arguments is valid. (This avoids the need to knownfail it). BUG: https://bugzilla.samba.org/show_bug.cgi?id=14059 Signed-off-by: Aaron Haslett <aaronhaslett@catalyst.net.nz> Signed-off-by: Tim Beale <timbeale@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz>
* downgradedatabase: rename to samba_downgrade_dbTim Beale2019-08-201-1/+1
| | | | | | | | | | Just so that it's slightly less of a mouthful for users. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14059 Signed-off-by: Tim Beale <timbeale@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz>
* s3:mdssvc: fix slrpc_fetch_attributes() when CNID is not knownRalph Boehme2019-08-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Samba currenlty fails the whole RPC request, macOS returns returns a nil entry for the requested CNID: DALLOC_CTX(#1): { sl_array_t(#3): { uint64_t: 0x0000 CNIDs: unkn1: 0xfec, unkn2: 0x6b000020 DALLOC_CTX(#1): { uint64_t: 0xe4bbf314c03b1e } sl_filemeta_t(#1): { sl_array_t(#2): { nil nil } } } } Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Thu Aug 8 21:43:14 UTC 2019 on sn-devel-184
* s3:mdssvc: close mdssvc rpc command must return in handleRalph Boehme2019-08-081-1/+0
| | | | | | | Checked against macOS mdssvc. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* s3:mdssvc: failing the RPC request if the mdssvc policy handle is not foundRalph Boehme2019-08-081-4/+0
| | | | | | | | | | Turns out macOS mdssvc doesn't fail the RPC request if the policy handle is all zero. Also, if it fails with a non-all-zero handle, it returns a different RPC error, namely DCERPC_NCA_S_PROTO_ERROR, not DCERPC_FAULT_CONTEXT_MISMATCH (or rather their mapped NT_STATUS codes). Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* s3:mdssvc: the open command must work on shares with Spotlight disabledRalph Boehme2019-08-081-1/+0
| | | | | | | | | | | | Move the implementation of this setting down to the actual search query processing. macOS has no notion of "spotlight = false" at the DCERPC layer and the open request will always succeed even on all shares. When later the client issues search requests on such shares, we ensure we use the noindex backend. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* s3:mdssvv: don't fail the RPC request if the share name is unknownRalph Boehme2019-08-081-1/+0
| | | | | | | | Taken from macOS. We have to return an empty share_path and an empty policy handle, but not fail the RPC request. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* torture: beginning of a mdssvc RPC service test-suiteRalph Boehme2019-08-082-0/+17
| | | | | | | Yikes! Most tests fail atm. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* s3:mdssvc: fix unmarshalling of empty CNID arrayRalph Boehme2019-08-081-1/+0
| | | | | | | | len=0 is invalid, len=8 is an empty array, len>8 is an array with members, so for the len=8 case we must add the empty cnid array. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* torture: start of a mdssvc packet (un)marshalling testsuiteRalph Boehme2019-08-081-0/+1
| | | | | Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* smbd: Fix retry for kernel-oplocked filesVolker Lendecke2019-07-311-1/+0
| | | | | | | | | | | | | | | | | | | | | | | This now removed comment describes the bug correctly: /* * As this timer event is owned by req, it will * disappear if req it talloc_freed. */ In smb1, "req" disappears once the reply_whatever routine is done. Thus the timer goes away and we never look at "req" again. This change moves the valid data (xconn and mid) to deferred_open_record, and changes the talloc hierarchy such that the timer is now a child of open_rec, which is a child of the deferred message. Bug: https://bugzilla.samba.org/show_bug.cgi?id=14060 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Wed Jul 31 00:12:34 UTC 2019 on sn-devel-184
* torture3: Add oplock5 kernel-oplock testVolker Lendecke2019-07-301-0/+1
| | | | | | | | | Show that the current smb1 server does not properly retry a nonblocking open of a kernel-oplocked file Bug: https://bugzilla.samba.org/show_bug.cgi?id=14060 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* libcli:auth: Add test for decoding an RC4 password bufferAndreas Schneider2019-07-261-0/+2
| | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=14031 Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* auth/pycreds/encrypt_netr_crypt_password: don't segfaultDouglas Bagnall2019-07-221-1/+0
| | | | | | | | Non-talloc objects were treated as talloc objects, to no good effect Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Gary Lockyer <gary@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* talloc: pytalloc_get_checked_type: survive non-talloc objectsDouglas Bagnall2019-07-221-2/+0
| | | | | | | | | If the python object is not a talloc object, we will end up with a NULL pointer. We weren't checking for that properly Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Gary Lockyer <gary@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* prefork tests: re-enable restart tests for MIT KerberosGary Lockyer2019-07-161-4/+0
| | | | | | | | | | | | Previously the restart back off tests were disabled for MIT Kerberos, as they used the kdc, which is not run in that case. Tests now use the echo server. Signed-off-by: Gary Lockyer <gary@catalyst.net.nz> Reviewed-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Tue Jul 16 10:10:23 UTC 2019 on sn-devel-184
* pyldb: ldb.register_module() checks arguments a little bitDouglas Bagnall2019-07-101-1/+0
| | | | | Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
* pyldb: remove ldb.open, which was never survivableDouglas Bagnall2019-07-101-2/+0
| | | | | | | | There was no way to call ldb.open without evoking signal 11, so it is unlikely anyone was using it. Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
* py segfault test: ldb.openDouglas Bagnall2019-07-101-0/+2
| | | | | | | There seems to be no way of using ldb.open without causing a segfault Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
* py segfault test: ldb.register_moduleDouglas Bagnall2019-07-101-0/+1
| | | | | Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
* pyldb: check for errors in PyLdb_GetPyType()Douglas Bagnall2019-07-101-2/+0
| | | | | Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
* selftest: explicitly set "mangled names = yes"Ralph Boehme2019-07-082-0/+2
| | | | | | | | | This is the current default and what 'make test' assumes currently. The next commit will change the default to "illegal". Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* selftest: explicitly set "client min protocol = CORE"Stefan Metzmacher2019-07-083-0/+3
| | | | | | | | | This is the current default and what 'make test' assumes currently. The next commit will change the default to disable SMB1. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* selftest: explicitly set "server min protocol = LANMAN1"Stefan Metzmacher2019-07-082-0/+3
| | | | | | | | | This is the current default and what 'make test' assumes currently. The next commit will change the default to disable SMB1. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* smbtorture: Add smb2.ioctl.zero_dataChristof Schmitt2019-07-051-0/+2
| | | | | | | | Allow to manually issue the FSCTL_ZERO_DATA call and verify the state of the file in the file system. Signed-off-by: Christof Schmitt <cs@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* smbtorture: Add smb2.ioctl.sparse_set_sparseChristof Schmitt2019-07-051-0/+2
| | | | | | | | This allows for manual testing of changing the sparse setting on a file and verifying the flag in the file system. Signed-off-by: Christof Schmitt <cs@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* s4/torture: remove autoidlDouglas Bagnall2019-07-051-1/+0
| | | | | | | | | This has been turned off by default for 10 years (since 26e114b83ce1de7515bfbf365), and is only interesting for nostalgia purposes. Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* s4/scripting/autoidl: remove itDouglas Bagnall2019-07-051-1/+0
| | | | | | | | | | | | | What does it even do? Possibly nothing, not least because nobody ever runs it. It was introduced as source4/scripting/bin/autoidl.py in a2446e5f8550582c0d4353bb85874dea17cf1d98 ("initial work for script that uses probing to figure out IDL"). Since then it has only had superficial patches, generally aimed at Python 3. Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* tests/usage: test for --help consistencyDouglas Bagnall2019-07-051-0/+7
| | | | | Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* tests/usage: generalise to cover non-python scriptsDouglas Bagnall2019-07-051-0/+1
| | | | | | | | It is not as simple as running everything executable, because for example .so library files are marked as executable. Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* tests/usage: python scripts --help should be helpfulDouglas Bagnall2019-07-051-0/+14
| | | | | | | We want to be sure it says *something* and returns success. Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* s4/scripting/samba_dnsupdate: print usage with no argumentsDouglas Bagnall2019-07-051-2/+0
| | | | | Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* s4/scripting/demodirsync: print usage if no host namedDouglas Bagnall2019-07-051-1/+0
| | | | | Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* s4/scripting/mymachinepw: print usage with bad argumentsDouglas Bagnall2019-07-051-1/+0
| | | | | | | | Also, use sys.exit() function, not exit(), because sys.exit() reliably exists. Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* s4/scripting/get-descriptors: print usage with insufficient argumentsDouglas Bagnall2019-07-051-1/+0
| | | | | Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* script/compare_cc_results: print usage on too few argsDouglas Bagnall2019-07-051-1/+0
| | | | | Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* dns_hub: print usage with too few argsDouglas Bagnall2019-07-052-1/+4
| | | | | Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* tests: ensure that most python scripts have usage textDouglas Bagnall2019-07-051-0/+28
| | | | | | | | | | | | | | | | | | | | | When a script is run with the wrong arguments, it should at least say something like this: Usage: samba-foo [OPTIONS] For many samba scripts, especially without a server environment, having no arguments is the wrong arguments. Here we look for every executable file with '#![...]python[3]' on the first line, and exclude certain files and directories that have excuses to fail the test. For example, many selftest scripts are stream-oriented and will hang forever waiting for stdin, which is not an error. Some test modules are designed so they can be optionally run from the command line, but this option is typically only used by the developer who is writing them. Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* samba-tool user edit: avoid base64 encoded strings in editable ldif if possibleBjörn Baumbach2019-07-041-1/+0
| | | | | | | | | | | Use clear text arguments strings if possible. Makes it more comfortable for users to edit the user objects attributes. Remove test from knownfail: samba.tests.samba_tool.user_edit.change_attribute_force_no_base64 Signed-off-by: Björn Baumbach <bb@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>