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

Fixed gsec with SS

This commit is contained in:
alexpeshkoff 2015-12-18 13:53:04 +00:00
parent 04906b031c
commit 0ba4e86e86

View File

@ -245,13 +245,24 @@ isc_svc_handle attachRemoteServiceManager(ISC_STATUS* status,
{ {
stuffSpb(spb, isc_spb_trusted_auth, ""); stuffSpb(spb, isc_spb_trusted_auth, "");
} }
isc_svc_handle svc_handle = 0;
if ((!server[0]) && forceLoopback && (Config::getServerMode() == MODE_SUPER)) if ((!server[0]) && forceLoopback && (Config::getServerMode() == MODE_SUPER))
{ // local connection & force & superserver { // local connection & force & superserver
stuffSpb(spb, isc_spb_config, "Providers=Loopback," CURRENT_ENGINE); char* spb2 = spb;
stuffSpb(spb2, isc_spb_config, "Providers=Loopback");
isc_service_attach(status, static_cast<USHORT>(strlen(service)), service, &svc_handle,
static_cast<USHORT>(spb2 - spb_buffer), spb_buffer);
if (status[1] == 0)
return svc_handle;
if (status[1] != isc_network_error)
return NULL;
fb_utils::init_status(status);
} }
fb_assert((size_t)(spb - spb_buffer) <= sizeof(spb_buffer)); fb_assert((size_t)(spb - spb_buffer) <= sizeof(spb_buffer));
isc_svc_handle svc_handle = 0;
isc_service_attach(status, static_cast<USHORT>(strlen(service)), service, &svc_handle, isc_service_attach(status, static_cast<USHORT>(strlen(service)), service, &svc_handle,
static_cast<USHORT>(spb - spb_buffer), spb_buffer); static_cast<USHORT>(spb - spb_buffer), spb_buffer);
return status[1] ? 0 : svc_handle; return status[1] ? 0 : svc_handle;