Improved the code quality and TeaSpeak now builds with clang
This commit is contained in:
parent
39d1959dde
commit
76f22ff337
@ -1,7 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.6)
|
||||
project(TeaSpeak-Files)
|
||||
|
||||
#set(CMAKE_CXX_STANDARD 17)
|
||||
#set(CMAKE_CXX_STANDARD 20)
|
||||
#set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
add_library(TeaSpeak-FileServer STATIC
|
||||
@ -27,6 +27,7 @@ target_link_libraries(TeaSpeak-FileServer PUBLIC TeaSpeak ${StringVariable_LIBRA
|
||||
|
||||
target_include_directories(TeaSpeak-FileServer PUBLIC include/)
|
||||
target_compile_options(TeaSpeak-FileServer PUBLIC "-Wswitch-enum")
|
||||
target_compile_features(TeaSpeak-FileServer PUBLIC cxx_std_20)
|
||||
|
||||
add_executable(TeaSpeak-FileServerTest test/main.cpp)
|
||||
target_link_libraries(TeaSpeak-FileServerTest PUBLIC TeaSpeak-FileServer
|
||||
|
@ -23,39 +23,39 @@ bool file::initialize(std::string &error, const std::string& hostnames, uint16_t
|
||||
|
||||
bool any_bind{false};
|
||||
for(const auto& binding : net::resolve_bindings(hostnames, port)) {
|
||||
if(!get<2>(binding).empty()) {
|
||||
logError(LOG_FT, "Failed to resolve binding for {}: {}", get<0>(binding), get<2>(binding));
|
||||
if(!std::get<2>(binding).empty()) {
|
||||
logError(LOG_FT, "Failed to resolve binding for {}: {}", std::get<0>(binding), std::get<2>(binding));
|
||||
continue;
|
||||
}
|
||||
|
||||
auto result = dynamic_cast<transfer::LocalFileTransfer&>(server_instance->file_transfer()).add_network_binding({ get<0>(binding), get<1>(binding) });
|
||||
auto result = dynamic_cast<transfer::LocalFileTransfer&>(server_instance->file_transfer()).add_network_binding({ std::get<0>(binding), std::get<1>(binding) });
|
||||
switch (result) {
|
||||
case transfer::NetworkingBindResult::SUCCESS:
|
||||
any_bind = true;
|
||||
break;
|
||||
|
||||
case transfer::NetworkingBindResult::OUT_OF_MEMORY:
|
||||
logWarning(LOG_FT, "Failed to listen to address {}: Out of memory", get<0>(binding));
|
||||
logWarning(LOG_FT, "Failed to listen to address {}: Out of memory", std::get<0>(binding));
|
||||
continue;
|
||||
|
||||
case transfer::NetworkingBindResult::FAILED_TO_LISTEN:
|
||||
logWarning(LOG_FT, "Failed to listen on {}: {}/{}", get<0>(binding), errno, strerror(errno));
|
||||
logWarning(LOG_FT, "Failed to listen on {}: {}/{}", std::get<0>(binding), errno, strerror(errno));
|
||||
continue;
|
||||
|
||||
case transfer::NetworkingBindResult::FAILED_TO_BIND:
|
||||
logWarning(LOG_FT, "Failed to bind on {}: {}/{}", get<0>(binding), errno, strerror(errno));
|
||||
logWarning(LOG_FT, "Failed to bind on {}: {}/{}", std::get<0>(binding), errno, strerror(errno));
|
||||
continue;
|
||||
|
||||
case transfer::NetworkingBindResult::BINDING_ALREADY_EXISTS:
|
||||
logWarning(LOG_FT, "Failed to bind on {}: binding already exists", get<0>(binding));
|
||||
logWarning(LOG_FT, "Failed to bind on {}: binding already exists", std::get<0>(binding));
|
||||
continue;
|
||||
|
||||
case transfer::NetworkingBindResult::NETWORKING_NOT_INITIALIZED:
|
||||
logWarning(LOG_FT, "Failed to bind on {}: networking not initialized", get<0>(binding));
|
||||
logWarning(LOG_FT, "Failed to bind on {}: networking not initialized", std::get<0>(binding));
|
||||
continue;
|
||||
|
||||
case transfer::NetworkingBindResult::FAILED_TO_ALLOCATE_SOCKET:
|
||||
logWarning(LOG_FT, "Failed to allocate a socket for {}: {}/{}", get<0>(binding), errno, strerror(errno));
|
||||
logWarning(LOG_FT, "Failed to allocate a socket for {}: {}/{}", std::get<0>(binding), errno, strerror(errno));
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit d09428739c651d897ae5b00b394139891050428a
|
||||
Subproject commit be995e99c45ff7e5ba4adb36529a53558e06fa61
|
@ -422,7 +422,7 @@ namespace license {
|
||||
#ifdef GOOGLE_PROTOBUF_MESSAGE_H__
|
||||
packet(PacketType packetId, const ::google::protobuf::Message&);
|
||||
#endif
|
||||
packet(PacketType packetId, nullptr_t);
|
||||
packet(PacketType packetId, std::nullptr_t);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
2
rtclib
2
rtclib
@ -1 +1 @@
|
||||
Subproject commit f8c063fbb51a66460b22dff7126c61bdb3cab4ca
|
||||
Subproject commit fb969956dfcf86f2ce6ffb324d8fd786bda236c4
|
@ -355,7 +355,7 @@ target_link_libraries(Snapshots-Permissions-Test PUBLIC
|
||||
|
||||
#Require a so
|
||||
sqlite3
|
||||
DataPipes::rtc::shared
|
||||
DataPipes::core::static
|
||||
|
||||
tomcrypt::static
|
||||
tommath::static
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include <dlfcn.h>
|
||||
#include <client/linux/handler/exception_handler.h>
|
||||
|
||||
//include <iterator> /* Required for breakpad */
|
||||
//#include <client/linux/handler/exception_handler.h>
|
||||
#include <iostream>
|
||||
#include <misc/strobf.h>
|
||||
#include <CXXTerminal/QuickTerminal.h>
|
||||
@ -14,7 +15,10 @@
|
||||
#include "src/terminal/CommandHandler.h"
|
||||
#include "src/client/InternalClient.h"
|
||||
#include "src/SignalHandler.h"
|
||||
#include "src/build.h"
|
||||
|
||||
#include <dlfcn.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
using namespace std;
|
||||
using namespace std::chrono;
|
||||
|
@ -1,5 +1,4 @@
|
||||
|
||||
#include <breakpad/client/linux/handler/exception_handler.h>
|
||||
#include "VirtualServer.h"
|
||||
#include "SignalHandler.h"
|
||||
#include "VirtualServerManager.h"
|
||||
@ -10,15 +9,25 @@
|
||||
#include <experimental/filesystem>
|
||||
#include <src/terminal/PipedTerminal.h>
|
||||
|
||||
#include <iterator>
|
||||
|
||||
#define BREAKPAD_EXCEPTION_HANDLER 1
|
||||
#ifdef BREAKPAD_EXCEPTION_HANDLER
|
||||
#include <breakpad/client/linux/handler/exception_handler.h>
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
namespace fs = std::experimental::filesystem;
|
||||
|
||||
#ifdef BREAKPAD_EXCEPTION_HANDLER
|
||||
google_breakpad::ExceptionHandler* globalExceptionHandler = nullptr;
|
||||
#endif
|
||||
#define SIG(s, c) \
|
||||
if(signal(s, c) != nullptr) logError(LOG_GENERAL, "Cant setup signal handler for " #s);
|
||||
|
||||
|
||||
extern bool mainThreadDone;
|
||||
#ifdef BREAKPAD_EXCEPTION_HANDLER
|
||||
static bool dumpCallback(const google_breakpad::MinidumpDescriptor& descriptor, void* context, bool succeeded) {
|
||||
logCritical(LOG_GENERAL, "The server crashed!");
|
||||
try {
|
||||
@ -41,6 +50,7 @@ static bool dumpCallback(const google_breakpad::MinidumpDescriptor& descriptor,
|
||||
logCritical(LOG_GENERAL, " Message: {}", ex.what());
|
||||
} catch(...) {}
|
||||
}
|
||||
|
||||
logCritical(LOG_GENERAL, "Please report this crash to the TeaSpeak maintainer WolverinDEV");
|
||||
logCritical(LOG_GENERAL, "Official issue and bug tracker url: https://github.com/TeaSpeak/TeaSpeak/issues");
|
||||
logCritical(LOG_GENERAL, "Any reports of crashes are useless if you not provide the above generated crashlog!");
|
||||
@ -51,15 +61,20 @@ static bool dumpCallback(const google_breakpad::MinidumpDescriptor& descriptor,
|
||||
while(!mainThreadDone) threads::self::sleep_for(chrono::seconds(1));
|
||||
return succeeded;
|
||||
}
|
||||
#endif
|
||||
|
||||
std::atomic spawn_failed_count = 0;
|
||||
bool ts::syssignal::setup() {
|
||||
logMessage(LOG_GENERAL, "Setting up exception handler");
|
||||
#ifdef BREAKPAD_EXCEPTION_HANDLER
|
||||
globalExceptionHandler = new google_breakpad::ExceptionHandler(google_breakpad::MinidumpDescriptor("."), nullptr, dumpCallback, nullptr, true, -1);
|
||||
#endif
|
||||
|
||||
SIG(SIGTERM, &ts::syssignal::handleStopSignal);
|
||||
if(isatty(fileno(stdin))) //We cant listen for this signal if stdin ist a atty
|
||||
if(isatty(fileno(stdin))) {
|
||||
//We cant listen for this signal if stdin ist a atty
|
||||
SIG(SIGINT, &ts::syssignal::handleStopSignal);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -3,7 +3,6 @@
|
||||
#ifdef COMPILE_WEB_CLIENT
|
||||
#include <pipes/ssl.h>
|
||||
#include <pipes/ws.h>
|
||||
#include <pipes/rtc/PeerConnection.h>
|
||||
#include <src/client/SpeakingClient.h>
|
||||
#include <src/client/ConnectedClient.h>
|
||||
#include <protocol/buffers.h>
|
||||
|
2
shared
2
shared
@ -1 +1 @@
|
||||
Subproject commit 7b51bcc5e82802ea8173da8c341ff31614f1c49b
|
||||
Subproject commit 23db0edd229a4cc37390bfc5df870d7aaf191f03
|
Loading…
x
Reference in New Issue
Block a user