Problem with CIFS

Steve French smfrench at austin.rr.com
Thu Aug 19 02:36:21 GMT 2004


>Can you show me where the problem is ? 
>Currently in smbd/negprot.c we have :
>
> /* do spnego in user level security if the client
> supports it and we can do encrypted passwords*/ 
>
>  if (global_encrypted_passwords_negotiated &&
>            (lp_security() != SEC_SHARE) &&
>            lp_use_spnego() &&
>            (SVAL(inbuf, smb_flg2) & FLAGS2_EXTENDED_SECURITY)) {
>                negotiate_spnego = True;
>                capabilities |= CAP_EXTENDED_SECURITY;
>        }

I think Samba is just missing the else clause in smbd/negprot.c(since
reply_common sets FLAGS2_EXTENDED_SECURITY otherwise). Something like:

        else {
                remove_from_common_flags2(FLAGS2_EXTENDED_SECURITY);
                SSVAL(outbuf,smb_flg2,(SVAL(outbuf,smb_flg2) &
			 (~FLAGS2_EXTENDED_SECURITY)));
        }

but in any case I have to workaround it in the Linux cifs client by
paying more attention to the capability bit than to the actual smb flag





More information about the samba-technical mailing list