From 5e4b8d6e5142617350bf9482b007f972a34bf942 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 7 Jul 2008 19:37:14 +0200 Subject: smb_server/smb: prepare multi fragmented nttrans requests metze (This used to be commit 36a39b92d732a682e38ad4b3f733951fee4757ed) --- source4/smb_server/smb/trans2.c | 6 +++--- source4/smb_server/smb_server.h | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'source4') diff --git a/source4/smb_server/smb/trans2.c b/source4/smb_server/smb/trans2.c index 6dd69de436..0e820cfe0e 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 ac3e0f3bd3..dd4ec3281b 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 */ -- cgit