Skip to content

Commit

Permalink
BUG/MINOR: tcpcheck: Report hexstring instead of binary one on check …
Browse files Browse the repository at this point in the history
…failure

When an expect rule failed for a tcp-check, information about the expect
rule is dumped in the report. For a check on a binary string, a hexstring is
used in the configuration but the decoded string is dumped. It is an problem
because it can contain special characters. And it is not really handy
because there is no correspondance with the config.

So, now, the hexstring is dumped in the report. This way, we are sure there
is no special characters and it is easy to find it in the configuration.

This patch shoudl solve the issue haproxy#2326. It must be backported as far as
2.2.
  • Loading branch information
capflam committed Oct 31, 2023
1 parent e7bae7a commit c72ab1c
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/check.c
Original file line number Diff line number Diff line change
Expand Up @@ -860,7 +860,9 @@ void chk_report_conn_err(struct check *check, int errno_bck, int expired)
chunk_appendf(chk, " (expect string '%.*s')", (unsigned int)istlen(expect->data), istptr(expect->data));
break;
case TCPCHK_EXPECT_BINARY:
chunk_appendf(chk, " (expect binary '%.*s')", (unsigned int)istlen(expect->data), istptr(expect->data));
chunk_appendf(chk, " (expect binary '");
dump_binary(chk, istptr(expect->data), (int)istlen(expect->data));
chunk_appendf(chk, "')");
break;
case TCPCHK_EXPECT_STRING_REGEX:
chunk_appendf(chk, " (expect regex)");
Expand Down

0 comments on commit c72ab1c

Please sign in to comment.