From cc6a41017c577742af73b4bc60993d8d415ea580 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 23 Jul 2007 09:36:09 +0000 Subject: r23997: Check in the infrastructure for getting rid of the global InBuffer/OutBuffer The complete history of this patch can be found under http://www.samba.org/~vlendec/inbuf-checkin/. Jeremy, Jerry: If possible I would like to see this in 3.2.0. I'm only checking into 3_2 at the moment, as it currently will slow down operations for all non-converted (i.e. all at this moment) operations, as it will copy the talloc'ed inbuf over the global InBuffer. It will need quite a bit of effort to convert everything necessary for the normal operations an XP box does. I have patches for negprot, session setup, tcon_and_X, open_and_X, close. More to come, but I would appreciate some help here. Volker (This used to be commit 5594af2b208c860d3f4b453af6a649d9e4295d1c) --- source3/include/smb.h | 4 ++++ source3/include/smb_macros.h | 4 ++++ 2 files changed, 8 insertions(+) (limited to 'source3/include') diff --git a/source3/include/smb.h b/source3/include/smb.h index b16d8a765a..4e03d333d9 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -686,6 +686,10 @@ struct smb_request { uint16 smbpid; uint16 mid; uint16 vuid; + uint16 tid; + uint8 wct; + const uint8 *inbuf; + uint8 *outbuf; }; /* Defines for the sent_oplock_break field above. */ diff --git a/source3/include/smb_macros.h b/source3/include/smb_macros.h index 3221d2f951..a47eff2f64 100644 --- a/source3/include/smb_macros.h +++ b/source3/include/smb_macros.h @@ -169,6 +169,10 @@ #define ERROR_FORCE_NT(status) error_packet(inbuf,outbuf,-1,-1,status,__LINE__,__FILE__) #define ERROR_BOTH(status,class,code) error_packet(inbuf,outbuf,class,code,status,__LINE__,__FILE__) +#define reply_nterror(req,status) reply_nt_error(req,status,__LINE__,__FILE__) +#define reply_doserror(req,eclass,ecode) reply_dos_error(req,eclass,ecode,__LINE__,__FILE__) +#define reply_botherror(req,status,eclass,ecode) reply_both_error(req,eclass,ecode,status,__LINE__,__FILE__) + /* this is how errors are generated */ #define UNIXERROR(defclass,deferror) unix_error_packet(inbuf,outbuf,defclass,deferror,NT_STATUS_OK,__LINE__,__FILE__) -- cgit