[Pkg-samba-maint] Bug#1101492: Regression: Samba fails to list content of directories with filenames containing double quote

Pete Batard pete at akeo.ie
Fri Mar 28 12:09:06 GMT 2025


Package: samba
Version: 4.22.0

Hi,

I am testing Debian Trixie, and I believe I have identified a regression 
in the Samba server package.


Description
-----------

The issue has to do with the listing of shares containing files or 
directories with names including special characters such as double quote 
(") or backslash (\).

When such a character is present in any of the files or directories 
within a shared folder, then the content of that folder will not be 
listed at all on a Windows client (tested with a fully up to date 
Windows 11 24H2 client) or may even produce a "not accessible" error.

This is a regression from 4.17.12 (tested on Debian Bookworm) where the 
content will be listed (albeit with the files containing special 
characters potentially appearing using their DOS names, such as 
'T3VHSW~N' rather than their actual name).


Steps to replicate
------------------

Create a samba share and mount it under a Windows client.
Then, on the Linux server, issue the following commands to create files 
containing Windows "special" characters in the shared directory:

touch test\ with\*
touch test\ with\:
touch test\ with\<
touch test\ with\>
touch test\ with\?
touch test\ with\|

You will see that, despite using "special" Windows characters, these 6 
files appear in the share (NB: This may vary depending on the file 
explorer being used. I have mostly been testing using Directory Opus as 
a file explorer client, as it does a better job than the default Windows 
file explorer) and can be listed from the Windows client (thus 
undermining the possibility that the issue is a blanket one with using 
special 'disallowed' characters) and, when listed by the explorer, they 
are using the (unmangled) names they have been declared with.

Then create another file, containing a double quote:

touch test\ with\"

 From the Windows client, you will see that this file does not appear. 
Furthermore, if you restart the Samba server (service smbd restart) you 
may may get a "not accessible" from Windows File Explorer when trying to 
access the share, or, when using a different explorer application, see 
that the whole content from the folder disappears.

Running the same test on Debian Bullseye with Samba 4.17 shows very 
different results, where, even if you restart the smbd service, the 
content of that directory does remain accessible, albeit with files 
containing special Windows characters using mangled DOS names.

So, while there does appear to have been improvement when it comes to 
listing of files and directories containing Windows special characters 
between 4.17 and 4.22, since (depending of the file explorer) they may 
now appear under their actual declared name, there also seems to be 
regression when there happens to exist a file or folder containing 
double quotes.

Note that the same issue also manifests with files containing 
backslashes, though of course, is is slightly less problematic than the 
one with double quotes, as native Linux files containing backslashes are 
expected to be very rare, whereas native Linux files containing double 
quotes are relatively common.


Additional comments
-------------------

Testing with smbclient shows that smbclient is able to properly list the 
content, so part of this issue seems to be with how the Windows 11 24H2 
SMB client behaves when it encounters file names with special characters:

---------------------------------------------------------------------
pete at nas:/mnt/ssd/g# smbclient //nas/share -c 'cd test;ls;' -U pete
Password for [WORKGROUP\pete]:
   .              D        0  Fri Mar 28 11:22:35 2025
   ..             D        0  Fri Mar 28 10:31:34 2025
   test with?     N        0  Fri Mar 28 10:50:04 2025
   test with<     N        0  Fri Mar 28 10:50:10 2025
   test with>     N        0  Fri Mar 28 10:50:26 2025
   test with|     N        0  Fri Mar 28 10:50:40 2025
   test with:     N        0  Fri Mar 28 10:53:05 2025
   test with*     N        0  Fri Mar 28 10:53:32 2025
   test with"     N        0  Fri Mar 28 11:22:35 2025
---------------------------------------------------------------------

Therefore, if the issue is that Windows can handle content with ? < > | 
: *, but not " \, I would suggest that samba reverts to the old 
behaviour of listing the latter using the mangled dosname, so that 
people upgrading to Trixie aren't going to be left wondering why a 
shared folder, that happens to contain a file with a double quote, and 
that was listing content in Bullseye, is now no longer accessible.

Regards,

/Pete



More information about the Pkg-samba-maint mailing list