diff --git a/server/modules/protocol/MySQL/MySQLBackend/mysql_backend.c b/server/modules/protocol/MySQL/MySQLBackend/mysql_backend.c index 89de78cc5..df89c4b01 100644 --- a/server/modules/protocol/MySQL/MySQLBackend/mysql_backend.c +++ b/server/modules/protocol/MySQL/MySQLBackend/mysql_backend.c @@ -617,6 +617,11 @@ gw_read_backend_event(DCB *dcb) gw_reply_on_error(dcb, proto->protocol_auth_state); } } + else if (proto->protocol_auth_state == MXS_AUTH_STATE_CONNECTED && + dcb->ssl_state == SSL_ESTABLISHED) + { + proto->protocol_auth_state = gw_send_backend_auth(dcb); + } } return rc; diff --git a/server/modules/protocol/MySQL/mysql_common.c b/server/modules/protocol/MySQL/mysql_common.c index 5104720be..9873b30ae 100644 --- a/server/modules/protocol/MySQL/mysql_common.c +++ b/server/modules/protocol/MySQL/mysql_common.c @@ -1339,7 +1339,7 @@ mxs_auth_state_t gw_send_backend_auth(DCB *dcb) (dcb->session->state != SESSION_STATE_READY && dcb->session->state != SESSION_STATE_ROUTER_READY) || (dcb->server->server_ssl && - dcb->ssl_state != SSL_HANDSHAKE_FAILED)) + dcb->ssl_state == SSL_HANDSHAKE_FAILED)) { return MXS_AUTH_STATE_FAILED; }