1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
Commit Graph

569 Commits

Author SHA1 Message Date
Volker Lendecke
8f411425f6 smbd: Properly protect against invalid lock data
If someone messes with brlock.tdb and inserts an invalid record length,
this will lead to memcpy overwriting a few bytes behind malloc'ed data.

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): Thu Sep 12 03:26:45 CEST 2013 on sn-devel-104
2013-09-12 03:26:45 +02:00
Volker Lendecke
73278cd19b smbd: Convert br_lck->lock_data to talloc
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Wed Sep 11 10:15:38 CEST 2013 on sn-devel-104
2013-09-11 10:15:38 +02:00
Volker Lendecke
20cc710920 smbd: Move "struct byte_range_lock" definition to brlock.c 2013-09-11 08:27:11 +02:00
Volker Lendecke
07948ef6e1 smbd: Add brl_fsp access function 2013-09-11 08:27:11 +02:00
Volker Lendecke
6bcfc1a9da smbd: Add brl_num_locks access function 2013-09-11 08:27:11 +02:00
Volker Lendecke
635c35dc8d smbd: Use ZERO_STRUCT instead of memset 2013-09-11 08:27:11 +02:00
Volker Lendecke
e2bb3b0c4a smbd: Fix a typo 2013-09-11 08:27:11 +02:00
Volker Lendecke
2aa684453a smbd: Make brl_lock_failed static 2013-09-11 08:27:11 +02:00
Volker Lendecke
cca8faa621 smbd: Make brl_same_context static 2013-09-11 08:27:11 +02:00
Volker Lendecke
e533bf3ef1 smbd: Fix blank line endings 2013-09-11 08:27:10 +02:00
Volker Lendecke
e6542683ca smbd: Apply some const to find_share_mode_entry
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-09-06 13:34:28 +02:00
Volker Lendecke
aee0f2ccf7 smbd: Apply some const to share_modes_identical
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-09-06 13:34:06 +02:00
Volker Lendecke
a7d7429376 smbd: Simplify find_share_mode_entry
There's no point checking the validity of the "entry" argument more
than once

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-09-06 13:33:39 +02:00
Volker Lendecke
7d91ffc6fd smbd: Fix flawed share_mode_stale_pid API
The comment for this routine said:

> Modifies d->num_share_modes, watch out in routines iterating over
> that array.

Well, it turns out that *every* caller of this API got it wrong. So I
think it's better to change the routine.

This leaves the array untouched while iterating but filters out the
deleted ones while saving them back to disk.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-09-03 17:13:53 +02:00
Volker Lendecke
5006db98aa smbd: Rename parameter "i" to "idx"
We'll need "i" in a later checkin ... :-)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-09-03 17:13:53 +02:00
Volker Lendecke
a7e803485d smbd: We don't use DEFERRED_OPEN_ENTRY anymore
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-26 15:17:22 -07:00
Volker Lendecke
afe9446985 smbd: Use dbwrap_record_watch_send for defer_open
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-26 15:17:21 -07:00
Christian Ambach
d51b498017 s3:locking add NDR debug in share_mode_forall
Reviewed-by: Volker Lendecke <vl@samba.org>
Signed-off-by: Christian Ambach <ambi@samba.org>

Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Fri Apr 19 15:06:33 CEST 2013 on sn-devel-104
2013-04-19 15:06:33 +02:00
Gregor Beck
f608bedfca s3:locking: add function share_mode_cleanup_disconnected()
For a given file, clean share mode entries for a given persistent file id.

Pair-Programmed-With: Michael Adam <obnox@samba.org>
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

Signed-off-by: Gregor Beck <gbeck@sernet.de>
Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2013-04-18 13:15:13 +02:00
Gregor Beck
0ac0b35dad s3:locking: improve debug output of parse_share_modes()
Signed-off-by: Gregor Beck <gbeck@sernet.de>
Reviewed-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-04-18 13:15:13 +02:00
Gregor Beck
3d3e7e837a s3:locking: no need to make a file_id passed by value a constant
Signed-off-by: Gregor Beck <gbeck@sernet.de>
Reviewed-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-04-18 13:15:13 +02:00
Gregor Beck
ee81a6e7d0 s3:locking:brlock: add function brl_cleanup_disconnected()
For a given file, clean up brl entries belonging to a given persistent file id.

Signed-off-by: Gregor Beck <gbeck@sernet.de>
Reviewed-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-04-18 13:15:12 +02:00
Michael Adam
6ee1555df2 s3:locking:brlock: explain the lockdb_clean semantic better in brl_reconnect_disconnected()
Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Gregor Beck <gbeck@sernet.de>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-04-18 13:15:12 +02:00
Gregor Beck
f08bda22dc s3:locking:brlock: let validate_lock_entries keep entries for disconnected servers in traverses
We should not remove locks of disconnected opens just like that.
When getting the byte range lock record for a newly connected file
handle, we still do the clean up, because in that situation,
disconnected entries are not valid any more.

