mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-12 18:16:58 +02:00
Now that warnings were almost all removed, let's enable zero-warning via -dW. All tests were adjusted, but two: - mcli/mcli_start_progs.vtc: the programs section currently cannot be silenced - stats/stats-file.vtc: the warning comes from the stats file itself on comment lines. All other ones are now OK.
79 lines
1.6 KiB
Plaintext
79 lines
1.6 KiB
Plaintext
varnishtest "haproxy ACL, CLI and mCLI spaces"
|
|
feature ignore_unknown_macro
|
|
|
|
server s1 {
|
|
rxreq
|
|
expect req.method == "GET"
|
|
txresp
|
|
} -repeat 2 -start
|
|
|
|
haproxy h1 -W -S -arg '-dW' -conf {
|
|
defaults
|
|
mode http
|
|
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
|
|
frontend fe1
|
|
bind "fd@${fe1}"
|
|
|
|
http-request deny if { req.hdr(user-agent) -i -m str -f ${testdir}/agents.acl }
|
|
|
|
default_backend be1
|
|
|
|
backend be1
|
|
server s1 ${s1_addr}:${s1_port}
|
|
|
|
} -start
|
|
|
|
client c1 -connect ${h1_fe1_sock} {
|
|
txreq -hdr "User-Agent: Mon User Agent"
|
|
rxresp
|
|
expect resp.status == 200
|
|
} -run
|
|
|
|
haproxy h1 -cli {
|
|
delay 0.1
|
|
send "add acl ${testdir}/agents.acl Mon\\ User\\ Agent\\;"
|
|
expect ~ .*
|
|
|
|
send "show acl ${testdir}/agents.acl"
|
|
expect ~ ".*Mon User Agent.*"
|
|
}
|
|
|
|
client c1 -connect ${h1_fe1_sock} {
|
|
txreq -hdr "User-Agent: Mon User Agent;"
|
|
rxresp
|
|
expect resp.status == 403
|
|
} -run
|
|
|
|
|
|
haproxy h1 -cli {
|
|
delay 0.1
|
|
send "del acl ${testdir}/agents.acl Mon\\ User\\ Agent\\;"
|
|
expect ~ .*
|
|
|
|
send "show acl ${testdir}/agents.acl"
|
|
expect ~ .*
|
|
}
|
|
|
|
client c1 -connect ${h1_fe1_sock} {
|
|
txreq -hdr "User-Agent: Mon User Agent;"
|
|
rxresp
|
|
expect resp.status == 200
|
|
} -run
|
|
|
|
|
|
# Try it with the master CLI
|
|
haproxy h1 -mcli {
|
|
delay 0.1
|
|
send "@1 add acl ${testdir}/agents.acl Mon\\ User\\ Agent\\;;@1 show acl ${testdir}/agents.acl"
|
|
expect ~ ".*Mon User Agent;.*"
|
|
}
|
|
|
|
client c1 -connect ${h1_fe1_sock} {
|
|
txreq -hdr "User-Agent: Mon User Agent;"
|
|
rxresp
|
|
expect resp.status == 403
|
|
} -run
|