cvs: pear /DB DB.php package.xml
| From: | Stig Bakken | Date: | Sat, 08 Feb 2003 09:20:41 +0000 |
| Subject: | cvs: pear /DB DB.php package.xml | ||
| Groups: | php.pear.cvs | ||
| Request: | Send a blank email to pear-cvs+get-8761@lists.php.net to get a copy of this message | ||
ssb Sat Feb 8 04:20:41 2003 EDT
Modified files:
/pear/DB package.xml DB.php
Log:
* DB::parseDSN: use rawurldecode instead of urldecode when decoding
username/password
Index: pear/DB/package.xml
diff -u pear/DB/package.xml:1.14 pear/DB/package.xml:1.15
--- pear/DB/package.xml:1.14 Sat Feb 8 04:17:46 2003
+++ pear/DB/package.xml Sat Feb 8 04:20:40 2003
@@ -49,6 +49,8 @@
- sybase: numRows() errorNative() errorCode() implemented
Bugs fixed:
+- use rawurldecode() instead of urldecode() for
+ DSN usernames and passwords
- ibase: misc bugfixes
- ifx: results were not freed
- mssql: fix DB_FETCHMODE_ASSOC row fetches
Index: pear/DB/DB.php
diff -u pear/DB/DB.php:1.15 pear/DB/DB.php:1.16
--- pear/DB/DB.php:1.15 Sat Jan 4 06:54:49 2003
+++ pear/DB/DB.php Sat Feb 8 04:20:41 2003
@@ -17,7 +17,7 @@
// | Tomas V.V.Cox <cox@idecnet.com> |
// +----------------------------------------------------------------------+
//
-// $Id: DB.php,v 1.15 2003/01/04 11:54:49 mj Exp $
+// $Id: DB.php,v 1.16 2003/02/08 09:20:41 ssb Exp $
//
// Database independent query interface.
//
@@ -485,10 +485,10 @@
$str = substr($dsn, 0, $at);
$dsn = substr($dsn, $at + 1);
if (($pos = strpos($str, ':')) !== false) {
- $parsed['username'] = urldecode(substr($str, 0, $pos));
- $parsed['password'] = urldecode(substr($str, $pos + 1));
+ $parsed['username'] = rawurldecode(substr($str, 0, $pos));
+ $parsed['password'] = rawurldecode(substr($str, $pos + 1));
} else {
- $parsed['username'] = urldecode($str);
+ $parsed['username'] = rawurldecode($str);
}
}
@@ -515,7 +515,7 @@
// process the different protocol options
$parsed['protocol'] = (!empty($proto)) ? $proto : 'tcp';
- $proto_opts = urldecode($proto_opts);
+ $proto_opts = rawurldecode($proto_opts);
if ($parsed['protocol'] == 'tcp') {
if (strpos($proto_opts, ':') !== false) {
list($parsed['hostspec'], $parsed['port']) =
explode(':', $proto_opts);
@@ -544,7 +544,7 @@
foreach ($opts as $opt) {
list($key, $value) = explode('=', $opt);
if (!isset($parsed[$key])) { // don't allow params overwrite
- $parsed[$key] = urldecode($value);
+ $parsed[$key] = rawurldecode($value);
}
}
}