summaryrefslogtreecommitdiff
path: root/source3/smbd/smb2_server.c
AgeCommit message (Collapse)AuthorFilesLines
2012-10-03Fix bug #9214 - Bad user supplied SMB2 credit value can cause smbd to call ↵Jeremy Allison1-1/+6
smb_panic. Terminate the connection cleanly instead.
2012-09-22s3:smb2_server: avoid segfault in smbd_smb2_request_pending_queue()Stefan Metzmacher1-2/+6
Because we should not call smbd_smb2_request_error() on an request that is still running. If the subreq implementes a cancel function, this should take care of triggering smbd_smb2_request_error. metze Signed-off-by: Michael Adam <obnox@samba.org>
2012-09-22s3:smbd:smb2: simplify smbd_smb2_request_validate() and ↵Michael Adam1-49/+3
smbd_smb2_request_dispatch() removes unnneccary checks/assignments for compound_related and next_status and duplicate setting of error status. And remove (now) unused next_status from struct smbd_smb2_request. Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
2012-09-22s3:smbd:smb2: add check for session_status for compound requestsMichael Adam1-3/+3
2012-09-22s3:smb2_server: do the req->next_status check before the signing checksStefan Metzmacher1-15/+15
Windows 2012 returns NT_STATUS_INVALID_PARAMETER to the smb2.compound.invalid1 test if that uses signing (instead of NT_STATUS_ACCESS_DENIED). metze
2012-09-22s3:smb2_server: reset req->last_session_id and req->last_tid after using itStefan Metzmacher1-0/+4
If we can find a valid session or tcon we'll set it after the lookup, but it need to make sure to reset it if we don't find the session. This fixes a problem where a compound unrelated request between related requests doesn't reset the session. If we have 3 requests in a compound chain, request 3 should never use the id's cached from request 1. It should only every inherit handles from request 2. metze
2012-09-22s3: Compound requests should continue processing.Ira Cooper1-3/+2
This patch addresses #9173. Signed-off-by: Michael Adam <obnox@samba.org>
2012-09-20s3:smb2_server: fix usage of invalid memory in smb2_signing_check_pdu()Stefan Metzmacher1-1/+1
metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Thu Sep 20 07:18:31 CEST 2012 on sn-devel-104
2012-08-23s3:smb2_break: encrypt OPLOCK BREAK notificationsStefan Metzmacher1-13/+80
metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Thu Aug 23 10:01:14 CEST 2012 on sn-devel-104
2012-08-23s3:smb2_server: use smbXsrv_session->nonce_*Stefan Metzmacher1-25/+24
metze
2012-08-23s3:smb2_server: remove dump_data() from smbd_smb2_request_pending_timer()Stefan Metzmacher1-1/+0
This was just for debugging... metze
2012-08-17s3:smb2_server: add SMB3 encryption supportStefan Metzmacher1-31/+319
metze
2012-08-17s3:smb2_server: try to sign an error response if we have a signing keyStefan Metzmacher1-1/+18
metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Fri Aug 17 00:54:01 CEST 2012 on sn-devel-104
2012-08-16s3:smb2_server: verify the signature before the session_statusStefan Metzmacher1-3/+4
metze
2012-08-16s3:smb2_server: add some const to print_req_vectors()Stefan Metzmacher1-1/+1
metze
2012-08-15s3:smb2_server: do calculations based on SMBD_SMB2_NUM_IOV_PER_REQ in ↵Stefan Metzmacher1-3/+3
smbd_smb2_request_validate() metze
2012-08-09s3:smb2_server: add smbd_smb2_request->do_encryptionStefan Metzmacher1-0/+1
For now it's always false... metze
2012-08-09s3:smb2_server: check the session before we could response with an error.Stefan Metzmacher1-15/+15
metze
2012-08-09s3:smb2_server: do central file_id check if the operation requires itStefan Metzmacher1-0/+56
Note that it's fine to call file_fsp_smb2() twice, the 2nd call just returns smb2req->compat_chain_fsp without a 2nd lookup. metze
2012-08-08s3:smb2_server: s/i/idx in smbd_smb2_request_pending_queue()Stefan Metzmacher1-4/+4
metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Wed Aug 8 17:32:26 CEST 2012 on sn-devel-104
2012-08-08s3:smb2_server: make use of SMBD_SMB2_OUT_HDR_PTR() in ↵Stefan Metzmacher1-1/+1
smbd_smb2_request_pending_queue() metze
2012-08-08s3:smb2_server: remove useless variable 'i'Stefan Metzmacher1-2/+1
metze
2012-08-08s3:smb2_server: rewrite dup_smb2_vec3() using SMBD_SMB2_*_IOV_OFS and helper ↵Stefan Metzmacher1-42/+52
variables metze
2012-08-08s3:smb2_server: make use of SMBD_SMB2_* macros in smbd_smb2_request_done_ex()Stefan Metzmacher1-18/+21
metze
2012-08-08s3:smb2_server: make use of SMBD_SMB2_* macros in ↵Stefan Metzmacher1-8/+14
smbd_smb2_request_verify_sizes() metze
2012-08-08s3:smb2_server: use the common buffer layout for smbd_smb2_request_pending*Stefan Metzmacher1-16/+26
metze
2012-08-08s3:smb2_server: don't try to update req->in.vector[0] in ↵Stefan Metzmacher1-3/+0
smbd_smb2_request_pending_queue() req->in.vector[0] is reserved for the transport and might be removed in future. This is currently always { NULL, 0 }, as it's not used, by our transport layer code. The SMB2 layer should never touch this! metze
2012-08-08s3:smb2_server: sign the last request at the start of smbd_smb2_request_reply()Stefan Metzmacher1-22/+16
This means we correctly sign all responses in a compound chain. metze
2012-08-07s3:smb2_server: fix SMB2 signing of compound responsesStefan Metzmacher1-13/+72
We need to defer the signing until we know the response doesn't change anymore before it goes over the wire. metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Tue Aug 7 20:29:30 CEST 2012 on sn-devel-104
2012-08-07s3:smb2_server: there's no need to copy req->out.vector when we just keep ↵Stefan Metzmacher1-22/+5
the last request metze
2012-08-07s3:smb2_server: use memmove instead of copying single vector elementsStefan Metzmacher1-6/+7
metze
2012-08-07s3:smb2_server: make use of SMBD_SMB2_OUT_HDR_PTR() ↵Stefan Metzmacher1-1/+1
smbd_smb2_request_pending_queue() metze
2012-08-07s3:smb2_server: check for compound based on SMBD_SMB2_NUM_IOV_PER_REQStefan Metzmacher1-1/+1
metze
2012-08-07s3:smb2_server: make use of SMBD_SMB2_OUT_*_IOV smbd_smb2_request_reply()Stefan Metzmacher1-4/+4
metze
2012-08-07s3:smb2_server: check for compound based on SMBD_SMB2_NUM_IOV_PER_REQStefan Metzmacher1-4/+3
metze
2012-08-07s3:smb2_server: make use of SMBD_SMB2_*_IOV_OFSStefan Metzmacher1-15/+20
metze
2012-08-07s3:smb2_server: make use of helper macros in smb2_calculate_credits()Stefan Metzmacher1-4/+6
metze
2012-08-07s3:smb2_server: make use of helper macros in smbd_smb2_request_validate()Stefan Metzmacher1-3/+5
metze
2012-08-07s3:smb2_server: make use of SMBD_SMB2_NUM_IOV_PER_REQStefan Metzmacher1-17/+20
metze
2012-08-07s3:smb2_server: do one central as_root check if the operation requires itStefan Metzmacher1-30/+6
metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Tue Aug 7 13:14:38 CEST 2012 on sn-devel-104
2012-08-07s3:smb2_server: do one central tcon check if the operation requires itStefan Metzmacher1-160/+15
metze
2012-08-07s3:smb2_server: do one central session check if the operation requires itStefan Metzmacher1-66/+6
metze
2012-08-07s3:smb2_server: add and use smbd_smb2_call()Stefan Metzmacher1-0/+21
metze
2012-08-07s3:smb2_server: add .as_root to smbd_smb2_dispatch_tableStefan Metzmacher1-0/+15
metze
2012-08-07s3:smb2_server: add .need_tcon to smbd_smb2_dispatch_tableStefan Metzmacher1-0/+14
metze
2012-08-07s3:smb2_server: add .need_session to smbd_smb2_dispatch_tableStefan Metzmacher1-0/+16
metze
2012-08-07s3:smb2_server: introduce a smbd_smb2_dispatch_table (for now just with names)Stefan Metzmacher1-22/+46
metze
2012-08-07s3:smb2_server: move 'conn' to main block of smbd_smb2_request_dispatch()Stefan Metzmacher1-3/+2
metze
2012-08-06s3:smb2_server: make use of smbd_smb2_inbuf_parse_compound() in ↵Stefan Metzmacher1-257/+78
smbd_smb2_request_read*() This changes the way we read SMB2 traffic from the socket, now as create just one large buffer for the whole NBT payload and then split it into iovec elements in smbd_smb2_inbuf_parse_compound() metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Mon Aug 6 21:54:35 CEST 2012 on sn-devel-104
2012-08-06s3:smb2_server: make use of smbd_smb2_inbuf_parse_compound() in ↵Stefan Metzmacher1-28/+15
smbd_smb2_request_create() metze