gsec.cpp (Firebird-3.0.2.32703-0.tar.bz2) | : | gsec.cpp (Firebird-3.0.4.33054-0.tar.bz2) | ||
---|---|---|---|---|
skipping to change at line 318 | skipping to change at line 318 | |||
} | } | |||
catch (const Firebird::Exception& ex) | catch (const Firebird::Exception& ex) | |||
{ | { | |||
ex.stuffException(status); | ex.stuffException(status); | |||
} | } | |||
} | } | |||
private: | private: | |||
StackUserData* u; | StackUserData* u; | |||
}; | }; | |||
} // anonymous namespace | } // anonymous namespace | |||
int gsec(Firebird::UtilSvc* uSvc) | int gsec(Firebird::UtilSvc* uSvc) | |||
{ | { | |||
/************************************** | /************************************** | |||
* | * | |||
* c o m m o n _ m a i n | * c o m m o n _ m a i n | |||
* | * | |||
************************************** | ************************************** | |||
* | * | |||
skipping to change at line 408 | skipping to change at line 409 | |||
{ | { | |||
serverName = ""; | serverName = ""; | |||
} | } | |||
Firebird::LocalStatus s; | Firebird::LocalStatus s; | |||
Firebird::CheckStatusWrapper statusWrapper(&s); | Firebird::CheckStatusWrapper statusWrapper(&s); | |||
user_data->database.set(&statusWrapper, databaseName.c_str()); | user_data->database.set(&statusWrapper, databaseName.c_str()); | |||
check(&statusWrapper); | check(&statusWrapper); | |||
Firebird::RefPtr<Firebird::IManagement> manager; | Firebird::AutoPlugin<Firebird::IManagement> manager; | |||
ISC_STATUS_ARRAY status; | ISC_STATUS_ARRAY status; | |||
if (!useServices) | if (!useServices) | |||
{ | { | |||
// Get remote address info for management plugin | // Get remote address info for management plugin | |||
Firebird::string network_protocol, remote_address; | Firebird::string network_protocol, remote_address; | |||
Firebird::ClumpletWriter tmp(Firebird::ClumpletReader::Tagged, MA X_DPB_SIZE, isc_dpb_version1); | Firebird::ClumpletWriter tmp(Firebird::ClumpletReader::Tagged, MA X_DPB_SIZE, isc_dpb_version1); | |||
uSvc->fillDpb(tmp); | uSvc->fillDpb(tmp); | |||
if (tmp.find(isc_dpb_address_path)) | if (tmp.find(isc_dpb_address_path)) | |||
skipping to change at line 471 | skipping to change at line 472 | |||
uSvc->checkService(); | uSvc->checkService(); | |||
fb_assert(user_data->dba.entered() || user_data->authenticationBl ock.hasData()); | fb_assert(user_data->dba.entered() || user_data->authenticationBl ock.hasData()); | |||
if (user_data->dba.entered() || user_data->authenticationBlock.ha sData()) | if (user_data->dba.entered() || user_data->authenticationBlock.ha sData()) | |||
{ | { | |||
try | try | |||
{ | { | |||
Get getPlugin(pseudoConfig); | Get getPlugin(pseudoConfig); | |||
manager = getPlugin.plugin(); | manager.reset(getPlugin.plugin()); | |||
if (!manager) | if (!manager) | |||
{ | { | |||
GSEC_error_redirect((Firebird::Arg::Gds(i sc_random) << | GSEC_error_redirect((Firebird::Arg::Gds(i sc_random) << | |||
"Management plugin is missing or failed to load").value(), GsecMsg15); | "Management plugin is missing or failed to load").value(), GsecMsg15); | |||
} | } | |||
GsecInfo info(user_data->dba.get(), user_data->ro le.get(), | GsecInfo info(user_data->dba.get(), user_data->ro le.get(), | |||
network_protocol.c_str( ), remote_address.c_str(), &user_data->authenticationBlock); | network_protocol.c_str( ), remote_address.c_str(), &user_data->authenticationBlock); | |||
manager->start(&statusManager, &info); | manager->start(&statusManager, &info); | |||
check(&statusManager); | ||||
manager->addRef(); | ||||
} | } | |||
catch (const Firebird::Exception& ex) | catch (const Firebird::Exception& ex) | |||
{ | { | |||
ex.stuffException(&statusManager); | ex.stuffException(&statusManager); | |||
} | } | |||
if (statusManager.getState() & Firebird::IStatus::STATE_E RRORS) | if (statusManager.getState() & Firebird::IStatus::STATE_E RRORS) | |||
{ | { | |||
Firebird::StaticStatusVector tmp; | Firebird::StaticStatusVector tmp; | |||
tmp.mergeStatus(&statusManager); | tmp.mergeStatus(&statusManager); | |||
End of changes. 4 change blocks. | ||||
2 lines changed or deleted | 5 lines changed or added |