[jcifs] Can not access CIFS path it contains a ß character

Michael B Allen ioplex at gmail.com
Sun Feb 2 14:05:33 MST 2014


Someone posted this to Bugzilla and so because we (I) don't use
Bugzilla and it looks legit I am re-posting it here.

Mike

-- 
Michael B Allen
Java Active Directory Integration
http://www.ioplex.com/

Griff James 2013-06-06 14:26:48 UTC

The problem occurs because you can't really uppercase a ß character because
there is no uppercase equivalent.

On Windows, if you convert "ß" to upper case, nothing changes, you get left
with "ß".
On a Linux/Java setup "ß" gets uppercased to "SS" because that's what the
Unicode spec says.

This leaves a major incompatibility for German users where JCIFS can't connect
to a Windows CIFS share with a "ß" in the folder name.

A similar issue also exists if a username contains a "ß" character. In this
case the authentication fails because the hash isn't correct.

I know someone is probably going to say this is not a JCIFS issue, but there
really needs to be an interoperability fix in JCIFS so that it can work well
with Windows shares for German users.

I was think along the lines of subclassing java.lang.String and introducing a
workaround into the toUpperCase() method.


Here is some previous discussion on the topic for background reading:

1. https://lists.samba.org/archive/jcifs/2009-December/009022.html

2.
http://stackoverflow.com/questions/9127644/converting-ss-cfg-to-upper-case-using-touppercase-in-java

3. And a similar fix from JLAN https://issues.alfresco.com/jira/browse/MNT-1409


More information about the jCIFS mailing list