New upstream version 5.3.1
authorStephane Glondu <steph@glondu.net>
Sat, 14 Mar 2026 08:43:01 +0000 (09:43 +0100)
committerStephane Glondu <steph@glondu.net>
Sat, 14 Mar 2026 08:43:01 +0000 (09:43 +0100)
15 files changed:
CHANGES.md
cohttp-async.opam
cohttp-lwt-jsoo.opam
cohttp-lwt-unix.opam
cohttp-lwt.opam
cohttp-mirage.opam
cohttp-mirage/src/client.ml
cohttp-mirage/src/io.ml
cohttp-mirage/src/io.mli
cohttp-mirage/src/static.ml
cohttp-mirage/src/static.mli
cohttp-top.opam
cohttp.opam
cohttp/src/cookie.ml
dune-project

index 176890171d17121fcc777c4c16b275f48770415a..0fa3b6a591fe628a9e5092528fdb6ae203b6e7b4 100644 (file)
@@ -1,3 +1,7 @@
+## v5.3.1 (2023-12-13)
+
+- cohttp: case-insensitive check of set-cookies (chomosuke, #1008)
+
 ## v5.3.0 (2023-07-21)
 
 - cohttp-async: support for base/async v0.16
index 7a8d4c001a8d0cb6e838fb40663bc704a5249258..94820afdcf761fef391210c935bd6131eac8f85f 100644 (file)
@@ -1,4 +1,4 @@
-version: "5.3.0"
+version: "5.3.1"
 opam-version: "2.0"
 maintainer: "anil@recoil.org"
 authors: [
index 1af72ffa05104e4238d97c910df463417466f477..523a6af274317ccd980062b8a5b1a3847f05065d 100644 (file)
@@ -1,4 +1,4 @@
-version: "5.3.0"
+version: "5.3.1"
 opam-version: "2.0"
 maintainer: "anil@recoil.org"
 authors: [
index 776587526328e29921821e661f879087054c6df0..48a535ddaa31b2150f53a1d723f2dd42e6f031c7 100644 (file)
@@ -1,4 +1,4 @@
-version: "5.3.0"
+version: "5.3.1"
 opam-version: "2.0"
 maintainer: "anil@recoil.org"
 authors: [
index cbfd435530c0ebeeb5a60fe5a7de5df048cd0a66..9ab7d417a3b0ca7aa285bf52207650822e65c510 100644 (file)
@@ -1,4 +1,4 @@
-version: "5.3.0"
+version: "5.3.1"
 opam-version: "2.0"
 maintainer: "anil@recoil.org"
 authors: [
index 61186f6d5837bba28f2e40eb624e768860fc2a7c..d1ad724f63bd55ece59f6a39fcd4b041e4384513 100644 (file)
@@ -1,4 +1,4 @@
-version: "5.3.0"
+version: "5.3.1"
 opam-version: "2.0"
 maintainer: "anil@recoil.org"
 authors: ["Anil Madhavapeddy" "Thomas Gazagnaire"]
index a2de582cd7b04d097bedda16bf18bacce4f1ea13..d564f89076f126743c00dd86f7cb157adf88297c 100644 (file)
@@ -14,7 +14,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * cohttp v5.3.0
+ * cohttp v5.0.0-25-g0bb4e19
  *)
 
 open Lwt.Infix
index 301c634600a313627c3ee22008fdee2ada4f279c..cd585611244317b7a2ea2c9fb4570f7a9a1ecdef 100644 (file)
@@ -14,7 +14,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * cohttp v5.3.0
+ * cohttp v5.0.0-25-g0bb4e19
  *)
 
 open Lwt.Infix
index 1768bbed19d62989c0c132767346efe185fc5c3e..6e071dc12b09319e6219c7cdc925d1281b4f7e05 100644 (file)
@@ -14,7 +14,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * cohttp v5.3.0
+ * cohttp v5.0.0-25-g0bb4e19
  *)
 
 (** Cohttp IO implementation using Mirage channels. *)
index 99e8aa384c122d10a8141eafef767204b32c49b9..5d98cf548fe8e0827eecab26260996554a3d7fa3 100644 (file)
@@ -14,7 +14,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * cohttp v5.3.0
+ * cohttp v5.0.0-25-g0bb4e19
  *)
 
 module Key = Mirage_kv.Key
index b9e95457c7f8398e9e6e3817f44884e679a3494c..2865fac3cfdc3cd95c63ca1dc9eb1cf688f33686 100644 (file)
@@ -14,7 +14,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * cohttp v5.3.0
+ * cohttp v5.0.0-25-g0bb4e19
  *)
 
 (** Serve static HTTP sites from a Mirage key-value store. *)
index bad206ee696477ed634cc9c465d680c13b22f777..a47a5414fd5d1edf5a82ce6fd3817f537b5fa075 100644 (file)
@@ -1,4 +1,4 @@
-version: "5.3.0"
+version: "5.3.1"
 opam-version: "2.0"
 maintainer: "anil@recoil.org"
 authors: [
index 54c07330534feb0eff22a4a2734ae6bd91f03d3e..18c7a01deb55f12fe4d4d207b8ec222d783ba1db 100644 (file)
@@ -1,4 +1,4 @@
-version: "5.3.0"
+version: "5.3.1"
 opam-version: "2.0"
 maintainer: "anil@recoil.org"
 authors: [
index 89f1718c4803af193891e309294b43808f7ad85e..8b6777d58c371b07b1f507c454ad3944f1abba6b 100644 (file)
@@ -133,13 +133,29 @@ module Set_cookie_hdr = struct
       :: alist
     with Failure _ -> alist
 
+  let caseless_equal a b =
+    if a == b then true
+    else
+      let len = String.length a in
+      len = String.length b
+      &&
+      let stop = ref false in
+      let idx = ref 0 in
+      while (not !stop) && !idx < len do
+        let c1 = String.unsafe_get a !idx in
+        let c2 = String.unsafe_get b !idx in
+        if Char.lowercase_ascii c1 <> Char.lowercase_ascii c2 then stop := true;
+        incr idx
+      done;
+      not !stop
+
   (* TODO: check dupes+order *)
   let extract hdr =
     Header.fold
-      (function
-        | "set-cookie" -> extract_1_0
-        | "set-cookie2" -> extract_1_1
-        | _ -> fun _ a -> a)
+      (fun k c a ->
+        if caseless_equal k "set-cookie" then extract_1_0 c a
+        else if caseless_equal k "set-cookie2" then extract_1_1 c a
+        else a)
       hdr []
 
   let value { cookie = _, v; _ } = v
index b7266eddb53cf4bb0388d05ba1499d1527c3f4af..16d283863996002f643b51ec6a03ab5c2d03921e 100644 (file)
@@ -1,3 +1,3 @@
 (lang dune 2.0)
 (name cohttp)
-(version v5.3.0)
+(version v5.0.0-25-g0bb4e19)