summaryrefslogtreecommitdiff
path: root/source3/smbd/close.c
AgeCommit message (Collapse)AuthorFilesLines
2012-07-19s3-aio: Panic if we try to close a fsp with outstanding aio requestsVolker Lendecke1-1/+15
The core smbd must have taken care of this. If we don't do this properly, we have a race of the close(2) against a pwrite(2). We might end up writing to the wrong file. Signed-off-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Thu Jul 19 03:40:17 CEST 2012 on sn-devel-104
2012-07-18s3: Properly handle shutdown with the _send/_recv based aioVolker Lendecke1-10/+1
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18loadparm: make the source3/ lp_ functions take an explicit TALLOC_CTX *.Rusty Russell1-5/+5
They use talloc_tos() internally: hoist that up to the callers, some of whom don't want to us talloc_tos(). A simple patch, but hits a lot of files. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-06-21s3:util: rename procid_equal() to serverid_equal()Michael Adam1-3/+3
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-03s3:smbd/close: call del_share_mode() directly before TALLOC_FREE(lck)Stefan Metzmacher1-5/+15
metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Sun Jun 3 21:08:19 CEST 2012 on sn-devel-104
2012-06-03s3:smbd/close: remove unused goto out from close_directory()Stefan Metzmacher1-3/+1
metze
2012-06-03s3:smbd/close: do an early return in close_directory()Stefan Metzmacher1-2/+1
metze
2012-06-03s3: Fix an assert to trigger in close_remove_share_modeStefan Metzmacher1-6/+17
In case we have a left-over entry in the share mode entry array, the SMB_ASSERT(got_tokens) is likely to kick in. It happens when we are about to delete a file with initial delete on close. We don't have a delete on close token set in the locking.tdb record. We see the fsp->initial_delete_on_close set, add the delete_on_close token to lck. Then "delete_file" is being set to true. Then later on we do the notify_deferred_opens. This walks the list, also checking for share_mode_stale_pid. We have already deleted our own share mode entry, share_mode_stale_pid() sees the left-over entry. It not also deletes that one but also the delete on close token. This leads to a different view of "delete_file" a.k.a. "got_tokens" further down in close_remove_share_mode, leading the SMB_ASSERT to fire. This patch attempts to fix the issue by keeping around our own share mode entry for almost the whole routine, preventing share_mode_stale_pid() from removing the delete tokens. Pair-Programmed-With: Volker Lendecke <vl@samba.org>
2012-06-03s3: Do an early return in close_remove_share_modeVolker Lendecke1-2/+1
Without "lck" we don't have much to clean up Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-03s3: Make close_remove_share_mode a bit more readableVolker Lendecke1-2/+4
by introducing a variable simplifying a boolean expression Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-03s3: Slightly simplify close_remove_share_modeVolker Lendecke1-10/+15
Remove a level of indentation by more use of "continue;" Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-03s3:smbd/close: avoid procid_is_me()Stefan Metzmacher1-1/+2
metze
2012-05-25s3: Check for serverid_exists in close_directoryVolker Lendecke1-0/+3
Signed-off-by: Jeremy Allison <jra@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-25s3: Check for serverid_exists in close_remove_share_modeVolker Lendecke1-0/+3
Signed-off-by: Jeremy Allison <jra@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-25s3: Check for serverid_exists in notify_deferred_opensVolker Lendecke1-2/+8
We will remove the check in parse_share_modes soon Signed-off-by: Jeremy Allison <jra@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-25s3:smbd: pass smbd_server_connection to should_notify_deferred_opens()Stefan Metzmacher1-1/+1
metze
2012-05-19Move the set_write_time() call to after get_existing_share_mode_lock() ↵Jeremy Allison1-3/+15
returns with a share mode. get_existing_share_mode_lock() isn't really the right call here, as we're being called after close_remove_share_mode() inside close_normal_file() so it's quite normal to not have an existing share mode here. However, get_share_mode_lock() doesn't work because that will create a new share mode if one doesn't exist - so stick with this call (just ignore any error we get if the share mode doesn't exist. The previous commit raised the error message debug level inside get_share_mode_lock_internal() so we don't always get a level 1 error message if get_existing_share_mode_lock() fails. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Sat May 19 06:26:33 CEST 2012 on sn-devel-104
2012-05-18s3: Revert the serverid changes, they need more workVolker Lendecke1-14/+2
Autobuild-User: Volker Lendecke <vl@samba.org> Autobuild-Date: Fri May 18 13:12:14 CEST 2012 on sn-devel-104
2012-05-17s3: Check for serverid_exists in close_directoryVolker Lendecke1-0/+3
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-05-17s3: Check for serverid_exists in close_remove_share_modeVolker Lendecke1-0/+3
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-05-17s3: Check for serverid_exists in notify_deferred_opensVolker Lendecke1-2/+8
We will remove the check in parse_share_modes soon Signed-off-by: Jeremy Allison <jra@samba.org>
2012-04-12Remove cancel_aio_by_fsp(). It can never work and could lead to memory ↵Jeremy Allison1-12/+9
corruption as outstanding IO's complete. Also we never have any aio's on a call to close_normal_file() with close_type ERROR_CLOSE.
2012-04-06build: Remove SMB_OFF_T, replace with off_tAndrew Bartlett1-1/+1
Now that we always require a 64 bit off_t, we no longer need SMB_OFF_T. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Fri Apr 6 01:47:43 CEST 2012 on sn-devel-104
2012-04-05Third part of fix for bug #8837 - smbd crashes when deleting directory and ↵Jeremy Allison1-1/+1
veto files are enabled. Use correct check to see if veto files has been enabled. Even if not set lp_veto_files() returns a valid string address (to a '\0' character). Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Thu Apr 5 01:36:04 CEST 2012 on sn-devel-104
2012-04-04Second part of bugfix for bug #8837 - smbd crashes when deleting directory ↵Jeremy Allison1-8/+15
and veto files are enabled. Store the 'struct security_token' as well as the 'struct security_unix_token' inside the locking db when setting a delete on close.
2012-02-24Fix const warnings.Jeremy Allison1-2/+2
Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Fri Feb 24 23:10:56 CET 2012 on sn-devel-104
2012-02-19s3: get_share_mode_lock->get_existing_share_mode_lockVolker Lendecke1-3/+3
2012-01-31s3: Delete streams on directoriesVolker Lendecke1-0/+11
2012-01-12s3: Put an indirection layer into share_mode_lockVolker Lendecke1-10/+10
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-01-12s3: Introduce get_share_mode_lock_fresh()Volker Lendecke1-7/+3
This slightly simplifies the code path for all callers which assume that a share mode exists already. Only the callers in open_file_ntcreate and open_directory will ever create new share modes. Signed-off-by: Jeremy Allison <jra@samba.org>
2011-12-14s3: Fix raw.mux after UNUSED_SHARE_MODE_ENTRY was removedVolker Lendecke1-5/+55
See the large comment in notify_deferred_opens for an explanation Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Wed Dec 14 19:08:30 CET 2011 on sn-devel-104
2011-12-14s3:smbd/close: use talloc_get_type_abort() as private_data can't be NULLStefan Metzmacher1-5/+1
metze
2011-12-12s3:smbd/close: pass smbd_server_connection to notify_deferred_opens()Stefan Metzmacher1-9/+5
metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Mon Dec 12 21:49:11 CET 2011 on sn-devel-104
2011-12-12s3:smbd/clode: pass smbd_server_connection as private_data to msg_close_file()Stefan Metzmacher1-3/+3
metze
2011-12-12s3:smbd/close: avoid usage of server_event_context()Stefan Metzmacher1-1/+1
metze
2011-12-02s3: Use autogenerated open_files.idlVolker Lendecke1-0/+1
2011-11-15Remove the check for FILE_WRITE_ATTRIBUTES from smb_set_file_time(). ItJeremy Allison1-4/+2
is called from places like fileio.c that need to update the write time on a file handle only open for write, without neccessarily having FILE_WRITE_ATTRIBUTES permission. Move all checks to before the smb_set_file_time() callers.
2011-10-17First part of fix for bug #8419 - Make VFS op "streaminfo" stackable.Frank Lahm1-3/+3
Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Mon Oct 17 21:39:32 CEST 2011 on sn-devel-104
2011-10-14Add support for VFS op streaminfo chaining in all relevant VFS modules.Frank Lahm1-2/+2
Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Fri Oct 14 03:26:06 CEST 2011 on sn-devel-104
2011-08-02s3: Pass sconn explicitly to schedule_deferred_open_message_smbVolker Lendecke1-1/+6
2011-08-02s3: Fix some nonempty blank linesVolker Lendecke1-3/+3
2011-07-20s3-auth Use struct auth_user_info_unix for unix_name and sanitized_usernameAndrew Bartlett1-1/+1
This is closer to the layout of struct auth_session_info in auth.idl Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-05-31s3-globals Remove smbd_event_context() (use server_event_context())Andrew Bartlett1-1/+1
This has been a wrapper around server_event_context() for some time now, and removing this from dummmysmbd.c assists with library dependencies. Andrew Bartlett
2011-03-30s3-messages: make ndr_messaging.h part of messages.h.Günther Deschner1-1/+0
Guenther
2011-03-30s3-messages: only include messages.h where needed.Günther Deschner1-0/+1
Guenther
2011-03-30s3-auth: smbd needs auth.hGünther Deschner1-0/+1
Guenther
2011-03-30s3: include smbd/smbd.h where needed.Günther Deschner1-0/+1
Guenther
2011-03-30s3-build: only include transfer_file.h where needed.Günther Deschner1-0/+1
Guenther
2011-03-30s3-includes: only include system/filesys.h when needed.Günther Deschner1-0/+1
Guenther
2011-03-01s3-auth struct security_unix_token replaces UNIX_USER_TOKENAndrew Bartlett1-2/+2