]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
CLEANUP: mux-h1: Remove condition rejecting upgrade requests with payload
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 9 Sep 2021 12:51:26 +0000 (14:51 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 10 Sep 2021 08:35:53 +0000 (10:35 +0200)
Now, "Upgrade:" header is removed from such requests. Thus, the condition to
reject them is now useless and can be removed. Code to handle unimplemented
features is now unused but is preserved for future uses.

This patch may be backported to 2.4.

src/mux_h1.c

index 29ac930b06a50f7376c38b43c39652e95b93bd16..729d761369b1a5db7776ca12980fafe0818e245d 100644 (file)
@@ -1535,14 +1535,6 @@ static size_t h1_process_demux(struct h1c *h1c, struct buffer *buf, size_t count
                        TRACE_USER((!(h1m->flags & H1_MF_RESP) ? "rcvd H1 request headers" : "rcvd H1 response headers"),
                                   H1_EV_RX_DATA|H1_EV_RX_HDRS, h1c->conn, h1s, htx, (size_t[]){ret});
 
-                       /* Reject Protocol upgrade request with payload */
-                       if ((h1m->flags & (H1_MF_RESP|H1_MF_CONN_UPG)) == H1_MF_CONN_UPG && h1m->state != H1_MSG_DONE) {
-                               h1s->flags |= H1S_F_NOT_IMPL_ERROR;
-                               TRACE_ERROR("Upgrade with body not implemented, reject H1 message",
-                                           H1_EV_RX_DATA|H1_EV_RX_HDRS|H1_EV_H1S_ERR, h1s->h1c->conn, h1s);
-                               break;
-                       }
-
                        if ((h1m->flags & H1_MF_RESP) &&
                            h1s->status < 200 && (h1s->status == 100 || h1s->status >= 102)) {
                                h1m_init_res(&h1s->res);