[Libreoffice-commits] core.git: Branch 'distro/cib/libreoffice-6-1' - external/neon

2020-02-07 Thread Jan-Marek Glogowski (via logerrit)
 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

2019-12-19 Thread Thorsten Behrens (via logerrit)
 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