summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2003-12-01 06:19:14 +0000
committerJeremy Allison <jra@samba.org>2003-12-01 06:19:14 +0000
commit95b77efc1bbe8c8f633676480fced19b9c129c3b (patch)
tree52f7aa307ed620f80fe011962a112b659bdd46b3
parentf9a2ba6e911d6c90ffd030a5ed928f41c919f78a (diff)
downloadsamba-95b77efc1bbe8c8f633676480fced19b9c129c3b.tar.gz
samba-95b77efc1bbe8c8f633676480fced19b9c129c3b.tar.bz2
samba-95b77efc1bbe8c8f633676480fced19b9c129c3b.zip
Subtract NT_STATUS from common flag, don't add it...
Jeremy. (This used to be commit 0ed153af55279ba1e621c688b5e78f842e72ea1e)
-rw-r--r--source3/smbd/process.c6
-rw-r--r--source3/smbd/sesssetup.c8
2 files changed, 7 insertions, 7 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index d93826bc7e..5206dc70f8 100644
--- a/source3/smbd/process.c
+++ b/source3/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/source3/smbd/sesssetup.c b/source3/smbd/sesssetup.c
index fb0744bb73..ec01a330ee 100644
--- a/source3/smbd/sesssetup.c
+++ b/source3/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.