iconv and daemon mode
Matt McCutchen
matt at mattmccutchen.net
Sat Feb 9 22:41:09 GMT 2008
On Sat, 2008-02-09 at 23:11 +0100, Jochen Reinwand wrote:
> On Saturday 09 February 2008 22:39, Matt McCutchen wrote:
> > On Sat, 2008-02-02 at 14:00 +0100, Jochen Reinwand wrote:
> > > iconv_open("UTF-8", "iso8859-15") failed
> > > rsync error: requested action not supported (code 4) at rsync.c(120)
> > > [receiver=3.0.0pre8]
> I already thought about that, but everything seems to work fine. I created a
> file with some umlauts in UTF-8 and converted it:
>
> $ iconv -f UTF-8 -t iso8859-15 -o test-iso-8859-15 test-utf8
>
> No error message.
I asked myself how iconv could possibly work at the command line and for
an rsync client but not for an rsync daemon, and I figured out what is
going on. If the module uses chroot, that prevents iconv_open from
accessing the necessary encoding helper library. (Unpleasant echoes of
the log timezone nonsense.)
This would be nontrivial to fix: in order to setup iconv before
chrooting, the daemon would have to parse its arguments (to see the
--iconv option) before chrooting, which could have consequences for
security checking of paths that I don't care to hash through. Instead,
let's recommend daemon administrators to copy the necessary encoding
helper libraries into the module and daemon-exclude them. (On my
computer, that would be the /usr/lib/gconv dir.) I'll propose a patch
that adds a note about this to the description of "use chroot" in the
rsyncd.conf(5) man page.
Matt
More information about the rsync
mailing list