diff options
author | liushuyu <[email protected]> | 2020-10-19 18:14:41 -0600 |
---|---|---|
committer | liushuyu <[email protected]> | 2020-10-27 02:57:19 -0600 |
commit | 8e673cbb08615865044ed546a133259ff2756128 (patch) | |
tree | 3aaffed58d535f40440a9da69f1a96451b4c3a7b /src/web_service | |
parent | cd92a94965a726a90032b15dbcc5ead877fac030 (diff) | |
download | yuzu-mainline-8e673cbb08615865044ed546a133259ff2756128.tar.gz yuzu-mainline-8e673cbb08615865044ed546a133259ff2756128.zip |
web_backend: fix a regression introduced in 39c8d18
* A regression was in 39c8d18 and token verification function was
broken.
* The reason being `httplib` now requires OpenSSL 1.1+ API while
LibreSSL 2.x provided OpenSSL 1.0 compatible API.
* The bundled LibreSSL has been updated to 3.2.2 so it now provides
OpenSSL 1.1 compatible API now.
* Also the path hint has been added so that it will find the correct
path to the CA certs on *nix systems.
* An option is provided so that *nix system distributions/providers can
use their own SSL implementations when compiling Yuzu/Citra to
(hopefully) complies with their maintenance guidelines.
* LURLParse is also removed since `httplib` can handle
`scheme:host:port` string itself now.
Diffstat (limited to 'src/web_service')
-rw-r--r-- | src/web_service/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/web_service/web_backend.cpp | 20 |
2 files changed, 2 insertions, 20 deletions
diff --git a/src/web_service/CMakeLists.txt b/src/web_service/CMakeLists.txt index 7e484b906..ae85a72ea 100644 --- a/src/web_service/CMakeLists.txt +++ b/src/web_service/CMakeLists.txt @@ -9,4 +9,4 @@ add_library(web_service STATIC ) create_target_directory_groups(web_service) -target_link_libraries(web_service PRIVATE common nlohmann_json::nlohmann_json httplib lurlparser) +target_link_libraries(web_service PRIVATE common nlohmann_json::nlohmann_json httplib) diff --git a/src/web_service/web_backend.cpp b/src/web_service/web_backend.cpp index 534960d09..c56cd7c71 100644 --- a/src/web_service/web_backend.cpp +++ b/src/web_service/web_backend.cpp @@ -7,7 +7,6 @@ #include <mutex> #include <string> -#include <LUrlParser.h> #include <fmt/format.h> #include <httplib.h> @@ -19,9 +18,6 @@ namespace WebService { constexpr std::array<const char, 1> API_VERSION{'1'}; -constexpr int HTTP_PORT = 80; -constexpr int HTTPS_PORT = 443; - constexpr std::size_t TIMEOUT_SECONDS = 30; struct Client::Impl { @@ -67,21 +63,7 @@ struct Client::Impl { const std::string& jwt = "", const std::string& username = "", const std::string& token = "") { if (cli == nullptr) { - const auto parsedUrl = LUrlParser::clParseURL::ParseURL(host); - int port{}; - if (parsedUrl.m_Scheme == "http") { - if (!parsedUrl.GetPort(&port)) { - port = HTTP_PORT; - } - } else if (parsedUrl.m_Scheme == "https") { - if (!parsedUrl.GetPort(&port)) { - port = HTTPS_PORT; - } - } else { - LOG_ERROR(WebService, "Bad URL scheme {}", parsedUrl.m_Scheme); - return WebResult{WebResult::Code::InvalidURL, "Bad URL scheme", ""}; - } - cli = std::make_unique<httplib::Client>(parsedUrl.m_Host.c_str(), port); + cli = std::make_unique<httplib::Client>(host.c_str()); } cli->set_connection_timeout(TIMEOUT_SECONDS); cli->set_read_timeout(TIMEOUT_SECONDS); |