diff options
author | Stefan Metzmacher <metze@samba.org> | 2008-07-07 19:37:14 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2008-07-07 20:59:19 +0200 |
commit | 5e4b8d6e5142617350bf9482b007f972a34bf942 (patch) | |
tree | b51f976ed0fd47c3403c72822f9b12a621ca6613 | |
parent | 997f539bf568f555f9e7a7f51de23cd13c732b1c (diff) | |
download | samba-5e4b8d6e5142617350bf9482b007f972a34bf942.tar.gz |
smb_server/smb: prepare multi fragmented nttrans requests
metze
(This used to be commit 36a39b92d732a682e38ad4b3f733951fee4757ed)
-rw-r--r-- | source4/smb_server/smb/trans2.c | 6 | ||||
-rw-r--r-- | source4/smb_server/smb_server.h | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/source4/smb_server/smb/trans2.c b/source4/smb_server/smb/trans2.c index 6dd69de436c..0e820cfe0e9 100644 --- a/source4/smb_server/smb/trans2.c +++ b/source4/smb_server/smb/trans2.c @@ -1036,7 +1036,7 @@ static NTSTATUS trans2_backend(struct smbsrv_request *req, struct trans_op *op) return NT_STATUS_FOOBAR; } -static int smbsrv_trans_partial_destructor(struct smbsrv_trans_partial *tp) +int smbsrv_trans_partial_destructor(struct smbsrv_trans_partial *tp) { DLIST_REMOVE(tp->req->smb_conn->trans_partial, tp); return 0; @@ -1063,7 +1063,7 @@ static void reply_trans_continue(struct smbsrv_request *req, uint8_t command, tp = talloc(req, struct smbsrv_trans_partial); tp->req = req; - tp->trans = trans; + tp->u.trans = trans; tp->command = command; DLIST_ADD(req->smb_conn->trans_partial, tp); @@ -1323,7 +1323,7 @@ static void reply_transs_generic(struct smbsrv_request *req, uint8_t command) return; } - trans = tp->trans; + trans = tp->u.trans; param_total = SVAL(req->in.vwv, VWV(0)); data_total = SVAL(req->in.vwv, VWV(1)); diff --git a/source4/smb_server/smb_server.h b/source4/smb_server/smb_server.h index ac3e0f3bd3d..dd4ec3281bd 100644 --- a/source4/smb_server/smb_server.h +++ b/source4/smb_server/smb_server.h @@ -355,8 +355,11 @@ struct smbsrv_connection { struct smbsrv_trans_partial { struct smbsrv_trans_partial *next, *prev; struct smbsrv_request *req; - struct smb_trans2 *trans; uint8_t command; + union { + struct smb_trans2 *trans; + struct smb_nttrans *nttrans; + } u; } *trans_partial; /* configuration parameters */ |