8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 00:03:02 +01:00

Fixed assertion in services when talking to pre-FB3 server

This commit is contained in:
alexpeshkoff 2013-04-16 08:54:48 +00:00
parent ff1218a336
commit a4fa821ec4

View File

@ -7297,17 +7297,20 @@ static void svcstart(IStatus* status,
**************************************/ **************************************/
// Get ready for multi-hop auth // Get ready for multi-hop auth
ClntAuthBlock cBlock(NULL, NULL, NULL);
cBlock.loadServiceDataFrom(rdb->rdb_port);
ClumpletWriter send(ClumpletReader::SpbStart, MAX_DPB_SIZE, items, item_length); ClumpletWriter send(ClumpletReader::SpbStart, MAX_DPB_SIZE, items, item_length);
if (rdb->rdb_port->port_protocol < PROTOCOL_VERSION13) if (rdb->rdb_port->port_protocol < PROTOCOL_VERSION13)
{ {
// This is FB < 3.0. Lets convert the UTF8 strings to the OS codepage. // This is FB < 3.0. Lets convert the UTF8 strings to the OS codepage.
IntlSpbStart().fromUtf8(send, 0); IntlSpbStart().fromUtf8(send, 0);
} }
else
ClntAuthBlock cBlock(NULL, NULL, NULL); {
cBlock.loadServiceDataFrom(rdb->rdb_port); HANDSHAKE_DEBUG(fprintf(stderr, "start calls authFillParametersBlock\n"));
HANDSHAKE_DEBUG(fprintf(stderr, "start calls authFillParametersBlock\n")); authFillParametersBlock(cBlock, send, &spbStartParam, rdb->rdb_port);
authFillParametersBlock(cBlock, send, &spbStartParam, rdb->rdb_port); }
// Build the primary packet to get the operation started. // Build the primary packet to get the operation started.
PACKET* packet = &rdb->rdb_packet; PACKET* packet = &rdb->rdb_packet;