the auth_user pool wasn't releasing the server conn, so the
client would end up connected to the db as the auth_user
bool close_needed:1; /* server: this socket must be closed ASAP */
bool setting_vars:1; /* server: setting client vars */
bool exec_on_connect:1; /* server: executing connect_query */
+ bool resetting:1; /* server: executing reset query from auth login; don't release on flush */
bool wait_for_welcome:1;/* client: no server yet in pool, cannot send welcome msg */
bool wait_for_user_conn:1;/* client: waiting for auth_conn server connection */
disconnect_client(client, true, "No such user");
} else {
slog_noise(client, "auth query complete");
+ client->link->resetting = true;
sbuf_continue(&client->sbuf);
}
return true;
break;
}
- if (pool_pool_mode(pool) != POOL_SESSION || server->state == SV_TESTED) {
+ if (pool_pool_mode(pool) != POOL_SESSION || server->state == SV_TESTED || server->resetting) {
+ server->resetting = false;
switch (server->state) {
case SV_ACTIVE:
case SV_TESTED: