summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorgraysky2020-07-15 16:47:59 -0400
committergraysky2020-07-15 16:47:59 -0400
commitdc8c8c58a6e4383267d098fb3dc17d9473fb583a (patch)
tree719ba55f45dc68a142e62a4068ec161fd32e9034
parenta9efba4a3012b1527b515ecc474983af7f200955 (diff)
downloadaur-dc8c8c58a6e4383267d098fb3dc17d9473fb583a.tar.gz
Update to 18.8pre14-1
-rw-r--r--.SRCINFO36
-rw-r--r--18131.patch1256
-rw-r--r--PKGBUILD28
3 files changed, 41 insertions, 1279 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 8008e75d8b9b..7017a5bea75f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = kodi-devel
- pkgver = 18.8pre08
- pkgrel = 6
+ pkgver = 18.8pre14
+ pkgrel = 1
url = https://kodi.tv
arch = x86_64
license = GPL2
@@ -77,14 +77,19 @@ pkgbase = kodi-devel
source = 000-PR17300.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/17300.patch
source = 18071-mod_for_linux_only.patch
source = 000-PR17804.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/17804.patch
- source = 18131.patch
source = 001-PR17988.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/17988.patch
source = 002-PR17996.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/17996.patch
source = 003-PR18008.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18008.patch
source = 004-PR18019.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18019.patch
source = 005-PR18024.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18024.patch
- source = 007-PR18047.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18047.patch
- source = 008-PR18056.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18056.patch
+ source = 007-PR18045.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18045.patch
+ source = 008-PR18047.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18047.patch
+ source = 009-PR18053.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18053.patch
+ source = 010-PR18056.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18056.patch
+ source = 011-PR18073.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18073.patch
+ source = 012-PR18094.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18094.patch
+ source = 013-PR18134.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18134.patch
+ source = 014-PR18151.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18151.patch
sha256sums = 5cfec391bcd168bbd4f9d38a6c8ec93e42e040cf82cf6ebf23db5e86753816fb
sha256sums = 38816f8373e243bc5950449b4f3b18938c4e1c59348e3411e23f31db4072e40d
sha256sums = 071e414e61b795f2ff9015b21a85fc009dde967f27780d23092643916538a57a
@@ -98,14 +103,19 @@ pkgbase = kodi-devel
sha256sums = 3aaca3630689b76e7a7f35656a4ada3fb18ecd7e3fe199634264ccf76b96c0f0
sha256sums = 4d9eb12db337a89b5e17815bd422015f3017c735bd0c5b522f5a5b0c7f81a607
sha256sums = f11af738b2be8f390a7b515cfb74276a0ccb64ac061b8f5a7b3772e19eb0d203
- sha256sums = 1bfa84c0ae99a4ed731261cb39cb347c2809ca63d0d318393bdbbee900bbf8bc
sha256sums = 89ac4b3feac908075ddbcdc4f9f1d1703c25e2fdb1661e776c162eb779437bd8
sha256sums = f56503139927f0bc8f220c4b4e31266fc938a6612a4c1d2bdd75be3f54eb3a12
sha256sums = 995c61de460e0afdc135ba33f9f393a825cb4a0c7954da104d23269fe48ec118
sha256sums = 8531da4ce924d80f5b8c8fbcf547e0738e48ffce335f73a4da6466f499ab1bfe
sha256sums = 4c2775722998fd0f6111ff841b29e8813c58b7905be1e8a01bf8a768622cb30c
+ sha256sums = ff34d94f4ff7f1d9638c948b05da1802638bf66037dda53ce44b9afb501ec1dc
sha256sums = f4ac91dbad4014a6707e8bb6f57cac0ec68a852a3e81815a210304a886a665a1
+ sha256sums = 2d31bf616362001a75c590c0ea9ef22f321ffabf1d95f781d558f92e69cdc8c9
sha256sums = 4b009d1acced4912f981d1454ff2add556b79188c003bc837d60224605364353
+ sha256sums = b766ce6bbae0d41abe323866c7ff9dd8ef89fdf214cc6104125c4115cb2bc221
+ sha256sums = 5b19f4f74136f91986e3d3eed93102b06a700dd4b3a561926eabc7997434f22a
+ sha256sums = e4963bdeb1de7c147a364cd3ee2186fb1d0b2fc8f3ea7636054cf2adac040468
+ sha256sums = 7b8a6510bc286d58b4a3d57322362335cbf2a56d1b2bd16bfcdf06d5eef8644d
pkgname = kodi-devel
pkgdesc = Alpha, Beta, or RC versions of the software media player and entertainment hub for digital media
@@ -125,7 +135,7 @@ pkgname = kodi-devel
optdepends = shairplay: AirPlay support
optdepends = upower: Display battery level
provides = xbmc
- provides = kodi=18.8pre08
+ provides = kodi=18.8pre14
conflicts = xbmc
replaces = xbmc
@@ -153,7 +163,7 @@ pkgname = kodi-x11-devel
depends = tinyxml
depends = kodi-devel
provides = KODI-BIN
- provides = kodi-x11=18.8pre08
+ provides = kodi-x11=18.8pre14
replaces = kodi-bin
pkgname = kodi-wayland-devel
@@ -180,7 +190,7 @@ pkgname = kodi-wayland-devel
depends = waylandpp
depends = kodi-devel
provides = KODI-BIN
- provides = kodi-wayland=18.8pre08
+ provides = kodi-wayland=18.8pre14
pkgname = kodi-gbm-devel
pkgdesc = gbm kodi binary
@@ -206,12 +216,12 @@ pkgname = kodi-gbm-devel
depends = tinyxml
depends = kodi-devel
provides = KODI-BIN
- provides = kodi-gbm=18.8pre08
+ provides = kodi-gbm=18.8pre14
pkgname = kodi-eventclients-devel
pkgdesc = Kodi Event Clients
optdepends = python2: most eventclients are implemented in python2
- provides = kodi-eventclients=18.8pre08
+ provides = kodi-eventclients=18.8pre14
conflicts = kodi-eventclients
pkgname = kodi-tools-texturepacker-devel
@@ -220,12 +230,12 @@ pkgname = kodi-tools-texturepacker-devel
depends = giflib
depends = libjpeg-turbo
depends = lzo
- provides = kodi-tools-texturepacker=18.8pre08
+ provides = kodi-tools-texturepacker=18.8pre14
conflicts = kodi-tools-texturepacker
pkgname = kodi-dev-devel
pkgdesc = Kodi dev files
depends = kodi-devel
- provides = kodi-dev=18.8pre08
+ provides = kodi-dev=18.8pre14
conflicts = kodi-dev
diff --git a/18131.patch b/18131.patch
deleted file mode 100644
index abb2bc765201..000000000000
--- a/18131.patch
+++ /dev/null
@@ -1,1256 +0,0 @@
-diff --git a/xbmc/network/WebServer.cpp b/xbmc/network/WebServer.cpp
-index 7834042..a1c6923 100644
---- a/xbmc/network/WebServer.cpp
-+++ b/xbmc/network/WebServer.cpp
-@@ -36,14 +36,18 @@
-
- #define MAX_POST_BUFFER_SIZE 2048
-
--#define PAGE_FILE_NOT_FOUND "<html><head><title>File not found</title></head><body>File not found</body></html>"
--#define NOT_SUPPORTED "<html><head><title>Not Supported</title></head><body>The method you are trying to use is not supported by this server</body></html>"
-+#define PAGE_FILE_NOT_FOUND \
-+ "<html><head><title>File not found</title></head><body>File not found</body></html>"
-+#define NOT_SUPPORTED \
-+ "<html><head><title>Not Supported</title></head><body>The method you are trying to use is not " \
-+ "supported by this server</body></html>"
-
- #define HEADER_VALUE_NO_CACHE "no-cache"
-
--#define HEADER_NEWLINE "\r\n"
-+#define HEADER_NEWLINE "\r\n"
-
--typedef struct {
-+typedef struct
-+{
- std::shared_ptr<XFILE::CFile> file;
- CHttpRanges ranges;
- size_t rangeCountTotal;
-@@ -62,7 +66,7 @@ CWebServer::CWebServer()
- m_cert()
- {
- #if defined(TARGET_DARWIN)
-- void *stack_addr;
-+ void* stack_addr;
- pthread_attr_t attr;
- pthread_attr_init(&attr);
- pthread_attr_getstack(&attr, &stack_addr, &m_thread_stacksize);
-@@ -86,16 +90,16 @@ static MHD_Response* create_response(size_t size, const void* data, int free, in
- return MHD_create_response_from_buffer(size, const_cast<void*>(data), mode);
- }
-
--int CWebServer::AskForAuthentication(const HTTPRequest& request) const
-+MHD_RESULT CWebServer::AskForAuthentication(const HTTPRequest& request) const
- {
-- struct MHD_Response *response = create_response(0, nullptr, MHD_NO, MHD_NO);
-+ struct MHD_Response* response = create_response(0, nullptr, MHD_NO, MHD_NO);
- if (!response)
- {
- CLog::Log(LOGERROR, "CWebServer[%hu]: unable to create HTTP Unauthorized response", m_port);
- return MHD_NO;
- }
-
-- int ret = AddHeader(response, MHD_HTTP_HEADER_CONNECTION, "close");
-+ MHD_RESULT ret = AddHeader(response, MHD_HTTP_HEADER_CONNECTION, "close");
- if (!ret)
- {
- CLog::Log(LOGERROR, "CWebServer[%hu]: unable to prepare HTTP Unauthorized response", m_port);
-@@ -105,7 +109,10 @@ int CWebServer::AskForAuthentication(const HTTPRequest& request) const
-
- LogResponse(request, MHD_HTTP_UNAUTHORIZED);
-
-- ret = MHD_queue_basic_auth_fail_response(request.connection, "XBMC", response);
-+ // This MHD_RESULT cast is only necessary for libmicrohttpd 0.9.71
-+ // The return type of MHD_queue_basic_auth_fail_response was fixed for future versions
-+ // See https://git.gnunet.org/libmicrohttpd.git/commit/?id=860b42e9180da4dcd7e8690a3fcdb4e37e5772c5
-+ ret = (MHD_RESULT) MHD_queue_basic_auth_fail_response(request.connection, "XBMC", response);
- MHD_destroy_response(response);
-
- return ret;
-@@ -135,10 +142,14 @@ bool CWebServer::IsAuthenticated(const HTTPRequest& request) const
- return authenticated;
- }
-
--int CWebServer::AnswerToConnection(void *cls, struct MHD_Connection *connection,
-- const char *url, const char *method,
-- const char *version, const char *upload_data,
-- size_t *upload_data_size, void **con_cls)
-+MHD_RESULT CWebServer::AnswerToConnection(void* cls,
-+ struct MHD_Connection* connection,
-+ const char* url,
-+ const char* method,
-+ const char* version,
-+ const char* upload_data,
-+ size_t* upload_data_size,
-+ void** con_cls)
- {
- if (cls == nullptr || con_cls == nullptr || *con_cls == nullptr)
- {
-@@ -146,7 +157,7 @@ int CWebServer::AnswerToConnection(void *cls, struct MHD_Connection *connection,
- return MHD_NO;
- }
-
-- CWebServer *webServer = reinterpret_cast<CWebServer*>(cls);
-+ CWebServer* webServer = reinterpret_cast<CWebServer*>(cls);
- if (webServer == nullptr)
- {
- CLog::Log(LOGERROR, "CWebServer[unknown]: invalid request received");
-@@ -155,15 +166,22 @@ int CWebServer::AnswerToConnection(void *cls, struct MHD_Connection *connection,
-
- ConnectionHandler* connectionHandler = reinterpret_cast<ConnectionHandler*>(*con_cls);
- HTTPMethod methodType = GetHTTPMethod(method);
-- HTTPRequest request = { webServer, connection, connectionHandler->fullUri, url, methodType, version };
-+ HTTPRequest request = {webServer, connection, connectionHandler->fullUri,
-+ url, methodType, version};
-
- if (connectionHandler->isNew)
- webServer->LogRequest(request);
-
-- return webServer->HandlePartialRequest(connection, connectionHandler, request, upload_data, upload_data_size, con_cls);
-+ return webServer->HandlePartialRequest(connection, connectionHandler, request, upload_data,
-+ upload_data_size, con_cls);
- }
-
--int CWebServer::HandlePartialRequest(struct MHD_Connection *connection, ConnectionHandler* connectionHandler, const HTTPRequest& request, const char *upload_data, size_t *upload_data_size, void **con_cls)
-+MHD_RESULT CWebServer::HandlePartialRequest(struct MHD_Connection* connection,
-+ ConnectionHandler* connectionHandler,
-+ const HTTPRequest& request,
-+ const char* upload_data,
-+ size_t* upload_data_size,
-+ void** con_cls)
- {
- std::unique_ptr<ConnectionHandler> conHandler(connectionHandler);
-
-@@ -196,17 +214,18 @@ int CWebServer::HandlePartialRequest(struct MHD_Connection *connection, Connecti
- if (handler->GetLastModifiedDate(lastModified) && lastModified.IsValid())
- {
- // handle If-Modified-Since or If-Unmodified-Since
-- std::string ifModifiedSince = HTTPRequestHandlerUtils::GetRequestHeaderValue(connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_IF_MODIFIED_SINCE);
-- std::string ifUnmodifiedSince = HTTPRequestHandlerUtils::GetRequestHeaderValue(connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_IF_UNMODIFIED_SINCE);
-+ std::string ifModifiedSince = HTTPRequestHandlerUtils::GetRequestHeaderValue(
-+ connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_IF_MODIFIED_SINCE);
-+ std::string ifUnmodifiedSince = HTTPRequestHandlerUtils::GetRequestHeaderValue(
-+ connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_IF_UNMODIFIED_SINCE);
-
- CDateTime ifModifiedSinceDate;
- CDateTime ifUnmodifiedSinceDate;
- // handle If-Modified-Since (but only if the response is cacheable)
-- if (cacheable &&
-- ifModifiedSinceDate.SetFromRFC1123DateTime(ifModifiedSince) &&
-- lastModified.GetAsUTCDateTime() <= ifModifiedSinceDate)
-+ if (cacheable && ifModifiedSinceDate.SetFromRFC1123DateTime(ifModifiedSince) &&
-+ lastModified.GetAsUTCDateTime() <= ifModifiedSinceDate)
- {
-- struct MHD_Response *response = create_response(0, nullptr, MHD_NO, MHD_NO);
-+ struct MHD_Response* response = create_response(0, nullptr, MHD_NO, MHD_NO);
- if (response == nullptr)
- {
- CLog::Log(LOGERROR, "CWebServer[%hu]: failed to create a HTTP 304 response", m_port);
-@@ -217,7 +236,7 @@ int CWebServer::HandlePartialRequest(struct MHD_Connection *connection, Connecti
- }
- // handle If-Unmodified-Since
- else if (ifUnmodifiedSinceDate.SetFromRFC1123DateTime(ifUnmodifiedSince) &&
-- lastModified.GetAsUTCDateTime() > ifUnmodifiedSinceDate)
-+ lastModified.GetAsUTCDateTime() > ifUnmodifiedSinceDate)
- return SendErrorResponse(request, MHD_HTTP_PRECONDITION_FAILED, request.method);
- }
-
-@@ -231,7 +250,8 @@ int CWebServer::HandlePartialRequest(struct MHD_Connection *connection, Connecti
- // as ownership of the connection handler is passed to libmicrohttpd we must not destroy it
- SetupPostDataProcessing(request, conHandler.get(), handler, con_cls);
-
-- // as ownership of the connection handler has been passed to libmicrohttpd we must not destroy it
-+ // as ownership of the connection handler has been passed to libmicrohttpd we must not
-+ // destroy it
- conHandler.release();
-
- return MHD_YES;
-@@ -249,7 +269,8 @@ int CWebServer::HandlePartialRequest(struct MHD_Connection *connection, Connecti
- // process additional / remaining POST data
- if (ProcessPostData(request, conHandler.get(), upload_data, upload_data_size, con_cls))
- {
-- // as ownership of the connection handler has been passed to libmicrohttpd we must not destroy it
-+ // as ownership of the connection handler has been passed to libmicrohttpd we must not
-+ // destroy it
- conHandler.release();
-
- return MHD_YES;
-@@ -266,7 +287,8 @@ int CWebServer::HandlePartialRequest(struct MHD_Connection *connection, Connecti
- return HandleRequest(conHandler->requestHandler);
- }
-
-- // it's unusual to get more than one call to AnswerToConnection for none-POST requests, but let's handle it anyway
-+ // it's unusual to get more than one call to AnswerToConnection for none-POST requests, but
-+ // let's handle it anyway
- auto requestHandler = FindRequestHandler(request);
- if (requestHandler != nullptr)
- return HandleRequest(requestHandler);
-@@ -276,15 +298,20 @@ int CWebServer::HandlePartialRequest(struct MHD_Connection *connection, Connecti
- return SendErrorResponse(request, MHD_HTTP_NOT_FOUND, request.method);
- }
-
--int CWebServer::HandlePostField(void *cls, enum MHD_ValueKind kind, const char *key,
-- const char *filename, const char *content_type,
-- const char *transfer_encoding, const char *data, uint64_t off,
-- size_t size)
-+MHD_RESULT CWebServer::HandlePostField(void* cls,
-+ enum MHD_ValueKind kind,
-+ const char* key,
-+ const char* filename,
-+ const char* content_type,
-+ const char* transfer_encoding,
-+ const char* data,
-+ uint64_t off,
-+ size_t size)
- {
-- ConnectionHandler *conHandler = (ConnectionHandler *)cls;
-+ ConnectionHandler* conHandler = (ConnectionHandler*)cls;
-
-- if (conHandler == nullptr || conHandler->requestHandler == nullptr ||
-- key == nullptr || data == nullptr || size == 0)
-+ if (conHandler == nullptr || conHandler->requestHandler == nullptr || key == nullptr ||
-+ data == nullptr || size == 0)
- {
- CLog::Log(LOGERROR, "CWebServer: unable to handle HTTP POST field");
- return MHD_NO;
-@@ -294,21 +321,21 @@ int CWebServer::HandlePostField(void *cls, enum MHD_ValueKind kind, const char *
- return MHD_YES;
- }
-
--int CWebServer::HandleRequest(const std::shared_ptr<IHTTPRequestHandler>& handler)
-+MHD_RESULT CWebServer::HandleRequest(const std::shared_ptr<IHTTPRequestHandler>& handler)
- {
- if (handler == nullptr)
- return MHD_NO;
-
- HTTPRequest request = handler->GetRequest();
-- int ret = handler->HandleRequest();
-+ MHD_RESULT ret = handler->HandleRequest();
- if (ret == MHD_NO)
- {
- CLog::Log(LOGERROR, "CWebServer[%hu]: failed to handle HTTP request for %s", m_port, request.pathUrl.c_str());
- return SendErrorResponse(request, MHD_HTTP_INTERNAL_SERVER_ERROR, request.method);
- }
-
-- const HTTPResponseDetails &responseDetails = handler->GetResponseDetails();
-- struct MHD_Response *response = nullptr;
-+ const HTTPResponseDetails& responseDetails = handler->GetResponseDetails();
-+ struct MHD_Response* response = nullptr;
- switch (responseDetails.type)
- {
- case HTTPNone:
-@@ -331,7 +358,8 @@ int CWebServer::HandleRequest(const std::shared_ptr<IHTTPRequestHandler>& handle
- break;
-
- case HTTPError:
-- ret = CreateErrorResponse(request.connection, responseDetails.status, request.method, response);
-+ ret =
-+ CreateErrorResponse(request.connection, responseDetails.status, request.method, response);
- break;
-
- default:
-@@ -348,13 +376,15 @@ int CWebServer::HandleRequest(const std::shared_ptr<IHTTPRequestHandler>& handle
- return FinalizeRequest(handler, responseDetails.status, response);
- }
-
--int CWebServer::FinalizeRequest(const std::shared_ptr<IHTTPRequestHandler>& handler, int responseStatus, struct MHD_Response *response)
-+MHD_RESULT CWebServer::FinalizeRequest(const std::shared_ptr<IHTTPRequestHandler>& handler,
-+ int responseStatus,
-+ struct MHD_Response* response)
- {
- if (handler == nullptr || response == nullptr)
- return MHD_NO;
-
-- const HTTPRequest &request = handler->GetRequest();
-- const HTTPResponseDetails &responseDetails = handler->GetResponseDetails();
-+ const HTTPRequest& request = handler->GetRequest();
-+ const HTTPResponseDetails& responseDetails = handler->GetResponseDetails();
-
- // if the request handler has set a content type and it hasn't been set as a header, add it
- if (!responseDetails.contentType.empty())
-@@ -380,7 +410,8 @@ int CWebServer::FinalizeRequest(const std::shared_ptr<IHTTPRequestHandler>& hand
-
- // if the response can't be cached or the maximum age is 0 force the client not to cache
- if (!handler->CanBeCached() || maxAge == 0)
-- handler->AddResponseHeader(MHD_HTTP_HEADER_CACHE_CONTROL, "private, max-age=0, " HEADER_VALUE_NO_CACHE);
-+ handler->AddResponseHeader(MHD_HTTP_HEADER_CACHE_CONTROL,
-+ "private, max-age=0, " HEADER_VALUE_NO_CACHE);
- else
- {
- // create the value of the Cache-Control header
-@@ -416,14 +447,14 @@ int CWebServer::FinalizeRequest(const std::shared_ptr<IHTTPRequestHandler>& hand
- return SendResponse(request, responseStatus, response);
- }
-
--std::shared_ptr<IHTTPRequestHandler> CWebServer::FindRequestHandler(const HTTPRequest& request) const
-+std::shared_ptr<IHTTPRequestHandler> CWebServer::FindRequestHandler(
-+ const HTTPRequest& request) const
- {
- // look for a IHTTPRequestHandler which can take care of the current request
- auto requestHandlerIt = std::find_if(m_requestHandlers.cbegin(), m_requestHandlers.cend(),
-- [&request](const IHTTPRequestHandler* requestHandler)
-- {
-- return requestHandler->CanHandleRequest(request);
-- });
-+ [&request](const IHTTPRequestHandler* requestHandler) {
-+ return requestHandler->CanHandleRequest(request);
-+ });
-
- // we found a matching IHTTPRequestHandler so let's get a new instance for this request
- if (requestHandlerIt != m_requestHandlers.cend())
-@@ -435,7 +466,8 @@ std::shared_ptr<IHTTPRequestHandler> CWebServer::FindRequestHandler(const HTTPRe
- bool CWebServer::IsRequestCacheable(const HTTPRequest& request) const
- {
- // handle Cache-Control
-- std::string cacheControl = HTTPRequestHandlerUtils::GetRequestHeaderValue(request.connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_CACHE_CONTROL);
-+ std::string cacheControl = HTTPRequestHandlerUtils::GetRequestHeaderValue(
-+ request.connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_CACHE_CONTROL);
- if (!cacheControl.empty())
- {
- std::vector<std::string> cacheControls = StringUtils::Split(cacheControl, ",");
-@@ -450,23 +482,26 @@ bool CWebServer::IsRequestCacheable(const HTTPRequest& request) const
- }
-
- // handle Pragma
-- std::string pragma = HTTPRequestHandlerUtils::GetRequestHeaderValue(request.connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_PRAGMA);
-+ std::string pragma = HTTPRequestHandlerUtils::GetRequestHeaderValue(
-+ request.connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_PRAGMA);
- if (pragma.compare(HEADER_VALUE_NO_CACHE) == 0)
- return false;
-
- return true;
- }
-
--bool CWebServer::IsRequestRanged(const HTTPRequest& request, const CDateTime &lastModified) const
-+bool CWebServer::IsRequestRanged(const HTTPRequest& request, const CDateTime& lastModified) const
- {
- // parse the Range header and store it in the request object
- CHttpRanges ranges;
-- bool ranged = ranges.Parse(HTTPRequestHandlerUtils::GetRequestHeaderValue(request.connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_RANGE));
-+ bool ranged = ranges.Parse(HTTPRequestHandlerUtils::GetRequestHeaderValue(
-+ request.connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_RANGE));
-
- // handle If-Range header but only if the Range header is present
- if (ranged && lastModified.IsValid())
- {
-- std::string ifRange = HTTPRequestHandlerUtils::GetRequestHeaderValue(request.connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_IF_RANGE);
-+ std::string ifRange = HTTPRequestHandlerUtils::GetRequestHeaderValue(
-+ request.connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_IF_RANGE);
- if (!ifRange.empty() && lastModified.IsValid())
- {
- CDateTime ifRangeDate;
-@@ -482,25 +517,33 @@ bool CWebServer::IsRequestRanged(const HTTPRequest& request, const CDateTime &la
- return !ranges.IsEmpty();
- }
-
--void CWebServer::SetupPostDataProcessing(const HTTPRequest& request, ConnectionHandler *connectionHandler, std::shared_ptr<IHTTPRequestHandler> handler, void **con_cls) const
-+void CWebServer::SetupPostDataProcessing(const HTTPRequest& request,
-+ ConnectionHandler* connectionHandler,
-+ std::shared_ptr<IHTTPRequestHandler> handler,
-+ void** con_cls) const
- {
- connectionHandler->requestHandler = handler;
-
-- // we might need to handle the POST data ourselves which is done in the next call to AnswerToConnection
-+ // we might need to handle the POST data ourselves which is done in the next call to
-+ // AnswerToConnection
- *con_cls = connectionHandler;
-
- // get the content-type of the POST data
-- const auto contentType = HTTPRequestHandlerUtils::GetRequestHeaderValue(request.connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_CONTENT_TYPE);
-+ const auto contentType = HTTPRequestHandlerUtils::GetRequestHeaderValue(
-+ request.connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_CONTENT_TYPE);
- if (contentType.empty())
- return;
-
-- // if the content-type is neither application/x-ww-form-urlencoded nor multipart/form-data we need to handle it ourselves
-+ // if the content-type is neither application/x-ww-form-urlencoded nor multipart/form-data we need
-+ // to handle it ourselves
- if (!StringUtils::EqualsNoCase(contentType, MHD_HTTP_POST_ENCODING_FORM_URLENCODED) &&
- !StringUtils::EqualsNoCase(contentType, MHD_HTTP_POST_ENCODING_MULTIPART_FORMDATA))
- return;
-
- // otherwise we can use MHD's POST processor
-- connectionHandler->postprocessor = MHD_create_post_processor(request.connection, MAX_POST_BUFFER_SIZE, &CWebServer::HandlePostField, static_cast<void*>(connectionHandler));
-+ connectionHandler->postprocessor = MHD_create_post_processor(
-+ request.connection, MAX_POST_BUFFER_SIZE, &CWebServer::HandlePostField,
-+ static_cast<void*>(connectionHandler));
-
- // MHD doesn't seem to be able to handle this post request
- if (connectionHandler->postprocessor == nullptr)
-@@ -510,7 +553,11 @@ void CWebServer::SetupPostDataProcessing(const HTTPRequest& request, ConnectionH
- }
- }
-
--bool CWebServer::ProcessPostData(const HTTPRequest& request, ConnectionHandler *connectionHandler, const char *upload_data, size_t *upload_data_size, void **con_cls) const
-+bool CWebServer::ProcessPostData(const HTTPRequest& request,
-+ ConnectionHandler* connectionHandler,
-+ const char* upload_data,
-+ size_t* upload_data_size,
-+ void** con_cls) const
- {
- if (connectionHandler->requestHandler == nullptr)
- {
-@@ -531,10 +578,12 @@ bool CWebServer::ProcessPostData(const HTTPRequest& request, ConnectionHandler *
- bool postDataHandled = false;
- // either use MHD's POST processor
- if (connectionHandler->postprocessor != nullptr)
-- postDataHandled = MHD_post_process(connectionHandler->postprocessor, upload_data, *upload_data_size) == MHD_YES;
-+ postDataHandled = MHD_post_process(connectionHandler->postprocessor, upload_data,
-+ *upload_data_size) == MHD_YES;
- // or simply copy the data to the handler
- else if (connectionHandler->requestHandler != nullptr)
-- postDataHandled = connectionHandler->requestHandler->AddPostData(upload_data, *upload_data_size);
-+ postDataHandled =
-+ connectionHandler->requestHandler->AddPostData(upload_data, *upload_data_size);
-
- // abort if the received POST data couldn't be handled
- if (!postDataHandled)
-@@ -554,7 +603,7 @@ bool CWebServer::ProcessPostData(const HTTPRequest& request, ConnectionHandler *
- return true;
- }
-
--void CWebServer::FinalizePostDataProcessing(ConnectionHandler *connectionHandler) const
-+void CWebServer::FinalizePostDataProcessing(ConnectionHandler* connectionHandler) const
- {
- if (connectionHandler->postprocessor == nullptr)
- return;
-@@ -562,13 +611,14 @@ void CWebServer::FinalizePostDataProcessing(ConnectionHandler *connectionHandler
- MHD_destroy_post_processor(connectionHandler->postprocessor);
- }
-
--int CWebServer::CreateMemoryDownloadResponse(const std::shared_ptr<IHTTPRequestHandler>& handler, struct MHD_Response *&response) const
-+MHD_RESULT CWebServer::CreateMemoryDownloadResponse(
-+ const std::shared_ptr<IHTTPRequestHandler>& handler, struct MHD_Response*& response) const
- {
- if (handler == nullptr)
- return MHD_NO;
-
-- const HTTPRequest &request = handler->GetRequest();
-- const HTTPResponseDetails &responseDetails = handler->GetResponseDetails();
-+ const HTTPRequest& request = handler->GetRequest();
-+ const HTTPResponseDetails& responseDetails = handler->GetResponseDetails();
- HttpResponseRanges responseRanges = handler->GetResponseData();
-
- // check if the response is completely empty
-@@ -577,7 +627,7 @@ int CWebServer::CreateMemoryDownloadResponse(const std::shared_ptr<IHTTPRequestH
-
- // check if the response contains more ranges than the request asked for
- if ((request.ranges.IsEmpty() && responseRanges.size() > 1) ||
-- (!request.ranges.IsEmpty() && responseRanges.size() > request.ranges.Size()))
-+ (!request.ranges.IsEmpty() && responseRanges.size() > request.ranges.Size()))
- {
- CLog::Log(LOGWARNING, "CWebServer[%hu]: response contains more ranges (%d) than the request asked for (%d)", m_port, (int)responseRanges.size(), (int)request.ranges.Size());
- return SendErrorResponse(request, MHD_HTTP_INTERNAL_SERVER_ERROR, request.method);
-@@ -600,33 +650,38 @@ int CWebServer::CreateMemoryDownloadResponse(const std::shared_ptr<IHTTPRequestH
-
- switch (responseDetails.type)
- {
-- case HTTPMemoryDownloadNoFreeNoCopy:
-- return CreateMemoryDownloadResponse(request.connection, responseData, responseDataLength, false, false, response);
-+ case HTTPMemoryDownloadNoFreeNoCopy:
-+ return CreateMemoryDownloadResponse(request.connection, responseData, responseDataLength,
-+ false, false, response);
-
-- case HTTPMemoryDownloadNoFreeCopy:
-- return CreateMemoryDownloadResponse(request.connection, responseData, responseDataLength, false, true, response);
-+ case HTTPMemoryDownloadNoFreeCopy:
-+ return CreateMemoryDownloadResponse(request.connection, responseData, responseDataLength,
-+ false, true, response);
-
-- case HTTPMemoryDownloadFreeNoCopy:
-- return CreateMemoryDownloadResponse(request.connection, responseData, responseDataLength, true, false, response);
-+ case HTTPMemoryDownloadFreeNoCopy:
-+ return CreateMemoryDownloadResponse(request.connection, responseData, responseDataLength,
-+ true, false, response);
-
-- case HTTPMemoryDownloadFreeCopy:
-- return CreateMemoryDownloadResponse(request.connection, responseData, responseDataLength, true, true, response);
-+ case HTTPMemoryDownloadFreeCopy:
-+ return CreateMemoryDownloadResponse(request.connection, responseData, responseDataLength,
-+ true, true, response);
-
-- default:
-- return SendErrorResponse(request, MHD_HTTP_INTERNAL_SERVER_ERROR, request.method);
-+ default:
-+ return SendErrorResponse(request, MHD_HTTP_INTERNAL_SERVER_ERROR, request.method);
- }
- }
-
- return CreateRangedMemoryDownloadResponse(handler, response);
- }
-
--int CWebServer::CreateRangedMemoryDownloadResponse(const std::shared_ptr<IHTTPRequestHandler>& handler, struct MHD_Response *&response) const
-+MHD_RESULT CWebServer::CreateRangedMemoryDownloadResponse(
-+ const std::shared_ptr<IHTTPRequestHandler>& handler, struct MHD_Response*& response) const
- {
- if (handler == nullptr)
- return MHD_NO;
-
-- const HTTPRequest &request = handler->GetRequest();
-- const HTTPResponseDetails &responseDetails = handler->GetResponseDetails();
-+ const HTTPRequest& request = handler->GetRequest();
-+ const HTTPResponseDetails& responseDetails = handler->GetResponseDetails();
- HttpResponseRanges responseRanges = handler->GetResponseData();
-
- // if there's no or only one range this is not the right place
-@@ -658,8 +713,10 @@ int CWebServer::CreateRangedMemoryDownloadResponse(const std::shared_ptr<IHTTPRe
- // adjust the HTTP status of the response
- handler->SetResponseStatus(MHD_HTTP_PARTIAL_CONTENT);
- // add Content-Range header
-- handler->AddResponseHeader(MHD_HTTP_HEADER_CONTENT_RANGE,
-- HttpRangeUtils::GenerateContentRangeHeaderValue(firstRangePosition, lastRangePosition, responseDetails.totalLength));
-+ handler->AddResponseHeader(
-+ MHD_HTTP_HEADER_CONTENT_RANGE,
-+ HttpRangeUtils::GenerateContentRangeHeaderValue(firstRangePosition, lastRangePosition,
-+ responseDetails.totalLength));
-
- // generate a multipart boundary
- std::string multipartBoundary = HttpRangeUtils::GenerateMultipartBoundary();
-@@ -670,7 +727,8 @@ int CWebServer::CreateRangedMemoryDownloadResponse(const std::shared_ptr<IHTTPRe
- handler->AddResponseHeader(MHD_HTTP_HEADER_CONTENT_TYPE, contentType);
-
- // generate the multipart boundary with the Content-Type header field
-- std::string multipartBoundaryWithHeader = HttpRangeUtils::GenerateMultipartBoundaryWithHeader(multipartBoundary, contentType);
-+ std::string multipartBoundaryWithHeader =
-+ HttpRangeUtils::GenerateMultipartBoundaryWithHeader(multipartBoundary, contentType);
-
- std::string result;
- // add all the ranges to the result
-@@ -680,14 +738,18 @@ int CWebServer::CreateRangedMemoryDownloadResponse(const std::shared_ptr<IHTTPRe
- if (range != ranges.begin())
- result += HEADER_NEWLINE;
-
-- // generate and append the multipart boundary with the full header (Content-Type and Content-Length)
-- result += HttpRangeUtils::GenerateMultipartBoundaryWithHeader(multipartBoundaryWithHeader, &*range);
-+ // generate and append the multipart boundary with the full header (Content-Type and
-+ // Content-Length)
-+ result +=
-+ HttpRangeUtils::GenerateMultipartBoundaryWithHeader(multipartBoundaryWithHeader, &*range);
-
- // and append the data of the range
-- result.append(static_cast<const char*>(range->GetData()), static_cast<size_t>(range->GetLength()));
-+ result.append(static_cast<const char*>(range->GetData()),
-+ static_cast<size_t>(range->GetLength()));
-
- // check if we need to free the range data
-- if (responseDetails.type == HTTPMemoryDownloadFreeNoCopy || responseDetails.type == HTTPMemoryDownloadFreeCopy)
-+ if (responseDetails.type == HTTPMemoryDownloadFreeNoCopy ||
-+ responseDetails.type == HTTPMemoryDownloadFreeCopy)
- free(const_cast<void*>(range->GetData()));
- }
-
-@@ -697,10 +759,13 @@ int CWebServer::CreateRangedMemoryDownloadResponse(const std::shared_ptr<IHTTPRe
- handler->AddResponseHeader(MHD_HTTP_HEADER_CONTENT_LENGTH, StringUtils::Format("%" PRIu64, static_cast<uint64_t>(result.size())));
-
- // finally create the response
-- return CreateMemoryDownloadResponse(request.connection, result.c_str(), result.size(), false, true, response);
-+ return CreateMemoryDownloadResponse(request.connection, result.c_str(), result.size(), false,
-+ true, response);
- }
-
--int CWebServer::CreateRedirect(struct MHD_Connection *connection, const std::string &strURL, struct MHD_Response *&response) const
-+MHD_RESULT CWebServer::CreateRedirect(struct MHD_Connection* connection,
-+ const std::string& strURL,
-+ struct MHD_Response*& response) const
- {
- response = create_response(0, nullptr, MHD_NO, MHD_NO);
- if (response == nullptr)
-@@ -713,13 +778,14 @@ int CWebServer::CreateRedirect(struct MHD_Connection *connection, const std::str
- return MHD_YES;
- }
-
--int CWebServer::CreateFileDownloadResponse(const std::shared_ptr<IHTTPRequestHandler>& handler, struct MHD_Response *&response) const
-+MHD_RESULT CWebServer::CreateFileDownloadResponse(
-+ const std::shared_ptr<IHTTPRequestHandler>& handler, struct MHD_Response*& response) const
- {
- if (handler == nullptr)
- return MHD_NO;
-
-- const HTTPRequest &request = handler->GetRequest();
-- const HTTPResponseDetails &responseDetails = handler->GetResponseDetails();
-+ const HTTPRequest& request = handler->GetRequest();
-+ const HTTPResponseDetails& responseDetails = handler->GetResponseDetails();
- HttpResponseRanges responseRanges = handler->GetResponseData();
-
- std::shared_ptr<XFILE::CFile> file = std::make_shared<XFILE::CFile>();
-@@ -761,7 +827,8 @@ int CWebServer::CreateFileDownloadResponse(const std::shared_ptr<IHTTPRequestHan
- if (!request.ranges.IsEmpty())
- context->ranges = request.ranges;
- else
-- HTTPRequestHandlerUtils::GetRequestedRanges(request.connection, fileLength, context->ranges);
-+ HTTPRequestHandlerUtils::GetRequestedRanges(request.connection, fileLength,
-+ context->ranges);
- }
-
- uint64_t firstPosition = 0;
-@@ -773,7 +840,8 @@ int CWebServer::CreateFileDownloadResponse(const std::shared_ptr<IHTTPRequestHan
- {
- handler->SetResponseStatus(MHD_HTTP_PARTIAL_CONTENT);
-
-- // we need to remember that we are ranged because the range length might change and won't be reliable anymore for length comparisons
-+ // we need to remember that we are ranged because the range length might change and won't be
-+ // reliable anymore for length comparisons
- ranged = true;
-
- context->ranges.GetFirstPosition(firstPosition);
-@@ -785,7 +853,8 @@ int CWebServer::CreateFileDownloadResponse(const std::shared_ptr<IHTTPRequestHan
- // remember the total length
- totalLength = context->ranges.GetLength();
-
-- // adjust the MIME type and range length in case of multiple ranges which requires multipart boundaries
-+ // adjust the MIME type and range length in case of multiple ranges which requires multipart
-+ // boundaries
- if (context->rangeCountTotal > 1)
- {
- context->boundary = HttpRangeUtils::GenerateMultipartBoundary();
-@@ -793,14 +862,19 @@ int CWebServer::CreateFileDownloadResponse(const std::shared_ptr<IHTTPRequestHan
-
- // build part of the boundary with the optional Content-Type header
- // "--<boundary>\r\nContent-Type: <content-type>\r\n
-- context->boundaryWithHeader = HttpRangeUtils::GenerateMultipartBoundaryWithHeader(context->boundary, context->contentType);
-+ context->boundaryWithHeader = HttpRangeUtils::GenerateMultipartBoundaryWithHeader(
-+ context->boundary, context->contentType);
- context->boundaryEnd = HttpRangeUtils::GenerateMultipartBoundaryEnd(context->boundary);
-
- // for every range, we need to add a boundary with header
-- for (HttpRanges::const_iterator range = context->ranges.Begin(); range != context->ranges.End(); ++range)
-+ for (HttpRanges::const_iterator range = context->ranges.Begin();
-+ range != context->ranges.End(); ++range)
- {
-- // we need to temporarily add the Content-Range header to the boundary to be able to determine the length
-- std::string completeBoundaryWithHeader = HttpRangeUtils::GenerateMultipartBoundaryWithHeader(context->boundaryWithHeader, &*range);
-+ // we need to temporarily add the Content-Range header to the boundary to be able to
-+ // determine the length
-+ std::string completeBoundaryWithHeader =
-+ HttpRangeUtils::GenerateMultipartBoundaryWithHeader(context->boundaryWithHeader,
-+ &*range);
- totalLength += completeBoundaryWithHeader.size();
-
- // add a newline before any new multipart boundary
-@@ -815,10 +889,9 @@ int CWebServer::CreateFileDownloadResponse(const std::shared_ptr<IHTTPRequestHan
- context->ranges.GetFirstPosition(context->writePosition);
-
- // create the response object
-- response = MHD_create_response_from_callback(totalLength, 2048,
-- &CWebServer::ContentReaderCallback,
-- context.get(),
-- &CWebServer::ContentReaderFreeCallback);
-+ response =
-+ MHD_create_response_from_callback(totalLength, 2048, &CWebServer::ContentReaderCallback,
-+ context.get(), &CWebServer::ContentReaderFreeCallback);
- if (response == nullptr)
- {
- CLog::Log(LOGERROR, "CWebServer[%hu]: failed to create a HTTP response for %s to be filled from %s", m_port, request.pathUrl.c_str(), filePath.c_str());
-@@ -829,7 +902,9 @@ int CWebServer::CreateFileDownloadResponse(const std::shared_ptr<IHTTPRequestHan
-
- // add Content-Range header
- if (ranged)
-- handler->AddResponseHeader(MHD_HTTP_HEADER_CONTENT_RANGE, HttpRangeUtils::GenerateContentRangeHeaderValue(firstPosition, lastPosition, fileLength));
-+ handler->AddResponseHeader(
-+ MHD_HTTP_HEADER_CONTENT_RANGE,
-+ HttpRangeUtils::GenerateContentRangeHeaderValue(firstPosition, lastPosition, fileLength));
- }
- else
- {
-@@ -850,10 +925,13 @@ int CWebServer::CreateFileDownloadResponse(const std::shared_ptr<IHTTPRequestHan
- return MHD_YES;
- }
-
--int CWebServer::CreateErrorResponse(struct MHD_Connection *connection, int responseType, HTTPMethod method, struct MHD_Response *&response) const
-+MHD_RESULT CWebServer::CreateErrorResponse(struct MHD_Connection* connection,
-+ int responseType,
-+ HTTPMethod method,
-+ struct MHD_Response*& response) const
- {
- size_t payloadSize = 0;
-- const void *payload = nullptr;
-+ const void* payload = nullptr;
-
- if (method != HEAD)
- {
-@@ -861,12 +939,12 @@ int CWebServer::CreateErrorResponse(struct MHD_Connection *connection, int respo
- {
- case MHD_HTTP_NOT_FOUND:
- payloadSize = strlen(PAGE_FILE_NOT_FOUND);
-- payload = (const void *)PAGE_FILE_NOT_FOUND;
-+ payload = (const void*)PAGE_FILE_NOT_FOUND;
- break;
-
- case MHD_HTTP_NOT_IMPLEMENTED:
- payloadSize = strlen(NOT_SUPPORTED);
-- payload = (const void *)NOT_SUPPORTED;
-+ payload = (const void*)NOT_SUPPORTED;
- break;
- }
- }
-@@ -881,9 +959,15 @@ int CWebServer::CreateErrorResponse(struct MHD_Connection *connection, int respo
- return MHD_YES;
- }
-
--int CWebServer::CreateMemoryDownloadResponse(struct MHD_Connection *connection, const void *data, size_t size, bool free, bool copy, struct MHD_Response *&response) const
-+MHD_RESULT CWebServer::CreateMemoryDownloadResponse(struct MHD_Connection* connection,
-+ const void* data,
-+ size_t size,
-+ bool free,
-+ bool copy,
-+ struct MHD_Response*& response) const
- {
-- response = create_response(size, const_cast<void*>(data), free ? MHD_YES : MHD_NO, copy ? MHD_YES : MHD_NO);
-+ response = create_response(size, const_cast<void*>(data), free ? MHD_YES : MHD_NO,
-+ copy ? MHD_YES : MHD_NO);
- if (response == nullptr)
- {
- CLog::Log(LOGERROR, "CWebServer[%hu]: failed to create a HTTP download response", m_port);
-@@ -893,29 +977,33 @@ int CWebServer::CreateMemoryDownloadResponse(struct MHD_Connection *connection,
- return MHD_YES;
- }
-
--int CWebServer::SendResponse(const HTTPRequest& request, int responseStatus, MHD_Response *response) const
-+MHD_RESULT CWebServer::SendResponse(const HTTPRequest& request,
-+ int responseStatus,
-+ MHD_Response* response) const
- {
- LogResponse(request, responseStatus);
-
-- int ret = MHD_queue_response(request.connection, responseStatus, response);
-+ MHD_RESULT ret = MHD_queue_response(request.connection, responseStatus, response);
- MHD_destroy_response(response);
-
- return ret;
- }
-
--int CWebServer::SendErrorResponse(const HTTPRequest& request, int errorType, HTTPMethod method) const
-+MHD_RESULT CWebServer::SendErrorResponse(const HTTPRequest& request,
-+ int errorType,
-+ HTTPMethod method) const
- {
-- struct MHD_Response *response = nullptr;
-- int ret = CreateErrorResponse(request.connection, errorType, method, response);
-+ struct MHD_Response* response = nullptr;
-+ MHD_RESULT ret = CreateErrorResponse(request.connection, errorType, method, response);
- if (ret == MHD_NO)
- return MHD_NO;
-
- return SendResponse(request, errorType, response);
- }
-
--void* CWebServer::UriRequestLogger(void *cls, const char *uri)
-+void* CWebServer::UriRequestLogger(void* cls, const char* uri)
- {
-- CWebServer *webServer = reinterpret_cast<CWebServer*>(cls);
-+ CWebServer* webServer = reinterpret_cast<CWebServer*>(cls);
-
- // log the full URI
- if (webServer == nullptr)
-@@ -935,9 +1023,9 @@ void CWebServer::LogRequest(const char* uri) const
- CLog::Log(LOGDEBUG, "CWebServer[%hu]: request received for %s", m_port, uri);
- }
-
--ssize_t CWebServer::ContentReaderCallback(void *cls, uint64_t pos, char *buf, size_t max)
-+ssize_t CWebServer::ContentReaderCallback(void* cls, uint64_t pos, char* buf, size_t max)
- {
-- HttpFileDownloadContext *context = (HttpFileDownloadContext *)cls;
-+ HttpFileDownloadContext* context = (HttpFileDownloadContext*)cls;
- if (context == nullptr || context->file == nullptr)
- return -1;
-
-@@ -978,7 +1066,8 @@ ssize_t CWebServer::ContentReaderCallback(void *cls, uint64_t pos, char *buf, si
- }
-
- // put together the boundary for the current range
-- std::string boundary = HttpRangeUtils::GenerateMultipartBoundaryWithHeader(context->boundaryWithHeader, &range);
-+ std::string boundary =
-+ HttpRangeUtils::GenerateMultipartBoundaryWithHeader(context->boundaryWithHeader, &range);
-
- // copy the boundary into the buffer
- memcpy(buf, boundary.c_str(), boundary.size());
-@@ -999,7 +1088,8 @@ ssize_t CWebServer::ContentReaderCallback(void *cls, uint64_t pos, char *buf, si
- maximum = std::min(maximum, end - context->writePosition + 1);
-
- // seek to the position if necessary
-- if (context->file->GetPosition() < 0 || context->writePosition != static_cast<uint64_t>(context->file->GetPosition()))
-+ if (context->file->GetPosition() < 0 ||
-+ context->writePosition != static_cast<uint64_t>(context->file->GetPosition()))
- context->file->Seek(context->writePosition);
-
- // read data from the file
-@@ -1026,16 +1116,19 @@ ssize_t CWebServer::ContentReaderCallback(void *cls, uint64_t pos, char *buf, si
- return written;
- }
-
--void CWebServer::ContentReaderFreeCallback(void *cls)
-+void CWebServer::ContentReaderFreeCallback(void* cls)
- {
-- HttpFileDownloadContext *context = (HttpFileDownloadContext *)cls;
-+ HttpFileDownloadContext* context = (HttpFileDownloadContext*)cls;
- delete context;
-
- CLog::Log(LOGDEBUG, LOGWEBSERVER, "CWebServer [OUT] done");
- }
-
- // local helper
--static void panicHandlerForMHD(void* unused, const char* file, unsigned int line, const char *reason)
-+static void panicHandlerForMHD(void* unused,
-+ const char* file,
-+ unsigned int line,
-+ const char* reason)
- {
- CLog::Log(LOGSEVERE, "CWebServer: MHD serious error: reason \"%s\" in file \"%s\" at line %ui", reason ? reason : "",
- file ? file : "", line);
-@@ -1063,7 +1156,7 @@ static void logFromMHD(void* unused, const char* fmt, va_list ap)
- }
- }
-
--bool CWebServer::LoadCert(std::string &skey, std::string &scert)
-+bool CWebServer::LoadCert(std::string& skey, std::string& scert)
- {
- XFILE::CFile file;
- XFILE::auto_buffer buf;
-@@ -1106,63 +1199,52 @@ struct MHD_Daemon* CWebServer::StartMHD(unsigned int flags, int port)
-
- MHD_set_panic_func(&panicHandlerForMHD, nullptr);
-
-- if (CServiceBroker::GetSettingsComponent()->GetSettings()->GetBool(CSettings::SETTING_SERVICES_WEBSERVERSSL) &&
-- MHD_is_feature_supported(MHD_FEATURE_SSL) == MHD_YES &&
-- LoadCert(m_key, m_cert))
-+ if (CServiceBroker::GetSettingsComponent()->GetSettings()->GetBool(
-+ CSettings::SETTING_SERVICES_WEBSERVERSSL) &&
-+ MHD_is_feature_supported(MHD_FEATURE_SSL) == MHD_YES && LoadCert(m_key, m_cert))
- // SSL enabled
-- return MHD_start_daemon(flags |
-- // one thread per connection
-- // WARNING: set MHD_OPTION_CONNECTION_TIMEOUT to something higher than 1
-- // otherwise on libmicrohttpd 0.4.4-1 it spins a busy loop
-- MHD_USE_THREAD_PER_CONNECTION
-+ return MHD_start_daemon(
-+ flags |
-+ // one thread per connection
-+ // WARNING: set MHD_OPTION_CONNECTION_TIMEOUT to something higher than 1
-+ // otherwise on libmicrohttpd 0.4.4-1 it spins a busy loop
-+ MHD_USE_THREAD_PER_CONNECTION
- #if (MHD_VERSION >= 0x00095207)
-- | MHD_USE_INTERNAL_POLLING_THREAD /* MHD_USE_THREAD_PER_CONNECTION must be used only with MHD_USE_INTERNAL_POLLING_THREAD since 0.9.54 */
-+ |
-+ MHD_USE_INTERNAL_POLLING_THREAD /* MHD_USE_THREAD_PER_CONNECTION must be used only with
-+ MHD_USE_INTERNAL_POLLING_THREAD since 0.9.54 */
- #endif
-- | MHD_USE_DEBUG /* Print MHD error messages to log */
-- | MHD_USE_SSL
-- ,
-- port,
-- 0,
-- 0,
-- &CWebServer::AnswerToConnection,
-- this,
--
-- MHD_OPTION_CONNECTION_LIMIT, 512,
-- MHD_OPTION_CONNECTION_TIMEOUT, timeout,
-- MHD_OPTION_URI_LOG_CALLBACK, &CWebServer::UriRequestLogger, this,
-- MHD_OPTION_EXTERNAL_LOGGER, &logFromMHD, 0,
-- MHD_OPTION_THREAD_STACK_SIZE, m_thread_stacksize,
-- MHD_OPTION_HTTPS_MEM_KEY, m_key.c_str(),
-- MHD_OPTION_HTTPS_MEM_CERT, m_cert.c_str(),
-- MHD_OPTION_HTTPS_PRIORITIES, ciphers,
-- MHD_OPTION_END);
-+ | MHD_USE_DEBUG /* Print MHD error messages to log */
-+ | MHD_USE_SSL,
-+ port, 0, 0, &CWebServer::AnswerToConnection, this,
-+
-+ MHD_OPTION_CONNECTION_LIMIT, 512, MHD_OPTION_CONNECTION_TIMEOUT, timeout,
-+ MHD_OPTION_URI_LOG_CALLBACK, &CWebServer::UriRequestLogger, this,
-+ MHD_OPTION_EXTERNAL_LOGGER, &logFromMHD, 0, MHD_OPTION_THREAD_STACK_SIZE,
-+ m_thread_stacksize, MHD_OPTION_HTTPS_MEM_KEY, m_key.c_str(), MHD_OPTION_HTTPS_MEM_CERT,
-+ m_cert.c_str(), MHD_OPTION_HTTPS_PRIORITIES, ciphers, MHD_OPTION_END);
-
- // No SSL
-- return MHD_start_daemon(flags |
-- // one thread per connection
-- // WARNING: set MHD_OPTION_CONNECTION_TIMEOUT to something higher than 1
-- // otherwise on libmicrohttpd 0.4.4-1 it spins a busy loop
-- MHD_USE_THREAD_PER_CONNECTION
-+ return MHD_start_daemon(
-+ flags |
-+ // one thread per connection
-+ // WARNING: set MHD_OPTION_CONNECTION_TIMEOUT to something higher than 1
-+ // otherwise on libmicrohttpd 0.4.4-1 it spins a busy loop
-+ MHD_USE_THREAD_PER_CONNECTION
- #if (MHD_VERSION >= 0x00095207)
-- | MHD_USE_INTERNAL_POLLING_THREAD /* MHD_USE_THREAD_PER_CONNECTION must be used only with MHD_USE_INTERNAL_POLLING_THREAD since 0.9.54 */
-+ | MHD_USE_INTERNAL_POLLING_THREAD /* MHD_USE_THREAD_PER_CONNECTION must be used only with
-+ MHD_USE_INTERNAL_POLLING_THREAD since 0.9.54 */
- #endif
-- | MHD_USE_DEBUG /* Print MHD error messages to log */
-- ,
-- port,
-- 0,
-- 0,
-- &CWebServer::AnswerToConnection,
-- this,
--
-- MHD_OPTION_CONNECTION_LIMIT, 512,
-- MHD_OPTION_CONNECTION_TIMEOUT, timeout,
-- MHD_OPTION_URI_LOG_CALLBACK, &CWebServer::UriRequestLogger, this,
-- MHD_OPTION_EXTERNAL_LOGGER, &logFromMHD, 0,
-- MHD_OPTION_THREAD_STACK_SIZE, m_thread_stacksize,
-- MHD_OPTION_END);
-+ | MHD_USE_DEBUG /* Print MHD error messages to log */
-+ ,
-+ port, 0, 0, &CWebServer::AnswerToConnection, this,
-+
-+ MHD_OPTION_CONNECTION_LIMIT, 512, MHD_OPTION_CONNECTION_TIMEOUT, timeout,
-+ MHD_OPTION_URI_LOG_CALLBACK, &CWebServer::UriRequestLogger, this, MHD_OPTION_EXTERNAL_LOGGER,
-+ &logFromMHD, 0, MHD_OPTION_THREAD_STACK_SIZE, m_thread_stacksize, MHD_OPTION_END);
- }
-
--bool CWebServer::Start(uint16_t port, const std::string &username, const std::string &password)
-+bool CWebServer::Start(uint16_t port, const std::string& username, const std::string& password)
- {
- SetCredentials(username, password);
- if (!m_running)
-@@ -1216,7 +1298,7 @@ bool CWebServer::WebServerSupportsSSL()
- return MHD_is_feature_supported(MHD_FEATURE_SSL) == MHD_YES;
- }
-
--void CWebServer::SetCredentials(const std::string &username, const std::string &password)
-+void CWebServer::SetCredentials(const std::string& username, const std::string& password)
- {
- CSingleLock lock(m_critSection);
-
-@@ -1225,7 +1307,7 @@ void CWebServer::SetCredentials(const std::string &username, const std::string &
- m_authenticationRequired = !m_authenticationPassword.empty();
- }
-
--void CWebServer::RegisterRequestHandler(IHTTPRequestHandler *handler)
-+void CWebServer::RegisterRequestHandler(IHTTPRequestHandler* handler)
- {
- if (handler == nullptr)
- return;
-@@ -1236,15 +1318,18 @@ void CWebServer::RegisterRequestHandler(IHTTPRequestHandler *handler)
-
- m_requestHandlers.push_back(handler);
- std::sort(m_requestHandlers.begin(), m_requestHandlers.end(),
-- [](IHTTPRequestHandler* lhs, IHTTPRequestHandler* rhs) { return rhs->GetPriority() < lhs->GetPriority(); });
-+ [](IHTTPRequestHandler* lhs, IHTTPRequestHandler* rhs) {
-+ return rhs->GetPriority() < lhs->GetPriority();
-+ });
- }
-
--void CWebServer::UnregisterRequestHandler(IHTTPRequestHandler *handler)
-+void CWebServer::UnregisterRequestHandler(IHTTPRequestHandler* handler)
- {
- if (handler == nullptr)
- return;
-
-- m_requestHandlers.erase(std::remove(m_requestHandlers.begin(), m_requestHandlers.end(), handler), m_requestHandlers.end());
-+ m_requestHandlers.erase(std::remove(m_requestHandlers.begin(), m_requestHandlers.end(), handler),
-+ m_requestHandlers.end());
- }
-
- void CWebServer::LogRequest(const HTTPRequest& request) const
-@@ -1253,9 +1338,11 @@ void CWebServer::LogRequest(const HTTPRequest& request) const
- return;
-
- std::multimap<std::string, std::string> headerValues;
-- HTTPRequestHandlerUtils::GetRequestHeaderValues(request.connection, MHD_HEADER_KIND, headerValues);
-+ HTTPRequestHandlerUtils::GetRequestHeaderValues(request.connection, MHD_HEADER_KIND,
-+ headerValues);
- std::multimap<std::string, std::string> getValues;
-- HTTPRequestHandlerUtils::GetRequestHeaderValues(request.connection, MHD_GET_ARGUMENT_KIND, getValues);
-+ HTTPRequestHandlerUtils::GetRequestHeaderValues(request.connection, MHD_GET_ARGUMENT_KIND,
-+ getValues);
-
- CLog::Log(LOGDEBUG, "CWebServer[%hu] [IN] %s %s %s", m_port, request.version.c_str(), GetHTTPMethod(request.method).c_str(), request.pathUrlFull.c_str());
-
-@@ -1278,7 +1365,8 @@ void CWebServer::LogResponse(const HTTPRequest& request, int responseStatus) con
- return;
-
- std::multimap<std::string, std::string> headerValues;
-- HTTPRequestHandlerUtils::GetRequestHeaderValues(request.connection, MHD_HEADER_KIND, headerValues);
-+ HTTPRequestHandlerUtils::GetRequestHeaderValues(request.connection, MHD_HEADER_KIND,
-+ headerValues);
-
- CLog::Log(LOGDEBUG, "CWebServer[%hu] [OUT] %s %d %s", m_port, request.version.c_str(), responseStatus, request.pathUrlFull.c_str());
-
-@@ -1286,7 +1374,7 @@ void CWebServer::LogResponse(const HTTPRequest& request, int responseStatus) con
- CLog::Log(LOGDEBUG, "CWebServer[%hu] [OUT] %s: %s", m_port, header.first.c_str(), header.second.c_str());
- }
-
--std::string CWebServer::CreateMimeTypeFromExtension(const char *ext)
-+std::string CWebServer::CreateMimeTypeFromExtension(const char* ext)
- {
- if (strcmp(ext, ".kar") == 0)
- return "audio/midi";
-@@ -1296,10 +1384,12 @@ std::string CWebServer::CreateMimeTypeFromExtension(const char *ext)
- return CMime::GetMimeType(ext);
- }
-
--int CWebServer::AddHeader(struct MHD_Response *response, const std::string &name, const std::string &value) const
-+MHD_RESULT CWebServer::AddHeader(struct MHD_Response* response,
-+ const std::string& name,
-+ const std::string& value) const
- {
- if (response == nullptr || name.empty())
-- return 0;
-+ return MHD_NO;
-
- CLog::Log(LOGDEBUG, LOGWEBSERVER, "CWebServer[%hu] [OUT] %s: %s", m_port, name.c_str(), value.c_str());
-
-diff --git a/xbmc/network/WebServer.h b/xbmc/network/WebServer.h
-index c7a9093..1274a2e 100644
---- a/xbmc/network/WebServer.h
-+++ b/xbmc/network/WebServer.h
-@@ -56,17 +56,17 @@ protected:
-
- virtual void LogRequest(const char* uri) const;
-
-- virtual int HandlePartialRequest(struct MHD_Connection *connection, ConnectionHandler* connectionHandler, const HTTPRequest& request,
-+ virtual MHD_RESULT HandlePartialRequest(struct MHD_Connection *connection, ConnectionHandler* connectionHandler, const HTTPRequest& request,
- const char *upload_data, size_t *upload_data_size, void **con_cls);
-- virtual int HandleRequest(const std::shared_ptr<IHTTPRequestHandler>& handler);
-- virtual int FinalizeRequest(const std::shared_ptr<IHTTPRequestHandler>& handler, int responseStatus, struct MHD_Response *response);
-+ virtual MHD_RESULT HandleRequest(const std::shared_ptr<IHTTPRequestHandler>& handler);
-+ virtual MHD_RESULT FinalizeRequest(const std::shared_ptr<IHTTPRequestHandler>& handler, int responseStatus, struct MHD_Response *response);
-
- private:
- struct MHD_Daemon* StartMHD(unsigned int flags, int port);
-
- std::shared_ptr<IHTTPRequestHandler> FindRequestHandler(const HTTPRequest& request) const;
-
-- int AskForAuthentication(const HTTPRequest& request) const;
-+ MHD_RESULT AskForAuthentication(const HTTPRequest& request) const;
- bool IsAuthenticated(const HTTPRequest& request) const;
-
- bool IsRequestCacheable(const HTTPRequest& request) const;
-@@ -76,18 +76,18 @@ private:
- bool ProcessPostData(const HTTPRequest& request, ConnectionHandler *connectionHandler, const char *upload_data, size_t *upload_data_size, void **con_cls) const;
- void FinalizePostDataProcessing(ConnectionHandler *connectionHandler) const;
-
-- int CreateMemoryDownloadResponse(const std::shared_ptr<IHTTPRequestHandler>& handler, struct MHD_Response *&response) const;
-- int CreateRangedMemoryDownloadResponse(const std::shared_ptr<IHTTPRequestHandler>& handler, struct MHD_Response *&response) const;
-+ MHD_RESULT CreateMemoryDownloadResponse(const std::shared_ptr<IHTTPRequestHandler>& handler, struct MHD_Response *&response) const;
-+ MHD_RESULT CreateRangedMemoryDownloadResponse(const std::shared_ptr<IHTTPRequestHandler>& handler, struct MHD_Response *&response) const;
-
-- int CreateRedirect(struct MHD_Connection *connection, const std::string &strURL, struct MHD_Response *&response) const;
-- int CreateFileDownloadResponse(const std::shared_ptr<IHTTPRequestHandler>& handler, struct MHD_Response *&response) const;
-- int CreateErrorResponse(struct MHD_Connection *connection, int responseType, HTTPMethod method, struct MHD_Response *&response) const;
-- int CreateMemoryDownloadResponse(struct MHD_Connection *connection, const void *data, size_t size, bool free, bool copy, struct MHD_Response *&response) const;
-+ MHD_RESULT CreateRedirect(struct MHD_Connection *connection, const std::string &strURL, struct MHD_Response *&response) const;
-+ MHD_RESULT CreateFileDownloadResponse(const std::shared_ptr<IHTTPRequestHandler>& handler, struct MHD_Response *&response) const;
-+ MHD_RESULT CreateErrorResponse(struct MHD_Connection *connection, int responseType, HTTPMethod method, struct MHD_Response *&response) const;
-+ MHD_RESULT CreateMemoryDownloadResponse(struct MHD_Connection *connection, const void *data, size_t size, bool free, bool copy, struct MHD_Response *&response) const;
-
-- int SendResponse(const HTTPRequest& request, int responseStatus, MHD_Response *response) const;
-- int SendErrorResponse(const HTTPRequest& request, int errorType, HTTPMethod method) const;
-+ MHD_RESULT SendResponse(const HTTPRequest& request, int responseStatus, MHD_Response *response) const;
-+ MHD_RESULT SendErrorResponse(const HTTPRequest& request, int errorType, HTTPMethod method) const;
-
-- int AddHeader(struct MHD_Response *response, const std::string &name, const std::string &value) const;
-+ MHD_RESULT AddHeader(struct MHD_Response *response, const std::string &name, const std::string &value) const;
-
- void LogRequest(const HTTPRequest& request) const;
- void LogResponse(const HTTPRequest& request, int responseStatus) const;
-@@ -100,11 +100,11 @@ private:
- static ssize_t ContentReaderCallback (void *cls, uint64_t pos, char *buf, size_t max);
- static void ContentReaderFreeCallback(void *cls);
-
-- static int AnswerToConnection (void *cls, struct MHD_Connection *connection,
-+ static MHD_RESULT AnswerToConnection (void *cls, struct MHD_Connection *connection,
- const char *url, const char *method,
- const char *version, const char *upload_data,
- size_t *upload_data_size, void **con_cls);
-- static int HandlePostField(void *cls, enum MHD_ValueKind kind, const char *key,
-+ static MHD_RESULT HandlePostField(void *cls, enum MHD_ValueKind kind, const char *key,
- const char *filename, const char *content_type,
- const char *transfer_encoding, const char *data, uint64_t off,
- size_t size);
-diff --git a/xbmc/network/httprequesthandler/HTTPFileHandler.cpp b/xbmc/network/httprequesthandler/HTTPFileHandler.cpp
-index 2101d49..26e5390 100644
---- a/xbmc/network/httprequesthandler/HTTPFileHandler.cpp
-+++ b/xbmc/network/httprequesthandler/HTTPFileHandler.cpp
-@@ -23,7 +23,7 @@ CHTTPFileHandler::CHTTPFileHandler(const HTTPRequest &request)
- m_lastModified()
- { }
-
--int CHTTPFileHandler::HandleRequest()
-+MHD_RESULT CHTTPFileHandler::HandleRequest()
- {
- return !m_url.empty() ? MHD_YES : MHD_NO;
- }
-diff --git a/xbmc/network/httprequesthandler/HTTPFileHandler.h b/xbmc/network/httprequesthandler/HTTPFileHandler.h
-index 3c74b52..6121315 100644
---- a/xbmc/network/httprequesthandler/HTTPFileHandler.h
-+++ b/xbmc/network/httprequesthandler/HTTPFileHandler.h
-@@ -19,7 +19,7 @@ class CHTTPFileHandler : public IHTTPRequestHandler
- public:
- ~CHTTPFileHandler() override = default;
-
-- int HandleRequest() override;
-+ MHD_RESULT HandleRequest() override;
-
- bool CanHandleRanges() const override { return m_canHandleRanges; }
- bool CanBeCached() const override { return m_canBeCached; }
-diff --git a/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.cpp b/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.cpp
-index de42e7f..6902be0 100644
---- a/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.cpp
-+++ b/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.cpp
-@@ -104,7 +104,7 @@ bool CHTTPImageTransformationHandler::CanHandleRequest(const HTTPRequest &reques
- options.find(TRANSFORMATION_OPTION_HEIGHT) != options.end());
- }
-
--int CHTTPImageTransformationHandler::HandleRequest()
-+MHD_RESULT CHTTPImageTransformationHandler::HandleRequest()
- {
- if (m_response.type == HTTPError)
- return MHD_YES;
-diff --git a/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.h b/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.h
-index c55015e..0d17afc 100644
---- a/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.h
-+++ b/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.h
-@@ -23,7 +23,7 @@ public:
- IHTTPRequestHandler* Create(const HTTPRequest &request) const override { return new CHTTPImageTransformationHandler(request); }
- bool CanHandleRequest(const HTTPRequest &request)const override;
-
-- int HandleRequest() override;
-+ MHD_RESULT HandleRequest() override;
-
- bool CanHandleRanges() const override { return true; }
- bool CanBeCached() const override { return true; }
-diff --git a/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.cpp b/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.cpp
-index e8e2fa3..a4c3c19 100644
---- a/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.cpp
-+++ b/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.cpp
-@@ -25,7 +25,7 @@ bool CHTTPJsonRpcHandler::CanHandleRequest(const HTTPRequest &request) const
- return (request.pathUrl.compare("/jsonrpc") == 0);
- }
-
--int CHTTPJsonRpcHandler::HandleRequest()
-+MHD_RESULT CHTTPJsonRpcHandler::HandleRequest()
- {
- CHTTPClient client(m_request.method);
- bool isRequest = false;
-diff --git a/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.h b/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.h
-index 67c14b6..2659fd5 100644
---- a/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.h
-+++ b/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.h
-@@ -24,7 +24,7 @@ public:
- IHTTPRequestHandler* Create(const HTTPRequest &request) const override { return new CHTTPJsonRpcHandler(request); }
- bool CanHandleRequest(const HTTPRequest &request) const override;
-
-- int HandleRequest() override;
-+ MHD_RESULT HandleRequest() override;
-
- HttpResponseRanges GetResponseData() const override;
-
-diff --git a/xbmc/network/httprequesthandler/HTTPPythonHandler.cpp b/xbmc/network/httprequesthandler/HTTPPythonHandler.cpp
-index 5f9aeef..a07ef0d 100644
---- a/xbmc/network/httprequesthandler/HTTPPythonHandler.cpp
-+++ b/xbmc/network/httprequesthandler/HTTPPythonHandler.cpp
-@@ -112,7 +112,7 @@ bool CHTTPPythonHandler::CanHandleRequest(const HTTPRequest &request) const
- return true;
- }
-
--int CHTTPPythonHandler::HandleRequest()
-+MHD_RESULT CHTTPPythonHandler::HandleRequest()
- {
- if (m_response.type == HTTPError || m_response.type == HTTPRedirect)
- return MHD_YES;
-diff --git a/xbmc/network/httprequesthandler/HTTPPythonHandler.h b/xbmc/network/httprequesthandler/HTTPPythonHandler.h
-index 03c1506..166430e 100644
---- a/xbmc/network/httprequesthandler/HTTPPythonHandler.h
-+++ b/xbmc/network/httprequesthandler/HTTPPythonHandler.h
-@@ -25,7 +25,7 @@ public:
- bool CanBeCached() const override { return false; }
- bool GetLastModifiedDate(CDateTime &lastModified) const override;
-
-- int HandleRequest() override;
-+ MHD_RESULT HandleRequest() override;
-
- HttpResponseRanges GetResponseData() const override { return m_responseRanges; }
-
-diff --git a/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.cpp b/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.cpp
-index 80d1d67..f2ea1f2 100644
---- a/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.cpp
-+++ b/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.cpp
-@@ -61,7 +61,7 @@ bool HTTPRequestHandlerUtils::GetRequestedRanges(struct MHD_Connection *connecti
- return ranges.Parse(GetRequestHeaderValue(connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_RANGE), totalLength);
- }
-
--int HTTPRequestHandlerUtils::FillArgumentMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value)
-+MHD_RESULT HTTPRequestHandlerUtils::FillArgumentMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value)
- {
- if (cls == nullptr || key == nullptr)
- return MHD_NO;
-@@ -72,7 +72,7 @@ int HTTPRequestHandlerUtils::FillArgumentMap(void *cls, enum MHD_ValueKind kind,
- return MHD_YES;
- }
-
--int HTTPRequestHandlerUtils::FillArgumentMultiMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value)
-+MHD_RESULT HTTPRequestHandlerUtils::FillArgumentMultiMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value)
- {
- if (cls == nullptr || key == nullptr)
- return MHD_NO;
-diff --git a/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.h b/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.h
-index 9a07801..0ec5ed1 100644
---- a/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.h
-+++ b/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.h
-@@ -25,6 +25,6 @@ public:
- private:
- HTTPRequestHandlerUtils() = delete;
-
-- static int FillArgumentMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value);
-- static int FillArgumentMultiMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value);
-+ static MHD_RESULT FillArgumentMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value);
-+ static MHD_RESULT FillArgumentMultiMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value);
- };
-diff --git a/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.cpp b/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.cpp
-index 01a6b50..0716a5d 100644
---- a/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.cpp
-+++ b/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.cpp
-@@ -18,7 +18,7 @@ bool CHTTPWebinterfaceAddonsHandler::CanHandleRequest(const HTTPRequest &request
- return (request.pathUrl.compare("/addons") == 0 || request.pathUrl.compare("/addons/") == 0);
- }
-
--int CHTTPWebinterfaceAddonsHandler::HandleRequest()
-+MHD_RESULT CHTTPWebinterfaceAddonsHandler::HandleRequest()
- {
- m_responseData = ADDON_HEADER;
- ADDON::VECADDONS addons;
-diff --git a/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.h b/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.h
-index e9b1c6d..23cea36 100644
---- a/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.h
-+++ b/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.h
-@@ -21,7 +21,7 @@ public:
- IHTTPRequestHandler* Create(const HTTPRequest &request) const override { return new CHTTPWebinterfaceAddonsHandler(request); }
- bool CanHandleRequest(const HTTPRequest &request) const override;
-
-- int HandleRequest() override;
-+ MHD_RESULT HandleRequest() override;
-
- HttpResponseRanges GetResponseData() const override;
-
-diff --git a/xbmc/network/httprequesthandler/IHTTPRequestHandler.h b/xbmc/network/httprequesthandler/IHTTPRequestHandler.h
-index 4b1e40a..8f605ad 100644
---- a/xbmc/network/httprequesthandler/IHTTPRequestHandler.h
-+++ b/xbmc/network/httprequesthandler/IHTTPRequestHandler.h
-@@ -22,6 +22,12 @@
-
- #include "utils/HttpRangeUtils.h"
-
-+#if MHD_VERSION >= 0x00097002
-+#define MHD_RESULT enum MHD_Result
-+#else
-+#define MHD_RESULT int
-+#endif
-+
- class CDateTime;
- class CWebServer;
-
-@@ -114,7 +120,7 @@ public:
- *
- * \return MHD_NO if a severe error has occurred otherwise MHD_YES.
- */
-- virtual int HandleRequest() = 0;
-+ virtual MHD_RESULT HandleRequest() = 0;
-
- /*!
- * \brief Whether the HTTP response could also be provided in ranges.
diff --git a/PKGBUILD b/PKGBUILD
index 1fff7b829c7f..384dbafa0895 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -22,9 +22,9 @@ pkgname=(
"$pkgbase" kodi-x11-devel kodi-wayland-devel kodi-gbm-devel
kodi-eventclients-devel kodi-tools-texturepacker-devel kodi-dev-devel
)
-pkgver=18.8pre08
+pkgver=18.8pre14
_major=18.7.1
-pkgrel=6
+pkgrel=1
arch=('x86_64')
url="https://kodi.tv"
license=('GPL2')
@@ -86,9 +86,6 @@ source=(
# fix for kodi-standalone run without which
000-PR17804.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/17804.patch
- # fix for libmicrohttpd 0.9.71
- 18131.patch
-
# start milestone patches
# 18029 does not apply
001-PR17988.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/17988.patch
@@ -96,9 +93,15 @@ source=(
003-PR18008.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18008.patch
004-PR18019.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18019.patch
005-PR18024.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18024.patch
-# 006-PR18029.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18029.patch
- 007-PR18047.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18047.patch
- 008-PR18056.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18056.patch
+ # 006-PR18029.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18029.patch
+ 007-PR18045.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18045.patch
+ 008-PR18047.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18047.patch
+ 009-PR18053.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18053.patch
+ 010-PR18056.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18056.patch
+ 011-PR18073.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18073.patch
+ 012-PR18094.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18094.patch
+ 013-PR18134.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18134.patch
+ 014-PR18151.patch::https://patch-diff.githubusercontent.com/raw/xbmc/xbmc/pull/18151.patch
)
noextract=(
"libdvdcss-$_libdvdcss_version.tar.gz"
@@ -123,14 +126,19 @@ sha256sums=('5cfec391bcd168bbd4f9d38a6c8ec93e42e040cf82cf6ebf23db5e86753816fb'
'3aaca3630689b76e7a7f35656a4ada3fb18ecd7e3fe199634264ccf76b96c0f0'
'4d9eb12db337a89b5e17815bd422015f3017c735bd0c5b522f5a5b0c7f81a607'
'f11af738b2be8f390a7b515cfb74276a0ccb64ac061b8f5a7b3772e19eb0d203'
- '1bfa84c0ae99a4ed731261cb39cb347c2809ca63d0d318393bdbbee900bbf8bc'
'89ac4b3feac908075ddbcdc4f9f1d1703c25e2fdb1661e776c162eb779437bd8'
'f56503139927f0bc8f220c4b4e31266fc938a6612a4c1d2bdd75be3f54eb3a12'
'995c61de460e0afdc135ba33f9f393a825cb4a0c7954da104d23269fe48ec118'
'8531da4ce924d80f5b8c8fbcf547e0738e48ffce335f73a4da6466f499ab1bfe'
'4c2775722998fd0f6111ff841b29e8813c58b7905be1e8a01bf8a768622cb30c'
+ 'ff34d94f4ff7f1d9638c948b05da1802638bf66037dda53ce44b9afb501ec1dc'
'f4ac91dbad4014a6707e8bb6f57cac0ec68a852a3e81815a210304a886a665a1'
- '4b009d1acced4912f981d1454ff2add556b79188c003bc837d60224605364353')
+ '2d31bf616362001a75c590c0ea9ef22f321ffabf1d95f781d558f92e69cdc8c9'
+ '4b009d1acced4912f981d1454ff2add556b79188c003bc837d60224605364353'
+ 'b766ce6bbae0d41abe323866c7ff9dd8ef89fdf214cc6104125c4115cb2bc221'
+ '5b19f4f74136f91986e3d3eed93102b06a700dd4b3a561926eabc7997434f22a'
+ 'e4963bdeb1de7c147a364cd3ee2186fb1d0b2fc8f3ea7636054cf2adac040468'
+ '7b8a6510bc286d58b4a3d57322362335cbf2a56d1b2bd16bfcdf06d5eef8644d')
prepare() {
# force python 'binary' as python2
[[ -d "$srcdir/path" ]] && rm -rf "$srcdir/path"