From: Willy Tarreau Date: Thu, 12 Nov 2026 08:37:18 +0000 (+0100) Subject: REGTESTS: add a no-warn directive on deny rules using a path X-Git-Tag: v3.5-dev12~9 X-Git-Url: https://git.kaiwu.me/%7B@url%7D?a=commitdiff_plain;h=56a3667ca566623c5b611f57f8486e647c6acd80;p=haproxy.git REGTESTS: add a no-warn directive on deny rules using a path Historically a number of reg-tests were built with action "deny" and deny_status followed by a path match in order to distinguish client requests in the tests. These ones will soon emit warnings, so let's add a no-warn directive to them. --- diff --git a/reg-tests/http-errorfiles/errorfiles.vtc b/reg-tests/http-errorfiles/errorfiles.vtc index 82b5847b9..92592ea91 100644 --- a/reg-tests/http-errorfiles/errorfiles.vtc +++ b/reg-tests/http-errorfiles/errorfiles.vtc @@ -27,10 +27,10 @@ haproxy h1 -conf { errorfile 403 ${testdir}/errors/403-1.http errorfile 500 /dev/null - http-request deny deny_status 400 if { path /400 } - http-request deny deny_status 403 if { path /403 } - http-request deny deny_status 408 if { path /408 } - http-request deny deny_status 500 if { path /500 } + http-request deny deny_status 400 no-warn if { path /400 } + http-request deny deny_status 403 no-warn if { path /403 } + http-request deny deny_status 408 no-warn if { path /408 } + http-request deny deny_status 500 no-warn if { path /500 } } -start diff --git a/reg-tests/http-errorfiles/errorloc.vtc b/reg-tests/http-errorfiles/errorloc.vtc index 7cf9bb201..609d6fccb 100644 --- a/reg-tests/http-errorfiles/errorloc.vtc +++ b/reg-tests/http-errorfiles/errorloc.vtc @@ -25,20 +25,20 @@ haproxy h1 -conf { frontend fe1 bind "fd@${fe1}" errorloc 503 http://www.example.com/oops503 - http-request deny deny_status 403 if { path /denied } + http-request deny deny_status 403 no-warn if { path /denied } default_backend dead frontend fe2 bind "fd@${fe2}" errorloc302 503 http://www.example.com/oops503 errorloc302 403 /local403 - http-request deny deny_status 403 if { path /denied } + http-request deny deny_status 403 no-warn if { path /denied } default_backend dead frontend fe3 bind "fd@${fe3}" errorloc303 503 http://www.example.com/oops503 - http-request deny deny_status 403 if { path /denied } + http-request deny deny_status 403 no-warn if { path /denied } default_backend dead backend dead diff --git a/reg-tests/http-errorfiles/http-error.vtc b/reg-tests/http-errorfiles/http-error.vtc index 43d1bcaf1..6658979bf 100644 --- a/reg-tests/http-errorfiles/http-error.vtc +++ b/reg-tests/http-errorfiles/http-error.vtc @@ -34,10 +34,10 @@ haproxy h1 -conf { http-error status 200 content-type "text/plain" hdr x-path "path=%[path]" lf-string "The path is \"%[path]\"" http-request return status 200 default-errorfiles if { path /200 } - http-request deny deny_status 400 if { path /400 } - http-request deny deny_status 403 if { path /403 } - http-request deny deny_status 404 if { path /404 } - http-request deny deny_status 500 if { path /500 } + http-request deny deny_status 400 no-warn if { path /400 } + http-request deny deny_status 403 no-warn if { path /403 } + http-request deny deny_status 404 no-warn if { path /404 } + http-request deny deny_status 500 no-warn if { path /500 } } -start diff --git a/reg-tests/http-errorfiles/http_deny_errors.vtc b/reg-tests/http-errorfiles/http_deny_errors.vtc index 6f8993c21..b1af4f125 100644 --- a/reg-tests/http-errorfiles/http_deny_errors.vtc +++ b/reg-tests/http-errorfiles/http_deny_errors.vtc @@ -24,14 +24,14 @@ haproxy h1 -conf { frontend fe1 bind "fd@${fe1}" - http-request deny deny_status 400 if { path /400 } - http-request deny deny_status 403 errorfile ${testdir}/errors/403.http if { path /403 } - http-request deny deny_status 404 errorfiles errors-1 if { path /404 } - http-request deny deny_status 500 errorfile /dev/null if { path /500-1 } - http-request deny deny_status 500 errorfiles errors-1 if { path /500-2 } + http-request deny deny_status 400 no-warn if { path /400 } + http-request deny deny_status 403 errorfile ${testdir}/errors/403.http no-warn if { path /403 } + http-request deny deny_status 404 errorfiles errors-1 no-warn if { path /404 } + http-request deny deny_status 500 errorfile /dev/null no-warn if { path /500-1 } + http-request deny deny_status 500 errorfiles errors-1 no-warn if { path /500-2 } - http-request deny status 500 hdr x-err-info "path=%[path]" content-type "text/plain" string "Internal Error" if { path /int-err } - http-request deny status 403 hdr x-err-info "path=%[path]" content-type "text/plain" lf-file ${testdir}/errors/lf-403.txt if { path /forbidden } + http-request deny status 500 hdr x-err-info "path=%[path]" content-type "text/plain" string "Internal Error" no-warn if { path /int-err } + http-request deny status 403 hdr x-err-info "path=%[path]" content-type "text/plain" lf-file ${testdir}/errors/lf-403.txt no-warn if { path /forbidden } } -start diff --git a/reg-tests/http-errorfiles/http_errors.vtc b/reg-tests/http-errorfiles/http_errors.vtc index a660279ab..6c6b48ce1 100644 --- a/reg-tests/http-errorfiles/http_errors.vtc +++ b/reg-tests/http-errorfiles/http_errors.vtc @@ -36,29 +36,29 @@ haproxy h1 -conf { frontend fe1 bind "fd@${fe1}" - http-request deny deny_status 400 if { path /400 } - http-request deny if { path /403 } - http-request deny deny_status 404 if { path /404 } - http-request deny deny_status 500 if { path /500 } + http-request deny deny_status 400 no-warn if { path /400 } + http-request deny no-warn if { path /403 } + http-request deny deny_status 404 no-warn if { path /404 } + http-request deny deny_status 500 no-warn if { path /500 } frontend fe2 bind "fd@${fe2}" errorfiles errors-1 errorfile 500 ${testdir}/errors/500.http - http-request deny deny_status 400 if { path /400 } - http-request deny if { path /403 } - http-request deny deny_status 404 if { path /404 } - http-request deny deny_status 500 if { path /500 } + http-request deny deny_status 400 no-warn if { path /400 } + http-request deny no-warn if { path /403 } + http-request deny deny_status 404 no-warn if { path /404 } + http-request deny deny_status 500 no-warn if { path /500 } frontend fe3 bind "fd@${fe3}" errorfile 500 ${testdir}/errors/500.http errorfiles errors-1 500 errorfiles errors-3 400 - http-request deny deny_status 400 if { path /400 } - http-request deny if { path /403 } - http-request deny deny_status 404 if { path /404 } - http-request deny deny_status 500 if { path /500 } + http-request deny deny_status 400 no-warn if { path /400 } + http-request deny no-warn if { path /403 } + http-request deny deny_status 404 no-warn if { path /404 } + http-request deny deny_status 500 no-warn if { path /500 } } -start client c1r1 -connect ${h1_fe1_sock} { diff --git a/reg-tests/http-rules/http_after_response.vtc b/reg-tests/http-rules/http_after_response.vtc index 1bf4f0c43..36e7736be 100644 --- a/reg-tests/http-rules/http_after_response.vtc +++ b/reg-tests/http-rules/http_after_response.vtc @@ -33,9 +33,9 @@ haproxy h1 -conf { frontend fe bind "fd@${feh1}" - http-request deny if { path /deny } + http-request deny no-warn if { path /deny } http-request redirect location / if { path /redir } - http-request auth if { path /auth } + http-request auth no-warn if { path /auth } http-after-response allow if { status eq 403 } http-after-response allow if { status eq 302 } diff --git a/reg-tests/http-rules/http_auth.vtc b/reg-tests/http-rules/http_auth.vtc index 9efaa1bab..0e0cbf3f8 100644 --- a/reg-tests/http-rules/http_auth.vtc +++ b/reg-tests/http-rules/http_auth.vtc @@ -39,7 +39,7 @@ haproxy h1 -conf { http-request set-var(txn.ok) str(yes) if auth_ok http-request set-var(txn.admin) str(yes) if is_admin - http-request auth realm "protected area" if { path /private } !auth_ok + http-request auth realm "protected area" no-warn if { path /private } !auth_ok http-request return status 200 http-after-response set-header x-user "%[var(txn.user)]" diff --git a/reg-tests/http-rules/tarpit_deny_drop.vtc b/reg-tests/http-rules/tarpit_deny_drop.vtc index 5b6707ac2..f2df9a6dd 100644 --- a/reg-tests/http-rules/tarpit_deny_drop.vtc +++ b/reg-tests/http-rules/tarpit_deny_drop.vtc @@ -42,17 +42,17 @@ haproxy h1 -conf { log-format "uri=%[capture.req.uri] term=%[txn.sess_term_state] st=%[txn.status]" # the default tarpit status is 500 - http-request tarpit if { path /tarpit } - http-request tarpit deny_status 429 if { path /tarpit429 } + http-request tarpit no-warn if { path /tarpit } + http-request tarpit deny_status 429 no-warn if { path /tarpit429 } # the default deny status is 403 - http-request deny if { path /deny } - http-request deny status 418 content-type "text/plain" string "teapot" hdr x-why "because" if { path /teapot } + http-request deny no-warn if { path /deny } + http-request deny status 418 content-type "text/plain" string "teapot" hdr x-why "because" no-warn if { path /teapot } # the client gets nothing at all, the connection is just dropped # however this is not portable so let's use rst-ttl instead, which # really closes. - http-request silent-drop rst-ttl 4 if { path /drop } + http-request silent-drop rst-ttl 4 no-warn if { path /drop } # pause only delays the analysis, the request is processed normally http-request pause 10ms if { path /pause } diff --git a/reg-tests/log/txn_state.vtc b/reg-tests/log/txn_state.vtc index 80d93eee0..64614a10d 100644 --- a/reg-tests/log/txn_state.vtc +++ b/reg-tests/log/txn_state.vtc @@ -94,7 +94,7 @@ haproxy h1 -conf { http-request set-log-level err if { path /err } http-request set-log-level silent if { path /silent } http-request do-log if { path /dolog } - http-request deny deny_status 403 if { path /denied } + http-request deny deny_status 403 no-warn if { path /denied } default_backend be diff --git a/reg-tests/stick-table/sc_counters.vtc b/reg-tests/stick-table/sc_counters.vtc index 6947e07cc..2eb85b2ad 100644 --- a/reg-tests/stick-table/sc_counters.vtc +++ b/reg-tests/stick-table/sc_counters.vtc @@ -64,7 +64,7 @@ haproxy h1 -conf { tcp-request connection track-sc1 src table st1 tcp-request connection track-sc2 src table st2 - http-request deny deny_status 403 if { path /denied } + http-request deny deny_status 403 no-warn if { path /denied } # use_backend is only evaluated once all the http-request rules have # run, so the local response must be skipped for the forwarded paths http-request return status 200 unless { path /srv } || { path /fail }