Issue Details (XML | Word | Printable)

Key: CORE-6063
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Kovalenko Dmitry
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Firebird Core

FB3 (protocol 13) returns op_accept instead op_accept_data

Created: 14/May/19 11:11 AM   Updated: 15/May/19 06:17 AM
Component/s: Engine
Affects Version/s: 4.0 Initial, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4, 4.0 Beta 1, 3.0.5, 4.0 Beta 2
Fix Version/s: 3.0.5, 4.0 Beta 2

QA Status: No test


 Description  « Hide
This problem was detected by IBProvider builtin client to Firebird (not by fbclient.dll).

Reproduction:

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)" (server.cpp):

https://github.com/FirebirdSQL/firebird/blob/05e090539d428cb82f621b8b9bd14b43c2445b03/src/remote/server/server.cpp#L1983-L1997

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.



 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Kovalenko Dmitry added a comment - 15/May/19 06:17 AM
Tested. Problem is solved. Thanks :)