[PATCH] CP850 on systems without iconv (3.6 regression)
abartlet at samba.org
Sat Sep 10 06:16:31 MDT 2011
I've submitted to autobuild a patch to re-enable charset modules on
systems without libiconv. When unsupported character sets are selected,
they are treated as ASCII. Thes patches restore the 3.5 behaviour of
probing for a charset module in the installed tree first for autoconf
builds, and links in the modules statically for waf builds.
I'm sorry that this behaviour was lost during the work I did to merge
the iconv layers. A patch for 3.6 is attached.
However we still have a problem with our implementation of CP850 and the
other '8 bit' modules: they fail our own tests. Testing against the
libiconv on my Fedora system shows differences in the samba4.local.iconv
test ('5M random UTF16 codepoints), and in the
samba.local.convert_string tests with some expected values. The issue
is that our internal module does not correctly return EINVAL and EILSEQ
correctly (and the trival fixes do not seem to be correct).
The distinction between these error codes does matter - our code takes
different paths for these two different errors.
This worries me, as subtle errors in our iconv layers tend to be
incredibly difficult to chase down. My preference would be to always
rely on a system iconv, not to provide CP850 et al, and to test that
with our testsuite. We would then either not use modules at all or only
use the modules for macosxfs and weird.
However if that is not the view of the team (and it certainly may not be
realistic for 3.6), then I suggest that someone may wish to investigate
the generated 8-bit modules. See the new entries in knownfail.
The branch being put to autobuild is
Andrew Bartlett http://samba.org/~abartlet/
Authentication Developer, Samba Team http://samba.org
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 4418 bytes
Desc: not available
More information about the samba-technical