On Thu, Jul 18, 2024 at 10:26:23PM -0600, Christopher Zimmermann wrote:
> CVSROOT: /cvs
> Module name: src
> Changes by: [email protected] 2024/07/18 22:26:23
>
> Modified files:
> usr.sbin/relayd: relay_http.c
>
> Log message:
> Keep Content-length header in HEAD responses.
>
> ok millert@
This commit introduced a regression as highlighted by the relayd regress
tests. Some HEAD requests are now rejected as malformed, preserving the
lost break fixes the issue.
Index: relay_http.c
===================================================================
RCS file: /cvs/src/usr.sbin/relayd/relay_http.c,v
diff -u -p -r1.89 relay_http.c
--- relay_http.c 19 Jul 2024 04:26:23 -0000 1.89
+++ relay_http.c 20 Jul 2024 04:36:59 -0000
@@ -435,6 +435,10 @@ relay_read_http(struct bufferevent *bev,
kv_delete(&desc->http_headers,
desc->http_lastheader);
break;
+ case HTTP_METHOD_RESPONSE:
+ if (request_method == HTTP_METHOD_HEAD)
+ break;
+ /* FALLTHROUGH */
default:
/*
* Need to read data from the client