summaryrefslogtreecommitdiff
path: root/app-office/libreoffice/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-03-14 12:18:12 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-03-14 12:18:12 +0000
commita18f8581f716592db51c45679c46e319db13ca29 (patch)
tree74125f25c6d522f24e2577328ab2c9f83b35eac2 /app-office/libreoffice/files
parentc24da107a8903eb6e86d811f19448c01fa81ba15 (diff)
gentoo auto-resync : 14:03:2023 - 12:18:11
Diffstat (limited to 'app-office/libreoffice/files')
-rw-r--r--app-office/libreoffice/files/libreoffice-7.4.5.1-fix-webdav-upload.patch107
1 files changed, 0 insertions, 107 deletions
diff --git a/app-office/libreoffice/files/libreoffice-7.4.5.1-fix-webdav-upload.patch b/app-office/libreoffice/files/libreoffice-7.4.5.1-fix-webdav-upload.patch
deleted file mode 100644
index 9b70f62c7d19..000000000000
--- a/app-office/libreoffice/files/libreoffice-7.4.5.1-fix-webdav-upload.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From 30ca48f4dc0e65a3798e6b21574bc80f6d4953fa Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?L=C3=A1szl=C3=B3=20N=C3=A9meth?= <nemeth@numbertext.org>
-Date: Wed, 25 Jan 2023 12:08:14 +0100
-Subject: tdf#152493 ucb WebDAV: fix upload using HTTP 1.0 fallback
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fix broken libcurl upload to Vibe 4.0.6 WebDAV server
-using HTTP 1.0 fallback.
-
-Regression from commit 023ebf17898db4bca63129f079fd90b5cf76c1a9
-"ucb: remove --with-webdav=neon" (Neon had no such upload
-problem).
-
-HTTP 1.0 fallback found by Pál Zoltán Kochis.
-Fallback for CURLE_UNSUPPORTED_PROTOCOL
-suggested by Michael Stahl. Thanks for their and
-Attila Bakos' help.
-
-Michael Stahl's comment: "'HTTP/0.9' in the [curl] error
-message is very misleading: it simply means that a header
-was expected but there was no header, so what is received
-is interpreted as body.
-
-Note: the HTTP/1.0 works because it does not use the
-'Expect: 100-continue' so there should be no intermediate
-100 Continue response from the server at all - instead
-libcurl directly sends the XML document for the PROPFIND
-and the server sends the response, and the problem does
-not occur."
-
-Co-authored-by: Michael Stahl <michael.stahl@allotropia.de>
-
-Change-Id: I8bd79154de14b6425e0324f4d8f6e64512c08264
-Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146067
-Tested-by: László Németh <nemeth@numbertext.org>
-Reviewed-by: László Németh <nemeth@numbertext.org>
----
- ucb/source/ucp/webdav-curl/CurlSession.cxx | 24 ++++++++++++++++++++++++
- ucb/source/ucp/webdav-curl/DAVException.hxx | 1 +
- 2 files changed, 25 insertions(+)
-
-diff --git a/ucb/source/ucp/webdav-curl/CurlSession.cxx b/ucb/source/ucp/webdav-curl/CurlSession.cxx
-index 0f06363ce68f..bb1d4689a53c 100644
---- a/ucb/source/ucp/webdav-curl/CurlSession.cxx
-+++ b/ucb/source/ucp/webdav-curl/CurlSession.cxx
-@@ -964,6 +964,8 @@ auto CurlProcessor::ProcessRequestImpl(
- "curl_easy_perform failed: " << GetErrorString(rc, rSession.m_ErrorBuffer));
- switch (rc)
- {
-+ case CURLE_UNSUPPORTED_PROTOCOL:
-+ throw DAVException(DAVException::DAV_UNSUPPORTED);
- case CURLE_COULDNT_RESOLVE_PROXY:
- throw DAVException(
- DAVException::DAV_HTTP_LOOKUP,
-@@ -1250,6 +1252,7 @@ auto CurlProcessor::ProcessRequest(
- }
- }
- bool isRetry(false);
-+ bool isFallbackHTTP10(false);
- int nAuthRequests(0);
- int nAuthRequestsProxy(0);
-
-@@ -1473,6 +1476,27 @@ auto CurlProcessor::ProcessRequest(
- }
- }
- }
-+ else if (rException.getError() == DAVException::DAV_UNSUPPORTED)
-+ {
-+ // tdf#152493 libcurl can't handle "Transfer-Encoding: chunked"
-+ // in HTTP/1.1 100 Continue response.
-+ // workaround: if HTTP/1.1 didn't work, try HTTP/1.0
-+ // (but fallback only once - to prevent infinite loop)
-+ if (isFallbackHTTP10)
-+ {
-+ throw DAVException(DAVException::DAV_HTTP_ERROR);
-+ }
-+ isFallbackHTTP10 = true;
-+ // note: this is not reset - future requests to this URI use it!
-+ auto rc = curl_easy_setopt(rSession.m_pCurl.get(), CURLOPT_HTTP_VERSION,
-+ CURL_HTTP_VERSION_1_0);
-+ if (rc != CURLE_OK)
-+ {
-+ throw DAVException(DAVException::DAV_HTTP_ERROR);
-+ }
-+ SAL_INFO("ucb.ucp.webdav.curl", "attempting fallback to HTTP/1.0");
-+ isRetry = true;
-+ }
- if (!isRetry)
- {
- throw; // everything else: re-throw
-diff --git a/ucb/source/ucp/webdav-curl/DAVException.hxx b/ucb/source/ucp/webdav-curl/DAVException.hxx
-index 84dba895485c..759e43f25f8e 100644
---- a/ucb/source/ucp/webdav-curl/DAVException.hxx
-+++ b/ucb/source/ucp/webdav-curl/DAVException.hxx
-@@ -130,6 +130,7 @@ class DAVException : public std::exception
- DAV_SESSION_CREATE, // session creation error,
- // mData = server[:port]
- DAV_INVALID_ARG, // invalid argument
-+ DAV_UNSUPPORTED, // internal to CurlSession
-
- DAV_LOCK_EXPIRED, // DAV lock expired
-
---
-cgit v1.2.1
-