summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2006-01-24 08:29:33 +0000
committerDries Buytaert <dries@buytaert.net>2006-01-24 08:29:33 +0000
commitba0219e4039776a724d9d22cf7bec06e0d37e3ab (patch)
tree3d3872dc896cdb3a98a9d396b8c8c318b4f3400c
parent576399c1f466ed2d078fb176107dab36d31b405d (diff)
downloadbrdo-ba0219e4039776a724d9d22cf7bec06e0d37e3ab.tar.gz
brdo-ba0219e4039776a724d9d22cf7bec06e0d37e3ab.tar.bz2
- Patch #21719 by rkerr: made db passwords with special characters work.
-rw-r--r--includes/database.mysql.inc6
-rw-r--r--includes/database.mysqli.inc6
-rw-r--r--includes/database.pgsql.inc6
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'] : '';