From 6219c997cbe49952213460f1e100004d32469132 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 19 Aug 2004 20:03:41 +0000 Subject: r1936: Fix bug noticed by Steve - ensure extended security bit is on only if we negotiated extended security. Do not merge for 3.0.6. Works with W2K but needs further testing. Jeremy. (This used to be commit 284689aa18d2711a9041598cdf490359466f7f77) --- source3/smbd/negprot.c | 1 + source3/smbd/process.c | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/source3/smbd/negprot.c b/source3/smbd/negprot.c index 5ff53f6300..5ee8abbe6b 100644 --- a/source3/smbd/negprot.c +++ b/source3/smbd/negprot.c @@ -249,6 +249,7 @@ static int reply_nt1(char *inbuf, char *outbuf) (SVAL(inbuf, smb_flg2) & FLAGS2_EXTENDED_SECURITY)) { negotiate_spnego = True; capabilities |= CAP_EXTENDED_SECURITY; + add_to_common_flags2(FLAGS2_EXTENDED_SECURITY); } capabilities |= CAP_NT_SMBS|CAP_RPC_REMOTE_APIS|CAP_UNICODE; diff --git a/source3/smbd/process.c b/source3/smbd/process.c index 60ce1499e8..5be68d9f0a 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -1130,7 +1130,12 @@ const char *smb_fn_name(int type) Helper functions for contruct_reply. ****************************************************************************/ -static uint32 common_flags2 = FLAGS2_LONG_PATH_COMPONENTS|FLAGS2_EXTENDED_SECURITY|FLAGS2_32_BIT_ERROR_CODES; +static uint32 common_flags2 = FLAGS2_LONG_PATH_COMPONENTS|FLAGS2_32_BIT_ERROR_CODES; + +void add_to_common_flags2(uint32 v) +{ + common_flags2 |= v; +} void remove_from_common_flags2(uint32 v) { -- cgit