summaryrefslogtreecommitdiff
path: root/source3/libsmb/async_smb.c
AgeCommit message (Collapse)AuthorFilesLines
2011-11-24s3:libsmb: implement cli_state based functions on top of ↵Stefan Metzmacher1-950/+167
smbXcli_conn/smbXcli_req metze
2011-11-16s3-libsmb: introduce option to disable dos error mappingBjörn Baumbach1-1/+2
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2011-11-07s3:libsmb: return NT_STATUS_OK for if a request is not the last one in the chainStefan Metzmacher1-0/+6
metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Mon Nov 7 11:38:05 CET 2011 on sn-devel-104
2011-11-07s3:libsmb: make sure have_andx_command() returns false for non AndX commandsStefan Metzmacher1-3/+7
metze
2011-11-07s3:libsmb: remember the seqnum on all chained requestsStefan Metzmacher1-0/+6
This is needed in order to verify the incoming signature correctly. metze
2011-11-07s3:libsmb: get cmd of the chained request before changing wct_ofsStefan Metzmacher1-2/+1
metze
2011-10-25s3:libsmb: s/event_context/tevent_context/ in async_smb.[ch]Stefan Metzmacher1-2/+2
metze
2011-10-25s3:libsmb: make use of map_nt_error_from_unix_common() in async_smb.cStefan Metzmacher1-2/+2
metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Tue Oct 25 03:21:06 CEST 2011 on sn-devel-104
2011-10-25s3:libsmb: use HDR_* defines in cli_state_dispatch_smb1()Stefan Metzmacher1-7/+8
metze
2011-10-25s3:libsmb: make use of smb_[set]len_nbt() in async_smb.cStefan Metzmacher1-3/+3
metze
2011-10-25s3:libsmb: use HDR_* defines in cli_pull_raw_error()Stefan Metzmacher1-3/+4
metze
2011-10-24libcli/smb: move source3/libsmb/read_smb.* to the toplevelStefan Metzmacher1-1/+1
metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Mon Oct 24 10:18:06 CEST 2011 on sn-devel-104
2011-10-21libcli/smb: move smb_seal.c to the toplevelStefan Metzmacher1-1/+1
metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Fri Oct 21 10:22:39 CEST 2011 on sn-devel-104
2011-10-20s3:libsmb/async_smb: in cli_state_notify_pending() we always disconnectStefan Metzmacher1-7/+5
So we should always set state->mid = 0. metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Thu Oct 20 11:34:23 CEST 2011 on sn-devel-104
2011-10-19s3: Avoid a winbind 100% cpu loopVolker Lendecke1-0/+8
When a DC goes down hard, winbind can end up in a 100% CPU loop. The next (small) RPC request to the DC ends up as a trans2 request. If the connection goes down, we end up trying to discard the request via the loop in cli_state_notify_pending(). Because this is a trans2 request, cli_smb_req_unset_pending will not kick in. Thus the pending array will always remain at length 1. Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Wed Oct 19 01:39:35 CEST 2011 on sn-devel-104
2011-09-18s3:libsmb: return INTERNAL_ERROR if the request is in bad state when the ↵Stefan Metzmacher1-0/+8
caller ships it metze
2011-09-18s3:libsmb: return if tevent_req_set_endtime() failsStefan Metzmacher1-2/+4
tevent_req_set_endtime() already calls tevent_req_nomem(). metze
2011-09-15s3:libsmb: s/cli_encryption_on/cli_state_encryption_on()Stefan Metzmacher1-2/+2
metze
2011-09-15s3:libsmb: move cli->smb1.mid to cli->conn.smb1.midStefan Metzmacher1-1/+1
metze
2011-09-14s3:libsmb: return NT_STATUS_CONNECTION_DISCONNECTED instead of ↵Stefan Metzmacher1-1/+1
NT_STATUS_CONNECTION_INVALID We should return the same in all places. metze
2011-09-12s3:libsmb: let cli_pull_raw_error() return NT_STATUS_OK as DOS-Error successStefan Metzmacher1-1/+6
metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Mon Sep 12 19:12:21 CEST 2011 on sn-devel-104
2011-08-28s3:libsmb: move cli_session_request*() to smbsock_connect.cStefan Metzmacher1-127/+0
metze
2011-08-28s3:libsmb: move cli_smb_oplock_break_waiter*() to clioplock.cStefan Metzmacher1-79/+0
metze
2011-08-28s3:libsmb: use cli_smb_req_set_mid() in cli_smb_oplock_break_waiter_send()Stefan Metzmacher1-3/+1
metze
2011-08-28s3:libsmb: let cli_smb_req_mid() return the mid set by cli_smb_req_set_mid()Stefan Metzmacher1-0/+5
metze
2011-08-12s3:libsmb: keep a cli_smb_state->one_wayStefan Metzmacher1-12/+19
This moves the SMB1 specific stuff to cli_smb_req_create(), instead of having it in the core dispatching code. metze
2011-08-12s3:libsmb: abstract the incoming dispatch function via a function pointerStefan Metzmacher1-5/+6
This will allow handling of SMB2 in future. metze
2011-08-12s3:libsmb: split out cli_state_dispatch_smb1() from cli_smb_received()Stefan Metzmacher1-45/+66
metze
2011-08-12s3:libsmb: add missing TALLOC_FREE(frame) to cli_smb_received()Stefan Metzmacher1-0/+1
metze
2011-08-12s3:libsmb: keep the request order in cli_smb_req_unset_pending()Stefan Metzmacher1-1/+3
metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Fri Aug 12 12:36:03 CEST 2011 on sn-devel-104
2011-08-12s3:libsmb: use tevent_req_defer_callback() unless there's only one request ↵Stefan Metzmacher1-4/+41
in cli_smb_received() Callers of tevent_req_done() (or similar functions) have to return directly. Otherwise the callback could invalidate the current stack state, which is likely to trigger segfaults. If there was only one pending request and we just got the response for that one, we can use tevent_req_done() directly. Otherwise there're more pending requests and we need to call cli_state_receive_next() or we got the response for chained requests. Both means that we have to use tevent_req_defer_callback(). metze
2011-08-12s3:libsmb: make use of cli_state_receive_next() in cli_smb_received()Stefan Metzmacher1-17/+2
metze
2011-08-12s3:libsmb: notify all request about failures in cli_smb_req_set_pending()Stefan Metzmacher1-0/+7
It's up to the caller to notify the current request, but we have to notify all other pending requests if we're not able to read the next response from the server. metze
2011-08-12s3:libsmb: split out cli_state_receive_next() from cli_smb_req_set_pending()Stefan Metzmacher1-2/+25
metze
2011-08-12s3:libsmb: use talloc_stackframe() in cli_smb_received()Stefan Metzmacher1-8/+12
metze
2011-08-12s3:libsmb: call cli_smb_req_unset_pending() before tevent_req_done() also ↵Stefan Metzmacher1-0/+1
for chained requests metze
2011-08-12s3:libsmb: reset the destructor in cli_smb_req_unset_pending()Stefan Metzmacher1-1/+2
metze
2011-08-12s3:libsmb: add cli_state_notify_pending() and use itStefan Metzmacher1-25/+45
If we got a problem on the connection we need to notify every pending request. But we need to make use of tevent_req_defer_callback() before tevent_req_nterror(), otherwise the callback, triggered by tevent_req_nterror(), could invalidate the state of current caller, which will likely cause segfaults. metze
2011-07-27s3: Fix async smb handlingVolker Lendecke1-9/+21
In cli_echo with more than one response we ended up with more than one read_smb request. One from the call to cli_smb_req_set_pending called from cli_smb_received. The other one from cli_smb_received itself. I don't really see another way to deal with this than to hold the read_smb request in the cli_state. Metze, please check! Volker
2011-07-22s3:libsmb: move cli_state->fd to cli_state->conn.fdStefan Metzmacher1-3/+3
metze
2011-07-22s3:libsmb: make use of cli_state_disconnect()Stefan Metzmacher1-10/+3
metze
2011-07-22s3:libsmb: make use of cli_state_is_connected()Stefan Metzmacher1-1/+1
metze
2011-07-22s3:libsmb: move cli_state->outgoing to cli_state->conn.outgoingStefan Metzmacher1-2/+2
metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Fri Jul 22 09:53:59 CEST 2011 on sn-devel-104
2011-07-22s3:libsmb: move cli_state->pending to cli_state->conn.pendingStefan Metzmacher1-24/+26
metze
2011-07-20s3:libsmb: move cli->cnum to cli->smb1.tid and hide it behind ↵Stefan Metzmacher1-1/+1
cli_state_[g|s]et_tid() metze
2011-07-20s3:libsmb: move cli->mid to cli->smb1.midStefan Metzmacher1-1/+1
metze
2011-07-13s3:libsmb: remove unused cli_smb_inbuf()Stefan Metzmacher1-7/+0
metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Wed Jul 13 01:19:51 CEST 2011 on sn-devel-104
2011-07-08s3:libsmb: don't use the cli->inbuf to store the last errorStefan Metzmacher1-34/+16
We keep the raw error in cli->raw_status now, until we fixed all caller to get the NTSTATUS from the function calls. metze
2011-06-20Use tevent_req_oomVolker Lendecke1-1/+1
This fixes a few Coverity errors
2011-06-10s3:libsmb/async_smb: add helpers to get and set the seqnum for signingStefan Metzmacher1-0/+14
This will be used for correct signing in [nt]trans[2][s] requests. metze