FB3 (protocol 13) returns op_accept instead op_accept_data
----------------------------------------------------------
Key: CORE-6063
URL: http://tracker.firebirdsql.org/browse/CORE-6063
Project: Firebird Core
Issue Type: Bug
Components: Engine
Affects Versions: 4.0 Beta 1, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 4.0
Initial, 3.0.5, 4.0 Beta 2
Reporter: Kovalenko Dmitry
This problem was detected by IBProvider builtin client to Firebird (not by
fbclient.dll).
Reproductions:
1. Server config:
AuthServer=Legacy_Auth, Win_SSpi, Srp
WireCrypt=enabled
2. Client config:
AuthClient=Legacy_Auth, Win_SSpi, Srp
WireCrypt=disabled
3. Create NEW used "DBA-SRP" through SRP plugin:
CREATE USER "DBA-SRP" PASSWORD 'masterkey' USING PLUGIN Srp;
4. Connect to database with "DBA-SRP"
5. Server returns op_accept instead op_accept_data.
The problem located in static bool accept_connection(rem_port* port, P_CNCT*
connect, PACKET* send):
case IAuth::AUTH_CONTINUE:
HANDSHAKE_DEBUG(fprintf(stderr, "AUTH_CONTINUE\n"));
// try next plugin
plugins->next();
if (!plugins->hasData())
{
// failed
setErrorStatus(&status);
accepted = false;
loginFail(port->port_login, port->getRemoteId());
break;
}
port->port_srv_auth_block->setPluginName(plugins->name());
port->port_srv_auth_block->extractPluginName(&send->p_acpd.p_acpt_plugin);
/* BUG FIX */ returnData = true; // <-- You forgot setup this
flag
break;
----
This code (by designe) should return the name of next auth-plugin. But does not
return, because returnData was not set to true.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel