summaryrefslogtreecommitdiff
path: root/source3/libsmb/async_smb.c
AgeCommit message (Collapse)AuthorFilesLines
2009-05-24Add "err_on_readability" to writev_sendVolker Lendecke1-2/+2
A socket where the other side has closed only becomes readable. To catch errors early when sitting in a pure writev, we need to also test for readability.
2009-05-18Fix broken pipe handlingVolker Lendecke1-2/+2
Metze is right: If we have *any* error at the socket level, we just can not continue. Also, apply some defensive programming: With this async stuff someone else might already have closed the socket.
2009-05-19s3: tevent_req_poll() loops forever when pipe is brokenBo Yang1-0/+8
Signed-off-by: Bo Yang <boyang@samba.org>
2009-05-13s3:libsmb: move read_smb_send/recv() static in async_smb.cStefan Metzmacher1-0/+87
metze
2009-05-13s3:libsmb: let cli_smb_chain_send() also return NTSTATUSStefan Metzmacher1-9/+12
metze
2009-05-13s3:libsmb: return NT_STATUS_CONNECTION_INVALID if the fd is -1Bo Yang1-5/+7
This way we can destinguish between requests which failed because the connection broke after they were triggered and the requests which are started on an already broken connection. This also moves the check to cli_smb_req_iov_send() where it really belongs. metze
2009-05-13s3: return proper error code in cli_smb_req_sendBo Yang1-22/+28
Signed-off-by: Bo Yang <boyang@samba.org>
2009-05-12Clean up assignments to iov_base, ensure it's always cast to void *. This ↵Jeremy Allison1-6/+6
should quieten some warnings with picky compilers on the buildfarm. Jeremy.
2009-04-29s3: fix crash in winbinddBo Yang1-0/+4
2009-04-06Add async oplock waiterVolker Lendecke1-1/+101
2009-04-06Never hand out 0xffff as a midVolker Lendecke1-1/+1
This is used for oplock replies
2009-04-06Remove async_req based async libsmb infrastructureVolker Lendecke1-869/+0
2009-04-06Add new async libsmb infrastructureVolker Lendecke1-0/+765
I know this is just yet another iteration, but I like this one much better than the one that exists right now :-) It will do trans and echo requests without a _recv helper and without unnecessary memcpy().
2009-03-23s3:libsmb: use new simplified smb_signing code for the client sideStefan Metzmacher1-15/+28
We store the seqnum/mid mapping in the cli_request structure for async requests and in the cli_state structure for sync calls. We skip the signing check for oplock requests while waiting for async requests coming in. metze
2009-03-20Fix crash in async_smb.cBo Yang1-3/+6
2009-02-01Split up async_req into a generic and a NTSTATUS specific partVolker Lendecke1-2/+2
2009-01-31Make is_andx_req non-staticVolker Lendecke1-26/+0
2009-01-28Fix a valgrind error when the socket diesVolker Lendecke1-4/+9
Don't reference anything that might have been deleted in the async_req_error call.
2009-01-03struct async_req doesn't really need to carry an event_contextVolker Lendecke1-1/+1
2008-12-19Fix setting smb_len for huge write&x callsVolker Lendecke1-1/+14
2008-12-19Add the cli_wct_ofs routine to calculate the offset for write&xVolker Lendecke1-0/+31
2008-12-19Add a doxygen comment line I forgot to mergeVolker Lendecke1-0/+1
2008-12-19Convert cli_request->outbuf to uint8_tVolker Lendecke1-13/+15
2008-12-19For large smbwrite&x, we need more than 64k bccVolker Lendecke1-4/+4
2008-12-19Add some commentsVolker Lendecke1-0/+22
If it takes more than 10 seconds to understand the code you've written yourself less than a year ago, it's time for comments or refactoring. I couldn't find a way to refactor that cleanly, so add comments :-)
2008-12-19Fix the padding calculation in smb_splice_chain for "bytes_padding!=0"Volker Lendecke1-1/+1
2008-12-19Pass "bytes_alignment" up through cli_request_sendVolker Lendecke1-2/+5
This parameter makes smb_spice_chain add padding before the bytes field
2008-12-19Prefer network writes over readsVolker Lendecke1-32/+33
If we really want to keep the pipe busy, we need to write everything we have as early as possible, giving the kernel the chance to get rid of the buffers quickly :-)
2008-12-08Add a "bytes_padding" parameter to smb_splice_chainVolker Lendecke1-12/+28
For example open&x and write&x needs the bytes to be aligned relative to the SMB header. In particular for write&x we should not have to move stuff around.
2008-12-08Factor out smb_splice_chain(), to be used by chain_reply() in smbdVolker Lendecke1-46/+98
2008-10-14Fixed "argument differ in signedness" warning on linuxTim Prouty1-2/+2
2008-10-09Ensure we handle signals correctly during the async calls.Jeremy Allison1-2/+2
Jeremy.
2008-09-17Remove a cast -- thanks metzeVolker Lendecke1-2/+2
2008-09-12Factor out validate_smb_cryptoVolker Lendecke1-41/+53
(This used to be commit 37fcc9dc462dfb006fdac294e49c0dae7588c103)
2008-09-12Fix "make test" -- gna...Volker Lendecke1-1/+1
(This used to be commit c1d3ae80b5f5f07c5efcd7f3ee301d5c3090f3c6)
2008-09-12remove a pointless empty lineVolker Lendecke1-1/+0
(This used to be commit fba250ece45f6632c7d89b0ea28baab047e41a8f)
2008-09-12Add a paranoia check on incoming PDUsVolker Lendecke1-0/+7
(This used to be commit 8b81b85200b7ca18cf81fdbbc3254d8578b35f43)
2008-09-09Move setting the mid field in req->outbuf from _cork to _uncorkVolker Lendecke1-1/+1
The async trans calls need this, as for secondary trans calls they have to modify the MID from what cli_request_chain() gave us. (This used to be commit c85de4b7b5db8b54b8bf0f91acbd6d08d1b0bc9d)
2008-09-09Add utility function cli_in_chain()Volker Lendecke1-0/+15
This gives a hint whether a function is called from within the middle of a chain. In particular the trans calls don't really like this. (This used to be commit 4252b32db5ef7483f2c5c52312b6e6dc68d1d687)
2008-09-05Protect against a closed socketVolker Lendecke1-0/+5
(This used to be commit d6cb5fdafbddb08d32b788674eff509cae9525c6)
2008-09-05Do proper error handling if the socket is closedVolker Lendecke1-2/+8
(This used to be commit e5a27773f97d7017cfa345799c6803fd82c8e797)
2008-08-28Remove cli_request_get()Volker Lendecke1-17/+6
req->private_data==NULL at this point is definitely a bug. (This used to be commit ce3dc9f616cafc1289a94ac7cae0beca967d836e)
2008-08-28Add cli_request->recv_helperVolker Lendecke1-1/+6
Necessary for requests with multiple replies (This used to be commit cb2e338eb33dfb4627f9b43456af0c86d7d268c6)
2008-08-28Activate code to enable chained requestsVolker Lendecke1-176/+27
Add the CHAIN1 torture test (This used to be commit 82992d74a99b056bbfe90e1b79190e0b7c0bf2bd)
2008-08-28This adds the code to allow chained requests in libsmb/Volker Lendecke1-0/+534
This is not compiled yet, but it makes the patches much easier to read if it is add in bulk. (This used to be commit b4c539ba041bab8856c83816f08a35b5f5b21740)
2008-08-28Move "struct cli_request" from client.h to async_smb.hVolker Lendecke1-6/+32
Also add some comments (This used to be commit 2ecc311f785317caf5b60051147dcd085c80d64f)
2008-08-28Add cli_pull_replyVolker Lendecke1-0/+54
Along the lines of cli_request_send this abstracts away the smb-level buffer handling when parsing replies we got from the server. (This used to be commit 253134d3aaa359fdfb665709dd5686f69af7f8fd)
2008-08-28Remove cli->event_ctx, pass it explicitlyVolker Lendecke1-70/+24
Storing the event_context as permanent state in struct cli_state creates more complex code than necessary IMO. (This used to be commit debb37f703075008e5ea7d34d214cfa4d0f8f916)
2008-08-28Refactoring: Add the routine cli_request_send()Volker Lendecke1-5/+57
cli_request_send() is supposed to bundle all generic SMB-header handling. This makes cli_request_new static to async_smb.c. (This used to be commit 7e73dd4e7622db64d30d48ba106892e0895fc188)
2008-08-14Prevent NT_STATUS 0xF1000000 errors from appearing whenJim McDonough1-0/+6
dos errors are used and there is no error. It should be mapped directly to NT_STATUS_OK. smbclient to older servers didn't work. (This used to be commit 78f009b7ef1f1d63b21df9ba6da7fcca01c12109)