1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00
samba-mirror/source3/smbd
Christof Schmitt 162a5257c4 smbd: Fix DELETE_ON_CLOSE behaviour on files with READ_ONLY attribute
MS-FSA states that a CREATE with FILE_DELETE_ON_CLOSE on an existing
file with READ_ONLY attribute has to return STATUS_CANNOT_DELETE. This
was missing in smbd as the check used the DOS attributes from the CREATE
instead of the DOS attributes on the existing file.

We need to handle the new file and existing file cases separately.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13673

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2018-11-03 03:01:25 +01:00
..
notifyd notifyd: Broadcast to all connected nodes 2017-09-29 08:38:10 +02:00
aio.c s3:smbd: remove now unused check if fsp is NULL 2018-11-02 21:21:14 +01:00
avahi_register.c s3:avahi: Fix size types 2018-03-20 23:16:15 +01:00
blocking.c smbd: remove unused change_to_root_user() from brl_timeout_fn() 2018-07-12 14:25:18 +02:00
close.c s3: smbd: Prevent valgrind errors in smbtorture3 POSIX test. 2018-09-29 05:32:41 +02:00
conn_idle.c
conn_msg.c
conn.c s3: vfs: add user_vfs_evg to connection_struct 2018-07-25 17:49:06 +02:00
connection.c
dfree.c smbd: Move dfree_info struct 2018-05-25 22:52:12 +02:00
dir.c smbd: pass get_dosmode to mode_fn in smbd_dirptr_get_entry() 2018-07-27 13:07:15 +02:00
dmapi.c
dnsregister.c
dosmode.c smbd: add dos_mode_at_send/recv() 2018-07-27 13:07:14 +02:00
durable.c smbd: Add some structure protection for durable reconnect 2018-09-14 07:49:13 +02:00
error.c s3:smbd: Fix converity warning with _smb_setlen_large() 2018-05-16 21:30:23 +02:00
fake_file.c
file_access.c s3: Filenames: Add uint32_t flags parameter to synthetic_smb_fname(). 2016-03-24 22:57:16 +01:00
fileio.c smbd: explain that/why we use the raw tevent_context for update_write_time_handler() 2018-06-18 08:59:19 +02:00
filename.c s3: smbd: Ensure dirpath is set to ".", not "\0" so it is always a valid path. 2018-09-11 22:45:10 +02:00
files.c smbd: Remove "file_sync_all" function 2018-09-14 07:49:13 +02:00
globals.c printing: use housekeeping period that matches cache time 2016-04-19 09:37:14 +02:00
globals.h smbd: let smbd_dirptr_lanman2_entry return smb_fname 2018-07-27 13:07:15 +02:00
ipc.c smbd: add an effective {smb,smbd_smb2}_request->ev_ctx that holds the event context used for the request processing 2018-06-18 08:59:21 +02:00
lanman.c lib: Pass mem_ctx to cache_path() 2018-08-17 14:28:51 +02:00
mangle_hash2.c
mangle_hash.c
mangle.c s3/smbd: convert "mangled names" option to an enum 2017-01-09 19:31:20 +01:00
message.c Update smbrun to allow for settings environment variables. 2016-10-13 04:26:26 +02:00
msdfs.c auth: move copy_session_info() from source3 into the global auth context 2018-10-11 10:28:17 +02:00
negprot.c s3/smbd: Server responds incorrectly if no SMB protocol chosen 2018-09-28 08:30:22 +02:00
notify_fam.c smbd: Allow passing notify filter from inotify and fam 2016-07-18 15:14:11 +02:00
notify_inotify.c s3: smbd: inotify_map_mask_to_filter incorrectly indexes an array. 2017-04-28 03:18:23 +02:00
notify_msg.c smbd: remove unused tevent_context argument from notify_init 2018-06-18 08:59:18 +02:00
notify.c smbd: remove unused tevent_context argument from notify_init 2018-06-18 08:59:18 +02:00
ntquotas.c s3: VFS: Change SMB_VFS_GET_QUOTA to use const struct smb_filename * instead of const char *. 2017-06-18 02:49:25 +02:00
nttrans.c smbd: Use dom_sid_str_buf 2018-11-02 21:21:15 +01:00
open.c smbd: Fix DELETE_ON_CLOSE behaviour on files with READ_ONLY attribute 2018-11-03 03:01:25 +01:00
oplock_linux.c smbd: Remove koplocks->contend_level2 callbacks 2018-08-22 00:57:31 +02:00
oplock.c smbd: Simplify downgrade_share_lease 2018-10-02 22:22:37 +02:00
password.c wscript: drop checks for setnetgrent/endnetgrent/getnetgrent 2018-02-21 14:19:17 +01:00
perfcount.c lib:util: Make probing of modules more secure 2017-06-06 18:36:07 +02:00
pipes.c smbd: add an effective {smb,smbd_smb2}_request->ev_ctx that holds the event context used for the request processing 2018-06-18 08:59:21 +02:00
posix_acls.c s3: Rename server_messaging_context() to global_messaging_context() 2018-09-07 17:26:17 +02:00
process.c smbd: introduce sconn->sync_thread_pool 2018-07-25 17:49:06 +02:00
proto.h smbd: Remove "file_sync_all" function 2018-09-14 07:49:13 +02:00
pysmbd.c pysmbd: handle file not found error 2018-10-11 10:28:18 +02:00
quotas.c s3: VFS: Change SMB_VFS_GET_QUOTA to use const struct smb_filename * instead of const char *. 2017-06-18 02:49:25 +02:00
reply.c smbd: Remove "file_sync_all" function 2018-09-14 07:49:13 +02:00
scavenger.c lib: Remove unused serverid.tdb 2017-12-05 04:58:26 +01:00
scavenger.h
seal.c auth: Always supply both the remote and local address to the auth subsystem 2017-03-29 02:37:26 +02:00
sec_ctx.c s3:smbd: Fix incorrect use of sys_getgroups() 2017-04-18 15:43:02 +02:00
server_exit.c lib: Remove gencache.h from proto.h 2018-10-19 18:52:50 +02:00
server_reload.c smbd: remove useless set_current_service(NULL,0,True) from reload_services() 2018-06-18 08:59:17 +02:00
server.c s3: Rename server_messaging_context() to global_messaging_context() 2018-09-07 17:26:17 +02:00
service.c auth: move copy_session_info() from source3 into the global auth context 2018-10-11 10:28:17 +02:00
session.c rpc_server: Fix NetSessEnum with stale sessions 2018-04-25 22:49:07 +02:00
sesssetup.c smbd: Fix "reset on zero vc" 2018-05-13 23:43:56 +02:00
share_access.c smbd: remove redundant comment (with typo) from token_contains_name() 2016-08-04 18:26:07 +02:00
signing.c
smb2_break.c smbd: Simplify logic in smb2_lease_break_send 2018-09-07 17:26:18 +02:00
smb2_close.c smbd: add an effective {smb,smbd_smb2}_request->ev_ctx that holds the event context used for the request processing 2018-06-18 08:59:21 +02:00
smb2_create.c s3: smbd: fix path check in smbd_smb2_create_durable_lease_check() 2018-07-18 00:04:10 +02:00
smb2_flush.c smbd: add an effective {smb,smbd_smb2}_request->ev_ctx that holds the event context used for the request processing 2018-06-18 08:59:21 +02:00
smb2_getinfo.c s3/smbd: Ensure quota code is only called when quota support detected 2018-08-10 02:43:33 +02:00
smb2_glue.c smbd: add an effective {smb,smbd_smb2}_request->ev_ctx that holds the event context used for the request processing 2018-06-18 08:59:21 +02:00
smb2_ioctl_dfs.c s3: debug: smb2: Create a new DBGC_SMB2 debug class and mark all smbd/smb2_*.c files with it. 2018-03-22 02:15:13 +01:00
smb2_ioctl_filesys.c s3: debug: smb2: Create a new DBGC_SMB2 debug class and mark all smbd/smb2_*.c files with it. 2018-03-22 02:15:13 +01:00
smb2_ioctl_named_pipe.c smbd: add an effective {smb,smbd_smb2}_request->ev_ctx that holds the event context used for the request processing 2018-06-18 08:59:21 +02:00
smb2_ioctl_network_fs.c s3: debug: smb2: Create a new DBGC_SMB2 debug class and mark all smbd/smb2_*.c files with it. 2018-03-22 02:15:13 +01:00
smb2_ioctl_private.h
smb2_ioctl.c smbd: add an effective {smb,smbd_smb2}_request->ev_ctx that holds the event context used for the request processing 2018-06-18 08:59:21 +02:00
smb2_keepalive.c s3: debug: smb2: Create a new DBGC_SMB2 debug class and mark all smbd/smb2_*.c files with it. 2018-03-22 02:15:13 +01:00
smb2_lock.c smbd: add an effective {smb,smbd_smb2}_request->ev_ctx that holds the event context used for the request processing 2018-06-18 08:59:21 +02:00
smb2_negprot.c s3: debug: smb2: Create a new DBGC_SMB2 debug class and mark all smbd/smb2_*.c files with it. 2018-03-22 02:15:13 +01:00
smb2_notify.c smbd: add an effective {smb,smbd_smb2}_request->ev_ctx that holds the event context used for the request processing 2018-06-18 08:59:21 +02:00
smb2_query_directory.c smb2_query_directory: make 'return true' explicit in smb2_query_directory_next_entry() 2018-07-31 14:20:49 +02:00
smb2_read.c smbd: add an effective {smb,smbd_smb2}_request->ev_ctx that holds the event context used for the request processing 2018-06-18 08:59:21 +02:00
smb2_server.c smb2_server: set req->do_encryption = true earlier 2018-10-02 14:11:30 +02:00
smb2_sesssetup.c smbd: add an effective {smb,smbd_smb2}_request->ev_ctx that holds the event context used for the request processing 2018-06-18 08:59:21 +02:00
smb2_setinfo.c smbd: Slightly optimize delay_rename_for_lease_break 2018-10-25 17:58:24 +02:00
smb2_tcon.c smbd: add an effective {smb,smbd_smb2}_request->ev_ctx that holds the event context used for the request processing 2018-06-18 08:59:21 +02:00
smb2_write.c smbd: add an effective {smb,smbd_smb2}_request->ev_ctx that holds the event context used for the request processing 2018-06-18 08:59:21 +02:00
smbd_cleanupd.c s3:cleanupd: sends MSG_SMB_UNLOCK twice to interested peers 2018-05-04 03:02:27 +02:00
smbd_cleanupd.h smbd: Implement a cleanup daemon 2015-11-16 14:51:33 +01:00
smbd.h s3: smbd: Add UCF_GMT_PATHNAME, which represents FLAGS2_REPARSE_PATH. 2017-05-22 18:41:16 +02:00
smbXsrv_client.c smbd: Replace some GUID_string by GUID_buf_string 2018-10-25 17:58:24 +02:00
smbXsrv_open.c lib: Pass mem_ctx to lock_path() 2018-08-17 11:30:10 +02:00
smbXsrv_session.c s3: Rename server_messaging_context() to global_messaging_context() 2018-09-07 17:26:17 +02:00
smbXsrv_tcon.c s3:smbd: reorder tcon global record deletion and closing files of a tcon 2018-08-31 22:22:23 +02:00
smbXsrv_version.c lib: Pass mem_ctx to lock_path() 2018-08-17 11:30:10 +02:00
srvstr.c s3: smbd: Chain code can return uninitialized memory when talloc buffer is grown. 2017-11-21 19:42:22 +01:00
statcache.c s3: Don't copy back the stat struct from stat_cache_lookup if we did not get a hit on the full path. 2018-09-19 17:52:13 +02:00
statvfs.c
trans2.c smbd: Use has_other_nonposix_opens in smb_posix_unlink 2018-09-11 18:36:23 +02:00
uid.c auth: move copy_session_info() from source3 into the global auth context 2018-10-11 10:28:17 +02:00
utmp.c
vfs.c smbd:vfs: fix mis-spellings of hierarchy in comments 2018-09-12 02:05:47 +02:00