[MEDIUM] session: support "tcp-request content" rules in backends

Sometimes it's necessary to be able to perform some "layer 6" analysis
in the backend. TCP request rules were not available till now, although
documented in the diagram. Enable them in backend now.
diff --git a/src/session.c b/src/session.c
index 84ffcbe..96933d3 100644
--- a/src/session.c
+++ b/src/session.c
@@ -855,9 +855,11 @@
 				goto sw_failed;
 	}
 
-	/* we don't want to run the HTTP filters again if the backend has not changed */
-	if (s->fe == s->be)
+	/* we don't want to run the TCP or HTTP filters again if the backend has not changed */
+	if (s->fe == s->be) {
+		s->req->analysers &= ~AN_REQ_INSPECT_BE;
 		s->req->analysers &= ~AN_REQ_HTTP_PROCESS_BE;
+	}
 
 	/* as soon as we know the backend, we must check if we have a matching forced or ignored
 	 * persistence rule, and report that in the session.
@@ -1327,10 +1329,10 @@
 			while (ana_list && max_loops--) {
 				/* Warning! ensure that analysers are always placed in ascending order! */
 
-				if (ana_list & AN_REQ_INSPECT) {
-					if (!tcp_inspect_request(s, s->req, AN_REQ_INSPECT))
+				if (ana_list & AN_REQ_INSPECT_FE) {
+					if (!tcp_inspect_request(s, s->req, AN_REQ_INSPECT_FE))
 						break;
-					UPDATE_ANALYSERS(s->req->analysers, ana_list, ana_back, AN_REQ_INSPECT);
+					UPDATE_ANALYSERS(s->req->analysers, ana_list, ana_back, AN_REQ_INSPECT_FE);
 				}
 
 				if (ana_list & AN_REQ_WAIT_HTTP) {
@@ -1351,6 +1353,12 @@
 					UPDATE_ANALYSERS(s->req->analysers, ana_list, ana_back, AN_REQ_SWITCHING_RULES);
 				}
 
+				if (ana_list & AN_REQ_INSPECT_BE) {
+					if (!tcp_inspect_request(s, s->req, AN_REQ_INSPECT_BE))
+						break;
+					UPDATE_ANALYSERS(s->req->analysers, ana_list, ana_back, AN_REQ_INSPECT_BE);
+				}
+
 				if (ana_list & AN_REQ_HTTP_PROCESS_BE) {
 					if (!http_process_req_common(s, s->req, AN_REQ_HTTP_PROCESS_BE, s->be))
 						break;