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