From 0ed153af55279ba1e621c688b5e78f842e72ea1e Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Mon, 1 Dec 2003 06:19:14 +0000 Subject: Subtract NT_STATUS from common flag, don't add it... Jeremy. --- source/smbd/process.c | 6 +++--- source/smbd/sesssetup.c | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/source/smbd/process.c b/source/smbd/process.c index d93826bc7e2..5206dc70f80 100644 --- a/source/smbd/process.c +++ b/source/smbd/process.c @@ -928,11 +928,11 @@ const char *smb_fn_name(int type) Helper functions for contruct_reply. ****************************************************************************/ -static uint32 common_flags2 = FLAGS2_LONG_PATH_COMPONENTS|FLAGS2_EXTENDED_SECURITY; +static uint32 common_flags2 = FLAGS2_LONG_PATH_COMPONENTS|FLAGS2_EXTENDED_SECURITY|FLAGS2_32_BIT_ERROR_CODES; -void add_to_common_flags2(uint32 v) +void remove_from_common_flags2(uint32 v) { - common_flags2 |= v; + common_flags2 &= ~v; } void construct_reply_common(char *inbuf,char *outbuf) diff --git a/source/smbd/sesssetup.c b/source/smbd/sesssetup.c index fb0744bb730..ec01a330ee2 100644 --- a/source/smbd/sesssetup.c +++ b/source/smbd/sesssetup.c @@ -473,8 +473,8 @@ static int reply_sesssetup_and_X_spnego(connection_struct *conn, char *inbuf, if (global_client_caps == 0) { global_client_caps = IVAL(inbuf,smb_vwv10); - if (global_client_caps & CAP_STATUS32) { - add_to_common_flags2(FLAGS2_32_BIT_ERROR_CODES); + if (!(global_client_caps & CAP_STATUS32)) { + remove_from_common_flags2(FLAGS2_32_BIT_ERROR_CODES); } } @@ -623,8 +623,8 @@ int reply_sesssetup_and_X(connection_struct *conn, char *inbuf,char *outbuf, if(global_client_caps == 0) { global_client_caps = IVAL(inbuf,smb_vwv11); - if (global_client_caps & CAP_STATUS32) { - add_to_common_flags2(FLAGS2_32_BIT_ERROR_CODES); + if (!(global_client_caps & CAP_STATUS32)) { + remove_from_common_flags2(FLAGS2_32_BIT_ERROR_CODES); } /* client_caps is used as final determination if client is NT or Win95. -- cgit v1.2.1