diff options
Diffstat (limited to 'source4/smb_server')
-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 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 */ |