Commit
4605e3b641cebbdbb2ee5726e5bbc3c03a2d7b5e was not enough, because
connections passing from a TCP frontend to an HTTP backend without any
ACL and via a "default_backend" statement were still working on non-initialized
data. An initialization was missing in the session_set_backend() function, next
to the initialization of hdr_idx.
#include <proto/log.h>
#include <proto/protocols.h>
#include <proto/proto_tcp.h>
+#include <proto/proto_http.h>
#include <proto/proxy.h>
if (unlikely(!s->txn.hdr_idx.v && (be->acl_requires & ACL_USE_L7_ANY))) {
if ((s->txn.hdr_idx.v = pool_alloc2(s->fe->hdr_idx_pool)) == NULL)
return 0; /* not enough memory */
+
+ /* and now initialize the HTTP transaction state */
+ http_init_txn(s);
+
s->txn.hdr_idx.size = MAX_HTTP_HDR;
hdr_idx_init(&s->txn.hdr_idx);
}