summaryrefslogtreecommitdiff
path: root/source3/smbd/process.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2003-12-01 02:25:53 +0000
committerJeremy Allison <jra@samba.org>2003-12-01 02:25:53 +0000
commitc05411beae9969b1dca9de1412a7a5f432915d51 (patch)
treeba19da81107f7e4a2a4d0b4e88c8c8ef539fb3b0 /source3/smbd/process.c
parent003f2cb9f9bcf5c7ae7265fe13757ed385d5bbaa (diff)
downloadsamba-c05411beae9969b1dca9de1412a7a5f432915d51.tar.gz
samba-c05411beae9969b1dca9de1412a7a5f432915d51.tar.bz2
samba-c05411beae9969b1dca9de1412a7a5f432915d51.zip
Don't automatically set nt status code flag unless client tells us it can
cope. Jeremy. (This used to be commit dd1ac8d5eba060dcd7fdde7449d07bee1dc12b27)
Diffstat (limited to 'source3/smbd/process.c')
-rw-r--r--source3/smbd/process.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index 8a90a15d29..d93826bc7e 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -924,11 +924,17 @@ const char *smb_fn_name(int type)
return(smb_messages[type].name);
}
-
/****************************************************************************
- Helper function for contruct_reply.
+ Helper functions for contruct_reply.
****************************************************************************/
+static uint32 common_flags2 = FLAGS2_LONG_PATH_COMPONENTS|FLAGS2_EXTENDED_SECURITY;
+
+void add_to_common_flags2(uint32 v)
+{
+ common_flags2 |= v;
+}
+
void construct_reply_common(char *inbuf,char *outbuf)
{
memset(outbuf,'\0',smb_size);
@@ -941,9 +947,8 @@ void construct_reply_common(char *inbuf,char *outbuf)
SCVAL(outbuf,smb_reh,0);
SCVAL(outbuf,smb_flg, FLAG_REPLY | (CVAL(inbuf,smb_flg) & FLAG_CASELESS_PATHNAMES));
SSVAL(outbuf,smb_flg2,
- (SVAL(inbuf,smb_flg2) & FLAGS2_UNICODE_STRINGS) |
- FLAGS2_LONG_PATH_COMPONENTS |
- FLAGS2_32_BIT_ERROR_CODES | FLAGS2_EXTENDED_SECURITY);
+ (SVAL(inbuf,smb_flg2) & FLAGS2_UNICODE_STRINGS) |
+ common_flags2);
SSVAL(outbuf,smb_err,SMB_SUCCESS);
SSVAL(outbuf,smb_tid,SVAL(inbuf,smb_tid));