samba: Retain case sensitivity of cifs client
authorShirish Pargaonkar <spargaonkar@suse.com>
Sat, 26 Jul 2014 15:41:25 +0000 (10:41 -0500)
committerDavid Disseldorp <ddiss@samba.org>
Fri, 1 Aug 2014 14:11:43 +0000 (16:11 +0200)
When a client supports extended security but server does not,
and that client, in Flags2 field of smb header indicates that

- it supports extended security negotiation
- it does not support security signatures
- it does not require security signatures

Samba server treats a client as a Vista client.

That turns off case sensitivity and that is a problem for cifs vfs client.

So include remote cifs client along with remote samba client
to not do so otherwise.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=10755

Signed-off-by: Shirish Pargaonkar <spargaonkar@suse.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
Autobuild-User(master): David Disseldorp <ddiss@samba.org>
Autobuild-Date(master): Fri Aug  1 16:11:43 CEST 2014 on sn-devel-104

source3/smbd/negprot.c

index 4cd12d82d47717c493bdb69e5f2708dfefe5cbc0..225fe39156ee10c81d5b76d3048494888e41bb4a 100644 (file)
@@ -262,7 +262,8 @@ static void reply_nt1(struct smb_request *req, uint16 choice)
        if ( (req->flags2 & FLAGS2_EXTENDED_SECURITY) &&
                ((req->flags2 & FLAGS2_SMB_SECURITY_SIGNATURES_REQUIRED) == 0) )
        {
-               if (get_remote_arch() != RA_SAMBA) {
+               if ((get_remote_arch() != RA_SAMBA) &&
+                               (get_remote_arch() != RA_CIFSFS)) {
                        set_remote_arch( RA_VISTA );
                }
        }