summaryrefslogtreecommitdiff
path: root/ext/mysqlnd/mysqlnd.c
diff options
context:
space:
mode:
authorAndrey Hristov <andrey@php.net>2010-04-20 18:04:24 +0000
committerAndrey Hristov <andrey@php.net>2010-04-20 18:04:24 +0000
commit804b950562a93d5538b722ed202005cdc64bc01e (patch)
tree52c028324ac2c287518c462af0b971cc258c0bbd /ext/mysqlnd/mysqlnd.c
parent0cbfc91628cd8c2cf7f97dcac95e4b0238fe6677 (diff)
downloadphp-git-804b950562a93d5538b722ed202005cdc64bc01e.tar.gz
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.
Diffstat (limited to 'ext/mysqlnd/mysqlnd.c')
-rw-r--r--ext/mysqlnd/mysqlnd.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/mysqlnd/mysqlnd.c b/ext/mysqlnd/mysqlnd.c
index 0cfcf3f988..69c294368e 100644
--- a/ext/mysqlnd/mysqlnd.c
+++ b/ext/mysqlnd/mysqlnd.c
@@ -1863,6 +1863,10 @@ MYSQLND_METHOD(mysqlnd_conn, change_user)(MYSQLND * const conn,
}
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);