8.3 filenames with brackets (and other legal characters) are mangled in "hash2" method. '(' and ')' are legal characters for 8.3 filenames, so filename like TEST(AB).TXT shouldn't be mangled. Please see below results of "dir /x" command on local drive (C) and samba shared drive (Z) C:\>dir TEST(A*.TXT /x 2009-05-13 21:11 0 TEST(AB).TXT Z:\>dir TEST(A*.TXT /x 2009-05-13 21:10 0 TX1913~B.TXT TEST(AB).TXT Legal non alphanumeric characters for 8.3 filename are: ! # $ % & ' ( ) - @ ^ _ ` { } ~ but only _ - $ ~ are considered as legal in Samba 3.x. "hash" method from Samba 2.2.x is working fine except { and }.
This is fixed in 3.2.x and above. 3.0.x is in maintenance mode only. Jeremy.
The same problem still occurs in 3.3.4.
Not reproducible in latest v3-3-test git tree. Jeremy.
Oh wait a minute, I see what you're getting at. The name isn't mangled for the client, but mangled when the short name is *specifically* requested. I'll take a look. Jeremy.
Valid bug - my mistake.
Created attachment 4162 [details] Patch for 3.4.x and above.
I've fixed this in 3.4.x and above. The patch would also apply to 3.2.x and 3.3.x but I don't feel comfortable making this change in those releases. I also added a torture test so we don't regress. Thanks for reporting this ! Jeremy.