@@ -138,6 +138,7 @@ mysqlnd_run_authentication(
138
138
ret = mysqlnd_auth_change_user (conn , user , strlen (user ), passwd , passwd_len , db , db_len , silent ,
139
139
first_call ,
140
140
requested_protocol ,
141
+ auth_plugin , plugin_data , plugin_data_len ,
141
142
scrambled_data , scrambled_data_len ,
142
143
& switch_to_auth_protocol , & switch_to_auth_protocol_len ,
143
144
& switch_to_auth_protocol_data , & switch_to_auth_protocol_data_len
@@ -377,6 +378,9 @@ mysqlnd_auth_change_user(MYSQLND_CONN_DATA * const conn,
377
378
const zend_bool silent ,
378
379
const zend_bool use_full_blown_auth_packet ,
379
380
const char * const auth_protocol ,
381
+ struct st_mysqlnd_authentication_plugin * auth_plugin ,
382
+ const zend_uchar * const orig_auth_plugin_data ,
383
+ const size_t orig_auth_plugin_data_len ,
380
384
const zend_uchar * const auth_plugin_data ,
381
385
const size_t auth_plugin_data_len ,
382
386
char * * switch_to_auth_protocol ,
@@ -442,6 +446,15 @@ mysqlnd_auth_change_user(MYSQLND_CONN_DATA * const conn,
442
446
PACKET_FREE (& auth_packet );
443
447
}
444
448
449
+ if (auth_plugin && auth_plugin -> methods .handle_server_response ) {
450
+ if (FAIL == auth_plugin -> methods .handle_server_response (auth_plugin , conn ,
451
+ orig_auth_plugin_data , orig_auth_plugin_data_len , passwd , passwd_len ,
452
+ switch_to_auth_protocol , switch_to_auth_protocol_len ,
453
+ switch_to_auth_protocol_data , switch_to_auth_protocol_data_len )) {
454
+ goto end ;
455
+ }
456
+ }
457
+
445
458
ret = PACKET_READ (conn , & chg_user_resp );
446
459
COPY_CLIENT_ERROR (conn -> error_info , chg_user_resp .error_info );
447
460
0 commit comments