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

Reply via email to