From 50b37d4a27d3295a29afca2286f1a5a086142cec Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 11:49:46 +0200 Subject: Adding upstream version 3.2.1+dfsg. Signed-off-by: Daniel Baumann --- src/tests/keywords/xlat-list | 64 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/tests/keywords/xlat-list (limited to 'src/tests/keywords/xlat-list') diff --git a/src/tests/keywords/xlat-list b/src/tests/keywords/xlat-list new file mode 100644 index 0000000..fcd9e84 --- /dev/null +++ b/src/tests/keywords/xlat-list @@ -0,0 +1,64 @@ +# +# PRE: update +# +update control { + control !* ANY +} + +update control { + Tmp-IP-Address-0 := 192.0.2.1 + Tmp-IP-Address-0 += 192.0.2.2 +} + +if ("%{control:[#]}" != 2) { + update { + reply:Filter-Id += 'fail 0' + } +} + +debug_control + +if (("%{control:[0]}" != 192.0.2.1) || ("%{control:[1]}" != 192.0.2.2)) { + update { + reply:Filter-Id += 'fail 1' + } +} + +if (("%{control:[n]}" != 192.0.2.2)) { + update { + reply:Filter-Id += 'fail 1a' + } +} + +if ("%{control:[*]}" != '192.0.2.1,192.0.2.2') { + update { + reply:Filter-Id += 'fail 2' + } +} + +# Try calling these xlats in mapping too, they may get optimised to VPTs which is a +# different code path. +update request { + Tmp-IP-Address-1 += "%{control:[1]}" + Tmp-IP-Address-1 += "%{control:[0]}" + Tmp-String-0 = "%{control:[*]}" + Tmp-Integer-0 = "%{control:[#]}" +} + +if (Tmp-String-0 != '192.0.2.1,192.0.2.2') { + update { + reply:Filter-Id += 'fail 3' + } +} + +if (Tmp-Integer-0 != 2) { + update { + reply:Filter-Id += 'fail 4' + } +} + +# Boilerplate junk +update { + control:Cleartext-Password := 'hello' + reply:Filter-Id := 'filter' +} -- cgit v1.2.3