summaryrefslogtreecommitdiff
path: root/source3/smbd/process.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2003-12-01 02:25:56 +0000
committerJeremy Allison <jra@samba.org>2003-12-01 02:25:56 +0000
commit6bb8f54e018db066d93f960ec0f257a77671b593 (patch)
treeba7bc88e48378d44d0f27c8be3e5f693ed7f06ab /source3/smbd/process.c
parent12d3246a6c0fe2d6241d7f7ec8573b263a559390 (diff)
downloadsamba-6bb8f54e018db066d93f960ec0f257a77671b593.tar.gz
samba-6bb8f54e018db066d93f960ec0f257a77671b593.tar.bz2
samba-6bb8f54e018db066d93f960ec0f257a77671b593.zip
Don't automatically set nt status code flag unless client tells us it can
cope. Jeremy. (This used to be commit 0d82ac57a59276adb403f8e023578c2d6d5136e4)
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));