Opened 9 years ago
Closed 9 years ago
#260 closed defect (invalid)
Case sensitivity issues
Reported by: | Lewis Rosenthal | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | Samba Client Plugin | Version: | Client 3.0.x |
Keywords: | case, sensitive, sensitivity | Cc: |
Description
I didn't have a better subject, sorry. Suggest that this may become a meta bug for all issues with case sensitivity.
Current issue:
Samba server 4.1.8 on openSuSE, configured for SMB2 and no case sensitivity setting for the share in smb.conf should default to auto (see https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#NAMEMANGLING). Apparently, while https://www.samba.org/samba/docs/man/manpages/smbclient.1.html indicates that the case_sensitive flag should be toggled off by default, we seem to have it on, as accessing a share on the above with:
7-04-15 17:32 <DIR> 1,252 Desktop 7-04-15 17:49 <DIR> 548 Images 7-04-15 17:49 <DIR> 0 RecycleBin 7-04-15 17:31 1,111 0 POPUPLOG.2014-12-04 7-04-15 17:31 159,305 0 POPUPLOG.OS2 160,416 bytes in 2 files and 3 dirs 164,864 bytes allocated 465,719,918,592 bytes (433GB) free
running the following command fails:
[c:\]dir k:\images Volume in drive K is NETDRIVE SYS0002: The system cannot find the file specified. "K:\images\*" 0 bytes in 0 files and 0 dirs 465,720,012,800 bytes (433GB) free
while:
[c:\]dir k:\Images
succeeds.
It is necessary to actually set the share to case senstivity = no in order for the case-insensitive filenames to be recognized.
This only appears to be an issue with the plugin. smbclient works as expected:
smb: \> ls images Images D 0 Sat Jul 4 17:49:16 2015 712503296 blocks of size 1024. 454804620 blocks available
Perhaps a toggle in the plugin properties to enable/disable case-sensitivity for the share would be helpful.
Change History (18)
comment:1 by , 9 years ago
comment:2 by , 9 years ago
I'll guess smbclient sets this flag automatically - it should be trivial to do the same in ndpsmb.dll
comment:3 by , 9 years ago
Seems to be we should be setting case_sensitive to no by default on OS/2. Interesting though that smbclient works - I'm assuming you mean smbclient running under OS2?
comment:4 by , 9 years ago
smbclient under OS/2, yes, Paul. I hadn't even thought to test under Linux, as I'm so accustomed to case sensitivity there, even when mounting an otherwise case-insensitive share, such as a NetWare volume (simply as a result of how mounts work under Linux). As I say, I've not tested smbclient on Linux in this regard.
My vote would be for case_sensitive no by default, with a checkbox to enable it if desired (though I'm hard pressed to think of when - on OS/2 - I might even desire case sensitivity on OS/2). Perhaps the option to enable it isn't even really necessary. Globally, of course, we could just set this in smb.conf.
comment:5 by , 9 years ago
Scratch that last bit. I can't seem to override this using:
case sensitive = no
in smb.conf, as this is not a global option but a per-share option.
comment:6 by , 9 years ago
A build that should force case sensitive to no is at http://smedley.id.au/tmp/ndpsmb-samba_4.2.3-heimdal-20150716b.zip
comment:7 by , 9 years ago
Still fails fr me with:
Signature: @#netlabs:3.0.x#@##1## 16 Jul 2015 06:05:30 ECS85332116::en ::::@@NDPSMB - SMBFS NetDrive External Plugin Build beta-date Vendor: netlabs Revision: 3.00.x Date/Time: 16 Jul 2015 06:05:30 Build Machine: ECS85332116 Language Code: en File Version: 3.0 Description: NDPSMB - SMBFS NetDrive External Plugin Build beta-date
Log snippet:
2015/07/15 21:21:45.54: 8 2: adding <log.smbd> 289 0 261 2015/07/15 21:21:45.60: 9 2: NdpFindStart <images> (\images) cnt 0 0 2015/07/15 21:21:45.60: 9 2: NdpEASize in [0x66ea40] <\Images> 2015/07/15 21:21:45.60: 4 2: smbwrp_listea 2015/07/15 21:21:45.60: 4 2: EAList for <\Images> 2015/07/15 21:21:45.70: 4 2: num_eas = 1 2015/07/15 21:21:45.71: 4 2: 0 Got EA <.CLASSINFO> with namelen 10, size 529. Gr oss 4. Buf 65536 2015/07/15 21:21:45.71: 4 2: ret size = 548 2015/07/15 21:21:45.71: 9 2: NdpEASize <Images> 548 0 2015/07/15 21:21:45.71: 9 2: NdpRsrcQueryInfo in 2015/07/15 21:21:45.71: 9 2: NdpRsrcQueryInfo 0 2015/07/15 21:21:45.71: 9 2: NdpQueryPathInfo in [0x66ea40] <images\*> 2015/07/15 21:21:45.71: 9 2: NdpFindStart in [0x66ea40] 2015/07/15 21:21:45.71: 9 2: NdpFindStart: dir [\images\], dir_mask [*], mask [\ images\*], szPath [images\*] 2015/07/15 21:21:45.71: 4 2: smbwrp_filelist 2015/07/15 21:21:45.71: 1 2: Filelist <\images\*> on master <WORKGROUP> wgrp <wo rkgroup> server <dp45sg> share <Test> clidev <(null)> 2015/07/15 21:21:45.71: 1 2: list_files 2015/07/15 21:21:45.71: 4 2: SMB2 detected, calling list_files_smb2() 2015/07/15 21:21:45.71: 1 2: list_files_smb 2015/07/15 21:21:45.74: 9 2: NdpFindStart <images\*> (\images\*) cnt 0 87
comment:8 by , 9 years ago
seems like cli_qpathinfo2() changed between samba 3.6.x and 4.2.2
With Samba 3.6.x client, cli_qpathinfo2() called with q:\public\desktop\internet succeeds - with Samba 4.2.x client it fails.
Now I need to work out how to fix it :/ setting case insensitive doesn't cut it
comment:9 by , 9 years ago
Seems this is at least somewhat dependent on the Samba server version in use.
On my raspberry pi running Samba Server v3.6.x, running a dir on p:\desktop\internet works
Running it on Ubuntu running Samba 4.1.x it fails
comment:10 by , 9 years ago
likewise it works on my OS/2 Samba server running 3.3.x. Of course it doesn't explain why things work with smbclient
comment:11 by , 9 years ago
This appears to be a SMB >= 2 issue. Forcing NT1 protocol allows things to work with my Samba 4.1.x server
comment:12 by , 9 years ago
I believe this is a samba bug - refer https://bugzilla.samba.org/show_bug.cgi?id=11438
comment:13 by , 9 years ago
Patch has been submitted for testing (attached to the above referenced bug). Let's see if that has any impact on this.
comment:14 by , 9 years ago
Paul, have you included Christian's patch from the above-referenced Samba bug in the latest 4.4.2 build? I am still seeing this condition when connecting via SMB3.0 to samba-4.2.2-5.10.x86_64 on openSUSE 13.2.
Output of smbstatus on the server side:
Samba version 4.2.2-5.10-3413-SUSE-oS13.2-x86_64 PID Username Group Machine Protocol Version ------------------------------------------------------------------------------ 31779 lewis users 192.168.100.18 (ipv4:192.168.100.18:51383) SMB3_00
comment:16 by , 9 years ago
Well, if it's a server-side issue, then it's not the fault of our client. I can try building the SUSE version with the patch over here.
You're right. the file to be patched is source3/smbd/smb2_server.c. I'll see about building this over here and testing. I should have looked at the patch when Christian posted it.
comment:17 by , 9 years ago
I still believe it's a client issue - a Windows client seems to work OK - but I may be wrong...
comment:18 by , 9 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
Building Samba 4.4.3 on openSUSE including the patches attached to https://bugzilla.samba.org/show_bug.cgi?id=11438 seems to address the issue (SMB2 and SMB3).
Time to close this as not an OS/2 bug.
I should have added that this is with: