Bug#369351: Encoding issues

Martijn van Oosterhout kleptog at svana.org
Fri Jul 7 15:57:40 UTC 2006


Package: exim4-daemon-heavy

I'm commenting on this after a post on postgresql-devel. There's seems
to be some confusion here about the real issue, which is as follows:

  You cannot perform quoting safely unless you know the encoding of the
  string you're quoting.

And in the specific case of exim, the issue is that you don't know what
encoding you're using because the lookup code never checks. That's why
the "escape string" function needs a connection, so it can check the
encoding and perform the quoting safely.

I've looked at the spec quickly but see no indication of what encoding
is expected of the configuration file, nor of the query results. This
seems somewhat of an omission, since some encodings use the ':'
character as part of multibyte characters, and Exim splits on that
quite often.

PostgreSQL can accept a large number of encodings, including utf8 and
the latin series. Once you have decided what encoding you're expecting
for input/output, use PQsetClientEncoding() to inform the database of
your decision, and perform the quoting yourself for the encoding you
choose. Problem solved.

Hope this helps,
-- 
Martijn van Oosterhout   <kleptog at svana.org>   http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.




More information about the Pkg-exim4-maintainers mailing list