Add PQsetClientEncoding(conn, "SQL_ASCII") to the pgsql module.
authorPhilip Hazel <ph10@hermes.cam.ac.uk>
Fri, 14 Jul 2006 14:21:27 +0000 (14:21 +0000)
committerPhilip Hazel <ph10@hermes.cam.ac.uk>
Fri, 14 Jul 2006 14:21:27 +0000 (14:21 +0000)
doc/doc-txt/ChangeLog
src/src/lookups/pgsql.c
test/stderr/9200

index dd6ffa843efe36561ed5b49463bf14c91439864d..b7198cb5837783bda5c54d02c7de50bda53847a4 100644 (file)
@@ -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
 -----------------
index caefeef18efdb8ddb83e985278d9da0907ebeca9..8b777f40b33c272ea03d6802391f6cffc456d398 100644 (file)
@@ -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));
index 593ec4d9c21cc6c40add781052f5c41be01ceb6b..7ed29ddb859c1342777c6df356e3bec994cc49d3 100644 (file)
@@ -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 <CALLER@myhost.test.ex>
@@ -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