diff options
Diffstat (limited to 'backends/networking/curl/connectionmanager.cpp')
-rw-r--r-- | backends/networking/curl/connectionmanager.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/backends/networking/curl/connectionmanager.cpp b/backends/networking/curl/connectionmanager.cpp index 557fcf06eb..21381d9a3d 100644 --- a/backends/networking/curl/connectionmanager.cpp +++ b/backends/networking/curl/connectionmanager.cpp @@ -26,6 +26,7 @@ #include "backends/networking/curl/connectionmanager.h" #include "backends/networking/curl/networkreadstream.h" #include "common/debug.h" +#include "common/fs.h" #include "common/system.h" #include "common/timer.h" @@ -98,6 +99,29 @@ uint32 ConnectionManager::getCloudRequestsPeriodInMicroseconds() { return TIMER_INTERVAL * CLOUD_PERIOD; } +const char *ConnectionManager::getCaCertPath() { +#if defined(DATA_PATH) + static enum { + kNotInitialized, + kFileNotFound, + kFileExists + } state = kNotInitialized; + + if (state == kNotInitialized) { + Common::FSNode node(DATA_PATH"/cacert.pem"); + state = node.exists() ? kFileExists : kFileNotFound; + } + + if (state == kFileExists) { + return DATA_PATH"/cacert.pem"; + } else { + return nullptr; + } +#else + return nullptr; +#endif +} + //private goes here: void connectionsThread(void *ignored) { |