From: Willy Tarreau Date: Tue, 6 Aug 2024 09:09:03 +0000 (+0200) Subject: BUG/MINOR: trace/quic: permit to lock on frontend/connect/session etc X-Git-Tag: v3.1-dev5~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=88a752ca789e6a2f863e16a35ddaa4fade5ccecd;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/trace.c b/src/trace.c index bed9d799b2..a2fd31e045 100644 --- a/src/trace.c +++ b/src/trace.c @@ -614,15 +614,15 @@ static int trace_parse_statement(char **args, char **msg) 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 ? '*' : ' '); @@ -633,7 +633,7 @@ static int trace_parse_statement(char **args, char **msg) 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 ? '*' : ' '); @@ -680,15 +680,15 @@ static int trace_parse_statement(char **args, char **msg) 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); } @@ -700,7 +700,7 @@ static int trace_parse_statement(char **args, char **msg) 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); }