Jeremy Allison
2016-Jul-11 22:58 UTC
[Samba] server not using utf8-mode with Synology client
On Mon, Jul 11, 2016 at 11:41:24PM +0200, Xen wrote:> I wrote here how my filenames are getting mangled when getting sent > or received to the server. > > Server: current Ubuntu lookalike. > > Client: Older Synology diskstation with probably a modified mount.cifs. > > When I send utf-8 it gets received as dos. > > "é" for instance is #c3a9 in utf-8, and it is used by the server as > #c3, #a9, two separate bytes, becoming é. > > The server is just configured with defaults for "dos" and "unix" > clients. > > The client tries to use iocharset=utf8. > > What can I do to enforce utf8 being recognised by the server?Set the parameter: unix charset = utf8 in the [global] section of the synology smb.conf.
Jeremy Allison schreef op 12-07-2016 0:58:> On Mon, Jul 11, 2016 at 11:41:24PM +0200, Xen wrote: >> I wrote here how my filenames are getting mangled when getting sent >> or received to the server. >> >> Server: current Ubuntu lookalike. >> >> Client: Older Synology diskstation with probably a modified >> mount.cifs. >> >> When I send utf-8 it gets received as dos. >> >> "é" for instance is #c3a9 in utf-8, and it is used by the server as >> #c3, #a9, two separate bytes, becoming é. >> >> The server is just configured with defaults for "dos" and "unix" >> clients. >> >> The client tries to use iocharset=utf8. >> >> What can I do to enforce utf8 being recognised by the server? > > Set the parameter: > > unix charset = utf8 > > in the [global] section of the synology smb.conf.I did that. I fixed it for now by copying what the web interface for the device does (the client). It uses the "nounix" option and this fixes the issue. I had to create a shell script as wrapper to capture its options :p. Actually I tried both "utf8" and "UTF-8" in the config section on the server. I am sorry if I hadn't made that clear, I had thrown away all of the log output I had pasted in my email. I recompiled mount.cifs from source but this didn't make a difference. However compiling all of samba is near impossible due to all the missing libraries on that system. (Even getting libwbclient proves to be quite a hassle). This is the full line the device uses: -o soft,user=WORKGROUP\guest,pass=,iocharset=utf8,uid=1024,gid=100,nounix,file_mode=0777,dir_mode=0777,nocase But only "nounix" was necessary here in this sense. However this apparently disables unix-extensions and so I do not see any longer the ownership of files now. So basically with unix-extensions disabled, utf8 conversion fails to work???
Jeremy Allison
2016-Jul-11 23:27 UTC
[Samba] server not using utf8-mode with Synology client
On Tue, Jul 12, 2016 at 01:19:37AM +0200, Xen wrote:> Jeremy Allison schreef op 12-07-2016 0:58: > >On Mon, Jul 11, 2016 at 11:41:24PM +0200, Xen wrote: > >>I wrote here how my filenames are getting mangled when getting sent > >>or received to the server. > >> > >>Server: current Ubuntu lookalike. > >> > >>Client: Older Synology diskstation with probably a modified > >>mount.cifs. > >> > >>When I send utf-8 it gets received as dos. > >> > >>"é" for instance is #c3a9 in utf-8, and it is used by the server as > >>#c3, #a9, two separate bytes, becoming é. > >> > >>The server is just configured with defaults for "dos" and "unix" > >>clients. > >> > >>The client tries to use iocharset=utf8. > >> > >>What can I do to enforce utf8 being recognised by the server? > > > >Set the parameter: > > > > unix charset = utf8 > > > >in the [global] section of the synology smb.conf. > > I did that. > > I fixed it for now by copying what the web interface for the device > does (the client). > > It uses the "nounix" option and this fixes the issue. > > I had to create a shell script as wrapper to capture its options :p. > > Actually I tried both "utf8" and "UTF-8" in the config section on > the server. > > I am sorry if I hadn't made that clear, I had thrown away all of the > log output I had pasted in my email. > > > I recompiled mount.cifs from source but this didn't make a > difference. However compiling all of samba is near impossible due to > all the missing libraries on that system. > > (Even getting libwbclient proves to be quite a hassle). > > This is the full line the device uses: > > -o soft,user=WORKGROUP\guest,pass=,iocharset=utf8,uid=1024,gid=100,nounix,file_mode=0777,dir_mode=0777,nocase > > But only "nounix" was necessary here in this sense. However this > apparently disables unix-extensions and so I do not see any longer > the ownership of files now. > > So basically with unix-extensions disabled, utf8 conversion fails to > work???With unix extensions disabled, I think the cifsfs client does the private character area mapping to be able to store ':' and other banned characters.