[BUG] buffers: remove BF_MAY_CONNECT and fix forwarding issue
It wasn't really wise to separate BF_MAY_CONNECT and BF_MAY_FORWARD,
as it caused trouble in TCP mode because the connection was allowed
but not the forwarding. Remove BF_MAY_CONNECT.
diff --git a/include/types/buffers.h b/include/types/buffers.h
index 71cfab8..8319010 100644
--- a/include/types/buffers.h
+++ b/include/types/buffers.h
@@ -53,10 +53,9 @@
#define BF_STREAMER 4096
#define BF_STREAMER_FAST 8192
-#define BF_MAY_CONNECT 16384 /* consumer side is allowed to forward the connection */
-#define BF_MAY_FORWARD 32768 /* consumer side is allowed to forward the data */
-#define BF_READ_TIMEOUT 65536 /* timeout while waiting for producer */
-#define BF_WRITE_TIMEOUT 131072 /* timeout while waiting for consumer */
+#define BF_MAY_FORWARD 16384 /* consumer side is allowed to forward the data */
+#define BF_READ_TIMEOUT 32768 /* timeout while waiting for producer */
+#define BF_WRITE_TIMEOUT 65536 /* timeout while waiting for consumer */
/* describes a chunk of string */
struct chunk {
diff --git a/src/client.c b/src/client.c
index 77b1d96..7135d71 100644
--- a/src/client.c
+++ b/src/client.c
@@ -338,7 +338,7 @@
s->req->rlim -= MAXREWRITE;
if (!(s->analysis & AN_REQ_ANY))
- s->req->flags |= BF_MAY_CONNECT; /* don't wait to establish connection */
+ s->req->flags |= BF_MAY_FORWARD; /* don't wait to establish connection */
s->req->rto = s->fe->timeout.client;
s->req->wto = s->be->timeout.server;
diff --git a/src/proto_http.c b/src/proto_http.c
index 552f7e5..1f7f035 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -2992,8 +2992,8 @@
req->l, rep->l);
/* if no analysis remains, it's time to forward the connection */
- if (!(t->analysis & AN_REQ_ANY) && !(req->flags & (BF_MAY_CONNECT|BF_MAY_FORWARD)))
- req->flags |= BF_MAY_CONNECT | BF_MAY_FORWARD;
+ if (!(t->analysis & AN_REQ_ANY) && !(req->flags & BF_MAY_FORWARD))
+ req->flags |= BF_MAY_FORWARD;
/* FIXME: we still have to check for CL_STSHUTR because client_retnclose
* still set this state (and will do until unix sockets are converted).
@@ -3228,7 +3228,7 @@
trace_term(t, TT_HTTP_SRV_1);
return 1;
}
- else if (req->flags & BF_MAY_CONNECT) {
+ else if (req->flags & BF_MAY_FORWARD) {
/* the client allows the server to connect */
if (txn->flags & TX_CLTARPIT) {
/* This connection is being tarpitted. The CLIENT side has