]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
[BUG] http: the transaction must be initialized even in TCP mode
authorWilly Tarreau <w@1wt.eu>
Thu, 20 May 2010 14:17:07 +0000 (16:17 +0200)
committerWilly Tarreau <w@1wt.eu>
Sun, 23 May 2010 06:56:02 +0000 (08:56 +0200)
When running in pure TCP mode with a traffic inspection rule to detect
HTTP protocol, we have to initialize the HTTP transaction too. The
effect of not doing this was that some incoming connections could have
been matched as carrying HTTP protocol eventhough this was not the case.

src/client.c

index 2955de07f85ee60be1c8583fa06a5d77daa7d400..444d47fb56875ab61a7d2e52f2829b14377ce0ea 100644 (file)
@@ -301,10 +301,10 @@ int event_accept(int fd) {
 
                        if ((txn->hdr_idx.v = pool_alloc2(p->hdr_idx_pool)) == NULL)
                                goto out_fail_idx; /* no memory */
-               }
 
-               if (p->mode == PR_MODE_HTTP)
+                       /* and now initialize the HTTP transaction state */
                        http_init_txn(s);
+               }
 
                if ((p->mode == PR_MODE_TCP || p->mode == PR_MODE_HTTP)
                    && (p->logfac1 >= 0 || p->logfac2 >= 0)) {