Bug 10755 - Retain case sensitivity of cifs client
Summary: Retain case sensitivity of cifs client
Status: RESOLVED FIXED
Alias: None
Product: Samba 4.1 and newer
Classification: Unclassified
Component: Other (show other bugs)
Version: unspecified
Hardware: All All
: P5 normal (vote)
Target Milestone: ---
Assignee: Karolin Seeger
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-31 04:47 UTC by shirishpargaonkar@gmail.com
Modified: 2014-10-13 10:51 UTC (History)
2 users (show)

See Also:


Attachments
patch to fix case insensitivity of cifs client (1.32 KB, patch)
2014-07-31 04:47 UTC, shirishpargaonkar@gmail.com
no flags Details
git-am fix for 4.1.next and 4.0.next. (1.68 KB, patch)
2014-08-01 18:41 UTC, Jeremy Allison
jra: review? (ddiss)
asn: review+
obnox: review+
Details

Note You need to log in before you can comment on or make changes to this bug.
Description shirishpargaonkar@gmail.com 2014-07-31 04:47:32 UTC
Created attachment 10164 [details]
patch to fix case insensitivity of cifs client

I've noticed a problem with case insensitivity on my cifs mounts.  I
ran into it when upgrading from Linux Mint 13 to 17.  I've since
determined that the problem also exists on debian testing.
The shares on my NAS boxes (Buffalo and ZyXEL) are case sensitive with
Mint 13 and debian stable (wheezy).  They are case insensitive on Mint
17 and debian testing (jessie).  I do a lot of file renaming
(upper/lower casing) and the insensitivity poses a real problem.

Here is an example from fstab for one of my shares and the mount command used.

//10.2.76.31/android    /mnt/ls-pro-android    cifs
users,noauto,credentials=/home/trdavenport/sambapw,iocharset=utf8    0
   0

mount     /mnt/ls-pro-android

As a test I first installed a new instance of debian stable (Linux
3.2.0-4-amd64 #1 SMP Debian 3.2.57-3+deb7u2)(cifs.ko v.1.76),
installed cifs-utils (2:5.5-1) and configured everything to access my
shares.  This resulted in case sensitive access to all my shares.

Without making any other changes I installed a backported kernel
(Linux 3.12-0.bpo.1-amd64 #1 SMP Debian 3.12.9-1~bpo70+1)(cifs.ko
v.2.02) and with that all my shares are case insensitive.  Using grub
I can switch back and forth between the two kernels and the results
are consistent.

Have I missed an option or configuration that would address this?  I
think the nocase option is supposed to turn off sensitivity, but can't
find anything to turn it on.

Could this fix ( http;//article.gmane.org/gmane.linux.kernel.cifs/8832
)  from 2013-09-12 have something to do with it?

If I use fuse/gvfs, all the shares are case sensitive on debian stable
and testing as well as Mint 13 and 17.

 --
Tim Davenport
Gatlinburg, Tennessee  USA

-------------
I can report that this bug is affecting folks in production environments. It seems a newer version of the kernel cifs client code is reporting capabilities that are confusing the Samba server into turning off case sensitivity, which breaks a lot of stuff.

For example, on our Samba server we have "case sensitive = Auto" because we have both Linux and Windows clients. Our older Linux clients running Kubuntu 10.04 indeed obtain the desired case sensitive connections, but when we try to upgrade a client to Kubuntu 12.04 with the 14.04 LTS enablement stack, the mounts suddenly become case insensitive, after which it's not too hard to confuse the client into dropping the "serverino" flag on the connection (manually you can do "mkdir Test; cd tesT"), after which KDE locking code goes bonkers.

In the referenced post,
 https://lists.samba.org/archive/samba-technical/2014-June/100697.html
Shirish Pargaonkar included a one-line patch to the Samba server negprot.c code that fixes this bug.

No one replied, so unclear whether it got missed? What's the procedure to get that fix into the Samba codebase? Is reporting on this list sufficient, or does a separate bug report need to be entered somewhere into a bug tracking system?

----------

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.
Comment 1 Jeremy Allison 2014-08-01 18:41:34 UTC
Created attachment 10168 [details]
git-am fix for 4.1.next and 4.0.next.

Cherry-pick of the fix that went into master for 4.1.next, 4.0.next.
Comment 2 Andreas Schneider 2014-08-13 10:35:24 UTC
Comment on attachment 10168 [details]
git-am fix for 4.1.next and 4.0.next.

LGTM!
Comment 3 Andreas Schneider 2014-08-13 10:36:33 UTC
Karolin, please add the patch to 4.0 and 4.1. Thanks!
Comment 4 Karolin Seeger 2014-09-01 19:21:47 UTC
Pushed to autobuild-v4-[0|1]-test.
Comment 5 Karolin Seeger 2014-09-03 07:11:51 UTC
Pushed to both branches.
Closing out bug report.

Thanks!