Sentry: Properly store DSN

This commit is contained in:
Lion Kortlepel 2021-09-14 13:03:27 +02:00 committed by Lion
parent 57d0eb735e
commit fa19ba08e3
4 changed files with 14 additions and 12 deletions

View File

@ -87,6 +87,7 @@ void RegisterThread(const std::string& str);
#define KB 1024 #define KB 1024
#define MB (KB * 1024) #define MB (KB * 1024)
#define SSU_UNRAW SECRET_SENTRY_URL
#define _file_basename std::filesystem::path(__FILE__).filename().string() #define _file_basename std::filesystem::path(__FILE__).filename().string()
#define _line std::to_string(__LINE__) #define _line std::to_string(__LINE__)
@ -112,9 +113,11 @@ void RegisterThread(const std::string& str);
#else #else
#define _this_location (ThreadName() + _file_basename + ":" + _line + " ") #define _this_location (ThreadName() + _file_basename + ":" + _line + " ")
#endif #endif
#define SU_RAW SSU_UNRAW
#else // !defined(DEBUG) #else // !defined(DEBUG)
#define SU_RAW RAWIFY(SSU_UNRAW)
#define _this_location (ThreadName()) #define _this_location (ThreadName())
#endif // defined(DEBUG) #endif // defined(DEBUG)
@ -150,3 +153,5 @@ void LogChatMessage(const std::string& name, int id, const std::string& msg);
#define Biggest 30000 #define Biggest 30000
std::string Comp(std::string Data); std::string Comp(std::string Data);
std::string DeComp(std::string Compressed); std::string DeComp(std::string Compressed);
#define S_DSN SU_RAW

View File

@ -49,7 +49,7 @@ struct RandomChar {
}; };
template <size_t N, int K, typename Char> template <size_t N, int K, typename Char>
struct XorString { struct MangleString {
private: private:
const char _key; const char _key;
std::array<Char, N + 1> _encrypted; std::array<Char, N + 1> _encrypted;
@ -64,7 +64,7 @@ private:
public: public:
template <size_t... Is> template <size_t... Is>
constexpr XorString(const Char* str, std::index_sequence<Is...>) constexpr MangleString(const Char* str, std::index_sequence<Is...>)
: _key(RandomChar<K>::value) : _key(RandomChar<K>::value)
, _encrypted { enc(str[Is])... } { } , _encrypted { enc(str[Is])... } { }
@ -107,7 +107,8 @@ static auto w_sprintf_s_ret = [](char* buf, size_t buf_size, const char* fmt, ..
return ret; return ret;
}; };
#define XOR_C(s) [] { constexpr XorCompileTime::XorString< sizeof(s)/sizeof(char) - 1, __COUNTER__, char > expr( s, std::make_index_sequence< sizeof(s)/sizeof(char) - 1>() ); return expr; }().decrypt() #define XOR_C(s) [] { constexpr Crypto::MangleString< sizeof(s)/sizeof(char) - 1, __COUNTER__, char > expr( s, std::make_index_sequence< sizeof(s)/sizeof(char) - 1>() ); return expr; }().decrypt()
#define XOR_W(s) [] { constexpr XorCompileTime::XorString< sizeof(s)/sizeof(wchar_t) - 1, __COUNTER__, wchar_t > expr( s, std::make_index_sequence< sizeof(s)/sizeof(wchar_t) - 1>() ); return expr; }().decrypt() #define XOR_W(s) [] { constexpr Crypto::MangleString< sizeof(s)/sizeof(wchar_t) - 1, __COUNTER__, wchar_t > expr( s, std::make_index_sequence< sizeof(s)/sizeof(wchar_t) - 1>() ); return expr; }().decrypt()
#define RAWIFY(s) XOR_C(s)
} }

View File

@ -2,6 +2,7 @@
#include "commandline/commandline.h" #include "commandline/commandline.h"
#include "TLuaFile.h" #include "TLuaFile.h"
#include "Cryptography.h"
#include <atomic> #include <atomic>
#include <fstream> #include <fstream>

View File

@ -1,22 +1,17 @@
#include "TSentry.h" #include "TSentry.h"
#include "Common.h" #include "Common.h"
#include <cstring>
#include <sentry.h> #include <sentry.h>
#include <sstream> #include <sstream>
// compile-time length of a string/array
template <size_t N>
constexpr size_t ConstexprLength(char const (&)[N]) {
return N - 1;
}
TSentry::TSentry() { TSentry::TSentry() {
if constexpr (ConstexprLength(SECRET_SENTRY_URL) == 0) { if (std::strlen(S_DSN) == 0) {
mValid = false; mValid = false;
} else { } else {
mValid = true; mValid = true;
sentry_options_t* options = sentry_options_new(); sentry_options_t* options = sentry_options_new();
sentry_options_set_dsn(options, SECRET_SENTRY_URL); sentry_options_set_dsn(options, S_DSN);
sentry_options_set_debug(options, false); // needs to always be false sentry_options_set_debug(options, false); // needs to always be false
sentry_options_set_symbolize_stacktraces(options, true); sentry_options_set_symbolize_stacktraces(options, true);
auto ReleaseString = "BeamMP-Server@" + Application::ServerVersion(); auto ReleaseString = "BeamMP-Server@" + Application::ServerVersion();