[Libreoffice-commits] core.git: external/neon

Jan-Marek Glogowski (via logerrit) logerrit at kemper.freedesktop.org
Tue Feb 11 18:52:14 UTC 2020


 external/neon/UnpackedTarball_neon.mk           |    4 ++
 external/neon/neon.patch                        |   47 ------------------------
 external/neon/neon_uri_parse_allow_others.patch |   11 +++--
 3 files changed, 10 insertions(+), 52 deletions(-)

New commits:
commit 38ef425f04ec518cbe7785f88267e25d94b803dc
Author:     Jan-Marek Glogowski <jan-marek.glogowski at extern.cib.de>
AuthorDate: Tue Feb 11 14:19:06 2020 +0100
Commit:     Jan-Marek Glogowski <glogow at fbihome.de>
CommitDate: Tue Feb 11 19:51:41 2020 +0100

    neon: drop special whitespace href handling
    
    Since whitespace (0x20, 0x09) in the URI path is now included in
    the neon_uri_parse_allow_others.patch to accept SharePoint IRIs
    as valid URIs, drop that hunk and document a link to the upstream
    discussion in the Makefile.
    
    Change-Id: I7b776e9bcaa716069b0f83a97499cf49e5ed1644
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88447
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
    Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
    Tested-by: Jenkins

diff --git a/external/neon/UnpackedTarball_neon.mk b/external/neon/UnpackedTarball_neon.mk
index 725e1916cd28..ca7da77ea7c4 100644
--- a/external/neon/UnpackedTarball_neon.mk
+++ b/external/neon/UnpackedTarball_neon.mk
@@ -17,6 +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 \
diff --git a/external/neon/neon.patch b/external/neon/neon.patch
index fa0c1938d4aa..fe106eaa17e0 100644
--- a/external/neon/neon.patch
+++ b/external/neon/neon.patch
@@ -261,53 +261,6 @@
  
  #endif /* HAVE_SSPI */
  
---- src/ne_uri.c	2007-12-05 12:04:47.000000000 +0100
-+++ src/ne_uri.c	2011-02-03 10:26:21.000000000 +0100
-@@ -42,7 +42,7 @@
- #include "ne_alloc.h"
- #include "ne_uri.h"
- 
--/* URI ABNF from RFC 3986: */
-+/* URI ABNF from RFC 3986: (TKR: SharePoint is contradictory to this RFC. So I fix it here. )*/
- 
- #define PS (0x0001) /* "+" */
- #define PC (0x0002) /* "%" */
-@@ -67,6 +67,9 @@
- 
- #define OT (0x4000) /* others */
- 
-+/* TKR new symbol */
-+#define WS (0x8000) /* Whitespaces ( Space, Tab ) */
-+
- #define URI_ALPHA (AL)
- #define URI_DIGIT (DG)
- 
-@@ -83,20 +86,21 @@
- /* 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)
-+/* (TKR) WS added */
-+#define URI_SEGCHAR (URI_PCHAR | FS | WS)
- /* query = *( pchar / "/" / "?" ) */
- #define URI_QUERY (URI_PCHAR | FS | QU)
- /* fragment == query */
- #define URI_FRAGMENT URI_QUERY
- 
- /* any characters which should be path-escaped: */
--#define URI_ESCAPE ((URI_GENDELIM & ~(FS)) | URI_SUBDELIM | OT | PC)
-+#define URI_ESCAPE ((URI_GENDELIM & ~(FS)) | URI_SUBDELIM | OT | WS | PC)
- 
- static const unsigned int uri_chars[256] = {
- /* 0xXX    x0      x2      x4      x6      x8      xA      xC      xE     */
--/*   0x */ OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT,
-+/*   0x */ OT, OT, OT, OT, OT, OT, OT, OT, OT, WS, OT, OT, OT, OT, OT, OT,
- /*   1x */ OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT,
--/*   2x */ OT, SD, OT, GD, SD, PC, SD, SD, SD, SD, SD, PS, SD, DS, DT, FS,
-+/*   2x */ WS, SD, OT, GD, SD, PC, SD, SD, SD, SD, SD, PS, SD, DS, DT, FS,
- /*   3x */ DG, DG, DG, DG, DG, DG, DG, DG, DG, DG, CL, SD, OT, SD, OT, QU,
- /*   4x */ AT, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,
- /*   5x */ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, GD, OT, GD, OT, US,
 --- src/ne_openssl.c
 +++ src/ne_openssl.c
 @@ -43,6 +43,13 @@
diff --git a/external/neon/neon_uri_parse_allow_others.patch b/external/neon/neon_uri_parse_allow_others.patch
index 9de2cf6b9ae7..7c3540a05bae 100644
--- a/external/neon/neon_uri_parse_allow_others.patch
+++ b/external/neon/neon_uri_parse_allow_others.patch
@@ -1,13 +1,14 @@
 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,8 @@
+@@ -87,7 +87,9 @@
+ /* pchar = unreserved / pct-encoded / sub-delims / ":" / "@" */
  #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)
+-#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 */


More information about the Libreoffice-commits mailing list