diff options
Diffstat (limited to 'tests/conf/test-acl-args.cfg')
-rw-r--r-- | tests/conf/test-acl-args.cfg | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/conf/test-acl-args.cfg b/tests/conf/test-acl-args.cfg new file mode 100644 index 0000000..26b909f --- /dev/null +++ b/tests/conf/test-acl-args.cfg @@ -0,0 +1,36 @@ +# This config file aims to trigger all error detection cases in the ACL +# expression parser related to the fetch arguments. + +# silence some warnings +defaults + mode http + timeout client 1s + timeout server 1s + timeout connect 1s + +frontend 1 + bind :10000 + + # missing fetch method in ACL expression '(arg)'. + http-request deny if { (arg) } + + # unknown fetch method 'blah' in ACL expression 'blah(arg)'. + http-request deny if { blah(arg) } + + # missing closing ')' after arguments to fetch keyword 'req.hdr' in ACL expression 'req.hdr('. + http-request deny if { req.hdr( } + + # cannot be triggered : "returns type of fetch method '%s' is unknown" + + # fetch method 'always_true' : no argument supported, but got 'arg' in ACL expression 'always_true(arg)'. + http-request deny if { always_true(arg) } + + # fetch method 'req.hdr' : failed to parse 'a' as type 'signed integer' at position 2 in ACL expression 'req.hdr(a,a)'. + http-request deny if { req.hdr(a,a) } + + # in argument to 'payload_lv', payload length must be > 0. + http-request deny if { payload_lv(0,0) } + + # ACL keyword 'payload_lv' : expected type 'unsigned integer' at position 1, but got nothing. + http-request deny if { payload_lv } + |