summaryrefslogtreecommitdiffstats
path: root/tests/conf/test-acl-args.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'tests/conf/test-acl-args.cfg')
-rw-r--r--tests/conf/test-acl-args.cfg36
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 }
+