[CIFS] Missing flag on negprot needed for some servers to force packet signing
authorYehuda Sadeh Weinraub <Yehuda.Sadeh@expand.com>
Tue, 5 Jun 2007 21:31:16 +0000 (21:31 +0000)
committerSteve French <sfrench@us.ibm.com>
Tue, 5 Jun 2007 21:31:16 +0000 (21:31 +0000)
A related signature issue that I came across.
There's a bug in win2k that when NT error codes are not negotiated, the
server doesn't response that signatures are mandatory. Since there's
(currently) no way turn on signatures in such case, I had to force NT
error codes, so that this bug will not occur

Signed-off-by: Yehuda Sadeh Weinraub <Yehuda.Sadeh@expand.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/cifssmb.c

index 14de58fa14379a7aa344df861a2acbd02d867892..57419a176688356cec33d80e2c89d22b13d0fedc 100644 (file)
@@ -433,8 +433,8 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses)
        cFYI(1,("secFlags 0x%x",secFlags));
 
        pSMB->hdr.Mid = GetNextMid(server);
-       pSMB->hdr.Flags2 |= SMBFLG2_UNICODE;
-       if((secFlags & CIFSSEC_MUST_KRB5) == CIFSSEC_MUST_KRB5)
+       pSMB->hdr.Flags2 |= (SMBFLG2_UNICODE | SMBFLG2_ERR_STATUS);
+       if ((secFlags & CIFSSEC_MUST_KRB5) == CIFSSEC_MUST_KRB5)
                pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC;
        
        count = 0;