From fed2984281a85a5a2f308841ec810f218c75f2ab Mon Sep 17 00:00:00 2001 From: Giuseppe Castagno Date: Wed, 29 Jul 2015 11:56:21 +0200 Subject: tdf#82744: fix WebDAV lock/unlock behaviour - part 4 Fix a problem when neon send the token list for methods modifying a WebDAV resource. The problem showed up when working whith Sharepoint 2013. Other WebDAV servers seem unaffected by it. The If Request Header is currently formed in neon using the "Tagged-List" format, while Sharepoint 2013 only accepts the "No-Tag-List" format. References: section 7.5 of RFC4918: http://tools.ietf.org/html/rfc4918#section-7.5 section 10.4 of RFC4918: http://tools.ietf.org/html/rfc4918#section-10.4 Change-Id: I24d607fde251f1846f0e7b630b627b1500da18ea Reviewed-on: https://gerrit.libreoffice.org/17423 Tested-by: Jenkins Reviewed-by: Jan Holesovsky --- external/neon/UnpackedTarball_neon.mk | 1 + external/neon/neon_fix_lock_token_on_if.patch | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 external/neon/neon_fix_lock_token_on_if.patch (limited to 'external/neon') diff --git a/external/neon/UnpackedTarball_neon.mk b/external/neon/UnpackedTarball_neon.mk index 3a4b58a9d251..25784c4b7373 100644 --- a/external/neon/UnpackedTarball_neon.mk +++ b/external/neon/UnpackedTarball_neon.mk @@ -22,6 +22,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,neon,\ 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 \ )) # vim: set noet sw=4 ts=4: diff --git a/external/neon/neon_fix_lock_token_on_if.patch b/external/neon/neon_fix_lock_token_on_if.patch new file mode 100644 index 000000000000..bbe605f40dc6 --- /dev/null +++ b/external/neon/neon_fix_lock_token_on_if.patch @@ -0,0 +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 +@@ -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); + } -- cgit