summaryrefslogtreecommitdiff
path: root/selftest
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* samba-tool tests: add test for 'samba-tool user edit', using ↵Björn Baumbach2019-07-041-0/+1
| | | | | | | | | LDB_FLAG_FORCE_NO_BASE64_LDIF Test to edit a user: Change attributes with LDB_FLAG_FORCE_NO_BASE64_LDIF Signed-off-by: Björn Baumbach <bb@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* samba-tool user edit: use ldb methods to create ldif to modify userBjörn Baumbach2019-07-041-3/+0
| | | | | | | | | | | | Remove tests from knownfail: samba.tests.samba_tool.user_edit.add_attribute_base64 samba.tests.samba_tool.user_edit.add_attribute_base64_control samba.tests.samba_tool.user_edit.change_attribute_base64_control BUG: https://bugzilla.samba.org/show_bug.cgi?id=14003 Signed-off-by: Björn Baumbach <bb@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* samba-tool tests: add additional tests for "samba-tool user edit" commandBjörn Baumbach2019-07-041-0/+3
| | | | | | | | | | | | | | Especially test handling of base64 encoded attribute values here. Add selftest/knownfail.d/samba_tool.user_edit. Tests fail, because: - can not work with ldif without a trailing new line - can not handle base64 strings BUG: https://bugzilla.samba.org/show_bug.cgi?id=14003 Signed-off-by: Björn Baumbach <bb@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* Add PrimaryGroupId to group array in DC responseIsaac Boukris2019-07-031-1/+0
| | | | | | | | | | | | | | | | This is a simplified version of the original patch by: Felix Botner <botner@univention.de> BUG: https://bugzilla.samba.org/show_bug.cgi?id=11362 Pair-Programmed-With: Stefan Metzmacher <metze@samba.org> Signed-off-by: Isaac Boukris <iboukris@gmail.com> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Wed Jul 3 13:52:55 UTC 2019 on sn-devel-184
* selftest: check for PrimaryGroupId in DC returned group arrayIsaac Boukris2019-07-031-0/+1
| | | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=11362 Signed-off-by: Isaac Boukris <iboukris@gmail.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* repl_md: Avoid dropping cross-partition linksTim Beale2019-07-021-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Cross-partition links could still be dropped if GET_TGT was already previously set for the replication. This was due to a slight error in the order of logic. We never want to ignore cross-partition links (regardless of whether the TARGETS_UPTODATE /GET_TGT flag is set). We should only be returning early in the GET_TGT case if the objects are both in the same partition. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14022 RN: When the AD domain contained a linked attribute that spanned partitions, DRS replication could drop the link. This dropped link could then result in subtle differences in behaviour between DCs, as some DCs would have the link and others wouldn't. When this issue occurred, the dropped link would be logged in a warning message: "<target-dn> is Unknown but up to date. Ignoring link from <source-dn>" This issue would not always occur - it depended a lot on the database contents. Typically, it would only potentially occur when joining a new DC to the domain (doing an ldapcmp after the join would also highlight the problem, if it occurred). This issue has now been resolved. Signed-off-by: Tim Beale <timbeale@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* tests: Add getncchanges test for cross-partition links + TGTTim Beale2019-07-021-0/+2
| | | | | | | | | | | | | | | | | | | This adds a test-case to highlight a bug in the client side GetNCChanges handling. These tests mostly exercise the server-side behaviour of sending the GetNCChanges, however, there's a bug in the client-side code when we try to handle a missing cross-partition link target *in combination* with the GET_TGT flag already having been set. The test is exercising the client-side code by using the 'samba-tool drs replicate' command. By adding a one-way link to a deleted target object, we force the client code to retry with the GET_TGT flag set. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14022 Signed-off-by: Tim Beale <timbeale@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* samba-tool domain join: remove the subdomain optionGary Lockyer2019-07-021-103/+0
| | | | | | | Remove the sub domain option from join, as it currently does not work. Signed-off-by: Gary Lockyer <gary@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* samba-tool domain dcpromo: add --backend-store-size optionGary Lockyer2019-07-021-1/+0
| | | | | | | | | Add a new "samba-tool domain dcpromo" option "backend-store-size". This allows the lmdb map size to be set during a promotion, instead of hard-wiring it to 8Gb. Signed-off-by: Gary Lockyer <gary@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* samba-tool dcpromo tests: add --backend-store-size optionGary Lockyer2019-07-021-0/+1
| | | | | | | | | Add a new "samba-tool domain dcpromo" option "backend-store-size". This allows the lmdb map size to be set during a promotion, instead of hard-wiring it to 8Gb. Signed-off-by: Gary Lockyer <gary@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* samba-tool clone-dc-database: Add --backend-store-size optionGary Lockyer2019-07-021-5/+0
| | | | | | | | | Add a new "samba-tool drs clone-dc-database" option "backend-store-size". This allows the lmdb map size to be set during a clone, instead of hard-wiring it to 8Gb. Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>' Reviewed-by: Andrew Bartlett <abartlet@samba.org>