]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
CLEANUP: mux-h2: Remove the h1 parser state from the h2 stream
authorChristopher Faulet <cfaulet@haproxy.com>
Tue, 3 Nov 2020 17:25:52 +0000 (18:25 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 4 Nov 2020 14:02:24 +0000 (15:02 +0100)
Since the h2 multiplexer no longer relies on the legacy HTTP representation, and
uses exclusively the HTX, the H1 parser state (h1m) is no longer used by the h2
streams. Thus it can be removed.

This patch may be backported as far as 2.1.

src/mux_h2.c

index aa0a7602952f70fb0df0bfcd475c51e0bfa5e5ac..740e2555528030e0814e8d18bd6517112ecb3eff 100644 (file)
@@ -14,7 +14,6 @@
 #include <haproxy/api.h>
 #include <haproxy/cfgparse.h>
 #include <haproxy/connection.h>
-#include <haproxy/h1.h>
 #include <haproxy/h2.h>
 #include <haproxy/hpack-dec.h>
 #include <haproxy/hpack-enc.h>
@@ -192,13 +191,12 @@ enum h2_ss {
 
 
 /* H2 stream descriptor, describing the stream as it appears in the H2C, and as
- * it is being processed in the internal HTTP representation (H1 for now).
+ * it is being processed in the internal HTTP representation (HTX).
  */
 struct h2s {
        struct conn_stream *cs;
        struct session *sess;
        struct h2c *h2c;
-       struct h1m h1m;         /* request or response parser state for H1 */
        struct eb32_node by_id; /* place in h2c's streams_by_id */
        int32_t id; /* stream ID */
        uint32_t flags;      /* H2_SF_* */
@@ -1438,16 +1436,6 @@ static struct h2s *h2s_new(struct h2c *h2c, int id)
        h2s->body_len  = 0;
        h2s->rxbuf     = BUF_NULL;
 
-       if (h2c->flags & H2_CF_IS_BACK) {
-               h1m_init_req(&h2s->h1m);
-               h2s->h1m.err_pos = -1; // don't care about errors on the request path
-               h2s->h1m.flags |= H1_MF_TOLOWER;
-       } else {
-               h1m_init_res(&h2s->h1m);
-               h2s->h1m.err_pos = -1; // don't care about errors on the response path
-               h2s->h1m.flags |= H1_MF_TOLOWER;
-       }
-
        h2s->by_id.key = h2s->id = id;
        if (id > 0)
                h2c->max_id      = id;