From 70c79fd27da13afeedfad0db4e88612a2418c758 Mon Sep 17 00:00:00 2001 From: John Beard Date: Sun, 21 Mar 2021 13:00:13 +0000 Subject: [PATCH] Unbreak HTTP authentication (#7425) Fixes a regression in #7405 that broke Basic auth (OPDS/WebDav). --- frontend/apps/cloudstorage/webdavapi.lua | 10 ++++++++-- plugins/opds.koplugin/opdsbrowser.lua | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/frontend/apps/cloudstorage/webdavapi.lua b/frontend/apps/cloudstorage/webdavapi.lua index 10536c773..eafe5068c 100644 --- a/frontend/apps/cloudstorage/webdavapi.lua +++ b/frontend/apps/cloudstorage/webdavapi.lua @@ -6,6 +6,7 @@ local socket = require("socket") local socketutil = require("socketutil") local util = require("util") local _ = require("gettext") +local logger = require("logger") local WebDavApi = { } @@ -86,7 +87,7 @@ function WebDavApi:listFolder(address, user, pass, folder_path) ["Depth"] = "1", ["Content-Length"] = #data, }, - username = user, + user = user, password = pass, source = ltn12.source.string(data), sink = ltn12.sink.table(sink), @@ -95,6 +96,11 @@ function WebDavApi:listFolder(address, user, pass, folder_path) socketutil:reset_timeout() if headers_request == nil then return nil + elseif headers_request < 200 or headers_request >= 300 then + -- got a response, but it wasn't a success (e.g. auth failure) + logger.dbg(headers_request) + logger.dbg(table.concat(sink)) + return nil end local res_data = table.concat(sink) @@ -156,7 +162,7 @@ function WebDavApi:downloadFile(file_url, user, pass, local_path) url = file_url, method = "GET", sink = ltn12.sink.file(io.open(local_path, "w")), - username = user, + user = user, password = pass, }) socketutil:reset_timeout() diff --git a/plugins/opds.koplugin/opdsbrowser.lua b/plugins/opds.koplugin/opdsbrowser.lua index 3f0763936..576f8ff64 100644 --- a/plugins/opds.koplugin/opdsbrowser.lua +++ b/plugins/opds.koplugin/opdsbrowser.lua @@ -278,7 +278,7 @@ function OPDSBrowser:fetchFeed(item_url, username, password, method) ["Accept-Encoding"] = "identity", }, sink = ltn12.sink.table(sink), - username = username, + user = username, password = password, } logger.info("Request:", request)