BUG/MINOR: trace/quic: permit to lock on frontend/connect/session etc

These ones were not proposed in the list of trackable elements. Note
that this depends on previous commit:

    BUG/MINOR: trace/quic: enable conn/session pointer recovery from quic_conn

This should be backported to at least 3.0, maybe even 2.6.

(cherry picked from commit 88a752ca789e6a2f863e16a35ddaa4fade5ccecd)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit ab1a247177547d85ae995bb0d03981a8c621247a)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit b9cae2eb3452fb012c9eb864b6b9878f96d080cd)
Signed-off-by: Willy Tarreau <w@1wt.eu>
diff --git a/src/trace.c b/src/trace.c
index a3dbe3d..733bb25 100644
--- a/src/trace.c
+++ b/src/trace.c
@@ -561,15 +561,15 @@
 				chunk_appendf(&trash, "  %c check      : lock on the check that started the trace\n",
 				              src->lockon == TRACE_LOCKON_CHECK ? '*' : ' ');
 
-			if (src->arg_def & TRC_ARGS_CONN)
+			if (src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_QCON))
 				chunk_appendf(&trash, "  %c connection : lock on the connection that started the trace\n",
 				              src->lockon == TRACE_LOCKON_CONNECTION ? '*' : ' ');
 
-			if (src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_SESS|TRC_ARGS_STRM))
+			if (src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_QCON|TRC_ARGS_SESS|TRC_ARGS_STRM))
 				chunk_appendf(&trash, "  %c frontend   : lock on the frontend that started the trace\n",
 				              src->lockon == TRACE_LOCKON_FRONTEND ? '*' : ' ');
 
-			if (src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_SESS|TRC_ARGS_STRM))
+			if (src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_QCON|TRC_ARGS_SESS|TRC_ARGS_STRM))
 				chunk_appendf(&trash, "  %c listener   : lock on the listener that started the trace\n",
 				              src->lockon == TRACE_LOCKON_LISTENER ? '*' : ' ');
 
@@ -580,7 +580,7 @@
 				chunk_appendf(&trash, "  %c server     : lock on the server that started the trace\n",
 				              src->lockon == TRACE_LOCKON_SERVER ? '*' : ' ');
 
-			if (src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_SESS|TRC_ARGS_STRM))
+			if (src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_QCON|TRC_ARGS_SESS|TRC_ARGS_STRM))
 				chunk_appendf(&trash, "  %c session    : lock on the session that started the trace\n",
 				              src->lockon == TRACE_LOCKON_SESSION ? '*' : ' ');
 
@@ -627,15 +627,15 @@
 			HA_ATOMIC_STORE(&src->lockon, TRACE_LOCKON_CHECK);
 			HA_ATOMIC_STORE(&src->lockon_ptr, NULL);
 		}
-		else if ((src->arg_def & TRC_ARGS_CONN) && strcmp(name, "connection") == 0) {
+		else if ((src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_QCON)) && strcmp(name, "connection") == 0) {
 			HA_ATOMIC_STORE(&src->lockon, TRACE_LOCKON_CONNECTION);
 			HA_ATOMIC_STORE(&src->lockon_ptr, NULL);
 		}
-		else if ((src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_SESS|TRC_ARGS_STRM)) && strcmp(name, "frontend") == 0) {
+		else if ((src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_QCON|TRC_ARGS_SESS|TRC_ARGS_STRM)) && strcmp(name, "frontend") == 0) {
 			HA_ATOMIC_STORE(&src->lockon, TRACE_LOCKON_FRONTEND);
 			HA_ATOMIC_STORE(&src->lockon_ptr, NULL);
 		}
-		else if ((src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_SESS|TRC_ARGS_STRM)) && strcmp(name, "listener") == 0) {
+		else if ((src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_QCON|TRC_ARGS_SESS|TRC_ARGS_STRM)) && strcmp(name, "listener") == 0) {
 			HA_ATOMIC_STORE(&src->lockon, TRACE_LOCKON_LISTENER);
 			HA_ATOMIC_STORE(&src->lockon_ptr, NULL);
 		}
@@ -647,7 +647,7 @@
 			HA_ATOMIC_STORE(&src->lockon, TRACE_LOCKON_SERVER);
 			HA_ATOMIC_STORE(&src->lockon_ptr, NULL);
 		}
-		else if ((src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_SESS|TRC_ARGS_STRM)) && strcmp(name, "session") == 0) {
+		else if ((src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_QCON|TRC_ARGS_SESS|TRC_ARGS_STRM)) && strcmp(name, "session") == 0) {
 			HA_ATOMIC_STORE(&src->lockon, TRACE_LOCKON_SESSION);
 			HA_ATOMIC_STORE(&src->lockon_ptr, NULL);
 		}