mirror of
				https://git.haproxy.org/git/haproxy.git/
				synced 2025-10-31 16:41:01 +01:00 
			
		
		
		
	Do the tests for spaces on the CLI with the master CLI. Could be backported as far as 2.0 once the required patches are applied.
		
			
				
	
	
		
			81 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| varnishtest "haproxy ACL, CLI and mCLI spaces"
 | |
| feature ignore_unknown_macro
 | |
| 
 | |
| #REQUIRE_VERSION=2.0
 | |
| 
 | |
| server s1 {
 | |
|    rxreq
 | |
|    expect req.method == "GET"
 | |
|    txresp
 | |
| } -repeat 2 -start
 | |
| 
 | |
| haproxy h1 -W -S -conf {
 | |
|   defaults
 | |
|     mode http
 | |
|     ${no-htx} option http-use-htx
 | |
|     log global
 | |
|     option httplog
 | |
|     timeout connect         15ms
 | |
|     timeout client          20ms
 | |
|     timeout server          20ms
 | |
| 
 | |
|   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 {
 | |
|   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 {
 | |
|   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 {
 | |
|   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
 |