Attribute contents on the LHS of regexes are not escaped
authorAlan T. DeKok <aland@freeradius.org>
Mon, 18 Jan 2016 20:23:23 +0000 (15:23 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 18 Jan 2016 20:23:23 +0000 (15:23 -0500)
src/tests/keywords/regex-lhs [new file with mode: 0644]

diff --git a/src/tests/keywords/regex-lhs b/src/tests/keywords/regex-lhs
new file mode 100644 (file)
index 0000000..91b0b20
--- /dev/null
@@ -0,0 +1,27 @@
+#
+#  PRE: update if regex-escape
+#
+
+#
+#  Strings which are expanded in a regex have regex special
+#  characters escaped.  Because the input strings are unsafe.
+#
+update request {
+       Tmp-String-0 := "example.com"
+       Tmp-String-1 := "^foo$bar"
+}
+
+if (&Tmp-String-0 !~ /example\.com$/) {
+       update reply {
+               Filter-Id := "fail 1"
+       }
+}
+elsif (&Tmp-String-1 !~ /\^foo\$bar/) {
+       update reply {
+               Filter-Id := "fail 1"
+       }
+} else {
+       update reply {
+               Filter-Id := "filter"
+       }
+}
\ No newline at end of file