From 16282d2b161d7a169cdbcafaea7222233ba3dab8 Mon Sep 17 00:00:00 2001 From: Philip Hazel Date: Fri, 14 Jul 2006 14:21:27 +0000 Subject: [PATCH] Add PQsetClientEncoding(conn, "SQL_ASCII") to the pgsql module. --- doc/doc-txt/ChangeLog | 6 +++++- src/src/lookups/pgsql.c | 8 +++++++- test/stderr/9200 | 6 ++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index dd6ffa843..b7198cb58 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -1,4 +1,4 @@ -$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.375 2006/07/14 14:00:16 ph10 Exp $ +$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.376 2006/07/14 14:21:27 ph10 Exp $ Change log file for Exim from version 4.21 ------------------------------------------- @@ -107,6 +107,10 @@ PH/17 Added an extra condition to the default value of delay_warning_condition PH/18 Refactored debugging code in route_finduser() to show more information, in particular, the error code if getpwnam() issues one. +PH/19 Added PQsetClientEncoding(conn, "SQL_ASCII") to the pgsql code module. + This is apparently needed in addition to the PH/07 change above to avoid + any possible encoding problems. + Exim version 4.62 ----------------- diff --git a/src/src/lookups/pgsql.c b/src/src/lookups/pgsql.c index caefeef18..8b777f40b 100644 --- a/src/src/lookups/pgsql.c +++ b/src/src/lookups/pgsql.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/lookups/pgsql.c,v 1.5 2006/06/30 13:57:46 ph10 Exp $ */ +/* $Cambridge: exim/src/src/lookups/pgsql.c,v 1.6 2006/07/14 14:21:27 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -247,6 +247,12 @@ if (cn == NULL) goto PGSQL_EXIT; } + /* Set the client encoding to SQL_ASCII, which means that the server will + not try to interpret the query as being in any fancy encoding such as UTF-8 + or other multibyte code that might cause problems with escaping. */ + + PQsetClientEncoding(pg_conn, "SQL_ASCII"); + /* Add the connection to the cache */ cn = store_get(sizeof(pgsql_connection)); diff --git a/test/stderr/9200 b/test/stderr/9200 index 593ec4d9c..7ed29ddb8 100644 --- a/test/stderr/9200 +++ b/test/stderr/9200 @@ -122,6 +122,8 @@ configuration file is TESTSUITE/test-config admin user changed uid/gid: privilege not needed uid=EXIM_UID gid=EXIM_GID pid=pppp +seeking password data for user "CALLER": cache not available +getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME sender address = CALLER@myhost.test.ex sender_fullhost = [10.0.0.0] @@ -209,6 +211,8 @@ configuration file is TESTSUITE/test-config admin user changed uid/gid: privilege not needed uid=EXIM_UID gid=EXIM_GID pid=pppp +seeking password data for user "CALLER": cache not available +getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME sender address = CALLER@myhost.test.ex set_process_info: pppp accepting a local non-SMTP message from @@ -248,6 +252,8 @@ configuration file is TESTSUITE/test-config trusted user admin user skipping ACL configuration - not needed +seeking password data for user "CALLER": cache not available +getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID set_process_info: pppp delivering specified messages set_process_info: pppp delivering 10HmaX-0005vi-00 reading spool file 10HmaX-0005vi-00-H -- 2.30.2