MINOR: checks: Make matching on HTTP headers for expect rules less obscure
A default statement in the switch testing the header name has been added to be
sure it is impossible to eval the value pattern on an uninitialized header
value. It should never happen of course. But this way, it is explicit.
And a comment has been added to make clear that ctx.value is always defined when
it is evaluated.
This patch fixes the issue #619.
diff --git a/src/checks.c b/src/checks.c
index b59c6b7..bb78cc8 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -2296,8 +2296,16 @@
if (!http_match_header(htx, expect->hdr.name_re, &ctx, full))
goto end_of_match;
break;
+ default:
+ /* should never happen */
+ goto end_of_match;
}
+ /* A header has matched the name pattern, let's test its
+ * value now (always defined from there). If there is no
+ * value pattern, it is a good match.
+ */
+
if (expect->flags & TCPCHK_EXPT_FL_HTTP_HVAL_NONE) {
match = 1;
goto end_of_match;