From b7062f4b21f09ed5921af66449f05d48ece59727 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Sun, 8 May 2011 16:36:29 -0400 Subject: [PATCH] - Patch #958850 by bellHead: Postgres password containing backslashes don't work. --- includes/database/pgsql/database.inc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/includes/database/pgsql/database.inc b/includes/database/pgsql/database.inc index f01f7b50bbb..98b954ffdc0 100644 --- a/includes/database/pgsql/database.inc +++ b/includes/database/pgsql/database.inc @@ -34,6 +34,15 @@ class DatabaseConnection_pgsql extends DatabaseConnection { if (empty($connection_options['password'])) { $connection_options['password'] = NULL; } + // If the password contains a backslash it is treated as an escape character + // http://bugs.php.net/bug.php?id=53217 + // so backslashes in the password need to be doubled up. + // The bug was reported against pdo_pgsql 1.0.2, backslashes in passwords + // will break on this doubling up when the bug is fixed, so check the version + //elseif (phpversion('pdo_pgsql') < 'version_this_was_fixed_in') { + else { + $connection_options['password'] = str_replace('\\', '\\\\', $connection_options['password']); + } $this->connectionOptions = $connection_options;