[Libreoffice-commits] core.git: Branch 'distro/cib/libreoffice-6-1' - external/neon
external/neon/UnpackedTarball_neon.mk |1 + external/neon/neon_uri_parse_allow_others.patch | 22 ++ 2 files changed, 23 insertions(+) New commits: commit eb8307c8adc986ad9ec81a17ab3cff07fc481c6f Author: Jan-Marek Glogowski AuthorDate: Thu Feb 6 16:24:53 2020 + Commit: Thorsten Behrens CommitDate: Fri Feb 7 15:35:57 2020 +0100 neon: escape broken SharePoint 2016 URIs SharePoint returns broken URIs in its href replies, which aren't correctly URI encoded, but still "valid" URIs w.r.t. general and UTF8 encoding, e.g. http:///Shared%20Documents/ümlaut.docx As a workaround, this allows all invalid / other bytes (except '\0') in the path of the URI in ne_uri_parse. Change-Id: I70e7d323837469d7ced429a42c009972f4fb0ebc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88120 Reviewed-by: Mike Kaganski Reviewed-by: Jan-Marek Glogowski Tested-by: Jenkins (cherry picked from commit 069aa870aadb9f9069e8715c8be30394410f0288) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88200 Reviewed-by: Thorsten Behrens Tested-by: Thorsten Behrens diff --git a/external/neon/UnpackedTarball_neon.mk b/external/neon/UnpackedTarball_neon.mk index 74ac2eb38c97..725e1916cd28 100644 --- a/external/neon/UnpackedTarball_neon.mk +++ b/external/neon/UnpackedTarball_neon.mk @@ -25,6 +25,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,neon,\ external/neon/neon_fix_lock_token_on_if.patch \ external/neon/neon_fix_lock_timeout_windows.patch \ external/neon/neon_fix_sspi_session_timeout.patch \ + external/neon/neon_uri_parse_allow_others.patch \ )) # vim: set noet sw=4 ts=4: diff --git a/external/neon/neon_uri_parse_allow_others.patch b/external/neon/neon_uri_parse_allow_others.patch new file mode 100644 index ..9de2cf6b9ae7 --- /dev/null +++ b/external/neon/neon_uri_parse_allow_others.patch @@ -0,0 +1,22 @@ +diff -ur src/ne_uri.c +--- src/ne_uri.c 2020-02-07 10:49:58.764417840 + src/ne_uri.c 2020-02-07 10:51:33.675627141 + +@@ -87,7 +87,8 @@ + #define URI_PCHAR (URI_UNRESERVED | PC | URI_SUBDELIM | CL | AT) + /* invented: segchar = pchar / "/" */ + /* (TKR) WS added */ +-#define URI_SEGCHAR (URI_PCHAR | FS | WS) ++/* also allow OT characters to parse SharePoint 2016 href URIs with unescaped UTF8 */ ++#define URI_SEGCHAR (URI_PCHAR | FS | WS | OT) + /* query = *( pchar / "/" / "?" ) */ + #define URI_QUERY (URI_PCHAR | FS | QU) + /* fragment == query */ +@@ -237,7 +238,7 @@ + + p = s; + +-while (uri_lookup(*p) & URI_SEGCHAR) ++while (uri_lookup(*p) & URI_SEGCHAR && *p != '\0') + p++; + + /* => p = [ "?" query ] [ "#" fragment ] */ ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/cib/libreoffice-6-1' - external/neon
external/neon/UnpackedTarball_neon.mk |1 + external/neon/neon_fix_sspi_session_timeout.patch | 22 ++ 2 files changed, 23 insertions(+) New commits: commit 6a548a172d0be2356f644225297a10ec50387b24 Author: Thorsten Behrens AuthorDate: Fri Dec 20 07:03:47 2019 +0100 Commit: Thorsten Behrens CommitDate: Fri Dec 20 07:03:47 2019 +0100 Fix crash during WebDAV lock refresh - NeonSession is shared amongst several files (if on one server instance) - there's explicit code in DAVSessionFactory::createDAVSession() to share sessions for same host/target - so then after a while, locks get refreshed, and session timeout hits - first lock -> no prob, ne_auth.c:ah_post_send() has auth_challenge() failing, returning error, which puts that lock into m_aRemoveDeferred list - _but_ ah_post_send() then does a clean_session(), and the next lock refresh from the same session hits NULLPTR session host - so let's delay any sspi_host cleanup until session object gets freed, instead of just cleaned Change-Id: Ie257310c47913aef9fcfec92c1722d64b28c4f89 diff --git a/external/neon/UnpackedTarball_neon.mk b/external/neon/UnpackedTarball_neon.mk index dacf425fa80f..74ac2eb38c97 100644 --- a/external/neon/UnpackedTarball_neon.mk +++ b/external/neon/UnpackedTarball_neon.mk @@ -24,6 +24,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,neon,\ external/neon/ubsan.patch \ external/neon/neon_fix_lock_token_on_if.patch \ external/neon/neon_fix_lock_timeout_windows.patch \ + external/neon/neon_fix_sspi_session_timeout.patch \ )) # vim: set noet sw=4 ts=4: diff --git a/external/neon/neon_fix_sspi_session_timeout.patch b/external/neon/neon_fix_sspi_session_timeout.patch new file mode 100644 index ..5003fda35022 --- /dev/null +++ b/external/neon/neon_fix_sspi_session_timeout.patch @@ -0,0 +1,22 @@ +--- src/ne_auth.c~ 2019-12-05 15:38:50.246997951 +0100 src/ne_auth.c 2019-12-20 06:54:31.555836285 +0100 +@@ -300,8 +300,6 @@ + sess->sspi_token = NULL; + ne_sspi_destroy_context(sess->sspi_context); + sess->sspi_context = NULL; +-if (sess->sspi_host) ne_free(sess->sspi_host); +-sess->sspi_host = NULL; + #endif + #ifdef HAVE_NTLM + if (sess->ntlm_context) { +@@ -1599,6 +1597,10 @@ + } + + clean_session(sess); ++#ifdef HAVE_SSPI ++if (sess->sspi_host) ne_free(sess->sspi_host); ++sess->sspi_host = NULL; ++#endif + ne_free(sess); + } + ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits