Andrew Walker
2021-Jan-02 20:10 UTC
[Samba] libsmbclient support for ? < > \ : * | " characters possible?
On Sat, Jan 2, 2021 at 11:55 AM Rowland penny via samba < samba at lists.samba.org> wrote:> On 02/01/2021 16:26, Jelle de Jong via samba wrote: > > Hello everybody, > > > > Can we get samba/libsmbclient to support characters that are supporet > > on Linux filesystems like ? < > \ : * | " > > Problem is that all of those are illegal characters in Windows filenames > and Samba is an emulation of SMB, so they also need to be illegal on > Samba. I cannot see how Samba could make them legal when connected to by > a Linux machine, but illegal when connected to by a Windows machine, I > mean how would Samba easily know what was connecting ? > > Rowland > > > > -- > To unsubscribe from this list go to the following URL and read the > instructions: https://lists.samba.org/mailman/options/sambaI suppose doing something like MacOS (and Samba with VFS fruit with "fruit:encoding=native") would be maybe useful. In this case, the server and client both sort of agree on how illegal characters will go over the wire. A concrete example: 0x3a (colon) gets mapped to 0xf022 when it gets sent over the wire, then the server converts said character back to 0x3a. But of course, this is not sending the illegal character to the SMB server.
Jeremy Allison
2021-Jan-02 23:29 UTC
[Samba] libsmbclient support for ? < > \ : * | " characters possible?
On Sat, Jan 02, 2021 at 03:10:59PM -0500, Andrew Walker via samba wrote:> >I suppose doing something like MacOS (and Samba with VFS fruit with >"fruit:encoding=native") would be maybe useful. In this case, the server >and client both sort of agree on how illegal characters will go over the >wire. A concrete example: 0x3a (colon) gets mapped to 0xf022 when it gets >sent over the wire, then the server converts said character back to 0x3a. >But of course, this is not sending the illegal character to the SMB server.This is a possibility. Could be done with existing Samba via a name-mapping VFS module (look at the catia and existing ones for an example).