commit 99d184b59f12d2028a6affa7c5f1e75fd49360e6
parent 69f692846052ddb957516cf2d659d205a1631e57
Author: Christian Grothoff <christian@grothoff.org>
Date: Thu, 6 Aug 2026 16:19:12 +0200
preserve header order: need to insert at tail
Diffstat:
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/backend/paivana-httpd_reverse.c b/src/backend/paivana-httpd_reverse.c
@@ -757,9 +757,13 @@ curl_check_hdr (void *buffer,
header = GNUNET_new (struct HttpResponseHeader);
header->type = GNUNET_strdup (hdr_type);
header->value = GNUNET_strdup (hdr_val);
- GNUNET_CONTAINER_DLL_insert (hr->header_head,
- hr->header_tail,
- header);
+ /* RFC 9110 section 5.3: "a proxy MUST NOT change the order of
+ these field line values when a message is forwarded". A head
+ insert reverses them, which matters for Set-Cookie, Link,
+ WWW-Authenticate and Content-Security-Policy. */
+ GNUNET_CONTAINER_DLL_insert_tail (hr->header_head,
+ hr->header_tail,
+ header);
}
GNUNET_free (ndup);
return bytes;