svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/mysql/tests/bug51242.phpt branches/PHP_5_3/ext/mysql/tests/skipifnotmysqlnd.inc
branches/PHP_5_3/ext/mysqlnd/mysqlnd.c trunk/ext/mysql/tests/bug51242.phpt trunk/ext/mysql/tests/skipifnotmysqlnd.inc trunk/ext/mysqlnd/mysqlnd.c
| From: | Adam Harvey | Date: | Tue, 09 Mar 2010 05:08:31 +0000 |
| Subject: | svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/mysql/tests/bug51242.phpt branches/PHP_5_3/ext/mysql/tests/skipifnotmysqlnd.inc branches/PHP_5_3/ext/mysqlnd/mysqlnd.c trunk/ext/mysql/tests/bug51242.phpt trunk/ext/mysql/tests/skipifnotmysqlnd.inc trunk/ext/mysqlnd/mysqlnd.c |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-62005@lists.php.net to get a copy of this message | ||
aharvey Tue, 09 Mar 2010 05:08:31 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=295982
Log:
Fixed bug #51242 (Empty mysql.default_port does not default to 3306 anymore, but 0).
Bug: http://bugs.php.net/51242 (Assigned) Empty
mysql.default_port does not default to 3306 anymore, but 0
Changed paths:
U php/php-src/branches/PHP_5_3/NEWS
A php/php-src/branches/PHP_5_3/ext/mysql/tests/bug51242.phpt
A php/php-src/branches/PHP_5_3/ext/mysql/tests/skipifnotmysqlnd.inc
U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c
A php/php-src/trunk/ext/mysql/tests/bug51242.phpt
A php/php-src/trunk/ext/mysql/tests/skipifnotmysqlnd.inc
U php/php-src/trunk/ext/mysqlnd/mysqlnd.c
Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS 2010-03-09 03:12:30 UTC (rev 295981)
+++ php/php-src/branches/PHP_5_3/NEWS 2010-03-09 05:08:31 UTC (rev 295982)
@@ -6,6 +6,8 @@
- Added stream filter support to mcrypt extension (ported from
mcrypt_filter). (Stas)
+- Fixed bug #51242 (Empty mysql.default_port does not default to 3306 anymore,
+ but 0). (Adam)
- Fixed bug #51237 (milter SAPI crash on startup). (igmar at palsenberg dot com)
- Fixed bug #51213 (pdo_mssql is trimming value of the money column). (Ilia,
alexr at oplot dot com)
Added: php/php-src/branches/PHP_5_3/ext/mysql/tests/bug51242.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysql/tests/bug51242.phpt (rev 0)
+++ php/php-src/branches/PHP_5_3/ext/mysql/tests/bug51242.phpt 2010-03-09 05:08:31 UTC (rev 295982)
@@ -0,0 +1,38 @@
+--TEST--
+Bug #51242 (Empty mysql.default_port does not default to 3306 anymore, but 0)
+--INI--
+mysql.default_port=
+mysql.default_socket=/this/does/not/really/need/to/exist
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifnotmysqlnd.inc');
+
+// Specific to this bug: we need to be able to connect via TCP. We'll use
+// 127.0.0.1:3306 as a (hopefully) moderately sensible default if the hostname
+// is actually specified as localhost.
+if ($host == 'localhost') {
+ $host = '127.0.0.1';
+}
+
+if (!@mysql_connect("$host:3306", $user, $passwd)) {
+ die("skip mysql not available at $host:3306");
+}
+?>
+--FILE--
+<?php
+require_once('connect.inc');
+
+if ($host == 'localhost') {
+ $host = '127.0.0.1';
+}
+
+if ($link = my_mysql_connect($host, $user, $passwd, $db, null, $socket)) {
+ var_dump($link);
+} else {
+ printf("[001] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s,
port=%s, socket=%s\n",
+ $host, $user, $db, null, $socket);
+}
+?>
+--EXPECTF--
+resource(%d) of type (mysql link)
Added: php/php-src/branches/PHP_5_3/ext/mysql/tests/skipifnotmysqlnd.inc
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysql/tests/skipifnotmysqlnd.inc (rev
0)
+++ php/php-src/branches/PHP_5_3/ext/mysql/tests/skipifnotmysqlnd.inc 2010-03-09 05:08:31 UTC (rev
295982)
@@ -0,0 +1,5 @@
+<?php
+if (strpos(mysql_get_client_info(), 'mysqlnd') === false) {
+ die('skip mysqlnd extension not available');
+}
+?>
Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-03-09 03:12:30 UTC (rev 295981)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-03-09 05:08:31 UTC (rev 295982)
@@ -527,9 +527,6 @@
db = "";
db_len = 0;
}
- if (!port && !socket) {
- port = 3306;
- }
host_len = strlen(host);
#ifndef PHP_WIN32
if (host_len == sizeof("localhost") - 1 && !strncasecmp(host,
"localhost", host_len)) {
@@ -541,6 +538,10 @@
} else
#endif
{
+ if (!port) {
+ port = 3306;
+ }
+
transport_len = spprintf(&transport, 0, "tcp://%s:%d", host, port);
}
DBG_INF_FMT("transport=%s", transport);
Added: php/php-src/trunk/ext/mysql/tests/bug51242.phpt
===================================================================
--- php/php-src/trunk/ext/mysql/tests/bug51242.phpt (rev 0)
+++ php/php-src/trunk/ext/mysql/tests/bug51242.phpt 2010-03-09 05:08:31 UTC (rev 295982)
@@ -0,0 +1,38 @@
+--TEST--
+Bug #51242 (Empty mysql.default_port does not default to 3306 anymore, but 0)
+--INI--
+mysql.default_port=
+mysql.default_socket=/this/does/not/really/need/to/exist
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifnotmysqlnd.inc');
+
+// Specific to this bug: we need to be able to connect via TCP. We'll use
+// 127.0.0.1:3306 as a (hopefully) moderately sensible default if the hostname
+// is actually specified as localhost.
+if ($host == 'localhost') {
+ $host = '127.0.0.1';
+}
+
+if (!@mysql_connect("$host:3306", $user, $passwd)) {
+ die("skip mysql not available at $host:3306");
+}
+?>
+--FILE--
+<?php
+require_once('connect.inc');
+
+if ($host == 'localhost') {
+ $host = '127.0.0.1';
+}
+
+if ($link = my_mysql_connect($host, $user, $passwd, $db, null, $socket)) {
+ var_dump($link);
+} else {
+ printf("[001] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s,
port=%s, socket=%s\n",
+ $host, $user, $db, null, $socket);
+}
+?>
+--EXPECTF--
+resource(%d) of type (mysql link)
Added: php/php-src/trunk/ext/mysql/tests/skipifnotmysqlnd.inc
===================================================================
--- php/php-src/trunk/ext/mysql/tests/skipifnotmysqlnd.inc (rev 0)
+++ php/php-src/trunk/ext/mysql/tests/skipifnotmysqlnd.inc 2010-03-09 05:08:31 UTC (rev 295982)
@@ -0,0 +1,5 @@
+<?php
+if (strpos(mysql_get_client_info(), 'mysqlnd') === false) {
+ die('skip mysqlnd extension not available');
+}
+?>
Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-03-09 03:12:30 UTC (rev 295981)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-03-09 05:08:31 UTC (rev 295982)
@@ -527,9 +527,6 @@
db = "";
db_len = 0;
}
- if (!port && !socket) {
- port = 3306;
- }
host_len = strlen(host);
#ifndef PHP_WIN32
if (host_len == sizeof("localhost") - 1 && !strncasecmp(host,
"localhost", host_len)) {
@@ -541,6 +538,10 @@
} else
#endif
{
+ if (!port) {
+ port = 3306;
+ }
+
transport_len = spprintf(&transport, 0, "tcp://%s:%d", host, port);
}
DBG_INF_FMT("transport=%s", transport);