Doubts about Samba's unicode translation tables

Ralph Boehme slow at samba.org
Fri Apr 19 17:16:24 UTC 2024


On 4/19/24 11:04, Xavi Hernandez via samba-technical wrote:
> The first question is why Samba uses two tables while Windows only requires
> one ?

cf 3ed9c903671e795964ce3da9d0080444ef3eb5e9 and

https://bugzilla.samba.org/show_bug.cgi?id=13018

> For what purpose is the lowercase translation table in Samba used ?
> Is the Samba's case-insensitive comparison method actually equal to Windows
> ?

Hopefully. :)

> I've also extracted the $UpCase file from a Windows 11 machine and I've
> found that the Samba's uppercase table is very similar but not identical
> (there are 339 different values). Is this expected ?

I guess not. Can you share the differences?

> I'm new to Samba, so I will be very grateful for any insights you might
> give me about how the unicode tables work in Samba and any other important
> details related to the case-insensitive accesses.

The higher level processing is from get_real_filename_at() try the VFS 
via SMB_VFS_GET_REAL_FILENAME_AT() and if the VFS doesn't implement this 
(vfs_default returns NT_STATUS_NOT_SUPPORTED), go via 
get_real_filename_full_scan_at() which ends up calling

fname_equal() -> strequal() -> strcasecmp_m() -> strcasecmp_m_handle() 
which contains the core logic.

-slow
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20240419/1fc76eb2/OpenPGP_signature.sig>


More information about the samba-technical mailing list