mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-24 07:23:03 +01:00
Fixed CORE-1726: isc_service_start failed
This commit is contained in:
parent
243162b356
commit
134bc0ed7b
@ -530,7 +530,7 @@ Service::Service(USHORT service_length, const TEXT* service_name,
|
|||||||
svc_resp_buf(0), svc_resp_ptr(0), svc_resp_buf_len(0),
|
svc_resp_buf(0), svc_resp_ptr(0), svc_resp_buf_len(0),
|
||||||
svc_resp_len(0), svc_flags(0), svc_user_flag(0), svc_spb_version(0), svc_do_shutdown(false),
|
svc_resp_len(0), svc_flags(0), svc_user_flag(0), svc_spb_version(0), svc_do_shutdown(false),
|
||||||
svc_username(getPool()), svc_enc_password(getPool()),
|
svc_username(getPool()), svc_enc_password(getPool()),
|
||||||
svc_trusted_login(getPool()),
|
svc_trusted_login(getPool()), svc_trusted_role(false), svc_uses_security_database(false),
|
||||||
svc_switches(getPool()), svc_perm_sw(getPool())
|
svc_switches(getPool()), svc_perm_sw(getPool())
|
||||||
{
|
{
|
||||||
memset(svc_status_array, 0, sizeof svc_status_array);
|
memset(svc_status_array, 0, sizeof svc_status_array);
|
||||||
@ -585,6 +585,8 @@ Service::Service(USHORT service_length, const TEXT* service_name,
|
|||||||
options.spb_remote_address.isEmpty() ? "" : "/") +
|
options.spb_remote_address.isEmpty() ? "" : "/") +
|
||||||
options.spb_remote_address;
|
options.spb_remote_address;
|
||||||
|
|
||||||
|
svc_uses_security_database = true;
|
||||||
|
SecurityDatabase::initialize();
|
||||||
SecurityDatabase::verifyUser(name, options.spb_user_name.nullStr(),
|
SecurityDatabase::verifyUser(name, options.spb_user_name.nullStr(),
|
||||||
options.spb_password.nullStr(),
|
options.spb_password.nullStr(),
|
||||||
options.spb_password_enc.nullStr(),
|
options.spb_password_enc.nullStr(),
|
||||||
@ -675,6 +677,11 @@ void Service::detach()
|
|||||||
}
|
}
|
||||||
#endif //SERVER_SHUTDOWN
|
#endif //SERVER_SHUTDOWN
|
||||||
|
|
||||||
|
if (svc_uses_security_database)
|
||||||
|
{
|
||||||
|
SecurityDatabase::shutdown();
|
||||||
|
}
|
||||||
|
|
||||||
// Mark service as detached.
|
// Mark service as detached.
|
||||||
finish(SVC_detached);
|
finish(SVC_detached);
|
||||||
}
|
}
|
||||||
|
@ -218,6 +218,7 @@ private:
|
|||||||
Firebird::string svc_enc_password;
|
Firebird::string svc_enc_password;
|
||||||
Firebird::string svc_trusted_login;
|
Firebird::string svc_trusted_login;
|
||||||
bool svc_trusted_role;
|
bool svc_trusted_role;
|
||||||
|
bool svc_uses_security_database;
|
||||||
Firebird::string svc_switches; // Full set of switches
|
Firebird::string svc_switches; // Full set of switches
|
||||||
Firebird::string svc_perm_sw; // Switches, taken from services table
|
Firebird::string svc_perm_sw; // Switches, taken from services table
|
||||||
// and/or passed using spb_command_line
|
// and/or passed using spb_command_line
|
||||||
|
Loading…
Reference in New Issue
Block a user