Can not access CIFS path it contains a ß character
Michael B Allen <[email protected]> Sun, 2 Feb 2014 16:05:33 -0500
| Newsgroups | gmane.network.samba.java |
|---|---|
| Message-ID | <CAGMFw4gEp_DEBD2DKrmLBwnF85UVr_k3ny=Uu5vH5_qJE4YRwg@mail.gmail.com> |
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