Translate illegal characters in catia filenames
vfs objects = catia
This VFS module is part of the samba(7) suite.
The Catia CAD package commonly creates filenames that use characters that are illegal in CIFS filenames. The vfs_catia VFS module implements a character mapping so that these files can be shared with CIFS clients.
This module is stackable.
The parameter "catia:mappings" specifies the mapping on a per-character basis, see below.
catia:mappings = SERVER_HEX_CHAR:CLIENT_HEX_CHAR
SERVER_HEX_CHAR specifies a 0x prefixed hexedecimal character code that, when included in a Samba server-side filename, will be mapped to CLIENT_HEX_CHAR for the CIFS client.
The same mapping occurs in the opposite direction. Multiple character mappings are separated by a comma.
Map server-side quotation-marks (") to client-side diaeresis (\(ad) on filenames in the [CAD] share:
[CAD] \m[blue]path = /data/cad\m[] \m[blue]vfs objects = catia\m[] \m[blue]catia:mappings = 0x22:0xa8\m[]
Perform comprehensive mapping of common Catia filename characters:
[CAD] \m[blue]path = /data/cad\m[] \m[blue]vfs objects = catia\m[] \m[blue]catia:mappings = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6\m[]
Server-side filename to be translated (Note that the path delimiter "/" is not used here):
a\a:a*a?a"a<a>a|a
Resulting filename, as seen by the client:
aÿa\(dia\(Csa\(r?a\(ada\(Foa\(Fca\(bba
Character mapping must work in BOTH directions (server -> client and client -> server) to get unique and existing file names!
A NOT working example:
[CAD] \m[blue]path = /data/cad\m[] \m[blue]vfs objects = catia\m[] \m[blue]catia:mappings = 0x3a:0x5f\m[]
Here the colon ":" is mapped to the underscore "_".
Assuming a server-side filename "a:should_work", which is translated to "a_should_work" for the client.
BUT the reverse mapping from client "a_should_work" to server will result in "a:should:work" - something like "file not found" will be returned.
This man page is correct for Samba versions from 3.5.0 to 4.0.6.
The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.
New version written by Guenter Kukkukk [email protected]