diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2020-03-25 22:09:46 +0100 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2020-05-31 11:50:42 +0200 |
commit | 07379e0eb27de0c16ae3838532310aa5aec4f20f (patch) | |
tree | c8701bce49f47c277b83b50579562a6436d26af6 /external | |
parent | 2047a5978ac8188e61da9cd3b2f40d86df5570bb (diff) |
neon: upgrade to release 0.31.1
Drops some of the LO patches upstreamed since 0.31.0.
Version 0.31.0 introduced an new session flag for MS SharePoint
compatibility, NE_SESSFLAG_SHAREPOINT, which enables a few
workarounds, where SharePoint breaks the WebDAV RFCs.
In 0.31.1 a compiler warning and the MD5 ABI break introduced in
0.31.0 are fixed, so LO can now update neon.
Change-Id: Ia79ce530271664c0e6bab30a5e2516319da328d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91070
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'external')
-rw-r--r-- | external/neon/UnpackedTarball_neon.mk | 9 | ||||
-rw-r--r-- | external/neon/configs/config.h | 12 | ||||
-rw-r--r-- | external/neon/neon.patch | 2 | ||||
-rw-r--r-- | external/neon/neon_fix_lock_timeout_windows.patch | 37 | ||||
-rw-r--r-- | external/neon/neon_fix_lock_token_on_if.patch | 20 | ||||
-rw-r--r-- | external/neon/neon_fix_sspi_session_timeout.patch | 22 | ||||
-rw-r--r-- | external/neon/neon_ne_set_request_flag.patch | 11 | ||||
-rw-r--r-- | external/neon/neon_uri_parse_allow_others.patch | 23 | ||||
-rw-r--r-- | external/neon/ubsan.patch | 11 |
9 files changed, 17 insertions, 130 deletions
diff --git a/external/neon/UnpackedTarball_neon.mk b/external/neon/UnpackedTarball_neon.mk index e12d13b6a623..73cdd81f2e18 100644 --- a/external/neon/UnpackedTarball_neon.mk +++ b/external/neon/UnpackedTarball_neon.mk @@ -17,19 +17,10 @@ $(eval $(call gb_UnpackedTarball_add_files,neon,src,\ $(eval $(call gb_UnpackedTarball_set_patchlevel,neon,0)) -# For the upstream discussion of neon_uri_parse_allow_others.patch see -# http://lists.manyfish.co.uk/pipermail/neon/2020-February/001629.html -# or thread "RfC: Accept SharePoint href IRIs" - $(eval $(call gb_UnpackedTarball_add_patches,neon,\ external/neon/neon.patch \ - external/neon/neon_ne_set_request_flag.patch \ external/neon/neon_with_gnutls.patch \ - 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 \ - external/neon/neon_uri_parse_allow_others.patch \ $(if $(filter WNT,$(OS)),external/neon/neon_fix_no_OPENSSL_Applink.patch) \ )) diff --git a/external/neon/configs/config.h b/external/neon/configs/config.h index 00252d0abf9e..3f93d1e68132 100644 --- a/external/neon/configs/config.h +++ b/external/neon/configs/config.h @@ -1,4 +1,4 @@ -/* Contents kept in sync with config.h.in from neon 0.29.5 */ +/* Contents kept in sync with config.h.in from neon 0.31.1 */ /* Define if building universal (internal helper macro) */ /* #undef AC_APPLE_UNIVERSAL_BUILD */ @@ -370,7 +370,7 @@ #define NEON_IS_LIBRARY 1 /* Define to be the neon version string */ -#define NEON_VERSION "0.29.5" +#define NEON_VERSION "0.31.1" /* Define to enable debugging */ /* #undef NE_DEBUGGING */ @@ -432,10 +432,10 @@ #define NE_VERSION_MAJOR (0) /* Define to be neon library minor version */ -#define NE_VERSION_MINOR (29) +#define NE_VERSION_MINOR (31) /* Define to be neon library patch version */ -#define NE_VERSION_PATCH (5) +#define NE_VERSION_PATCH (1) /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "neon@webdav.org" @@ -444,13 +444,13 @@ #define PACKAGE_NAME "neon" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "neon 0.29.5" +#define PACKAGE_STRING "neon 0.31.1" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "neon" /* Define to the version of this package. */ -#define PACKAGE_VERSION "0.29.5" +#define PACKAGE_VERSION "0.31.1" /* The size of `int', as computed by sizeof. */ #define SIZEOF_INT 4 diff --git a/external/neon/neon.patch b/external/neon/neon.patch index fe106eaa17e0..23aef0d0fe85 100644 --- a/external/neon/neon.patch +++ b/external/neon/neon.patch @@ -208,7 +208,7 @@ + + +/* - * Wrapper arround initializeSecurityContext. Supplies several + * Wrapper around initializeSecurityContext. Supplies several * default parameters as well as logging in case of errors. */ @@ -483,7 +522,7 @@ diff --git a/external/neon/neon_fix_lock_timeout_windows.patch b/external/neon/neon_fix_lock_timeout_windows.patch deleted file mode 100644 index 72abde762420..000000000000 --- a/external/neon/neon_fix_lock_timeout_windows.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- src.origin/ne_locks.c 2007-02-05 11:09:27.000000000 +0100 -+++ src/ne_locks.c 2015-11-11 16:12:11.236849082 +0100 -@@ -33,6 +33,10 @@ - #include <limits.h> - #endif - -+#ifdef HAVE_ERRNO_H -+#include <errno.h> -+#endif -+ - #include <ctype.h> /* for isdigit() */ - - #include "ne_alloc.h" -@@ -428,9 +432,21 @@ - if (ne_strcasecmp(timeout, "infinite") == 0) { - return NE_TIMEOUT_INFINITE; - } else if (strncasecmp(timeout, "Second-", 7) == 0) { -- long to = strtol(timeout+7, NULL, 10); -- if (to == LONG_MIN || to == LONG_MAX) -+ // according RFC 4918 the value used for lock timeout is unsigned 32 bit -+ // see: <http://tools.ietf.org/html/rfc4918#section-10.7> -+ // adapt it to the 'long' used internally by neon instead -+ errno = 0; -+ unsigned long to1 = strtoul(timeout+7, NULL, 10); -+ if (to1 == ULONG_MAX && errno == ERANGE) - return NE_TIMEOUT_INVALID; -+ NE_DEBUG(NE_DBG_LOCKS, "Parsed lock timeout: %lu\n", to1); -+ long to; -+ // LONG_MAX means around 68 years, -+ // more than enough for practical use -+ if (to1 > LONG_MAX) -+ return LONG_MAX; -+ else -+ to = (long)to1; - return to; - } else { - return NE_TIMEOUT_INVALID; diff --git a/external/neon/neon_fix_lock_token_on_if.patch b/external/neon/neon_fix_lock_token_on_if.patch index bbe605f40dc6..a60303789f53 100644 --- a/external/neon/neon_fix_lock_token_on_if.patch +++ b/external/neon/neon_fix_lock_token_on_if.patch @@ -1,12 +1,12 @@ diff -aru src.origin/ne_locks.c src/ne_locks.c ---- src.origin/ne_locks.c 2007-02-05 11:09:27.000000000 +0100 -+++ src/ne_locks.c 2015-07-29 10:33:55.724753920 +0200 +--- src.origin/ne_locks.c 2007-02-05 11:09:27.000000000 +0100 ++++ src/ne_locks.c 2015-07-29 10:33:55.724753920 +0200 @@ -137,7 +137,7 @@ - ne_buffer_czappend(req, "If:"); - for (item = lrc->submit; item != NULL; item = item->next) { - char *uri = ne_uri_unparse(&item->lock->uri); -- ne_buffer_concat(req, " <", uri, "> (<", -+ ne_buffer_concat(req, " (<", - item->lock->token, ">)", NULL); - ne_free(uri); - } + } + else { + char *uri = ne_uri_unparse(&item->lock->uri); +- ne_buffer_concat(req, " <", uri, "> (<", ++ ne_buffer_concat(req, " (<", + item->lock->token, ">)", NULL); + ne_free(uri); + } diff --git a/external/neon/neon_fix_sspi_session_timeout.patch b/external/neon/neon_fix_sspi_session_timeout.patch deleted file mode 100644 index 5003fda35022..000000000000 --- a/external/neon/neon_fix_sspi_session_timeout.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- 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); - } - diff --git a/external/neon/neon_ne_set_request_flag.patch b/external/neon/neon_ne_set_request_flag.patch deleted file mode 100644 index 5189406a45a3..000000000000 --- a/external/neon/neon_ne_set_request_flag.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- src/ne_request.c 2010-09-28 13:57:26.000000000 +0200 -+++ src/ne_request.c 2011-05-18 12:39:05.134445529 +0200 -@@ -585,7 +585,7 @@ - - void ne_set_request_flag(ne_request *req, ne_request_flag flag, int value) - { -- if (flag < (ne_request_flag)NE_SESSFLAG_LAST) { -+ if (flag < (ne_request_flag)NE_REQFLAG_LAST) { - req->flags[flag] = value; - } - } diff --git a/external/neon/neon_uri_parse_allow_others.patch b/external/neon/neon_uri_parse_allow_others.patch deleted file mode 100644 index 7c3540a05bae..000000000000 --- a/external/neon/neon_uri_parse_allow_others.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -ur src/ne_uri.c ---- src/ne_uri.c 2020-02-07 10:49:58.764417840 +0000 -+++ src/ne_uri.c 2020-02-07 10:51:33.675627141 +0000 -@@ -87,7 +87,9 @@ - /* pchar = unreserved / pct-encoded / sub-delims / ":" / "@" */ - #define URI_PCHAR (URI_UNRESERVED | PC | URI_SUBDELIM | CL | AT) - /* invented: segchar = pchar / "/" */ --#define URI_SEGCHAR (URI_PCHAR | FS) -+/* allow OT characters to parse SharePoint 2016 href IRIs (breaking the spec -+ * of href XML Element: "MUST contain a URI or a relative reference." */ -+#define URI_SEGCHAR (URI_PCHAR | FS | 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 ] */ diff --git a/external/neon/ubsan.patch b/external/neon/ubsan.patch deleted file mode 100644 index 56445fcb7e17..000000000000 --- a/external/neon/ubsan.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- src/ne_compress.c -+++ src/ne_compress.c -@@ -81,7 +81,7 @@ - }; - - /* Convert 'buf' to unsigned int; 'buf' must be 'unsigned char *' */ --#define BUF2UINT(buf) (((buf)[3]<<24) + ((buf)[2]<<16) + ((buf)[1]<<8) + (buf)[0]) -+#define BUF2UINT(buf) (((unsigned)((buf)[3])<<24) + ((buf)[2]<<16) + ((buf)[1]<<8) + (buf)[0]) - - #define ID1 0x1f - #define ID2 0x8b |