svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c
branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.h trunk/ext/mysqlnd/mysqlnd.c trunk/ext/mysqlnd/mysqlnd_wireprotocol.c
trunk/ext/mysqlnd/mysqlnd_wireprotocol.h
| From: | Andrey Hristov | Date: | Tue, 20 Apr 2010 18:04:24 +0000 |
| Subject: | svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.h trunk/ext/mysqlnd/mysqlnd.c trunk/ext/mysqlnd/mysqlnd_wireprotocol.c trunk/ext/mysqlnd/mysqlnd_wireprotocol.h |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-62305@lists.php.net to get a copy of this message | ||
andrey Tue, 20 Apr 2010 18:04:24 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=298229
Log:
It is possible that change user tries an user who has old password.
Instead of error message that doesn't say much there is more information now.
Changed paths:
U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c
U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c
U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.h
U php/php-src/trunk/ext/mysqlnd/mysqlnd.c
U php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.c
U php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.h
Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-04-20 17:51:00 UTC (rev 298228)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-04-20 18:04:24 UTC (rev 298229)
@@ -1863,6 +1863,10 @@
}
conn->charset = conn->greet_charset;
memset(&conn->upsert_status, 0, sizeof(conn->upsert_status));
+ } else if (ret == FAIL && chg_user_resp->server_asked_323_auth == TRUE) {
+ /* old authentication with new server !*/
+ DBG_ERR(mysqlnd_old_passwd);
+ SET_CLIENT_ERROR(conn->error_info, CR_UNKNOWN_ERROR, UNKNOWN_SQLSTATE, mysqlnd_old_passwd);
}
SET_ERROR_AFF_ROWS(conn);
Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c 2010-04-20 17:51:00 UTC (rev
298228)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c 2010-04-20 18:04:24 UTC (rev
298229)
@@ -1693,6 +1693,7 @@
}
if (ERROR_MARKER == packet->field_count) {
+ packet->server_asked_323_auth = TRUE;
php_mysqlnd_read_error_from_line(p, packet->header.size - 1,
packet->error_info.error,
sizeof(packet->error_info.error),
Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.h
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.h 2010-04-20 17:51:00 UTC (rev
298228)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.h 2010-04-20 18:04:24 UTC (rev
298229)
@@ -245,6 +245,7 @@
uint16_t server_capabilities;
/* If error packet, we use these */
MYSQLND_ERROR_INFO error_info;
+ zend_bool server_asked_323_auth;
} MYSQLND_PACKET_CHG_USER_RESPONSE;
Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-04-20 17:51:00 UTC (rev 298228)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-04-20 18:04:24 UTC (rev 298229)
@@ -1863,6 +1863,10 @@
}
conn->charset = conn->greet_charset;
memset(&conn->upsert_status, 0, sizeof(conn->upsert_status));
+ } else if (ret == FAIL && chg_user_resp->server_asked_323_auth == TRUE) {
+ /* old authentication with new server !*/
+ DBG_ERR(mysqlnd_old_passwd);
+ SET_CLIENT_ERROR(conn->error_info, CR_UNKNOWN_ERROR, UNKNOWN_SQLSTATE, mysqlnd_old_passwd);
}
SET_ERROR_AFF_ROWS(conn);
Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.c
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.c 2010-04-20 17:51:00 UTC (rev 298228)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.c 2010-04-20 18:04:24 UTC (rev 298229)
@@ -1693,6 +1693,7 @@
}
if (ERROR_MARKER == packet->field_count) {
+ packet->server_asked_323_auth = TRUE;
php_mysqlnd_read_error_from_line(p, packet->header.size - 1,
packet->error_info.error,
sizeof(packet->error_info.error),
Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.h
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.h 2010-04-20 17:51:00 UTC (rev 298228)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.h 2010-04-20 18:04:24 UTC (rev 298229)
@@ -245,6 +245,7 @@
uint16_t server_capabilities;
/* If error packet, we use these */
MYSQLND_ERROR_INFO error_info;
+ zend_bool server_asked_323_auth;
} MYSQLND_PACKET_CHG_USER_RESPONSE;