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;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php