Signed-off-by: Gregor Beck <gbeck@sernet.de>
Reviewed-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-04-18 13:15:12 +02:00
Michael Adam
fe0bf0b6d6 s3:locking:brlock: improve the comment for the brl self cleaning code
Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Gregor Beck <gbeck@sernet.de>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-04-18 13:15:12 +02:00
Gregor Beck
02cc5a5c6a s3:locking:brlock: use serverids_exist to validate_lock_entries
...instead of checking each server-id separately which can
be expensive in a cluster.

Signed-off-by: Gregor Beck <gbeck@sernet.de>
Reviewed-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-04-18 13:15:12 +02:00
Karolin Seeger
6eb59eb388 brlock.c: Fix typo in comment.
redundent -> redundant

Signed-off-by: Karolin Seeger <kseeger@samba.org>
2013-02-18 22:07:39 +11:00
Volker Lendecke
29f90ecf53 s3: Use dbwrap_parse_record in fetch_share_mode_unlocked
Reviewed-by: Andreas Schneider <asn@samba.org>
2012-11-28 18:27:41 +01:00
Stefan Metzmacher
f0a5b791ae s3:locking: add brl_mark_disconnected() and brl_reconnect_disconnected()
Pair-Programmed-With: Michael Adam <obnox@samba.org>
2012-09-08 03:39:06 +02:00
Stefan Metzmacher
9a81f8ee17 s3:locking: add mark_share_mode_disconnected()
Pair-Programmed-With: Michael Adam <obnox@samba.org>
2012-09-08 03:39:06 +02:00
Michael Adam
a3eee547ac s3:locking: fix trailing space in brl_close_fnum()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-09-05 10:46:37 +02:00
Volker Lendecke
d0df12f3ea s3: Fix a typo
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-09-04 15:15:00 -07:00
Christian Ambach
7c56d80bee s3:brlock: give traverse_fn a proper name 2012-08-16 18:05:29 +02:00
Jeremy Allison
90881da685 Move copy_unix_token() from locking/locking.c to lib/util.c.
Make public.
2012-07-03 15:34:22 -07:00
Stefan Metzmacher
bbad8f6d72 s3:brlock: s/int/uint64_t for fnum
fsp->fnum and lock->fnum are uint64_t already and we should not truncate the value here.

Currently this doesn't matter as we only use 16-bit.

But as 'int' is int32_t and we later compare fnum with lock->fnum == fnum,
the cast from int32_t to uint64_t goes via int64_t instead of uint32_t.

This means even if fsp->fnum just uses 32-bit of the uint64_t
we'll get the wrong result, as the implicit cast from a negative int32_t
value to uint64_t adds 0xFFFFFFFF00000000.

metze
2012-06-28 10:08:03 +02:00
Stefan Metzmacher
c5f1ab9a88 s3:brlock: add some const to print_lock_struct()
metze
2012-06-28 10:08:02 +02:00
Volker Lendecke
770d9affd7 s3: Remove reduce_windows_lock_ref_count, used only once
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-22 15:16:51 +02:00
Volker Lendecke
89b2eb1d06 s3: Make reduce_windows_lock_ref_count static
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-22 15:16:49 +02:00
Volker Lendecke
6658a2f6ef s3: Use dbwrap_util for windows_lock_ref_count
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-22 15:16:48 +02:00
Michael Adam
73b200064f s3:util: rename procid_equal() to serverid_equal()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-21 08:27:32 +02:00
Volker Lendecke
ca9a734e19 s3: Remove a user of procid_is_me
Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-21 08:27:30 +02:00
Michael Adam
959c10e612 s3:locking: change locking.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:14 +02:00
Michael Adam
7472380e13 s3:locking: change brlock.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:14 +02:00
Volker Lendecke
7e63e2230c s3: Fix a comment
The fd count is implicit

Signed-off-by: Jeremy Allison <jra@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Jun 14 01:53:17 CEST 2012 on sn-devel-104
2012-06-14 01:53:17 +02:00
Michael Adam
1c01cb4510 s3:include: change lock_struct->fnum to uint64_t
Note: this changes the format of brlock.tdb!

Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Wed Jun  6 23:22:00 CEST 2012 on sn-devel-104
2012-06-06 23:21:59 +02:00
Michael Adam
4389097294 s3:include: change connection_struct->cnum to uint32_t
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
2012-06-06 19:37:14 +02:00
Volker Lendecke
dec08b8041 s3: Simplify get_delete_on_close_token more
All remaining callers actually want the token

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-03 17:23:28 +02:00
Volker Lendecke
103b89fb07 s3: Simplify get_delete_on_close_token slightly
Introduce find_delete_on_close_token. Thus is_delete_on_close_set
does not have to call get_delete_on_close_token anymore.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-03 17:23:28 +02:00
Volker Lendecke
29a51a22df s3: Avoid a lot of calls to serverid_exists()
Signed-off-by: Stefan Metzmacher <metze@samba.org>

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Fri Jun  1 18:58:30 CEST 2012 on sn-devel-104
2012-06-01 18:58:30 +02:00
Volker Lendecke
58dff077d9 s3: Do not check the PIDs is parse_share_modes
We do that when conflicts arise

Signed-off-by: Jeremy Allison <jra@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-25 09:19:38 -07:00