]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
samba: Retain case sensitivity of cifs client
authorShirish Pargaonkar <spargaonkar@suse.com>
Sat, 26 Jul 2014 15:41:25 +0000 (10:41 -0500)
committerKarolin Seeger <kseeger@samba.org>
Tue, 2 Sep 2014 18:39:20 +0000 (20:39 +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

(cherry picked from commit a0583976da2ba09da0fd94f739ed4f5851e2a858)

source3/smbd/negprot.c

index 315bd890376888186cd15f5751db8b21c67c99a6..b1d93cd8a3e2d404107a3f35e6e05df7ed4570ed 100644 (file)
@@ -252,7 +252,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 );
                }
        }