diff options
-rw-r--r-- | includes/database.mysql.inc | 6 | ||||
-rw-r--r-- | includes/database.mysqli.inc | 6 | ||||
-rw-r--r-- | includes/database.pgsql.inc | 6 |
3 files changed, 18 insertions, 0 deletions
diff --git a/includes/database.mysql.inc b/includes/database.mysql.inc index 445a79816..8ee51bbe1 100644 --- a/includes/database.mysql.inc +++ b/includes/database.mysql.inc @@ -32,6 +32,12 @@ function db_connect($url) { $url = parse_url($url); + // Decode url-encoded information in the db connection string + $url['user'] = urldecode($url['user']); + $url['pass'] = urldecode($url['pass']); + $url['host'] = urldecode($url['host']); + $url['path'] = urldecode($url['path']); + // Allow for non-standard MySQL port. if (isset($url['port'])) { $url['host'] = $url['host'] .':'. $url['port']; diff --git a/includes/database.mysqli.inc b/includes/database.mysqli.inc index 3fba6092f..372dcc558 100644 --- a/includes/database.mysqli.inc +++ b/includes/database.mysqli.inc @@ -32,6 +32,12 @@ function db_connect($url) { $url = parse_url($url); + // Decode url-encoded information in the db connection string + $url['user'] = urldecode($url['user']); + $url['pass'] = urldecode($url['pass']); + $url['host'] = urldecode($url['host']); + $url['path'] = urldecode($url['path']); + // Allow for non-standard MySQL port. if (isset($url['port'])) { $url['host'] = $url['host'] .':'. $url['port']; diff --git a/includes/database.pgsql.inc b/includes/database.pgsql.inc index 8375c6366..1bc2bf278 100644 --- a/includes/database.pgsql.inc +++ b/includes/database.pgsql.inc @@ -32,6 +32,12 @@ function db_connect($url) { $url = parse_url($url); + // Decode url-encoded information in the db connection string + $url['user'] = urldecode($url['user']); + $url['pass'] = urldecode($url['pass']); + $url['host'] = urldecode($url['host']); + $url['path'] = urldecode($url['path']); + $conn_string = ' user='. $url['user'] .' dbname='. substr($url['path'], 1) .' password='. $url['pass'] . ' host=' . $url['host']; $conn_string .= isset($url['port']) ? ' port=' . $url['port'] : ''; |