1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-26 21:57:41 +03:00

53453 Commits

Author SHA1 Message Date
Volker Lendecke
d3b0ed13c2 torture3: Remove cleanup3
This goes directly into the database, for which the format changes

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:39 +00:00
Volker Lendecke
87e42c73d3 smbd: Remove stale share mode entries while walking the array
Previously, we did this only when writing out the locking.tdb
record. That was because we had places where the index of a particular
share mode entry mattered while operating on the array. This is no
longer the case, so we can remove stale entries early.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:39 +00:00
Volker Lendecke
f96aa7063e smbd: Make remove_stale_share_mode_entries() static in share_mode_lock.c
... to the place where the record is stored in the database

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:39 +00:00
Volker Lendecke
5151b6d58b smbd: Avoid calling remove_stale_share_mode_entries() in open.c
All places that matter explicitly check for staleness. This cleanup
action should only happen before writing the database

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:38 +00:00
Volker Lendecke
72a019d4e3 smbd: Use share_mode_forall_entries() in remove_lease_if_stale()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:38 +00:00
Volker Lendecke
4d512f40f9 smbd: Pass share_mode_lock to remove_lease_if_stale()
We'll want to use share_mode_forall_entries next

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:38 +00:00
Volker Lendecke
ad23d0f4f5 smbd: Pass share_mode_lock to remove_share_mode_lease()
Later we'll need "lck" further down

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:38 +00:00
Volker Lendecke
5709856138 smbd: Avoid duplicate assignments
remove_share_mode_lease() already does this

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:38 +00:00
Volker Lendecke
609143adb6 smbd: Remove unused share_mode_stale_pid()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:38 +00:00
Volker Lendecke
e4a5a017c5 smbd: Use share_mode_forall_entries() in share_entry_forall()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:38 +00:00
Volker Lendecke
6a58f29c62 smbd: Use share_mode_forall_leases() in share_mode_cleanup_disconnected()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:38 +00:00
Volker Lendecke
8eda954d6d smbd: Use share_mode_forall_leases() in lease_match()
We have to break leases referenced from multiple share modes only
once.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:38 +00:00
Volker Lendecke
c7a9e0e4cd smbd: Use share_mode_forall_leases() in delay_rename_for_lease_break()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:38 +00:00
Volker Lendecke
2d9bb67d25 smbd: Use share_mode_forall_entries() in vfs_default_durable_reconnect()
The durable reconnect mainly has to check that there is one and only one
entry, and it has to reset it with the new values.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:38 +00:00
Volker Lendecke
b3473efa9d smbd: Add reset_share_mode_entry
Mostly for durable reconnect at this point

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:38 +00:00
Volker Lendecke
2185db6c61 smbd: Pass pid/share_file_id to find_share_mode_entry()
Avoid the full fsp, this makes the indexing of the share mode array
clearer, and it makes the next commit easier

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:38 +00:00
Volker Lendecke
ac119c411c smbd: Use share_mode_forall_entries() in share_mode_forall_leases()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:37 +00:00
Volker Lendecke
f693106725 smbd: Stop passing "share_mode_lock" via share_mode_forall_leases()
Why? Next commit will make share_mode_forall_leases() use
share_mode_forall_entries(), and that does not necessarily have to
depend on "share_mode_lock". And as we can pass the required
information via "private_data", don't embed the "share_mode_lock"
reference into this lowlevel library routine.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:37 +00:00
Volker Lendecke
4955481a67 smbd: Avoid "share_mode_lock" dependency cleanup_disconnected_lease()
share_mode_forall_leases() will stop passing "lck" soon.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:37 +00:00
Volker Lendecke
f82aebe943 smbd: Avoid "share_mode_lock" dependency in rename_lease_fn()
share_mode_forall_leases() will stop passing "lck" soon.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:37 +00:00
Volker Lendecke
2a784883a8 smbd: Use share_mode_forall_entries() in delay_for_oplock()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:37 +00:00
Volker Lendecke
30e62710c6 smbd: Pass "struct file_id" to get_lease_type()
It does not have to depend on the whole struct share_mode_data.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:37 +00:00
Volker Lendecke
aa94589904 smbd: Use share_mode_forall_entries() in validate_oplock_types()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:37 +00:00
Volker Lendecke
18c8b46e81 smbd: Use share_mode_forall_entries() in file_has_open_streams()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:37 +00:00
Volker Lendecke
4340285184 smbd: Use share_mode_forall_entries() in rename_share_filename()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:37 +00:00
Volker Lendecke
fb0b107ac2 smbd: Use share_mode_forall_entries() in open_mode_check()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:37 +00:00
Volker Lendecke
cb4b20b79f smbd: Use share_mode_forall_entries() for validate_my_share_entries()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:37 +00:00
Volker Lendecke
5b1fd018a2 smbd: Use share_mode_forall_entries() in has_delete_on_close()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:37 +00:00
Volker Lendecke
14cc16948f smbd: Use share_mode_forall_entries() in has_other_nonposix_opens_fn()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:37 +00:00
Volker Lendecke
f5a6fa4092 smbd: Use share_mode_forall_entries() in set_delete_on_close_lck()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:37 +00:00
Volker Lendecke
5cbd3e4671 smbd: Use share_mode_forall_entries() in contend_level2_oplocks_begin_default()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:36 +00:00
Volker Lendecke
eb99635d0f smbd: Add share_mode_forall_entries()
Abstract away the fact that we store the share modes as an array inside
"struct share_mode_data".

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:36 +00:00
Volker Lendecke
be799acb45 smbd: Use share_entry_stale_pid() in share_mode_stale_pid()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:36 +00:00
Volker Lendecke
55e47ada9f smbd: Add share_entry_stale_pid()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:36 +00:00
Volker Lendecke
dc7dfb1257 smbd: Avoid passing a share mode entry to share_conflict()
Make the real data dependencies clearer, we don't need a full
share_entry, only its access and sharemode masks

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:36 +00:00
Volker Lendecke
e69c4faeb7 smbd: Rewrite share_conflict()
It was hard for me to understand share_conflict(), so once I understood
it I thought this version would be easier to follow.  It violates
README.Coding (one argument per line), but grouping the parameters to
mask_conflict makes it clearer to me what belongs together.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:36 +00:00
Volker Lendecke
e0aa1e0998 smbd: Fix a debug message hickup
Mind the missing space before "(e.g. another...". While there, avoid
casts.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:36 +00:00
Volker Lendecke
ba1234d877 smbd: Introduce helper variables in open_mode_check()
Less bytes .text, the compiler now does not have to expect other threads to
alter the pointers.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:36 +00:00
Volker Lendecke
d12421ace4 smbd: Let fsp_lease_type() look at leases.tdb
The same lease can be used via different TCP connections (yes, we have
tests for this!). At the end of downgrade_lease() we update all fsp's
with fsps_lease_update() that link to the lease that just was
changed. However, this is only in the local process, this is not
cross-smbd. So other smbds using the same lease can use stale
information and for example get the mandatory locking wrong.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:36 +00:00
Volker Lendecke
cc2e5b4164 smbd: Add quick leases_db_get_current_state()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:36 +00:00
Volker Lendecke
8d63b622df smbd: Make "current_state" show up first in the blob
Believe it or not, but without this change "num_files" was first.
Thanks Metze for this (to me at least) really, really surprising
insight!

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:36 +00:00
Volker Lendecke
735439765a smbd: Make lease_type_is_exclusive() static
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:36 +00:00
Volker Lendecke
41393a6488 smbd: Remove unused smbXsrv_open_hash()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:35 +00:00
Volker Lendecke
e00e53344d smbd: Make fsp->fh->gen_id unique per process
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:35 +00:00
Volker Lendecke
4f8db9b3cf vfs: Make "fd_handle->gen_id" 64-bit everywhere
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:35 +00:00
Volker Lendecke
3d1da1ac30 idl: Fix a typo
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:35 +00:00
Volker Lendecke
78fce47fc2 smbd: Use direct struct assignments in smbXsrv_*.c
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2019-09-17 22:49:35 +00:00
Björn Baumbach
e0a3cc469f vfs/full_audit: always log full filenames
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13565

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Jeremy Allison <jra@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Tue Sep 17 17:55:55 UTC 2019 on sn-devel-184
2019-09-17 17:55:55 +00:00
Andrew Bartlett
16eb80058c build: Remove tests for getdents() and getdirentries()
These date back to 3a9beef2b7b25427ee4611cfc375e05cc82a1150 in 2003 and
829e72fe9c97feaa3d45b768984a4c47b906a23a in 1998 and appear to be related
to smbwrapper.

More of these should be removed but the getdirents() test caused a timeout
on an ARM builder in Debian.  It might just be a fluke but the tests are
pointless regardless.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>

Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Tue Sep 17 13:48:18 UTC 2019 on sn-devel-184
2019-09-17 13:48:18 +00:00
Khem Raj
5a80f399b5 util_sec.c: Move __thread variable to global scope
Make clang happy otherwise it complains about variable scope

fixes

source3/./lib/util_sec.c:470:4: error: '__thread' variables must have global storage
        } __thread cache;
          ^

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Reviewed-by: Matthias Dieter Wallnöfer <mdw@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2019-09-17 12:31:40 +00:00