From d785e2d6350107bd9ee67076b8f1d12664762ee7 Mon Sep 17 00:00:00 2001 From: rustyx Date: Sun, 1 Sep 2019 00:03:59 +0200 Subject: [PATCH] fixed: make archive files work via UPnP --- lib/libUPnP/Platinum/Source/Core/PltHttpServer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/libUPnP/Platinum/Source/Core/PltHttpServer.cpp b/lib/libUPnP/Platinum/Source/Core/PltHttpServer.cpp index 3d9180c6a35e5..2557f62851af7 100644 --- a/lib/libUPnP/Platinum/Source/Core/PltHttpServer.cpp +++ b/lib/libUPnP/Platinum/Source/Core/PltHttpServer.cpp @@ -190,8 +190,7 @@ PLT_HttpServer::ServeFile(const NPT_HttpRequest& request, NPT_FileInfo file_info; // prevent hackers from accessing files outside of our root - if ((file_path.Find("/..") >= 0) || (file_path.Find("\\..") >= 0) || - NPT_FAILED(NPT_File::GetInfo(file_path, &file_info))) { + if ((file_path.Find("/..") >= 0) || (file_path.Find("\\..") >= 0)) { return NPT_ERROR_NO_SUCH_ITEM; } @@ -201,7 +200,8 @@ PLT_HttpServer::ServeFile(const NPT_HttpRequest& request, // handle potential 304 only if range header not set NPT_DateTime date; NPT_TimeStamp timestamp; - if (NPT_SUCCEEDED(PLT_UPnPMessageHelper::GetIfModifiedSince((NPT_HttpMessage&)request, date)) && + if (NPT_SUCCEEDED(NPT_File::GetInfo(file_path, &file_info)) && + NPT_SUCCEEDED(PLT_UPnPMessageHelper::GetIfModifiedSince((NPT_HttpMessage&)request, date)) && !range_spec) { date.ToTimeStamp(timestamp);