[Pkg-ocaml-maint-commits] [SCM] ocsigen packaging branch, master, updated. debian/1.3.4-1-2-g70fa3b8
Stephane Glondu
steph at glondu.net
Tue Jul 12 19:01:19 UTC 2011
The following commit has been merged in the master branch:
commit d05529adf7016503e7c9d933e5d4d2972d31c21a
Author: Stephane Glondu <steph at glondu.net>
Date: Thu Jul 7 16:46:01 2011 +0200
Fix wrong decoding of + in URL paths
diff --git a/debian/patches/0002-Fix-wrong-decoding-of-in-URL-paths.patch b/debian/patches/0002-Fix-wrong-decoding-of-in-URL-paths.patch
new file mode 100644
index 0000000..77198fc
--- /dev/null
+++ b/debian/patches/0002-Fix-wrong-decoding-of-in-URL-paths.patch
@@ -0,0 +1,46 @@
+From: Stephane Glondu <steph at glondu.net>
+Date: Thu, 7 Jul 2011 16:47:00 +0200
+Subject: Fix wrong decoding of + in URL paths
+
+Cherry-picked from upstream.
+---
+ baselib/ocsigen_lib.ml | 11 +++++++++--
+ 1 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/baselib/ocsigen_lib.ml b/baselib/ocsigen_lib.ml
+index 376fe3a..15af400 100644
+--- a/baselib/ocsigen_lib.ml
++++ b/baselib/ocsigen_lib.ml
+@@ -509,7 +509,8 @@ let string_of_url_path ~encode l =
+ then
+ fixup_url_string (String.concat "/"
+ (List.map (*Netencoding.Url.encode*)
+- MyUrl.encode l))
++ (MyUrl.encode ~plus:false) l))
++ (* ' ' are not encoded to '+' in paths *)
+ else String.concat "/" l (* BYXXX : check illicit characters *)
+
+ let parse_url =
+@@ -561,6 +562,12 @@ let parse_url =
+
+ (* Note that the fragment (string after #) is not sent by browsers *)
+
++(*20110707 ' ' is encoded to '+' in queries, but not in paths.
++ Warning: if we write the URL manually, we must encode ' ' to '+' manually
++ (not done by the browser).
++ --Vincent
++*)
++
+ let get_params =
+ lazy begin
+ let params_string = match query with None -> "" | Some s -> s in
+@@ -570,7 +577,7 @@ let parse_url =
+ end
+ in
+
+- let path = List.map Netencoding.Url.decode (Neturl.split_path pathstring) in
++ let path = List.map (Netencoding.Url.decode ~plus:false) (Neturl.split_path pathstring) in
+
+ let path = remove_dotdot path (* and remove "//" *)
+ (* here we remove .. from paths, as it is dangerous.
+--
diff --git a/debian/patches/series b/debian/patches/series
index 6a3af06..bc43ddc 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
0001-Disable-install-of-lwt_obrowser.patch
+0002-Fix-wrong-decoding-of-in-URL-paths.patch
--
ocsigen packaging
More information about the Pkg-ocaml-maint-commits
mailing list