[Samba] name mangling makes 8.3 unreadable unlike Windows fileserver

Kevin Field kev at brantaero.com
Thu Oct 3 17:14:35 MDT 2013



On 2013-10-03 2:38 PM, Jeremy Allison wrote:
> On Thu, Oct 03, 2013 at 10:17:18AM -0400, Kevin Field wrote:
>> Hi,
>>
>> I'm cross-posting here from serverfault.com in case anyone can help.
>> I just found a similar question on askubuntu.com also without an
>> answer.
>>
>> Switched recently from W2K3 to Samba4.0.9/CentOS6.4 for our
>> fileshare for WinXP clients.
>>
>> Have an ancient (1995!) piece of software that uses 8.3 filename
>> format. After the switch, long filenames became useless in the
>> context of the File->Open dialog box. Instead of the first few
>> characters, we get maybe 1 character the same if we're lucky, which
>> in a directory of thousands makes it impossible to find. For
>> example, instead of "S:\Air conditioning control system" becoming
>> "S:\AIRCON~1" like it would before, it's displayed in this program
>> as "S:\A51FHG~S".
>>
>> In our directory of client identifiers with their contact names
>> appended, formerly directory mangling would leave enough characters
>> intact that client identifiers could still be used. Not anymore.
>>
>> None of the settings in the docs seem to talk about this exact
>> problem. In fact, they seem to show it the way we were used to. Our
>> smb.conf doesn't use any of the settings because the defaults seem
>> to be what we want, according to the docs. Any hints?
>
> This is the mangling method that changed to hash2 (gives
> better protection against duplicates).
>
> Use the smb.conf parameter "mangling method = hash"
> to change it back to the way it used to be.
>
> Jeremy.
>

Thanks Jeremy!  I'm not sure how I missed that in the docs.  Anyway, it 
is much, much better than before, but still not exactly like Windows. 
For example, we have two folders beginning with C-FZP.  Instead of 
C-FZPD~1 and C-FZPP~1, which in our context is exactly enough to tell 
which one we want, it's a bit (or in this case...a byte) more aggressive 
in hashing and makes it C-FZP~59 and C-FZP~A5, so that we can no longer 
tell and have to guess.

Oh but wait, now I see:

"The minimum value is 1 and the maximum value is 6.

"mangle prefix is effective only when mangling method is hash2."

This does exactly what we want!  And now I also see how I think I missed 
it: this parameter isn't in the "NAME MANGLING" section.

Thanks!
Kev


More information about the samba mailing list