Fixed the virtual server snapshot port persistance
This commit is contained in:
parent
d5ce71b769
commit
7fdd272d76
@ -20,9 +20,7 @@ using namespace ts;
|
|||||||
using namespace ts::server;
|
using namespace ts::server;
|
||||||
using namespace ts::token;
|
using namespace ts::token;
|
||||||
|
|
||||||
extern ts::server::InstanceHandler* serverInstance;
|
# define INVOKER(command, invoker) \
|
||||||
|
|
||||||
#define INVOKER(command, invoker) \
|
|
||||||
do { \
|
do { \
|
||||||
if(invoker) { \
|
if(invoker) { \
|
||||||
command["invokerid"] = invoker->getClientId(); \
|
command["invokerid"] = invoker->getClientId(); \
|
||||||
|
@ -714,8 +714,9 @@ command_result ConnectedClient::handleCommandBanAdd(Command &cmd) {
|
|||||||
return command_result{permission::b_client_ban_create};
|
return command_result{permission::b_client_ban_create};
|
||||||
}
|
}
|
||||||
|
|
||||||
auto max_ban_time = this->calculate_permission(permission::i_client_ban_max_bantime, this->getClientDatabaseId(), this->getType(), 0);
|
auto max_ban_time = this->calculate_permission(permission::i_client_ban_max_bantime, this->getClientDatabaseId());
|
||||||
if(!max_ban_time.has_value) return command_result{permission::i_client_ban_max_bantime};
|
if(!max_ban_time.has_value)
|
||||||
|
return command_result{permission::i_client_ban_max_bantime};
|
||||||
if (!max_ban_time.has_infinite_power()) {
|
if (!max_ban_time.has_infinite_power()) {
|
||||||
if (max_ban_time.value < time)
|
if (max_ban_time.value < time)
|
||||||
return command_result{permission::i_client_ban_max_bantime};
|
return command_result{permission::i_client_ban_max_bantime};
|
||||||
|
@ -34,11 +34,13 @@ VirtualServerManager::SnapshotDeployResult VirtualServerManager::deploy_snapshot
|
|||||||
return SnapshotDeployResult::REACHED_SERVER_ID_LIMIT;
|
return SnapshotDeployResult::REACHED_SERVER_ID_LIMIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string server_host{server ? server->properties()[property::VIRTUALSERVER_HOST].value() : config::binding::DefaultVoiceHost};
|
||||||
|
uint16_t server_port{server ? server->properties()[property::VIRTUALSERVER_PORT].as<uint16_t>() : this->next_available_port(server_host)};
|
||||||
this->delete_server_in_db(kSnapshotServerId, false);
|
this->delete_server_in_db(kSnapshotServerId, false);
|
||||||
auto result = sql::command{this->handle->getSql(), "INSERT INTO `servers` (`serverId`, `host`, `port`) VALUES (:sid, :host, :port)"}
|
auto result = sql::command{this->handle->getSql(), "INSERT INTO `servers` (`serverId`, `host`, `port`) VALUES (:sid, :host, :port)"}
|
||||||
.value(":sid", kSnapshotServerId)
|
.value(":sid", kSnapshotServerId)
|
||||||
.value(":host", server ? server->properties()[property::VIRTUALSERVER_HOST].value() : config::binding::DefaultVoiceHost)
|
.value(":host", server_host)
|
||||||
.value(":port", server ? server->properties()[property::VIRTUALSERVER_PORT].as<uint16_t>() : config::voice::default_voice_port)
|
.value(":port", server_port)
|
||||||
.execute();
|
.execute();
|
||||||
|
|
||||||
if(!result) {
|
if(!result) {
|
||||||
@ -63,6 +65,8 @@ VirtualServerManager::SnapshotDeployResult VirtualServerManager::deploy_snapshot
|
|||||||
if(!server->initialize(true)) {
|
if(!server->initialize(true)) {
|
||||||
//FIXME error handling
|
//FIXME error handling
|
||||||
}
|
}
|
||||||
|
server->properties()[property::VIRTUALSERVER_HOST] = server_host;
|
||||||
|
server->properties()[property::VIRTUALSERVER_PORT] = server_port;
|
||||||
|
|
||||||
server->properties()[property::VIRTUALSERVER_ASK_FOR_PRIVILEGEKEY] = false;
|
server->properties()[property::VIRTUALSERVER_ASK_FOR_PRIVILEGEKEY] = false;
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user