summary refs log tree commit diff
diff options
context:
space:
mode:
authorNicolò Balzarotti <nicolo@nixo.xyz>2020-04-02 11:50:27 +0200
committerEfraim Flashner <efraim@flashner.co.il>2020-04-07 17:31:58 +0300
commit633360e00e2418fe243c6179c944f81a51ca74de (patch)
treecb74025def847b8124fd4432255a3abd600580e7
parentb60e2d480ad5d55b94e1ad5b52fca28a85503771 (diff)
downloadguix-633360e00e2418fe243c6179c944f81a51ca74de.tar.gz
gnu: http-parser: Add support for RFC 3986.
Fixes parsing of colon followed by empty port, allowed by RFC 3986
specifications.  Fedora is applying it to system http-parser too.

* gnu/packages/web.scm (http-parser)[source]: Add patch from Fedora.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
-rw-r--r--gnu/packages/web.scm14
1 files changed, 14 insertions, 0 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 02bad3cd4c..5e393db463 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5818,6 +5818,20 @@ into your tests.  It automatically starts up a HTTP server in a separate thread
               (uri (git-reference (url home-page)
                                   (commit (string-append "v" version))))
               (file-name (git-file-name name version))
+              (patches
+               ;; When parsing URLs, treat an empty port (eg
+               ;; `http://hostname:/`) as if it were unspecified.  This patch is
+               ;; applied to Fedora's http-parser and to libgit2's bundled version.
+               (list
+                (origin
+                  (method url-fetch)
+                  (uri (string-append
+                         "https://src.fedoraproject.org/rpms/http-parser/raw/"
+                         "e89b4c4e2874c19079a5a1a2d2ccc61b551aa289/"
+                         "f/0001-url-treat-empty-port-as-default.patch"))
+                  (sha256
+                   (base32
+                    "0pbxf2nq9pcn299k2b2ls8ldghaqln9glnp79gi57mamx4iy0f6g")))))
               (sha256
                (base32
                 "189zi61vczqgmqjd2myjcjbbi5icrk7ccs0kn6nj8hxqiv5j3811"))))