On Thu, Jul 18, 2024 at 10:26:23PM -0600, Christopher Zimmermann wrote: > CVSROOT: /cvs > Module name: src > Changes by: chr...@cvs.openbsd.org 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