Fixed unique ID generation
This commit is contained in:
parent
1e0c9eabe3
commit
c60119af00
@ -151,6 +151,9 @@ void FileServerHandler::callback_transfer_statistics(const std::shared_ptr<trans
|
|||||||
client->getConnectionStatistics()->logFileTransferOut(statistics.delta_file_bytes_transferred);
|
client->getConnectionStatistics()->logFileTransferOut(statistics.delta_file_bytes_transferred);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(client->getType() == ClientType::CLIENT_TEAMSPEAK)
|
||||||
|
return; /* TS3 does not know this notify */
|
||||||
|
|
||||||
ts::command_builder notify{"notifyfiletransferprogress"};
|
ts::command_builder notify{"notifyfiletransferprogress"};
|
||||||
notify.put_unchecked(0, "clientftfid", transfer->client_transfer_id);
|
notify.put_unchecked(0, "clientftfid", transfer->client_transfer_id);
|
||||||
|
|
||||||
|
@ -864,6 +864,15 @@ command_result QueryClient::handleCommandServerSnapshotDeploy(Command& cmd) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
unique_lock server_create_lock(serverInstance->getVoiceServerManager()->server_create_lock);
|
unique_lock server_create_lock(serverInstance->getVoiceServerManager()->server_create_lock);
|
||||||
|
{
|
||||||
|
auto instances = serverInstance->getVoiceServerManager()->serverInstances();
|
||||||
|
if(config::server::max_virtual_server != -1 && instances.size() > config::server::max_virtual_server)
|
||||||
|
return command_result{error::server_max_vs_reached, "You reached the via config.yml enabled virtual server limit."};
|
||||||
|
|
||||||
|
if(instances.size() >= 65535)
|
||||||
|
return command_result{error::server_max_vs_reached, "You cant create anymore virtual servers. (Software limit reached)"};
|
||||||
|
}
|
||||||
|
|
||||||
if(port == 0)
|
if(port == 0)
|
||||||
port = serverInstance->getVoiceServerManager()->next_available_port(host);
|
port = serverInstance->getVoiceServerManager()->next_available_port(host);
|
||||||
auto result = serverInstance->getVoiceServerManager()->createServerFromSnapshot(this->server, host, port, cmd, error);
|
auto result = serverInstance->getVoiceServerManager()->createServerFromSnapshot(this->server, host, port, cmd, error);
|
||||||
@ -911,6 +920,16 @@ command_result QueryClient::handleCommandServerSnapshotDeployNew(const ts::comma
|
|||||||
std::string error{};
|
std::string error{};
|
||||||
unique_lock server_create_lock(serverInstance->getVoiceServerManager()->server_create_lock);
|
unique_lock server_create_lock(serverInstance->getVoiceServerManager()->server_create_lock);
|
||||||
//TODO: Create a server if no exists
|
//TODO: Create a server if no exists
|
||||||
|
|
||||||
|
{ /* TODO: Only check if we're creating a new server */
|
||||||
|
auto instances = serverInstance->getVoiceServerManager()->serverInstances();
|
||||||
|
if(config::server::max_virtual_server != -1 && instances.size() > config::server::max_virtual_server)
|
||||||
|
return command_result{error::server_max_vs_reached, "You reached the via config.yml enabled virtual server limit."};
|
||||||
|
|
||||||
|
if(instances.size() >= 65535)
|
||||||
|
return command_result{error::server_max_vs_reached, "You cant create anymore virtual servers. (Software limit reached)"};
|
||||||
|
}
|
||||||
|
|
||||||
server_create_lock.unlock();
|
server_create_lock.unlock();
|
||||||
|
|
||||||
//TODO: Stop the server completely
|
//TODO: Stop the server completely
|
||||||
|
@ -148,11 +148,10 @@ CryptSetupHandler::CommandResult CryptSetupHandler::handleCommandClientInitIv(co
|
|||||||
return ts::command_result{error::client_could_not_validate_identity};
|
return ts::command_result{error::client_could_not_validate_identity};
|
||||||
}
|
}
|
||||||
|
|
||||||
client->properties()[property::CLIENT_UNIQUE_IDENTIFIER] = base64::encode(digest::sha1(clientOmega));
|
client->properties()[property::CLIENT_UNIQUE_IDENTIFIER] = base64::encode(digest::sha1(cmd.value("omega")));
|
||||||
}
|
}
|
||||||
|
|
||||||
this->new_protocol = !use_teaspeak && ot && config::experimental_31 && (this->client_protocol_time_ >= 173265950ULL || this->client_protocol_time_ == (uint32_t) 5680278000ULL);
|
this->new_protocol = !use_teaspeak && ot && config::experimental_31 && (this->client_protocol_time_ >= 173265950ULL || this->client_protocol_time_ == (uint32_t) 5680278000ULL);
|
||||||
this->new_protocol = true;
|
|
||||||
|
|
||||||
{
|
{
|
||||||
size_t server_seed_length = this->new_protocol ? 54 : 10;
|
size_t server_seed_length = this->new_protocol ? 54 : 10;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user