Some minor refactoring, removed jemalloc and added the address sanitize
This commit is contained in:
parent
9784ce9351
commit
ffd5b64177
@ -10,6 +10,7 @@ set(TEASPEAK_SERVER ON)
|
|||||||
#set(MEMORY_DEBUG_FLAGS " -fsanitize=leak -fsanitize=address -fstack-protector-all ")
|
#set(MEMORY_DEBUG_FLAGS " -fsanitize=leak -fsanitize=address -fstack-protector-all ")
|
||||||
#set(MEMORY_DEBUG_FLAGS "-fsanitize=address -fstack-protector-all")
|
#set(MEMORY_DEBUG_FLAGS "-fsanitize=address -fstack-protector-all")
|
||||||
#set(MEMORY_DEBUG_FLAGS "-fstack-protector-all")
|
#set(MEMORY_DEBUG_FLAGS "-fstack-protector-all")
|
||||||
|
set(MEMORY_DEBUG_FLAGS " -fsanitize=address ")
|
||||||
|
|
||||||
if (NOT BUILD_OS_ARCH)
|
if (NOT BUILD_OS_ARCH)
|
||||||
set(BUILD_OS_ARCH $ENV{build_os_arch})
|
set(BUILD_OS_ARCH $ENV{build_os_arch})
|
||||||
|
@ -295,17 +295,17 @@ bool LicenseServer::handlePacketPropertyUpdate(shared_ptr<ConnectedClient> &clie
|
|||||||
this->manager->logStatistic(client->key, client->unique_identifier, client->address(), pkt);
|
this->manager->logStatistic(client->key, client->unique_identifier, client->address(), pkt);
|
||||||
//TODO test stuff if its possible!
|
//TODO test stuff if its possible!
|
||||||
|
|
||||||
ts::proto::license::WebCertificate* web_certificate{nullptr};
|
ts::proto::license::WebCertificate* proto_web_certificate{nullptr};
|
||||||
if(pkt.has_web_cert_revision()) {
|
if(pkt.has_web_cert_revision()) {
|
||||||
logMessage(LOG_GENERAL, "[CLIENT][" + client->address() + "] -------------------------------");
|
logMessage(LOG_GENERAL, "[CLIENT][" + client->address() + "] -------------------------------");
|
||||||
logMessage(LOG_GENERAL, "[CLIENT][" + client->address() + "] Web cert revision : " + hex::hex(pkt.web_cert_revision()));
|
logMessage(LOG_GENERAL, "[CLIENT][" + client->address() + "] Web cert revision : " + hex::hex(pkt.web_cert_revision()));
|
||||||
|
|
||||||
auto cert = this->web_certificate;
|
auto cert = this->web_certificate;
|
||||||
if(cert && cert->revision != pkt.web_cert_revision()) {
|
if(cert && cert->revision != pkt.web_cert_revision()) {
|
||||||
web_certificate = new ts::proto::license::WebCertificate{};
|
proto_web_certificate = new ts::proto::license::WebCertificate{};
|
||||||
web_certificate->set_key(cert->key);
|
proto_web_certificate->set_key(cert->key);
|
||||||
web_certificate->set_certificate(cert->certificate);
|
proto_web_certificate->set_certificate(cert->certificate);
|
||||||
web_certificate->set_revision(cert->revision);
|
proto_web_certificate->set_revision(cert->revision);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -314,7 +314,7 @@ bool LicenseServer::handlePacketPropertyUpdate(shared_ptr<ConnectedClient> &clie
|
|||||||
response.set_reset_speach(pkt.speach_total() < 0);
|
response.set_reset_speach(pkt.speach_total() < 0);
|
||||||
response.set_speach_total_remote(pkt.speach_total());
|
response.set_speach_total_remote(pkt.speach_total());
|
||||||
response.set_speach_varianz_corrector(0);
|
response.set_speach_varianz_corrector(0);
|
||||||
response.set_allocated_web_certificate(web_certificate);
|
response.set_allocated_web_certificate(proto_web_certificate);
|
||||||
client->sendPacket(protocol::packet{protocol::PACKET_SERVER_PROPERTY_ADJUSTMENT, response});
|
client->sendPacket(protocol::packet{protocol::PACKET_SERVER_PROPERTY_ADJUSTMENT, response});
|
||||||
this->disconnectClient(client, "finished");
|
this->disconnectClient(client, "finished");
|
||||||
|
|
||||||
|
@ -293,7 +293,7 @@ target_link_libraries(TeaSpeakServer
|
|||||||
|
|
||||||
breakpad::static
|
breakpad::static
|
||||||
protobuf::libprotobuf
|
protobuf::libprotobuf
|
||||||
jemalloc::shared
|
#jemalloc::shared
|
||||||
|
|
||||||
tomcrypt::static
|
tomcrypt::static
|
||||||
tommath::static
|
tommath::static
|
||||||
|
@ -194,6 +194,7 @@ int main(int argc, char** argv) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
CLIParser arguments(argc, argv);
|
CLIParser arguments(argc, argv);
|
||||||
SSL_load_error_strings();
|
SSL_load_error_strings();
|
||||||
OpenSSL_add_ssl_algorithms();
|
OpenSSL_add_ssl_algorithms();
|
||||||
@ -297,6 +298,13 @@ int main(int argc, char** argv) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
|
{
|
||||||
|
void* ptr = malloc(1234);
|
||||||
|
free(ptr);
|
||||||
|
free(ptr);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/*
|
||||||
std::string error;
|
std::string error;
|
||||||
if(!interaction::waitForAttach(error)){
|
if(!interaction::waitForAttach(error)){
|
||||||
cerr << "Rsult: " << error << endl;
|
cerr << "Rsult: " << error << endl;
|
||||||
|
@ -62,8 +62,9 @@ PacketProcessResult PacketDecoder::process_incoming_data(ClientPacketParser &pac
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
auto result = this->decode_incoming_packet(error, packet_parser);
|
auto result = this->decode_incoming_packet(error, packet_parser);
|
||||||
if(result != PacketProcessResult::SUCCESS)
|
if(result != PacketProcessResult::SUCCESS) {
|
||||||
return result;
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef LOG_INCOMPING_PACKET_FRAGMENTS
|
#ifdef LOG_INCOMPING_PACKET_FRAGMENTS
|
||||||
debugMessage(lstream << CLIENT_LOG_PREFIX << "Recived packet. PacketId: " << packet->packetId() << " PacketType: " << packet->type().name() << " Flags: " << packet->flags() << " - " << packet->data() << endl);
|
debugMessage(lstream << CLIENT_LOG_PREFIX << "Recived packet. PacketId: " << packet->packetId() << " PacketType: " << packet->type().name() << " Flags: " << packet->flags() << " - " << packet->data() << endl);
|
||||||
@ -108,13 +109,15 @@ PacketProcessResult PacketDecoder::process_incoming_data(ClientPacketParser &pac
|
|||||||
ReassembledCommand* command{nullptr};
|
ReassembledCommand* command{nullptr};
|
||||||
CommandReassembleResult assemble_result;
|
CommandReassembleResult assemble_result;
|
||||||
do {
|
do {
|
||||||
if(!queue_lock.owns_lock())
|
if(!queue_lock.owns_lock()) {
|
||||||
queue_lock.lock();
|
queue_lock.lock();
|
||||||
|
}
|
||||||
|
|
||||||
assemble_result = this->try_reassemble_ordered_packet(fragment_buffer, queue_lock, command);
|
assemble_result = this->try_reassemble_ordered_packet(fragment_buffer, queue_lock, command);
|
||||||
|
|
||||||
if(assemble_result == CommandReassembleResult::SUCCESS || assemble_result == CommandReassembleResult::MORE_COMMANDS_PENDING)
|
if(assemble_result == CommandReassembleResult::SUCCESS || assemble_result == CommandReassembleResult::MORE_COMMANDS_PENDING) {
|
||||||
this->callback_decoded_command(this->callback_argument, command);
|
this->callback_decoded_command(this->callback_argument, command);
|
||||||
|
}
|
||||||
|
|
||||||
if(command) {
|
if(command) {
|
||||||
/* ownership hasn't transferred */
|
/* ownership hasn't transferred */
|
||||||
|
@ -71,14 +71,16 @@ std::string VoiceClientConnection::log_prefix() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void VoiceClientConnection::triggerWrite() {
|
void VoiceClientConnection::triggerWrite() {
|
||||||
if(this->current_client->voice_server)
|
if(this->current_client->voice_server) {
|
||||||
this->current_client->voice_server->triggerWrite(dynamic_pointer_cast<VoiceClient>(this->current_client->_this.lock()));
|
this->current_client->voice_server->triggerWrite(dynamic_pointer_cast<VoiceClient>(this->current_client->_this.lock()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void VoiceClientConnection::handle_incoming_datagram(const pipes::buffer_view& buffer) {
|
void VoiceClientConnection::handle_incoming_datagram(const pipes::buffer_view& buffer) {
|
||||||
ClientPacketParser packet_parser{buffer};
|
ClientPacketParser packet_parser{buffer};
|
||||||
if(!packet_parser.valid())
|
if(!packet_parser.valid()) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef CONNECTION_NO_STATISTICS
|
#ifndef CONNECTION_NO_STATISTICS
|
||||||
if(this->current_client) {
|
if(this->current_client) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user