Browse Source

Make the crashuploader set the X-Plex-Secret to allow it to upload to the new breakpad-server

Tobias Hieta 9 years ago
parent
commit
d2a7685461

+ 13 - 1
CMakeModules/BreakpadSymbols.cmake

@@ -1,4 +1,16 @@
-OPTION(GENERATE_SYMBOLS "Should we generate symbols for binaries?" ON)
+include(CmakeDependentOption)
+
+set(ENABLE_CRASHDUMP ON)
+set(CRASHDUMP_SECRET "" CACHE STRING "Secret for the crashdump uploader")
+if (NOT CRASHDUMP_SECRET)
+  message(STATUS "Crashdump secret not supplied, disabling crashdump uploading")
+  set(ENABLE_CRASHDUMP OFF)
+else(NOT CRASHDUMP_SECRET)
+  message(STATUS "Enabling crashdump uploader")
+endif(NOT CRASHDUMP_SECRET)
+
+cmake_dependent_option(GENERATE_SYMBOLS "Should we generate symbols for binaries?" ON "ENABLE_CRASHDUMP" OFF)
+
 function(dumpsyms target symfile)
   find_program(DUMP_SYMS dump_syms HINTS /usr/bin/ ${DEPENDENCY_ROOT}/bin)
   if(GENERATE_SYMBOLS AND NOT DUMP_SYMS)

+ 1 - 3
src/CMakeLists.txt

@@ -161,8 +161,6 @@ set(EXE "${MAIN_NAME}.app")
 set(LIBPATH ${CMAKE_FIND_ROOT_PATH})
 set(SOURCE_ROOT ${CMAKE_SOURCE_DIR})
 
-if(ENABLE_DUMP_SYMBOLS)
-  dumpsyms(${MAIN_TARGET} ${CMAKE_CURRENT_BINARY_DIR}/${MAIN_TARGET}.symbols)
-endif()
+dumpsyms(${MAIN_TARGET} ${CMAKE_CURRENT_BINARY_DIR}/${MAIN_TARGET}.symbols)
 
 include(CompleteBundle)

+ 6 - 2
src/tools/helper/CMakeLists.txt

@@ -1,9 +1,13 @@
 include_directories(${PROJECT_SOURCE_DIR}/src)
 
+if(ENABLE_CRASHDUMP)
+  set(CRASHDUMP_SRCS CrashUploader.cpp CrashUploader.h)
+  add_definitions(-DENABLE_CRASHDUMP -DCRASHDUMP_SECRET="${CRASHDUMP_SECRET}")
+endif(ENABLE_CRASHDUMP)
+
 add_executable(${HELPER_TARGET} WIN32
+  ${CRASHDUMP_SRCS}
   HelperMain.cpp
-  CrashUploader.cpp
-  CrashUploader.h
   HelperSocket.cpp
   HelperSocket.h
 )

+ 1 - 0
src/tools/helper/CrashUploader.cpp

@@ -80,6 +80,7 @@ void CrashUploader::uploadCrashDump(const QString& version, const QString& path)
   QLOG_INFO() << "Uploading crashdump:" << inProgressPath;
 
   QNetworkRequest req(QUrl(UPLOAD_URL));
+  req.setRawHeader("X-Plex-Secret", CRASHDUMP_SECRET);
 
   QHttpMultiPart* multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);
 

+ 6 - 1
src/tools/helper/HelperMain.cpp

@@ -7,11 +7,14 @@
 #include "QsLog.h"
 #include "utils/Utils.h"
 #include "Version.h"
-#include "CrashUploader.h"
 #include "HelperSocket.h"
 #include "UniqueApplication.h"
 #include "Names.h"
 
+#ifdef ENABLE_CRASHDUMP
+#include "CrashUploader.h"
+#endif
+
 using namespace QsLogging;
 
 int main(int argc, char** argv)
@@ -50,7 +53,9 @@ int main(int argc, char** argv)
 
   try
   {
+#ifdef ENABLE_CRASHDUMP
     new CrashUploader(helperObject);
+#endif
     new HelperSocket(helperObject);
   }
   catch (FatalException& e)