summaryrefslogtreecommitdiff
path: root/source3/smbd/smb2_create.c
AgeCommit message (Collapse)AuthorFilesLines
2013-10-15smbd: Remove some FAKE_LEVEL_II commentsVolker Lendecke1-5/+0
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-10-05smbd:smb2: clarify and comment code treating dh2c blob check.Michael Adam1-6/+22
This makes the code that checks for extra create blobs in the case of the dh2c blob look very similar to the corresponding (slightly mode complex) code for the dhnc blob. With this preparation it will be easier and more obvious how to add proper treatment of the lease request blobs when leases get implemented. Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Sat Oct 5 15:56:11 CEST 2013 on sn-devel-104
2013-10-05smbd:smb2: ignore an dhnq blob along with a dhnc in createMichael Adam1-6/+26
This is according to MS-SMB2, 3.3.5.9.7 "Handling the SMB2_CREATE_DURABLE_HANDLE_RECONNECT Create Context" Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-10-05smbd:smb2_create: fix return code for durable handle create blob combinationsMichael Adam1-8/+16
According to MS-SMB2: 3.3.5.9.7 Handling the SMB2_CREATE_DURABLE_HANDLE_RECONNECT Create Context 3.3.5.9.12 Handling the SMB2_CREATE_DURABLE_HANDLE_RECONNECT_V2 Create Context and verified by test results. Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-10-05smbd:smb2: successfully answer a DHnC request when the initial create was DH2QMichael Adam1-4/+7
I.e. the durable reconnect attempt is v1 while the original create was durable v2 including the create guid. Implement this by skipping the create_guid verification when the reconnect request is v1. Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-10-05smbd:smb2_create: add comment about validity of check reconnect blob being ↵Michael Adam1-0/+4
only one With leases this will not be true any more. Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-07-19Ensure we can't create a file using SMB2_CREATE with an invalid EA list.Jeremy Allison1-0/+5
Bug 9992 - Windows error 0x800700FE when copying files with xattr names containing ":" Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-07-09smbd: Fix a profile problemVolker Lendecke1-1/+2
When trying to read a profile, under certain circumstances Windows tries to read with its machine account first. The profile previously written was stored with an ACL that only allows access for the user and not the machine. Windows should get an NT_STATUS_ACCESS_DENIED when using the machine account, making it retry with the user account (which would then succeed). Samba under these circumstances erroneously gives NT_STATUS_OBJECT_PATH_NOT_FOUND, which makes Windows give up and not retry. The reasons is the "dropbox" patch in unix_convert, turning EACCESS on the last path component to OBJECT_PATH_NOT_FOUND. This patch makes the dropbox behaviour only kick in when we are creating a file. I think this is an abstraction violation. unix_convert() should not have to know about the create_disposition, but given that we have pathname resolution separated from the core open code right now this is the best we can do. Signed-off-by: Volker Lendecke <Volker.Lendecke@SerNet.DE> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-06-04s3:smbd: explain parameters in call to SMB_VFS_DURABLE_RECONNECT()Michael Adam1-2/+3
Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Tue Jun 4 21:58:16 CEST 2013 on sn-devel-104
2013-06-04s3:smbd: remove code duplication in smb2_create_send()Michael Adam1-51/+25
Move the calls to smb2srv_open_recreate() from the parsing of the create blobs (DHNC and DH2C) to a central place in the open execution phase. This is also where it should be called: in the durable reconnect part, right before the call to SMB_VFS_DURABLE_RECONNECT() Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-26smbd: We don't use DEFERRED_OPEN_ENTRY anymoreVolker Lendecke1-2/+0
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-26smbd: Remove unused smb2_deferred_open_timerVolker Lendecke1-59/+0
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-26smbd: Ignore OPEN_RETRY and BREAK_RESPONSEVolker Lendecke1-0/+2
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-18s3:smbd:smb2: fix setting of scavenge timeout when reconnecting durable handlesMichael Adam1-5/+4
The bug fixed with this commit led to reconnected durable handles having a disconnect timeout of 0 msec. This fix re-establishes the original timeout for the reconnected handle. Pair-Programmed-With: Stefan Metzmacher <metze@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org> Signed-off-by: Michael Adam <obnox@samba.org>
2013-02-19s3:smbd: s/struct timed_event/struct tevent_timerStefan Metzmacher1-2/+2
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
2013-02-19s3:smbd: s/struct event_context/struct tevent_contextStefan Metzmacher1-1/+1
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
2012-12-18Fix bug #9196 - defer_open is triggered multiple times on the same request.Jeremy Allison1-3/+3
get_deferred_open_message_state_smb2() is buggy in that it is checking the wrong things to determine if an open is in the deferred state. It checks if (smb2req->async_te == NULL) which is incorrect, as we're not always async in a deferred open - remove this. It should check instead state->open_was_deferred as this is explicity set to 'true' when an open is going deferred, so add this check. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Tue Dec 18 14:19:13 CET 2012 on sn-devel-104
2012-09-26s3:smb2_create: don't take 'state->te' as indication for "was_deferred" (bug ↵Stefan Metzmacher1-1/+4
#9196) We always set state->te = NULL of TALLOC_FREE(state->te), before calling smbd_smb2_request_dispatch(), so open_was_deferred_smb2() always returned false, while dispatching it again. But it's remove_deferred_open_message_smb2_internal() which should reset this state. In developer mode validate_my_share_entries() did call smb_panic() before. metze
2012-09-22s3:smbd: remove struct member smbd_smb2_request.cancelled - it was only writtenMichael Adam1-1/+0
2012-09-22s3:smb2_lock: let smbd_smb2_create_cancel() trigger NT_STATUS_CANCELEDStefan Metzmacher1-14/+2
Instead of violating the tevent_req layers. metze
2012-09-15Add 'bool use_privs' to smbd_calculate_access_mask().Jeremy Allison1-0/+1
Replaces blanket root allow if set. Set to 'false' for all current callers. Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Sat Sep 15 00:37:49 CEST 2012 on sn-devel-104
2012-09-08s3:smbd: add basic support for durable handle v2 request and reconnectMichael Adam1-2/+129
This does not yet cover persistent handle support which is also negotiated through these create request blobs. Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
2012-09-08s3:smbd: add basic support for durable handle request and reconnectMichael Adam1-46/+203
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org> Pair-Programmed-With: Volker Lendecke <vl@samba.org>
2012-09-05s3:smb2_create: check for SMB2_CREATE_TAG_DHNC firstStefan Metzmacher1-43/+14
metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Wed Sep 5 12:27:25 CEST 2012 on sn-devel-104
2012-08-05s3:smb2_create: make use of SMBD_SMB2_* macrosStefan Metzmacher1-5/+4
metze
2012-06-30Don't allow asynchronous creates to be canceled in SMB2.Jeremy Allison1-0/+5
Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Sat Jun 30 04:10:02 CEST 2012 on sn-devel-104
2012-06-30Make schedule_deferred_open_message_smb2() return an indication of success.Jeremy Allison1-6/+8
2012-06-29s3:smbd: make use of smbXsrv_open for smb1/2/3Stefan Metzmacher1-2/+2
This makes sure we generate unique persistent file ids, which are stored in smbXsrv_open_global.tdb. Pair-Programmed-With: Michael Adam <obnox@samba.org> metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Fri Jun 29 21:01:11 CEST 2012 on sn-devel-104
2012-06-28s3:smb2_create: add usefull DEBUG() messageStefan Metzmacher1-0/+3
All calls which take an file handle have the same, so we should also log it, when we create a handle. metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Thu Jun 28 12:41:49 CEST 2012 on sn-devel-104
2012-06-25s3:smbd: make use of smbXsrv_tcon and smbXsrv_session for smb2Stefan Metzmacher1-2/+2
The removes the protocol specific smbd_smb2_session and smbd_smb2_tcon. Pair-Programmed-With: Michael Adam <obnox@samba.org> metze
2012-06-25s3: Fix a typoVolker Lendecke1-2/+2
Signed-off-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Mon Jun 25 17:13:59 CEST 2012 on sn-devel-104
2012-06-14s3:smbd: use fsp_persistent_id() as persistent_file_id part for SMB2 (bug #8995)Stefan Metzmacher1-1/+1
It seems to be important to have unique persistent file ids, because windows clients seem to index files by server_guid + persistent_file_id. Which may break, if we just have a 16-bit range per connection and the client connects multiple times. Based on code from Ira Cooper. Use fsp->fh->gen_id as the persistent fileid in SMB2. metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Thu Jun 14 22:04:13 CEST 2012 on sn-devel-104
2012-06-11s3:smbd: explain parameters to filename_convert call in smbd_smb2_create_send()Michael Adam1-2/+2
Autobuild-User(master): Michael Adam <obnox@samba.org> Autobuild-Date(master): Mon Jun 11 19:21:51 CEST 2012 on sn-devel-104
2012-05-28s3:smb2_create: do not remove leading backslash from pipe namesStefan Metzmacher1-5/+0
metze
2012-04-24s3: Introduce variable "indyniov" for easier readingVolker Lendecke1-8/+10
2012-02-18Fix a bunch of "unused variable" warnings.Jeremy Allison1-4/+0
Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Sat Feb 18 06:22:40 CET 2012 on sn-devel-104
2012-02-10s3-smb2: Use the correct indicator if a request was deferredVolker Lendecke1-1/+1
Autobuild-User: Volker Lendecke <vl@samba.org> Autobuild-Date: Fri Feb 10 16:44:23 CET 2012 on sn-devel-104
2012-02-10s3-smb2: Make sure we have a subreq setVolker Lendecke1-0/+1
2012-01-03s3: Remove the unused "file_existed" parameter from smbd_calculate_access_maskVolker Lendecke1-5/+0
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Tue Jan 3 15:16:50 CET 2012 on sn-devel-104
2011-12-16s3:smbd: avoid using sconn_server_id()Stefan Metzmacher1-1/+2
metze
2011-12-12s3:smb2_server: use sconn->ev_ctx instead of sconn->smb2.event_ctxStefan Metzmacher1-3/+3
metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Mon Dec 12 16:08:59 CET 2011 on sn-devel-104
2011-11-15s3:smb2_create: defer STATUS_PENDING for 2 seconds as beforeStefan Metzmacher1-1/+7
metze
2011-11-15s3:smb2_server: pass explicit defer_times to smbd_smb2_request_pending_queue()Stefan Metzmacher1-1/+1
metze
2011-11-15s3:smb2_server: always send STATUS_PENDING responses, but delayed by 0.5 ↵Stefan Metzmacher1-32/+2
milliseconds In future we'll pass the delay from the caller. metze
2011-10-10s3:smb2_create: fix allocation size return value when opening existing filesChristian Ambach1-2/+2
at least on GPFS, using the stat information gave wrong results example: FileInfo gave 12582912000, Create Response gave 25769803776000 This makes the create part use the same method as fileinfo, matching up the replies of both calls Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Mon Oct 10 21:49:53 CEST 2011 on sn-devel-104
2011-09-07s3:smb2_server: return OBJECT_NAME_INVALID if the path is terminated in ↵Stefan Metzmacher1-0/+8
SMB2_CREATE metze
2011-09-07s3:smb2_server: use smbd_smb2_request_verify_sizes() in smb2_create.cStefan Metzmacher1-11/+4
metze
2011-08-30s3:smb2 fix Bug 8428 - wrong reply to DHnC (durable handle reconnect)Christian Ambach1-6/+6
According to [MS-SMB2] 3.3.5.9.7 (http://msdn.microsoft.com/en-us/library/cc246784%28v=PROT.13%29.aspx), smbd must reply with NT_STATUS_OBJECT_NAME_NOT_FOUND as it does not support durable file-handles yet. I have seen w2k8r2 running xcopy /C ending up in an endless loop trying to get back the original file handle from smbd sending the same requests over and over. Metze, Jeremy, please check! Signed-off-by: Jeremy Allison <jra@samba.org> Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Tue Aug 30 22:20:36 CEST 2011 on sn-devel-104
2011-08-02s3: Pass sconn explicitly to open_was_deferredVolker Lendecke1-1/+1
2011-07-11s3:smb2_create: use smbd_calculate_access_mask() instead of ↵Stefan Metzmacher1-1/+6
smbd_check_open_rights() metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Mon Jul 11 22:45:01 CEST 2011 on sn-devel-104