[Samba] Recent inability to view long filenames stored with scp via samba mount

Jeremy Allison jra at samba.org
Fri Nov 8 20:39:41 UTC 2019


On Fri, Nov 08, 2019 at 03:20:14PM -0500, Michael Lueck via samba wrote:
> 
> Indeed, I was finding other exceptions than just the new Beethoven Piano
> Sonata files. Some dating back to 2012! So definitely not new. I just have
> not needed to swap disks on my workstation in so long I have not needed to
> restore the MP3 collection.
> 
> Both the : and the ? characters are key to having Samba limit the filename
> to the short version. I took care to remove both chars (one at a time) from
> a MP3, rync to backup, and once both chars were removed, NOW I can see the
> same long filename via the SAMBA mount as I see on the native Linux file
> system.

Yep, I had to do this to my media collection too
in order to move to SMB2 mounts for better
performance.

> Bravo Jeremy! Excellent sleuthing all!
> 
> So what is a complete list of not allowable chars for SMB compatibility? I intent to purge my MP3 collection of all invalid chars.

In the code it's:

        for (i=1;i<128;i++) {
                if (i <= 0x1f) {
                        /* Control characters. */
                        char_flags[i] |= FLAG_ILLEGAL;
                }

		....

                if (strchr("*\\/?<>|\":", i)) {
                        char_flags[i] |= FLAG_ILLEGAL;
                }

		....
        }


but we must also mangle names ending in '.' and any
names that match DOS reserved names of:

static const char * const reserved_names[] =
{ "AUX", "LOCK$", "CON", "COM1", "COM2", "COM3", "COM4",
  "LPT1", "LPT2", "LPT3", "NUL", "PRN"

Not that your mp3 files would match those :-).



More information about the samba mailing list