summaryrefslogtreecommitdiff
path: root/source4/rpc_server/dcerpc_server.h
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2006-09-11 06:17:12 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:18:19 -0500
commit72c5be634c1f656039c32406213e69bb5c120952 (patch)
treede2a409565240bac2d7e6cce78411d2d4db3ca3a /source4/rpc_server/dcerpc_server.h
parent79a1d083246caf41c5ae99a1445ad2f84010ba45 (diff)
downloadsamba-72c5be634c1f656039c32406213e69bb5c120952.tar.gz
samba-72c5be634c1f656039c32406213e69bb5c120952.tar.bz2
samba-72c5be634c1f656039c32406213e69bb5c120952.zip
r18363: Found a rather nasty bug in our fragment handling.
We were adding packet fragments onto the *reply* queue, not the recieve queue. This worked, as long as we got a whole packet before we did any reply work, but failed once the backend called a remote LDAP server (and I presume something invoked the event loop). Andrew Bartlett (This used to be commit a0162e0ace48104d94f7b7dd3d2f62a7f42e10c6)
Diffstat (limited to 'source4/rpc_server/dcerpc_server.h')
-rw-r--r--source4/rpc_server/dcerpc_server.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/source4/rpc_server/dcerpc_server.h b/source4/rpc_server/dcerpc_server.h
index 031ace49d7..2990d6e09f 100644
--- a/source4/rpc_server/dcerpc_server.h
+++ b/source4/rpc_server/dcerpc_server.h
@@ -168,12 +168,15 @@ struct dcesrv_connection {
/* a list of established context_ids */
struct dcesrv_connection_context *contexts;
- /* the state of the current calls */
- struct dcesrv_call_state *call_list;
+ /* the state of the current incoming call fragments */
+ struct dcesrv_call_state *incoming_fragmented_call_list;
/* the state of the async pending calls */
struct dcesrv_call_state *pending_call_list;
+ /* the state of the current outgoing calls */
+ struct dcesrv_call_state *call_list;
+
/* the maximum size the client wants to receive */
uint32_t cli_max_recv_frag;