perl -p -i -e 's/%{([a-zA-Z0-9._-]+):%{([a-zA-Z0-9._-]+)}}/%$1(%{$2})/g' $(git grep -lE '%\{[a-z]+:' src/tests/keywords/)
&request -= &Module-Failure-Message[*]
# Check failure when no previous capture - numbered group
-if ("%{regex:%{Tmp-Integer-1}}") {
+if ("%regex(%{Tmp-Integer-1})") {
test_fail
}
&Tmp-Integer-6 := 6
&Tmp-Integer-7 := 7
- &Tmp-String-0 := "%{regex:%{Tmp-Integer-7}}_%{regex:%{Tmp-Integer-6}}_%{regex:%{Tmp-Integer-5}}_%{regex:%{Tmp-Integer-4}}_%{regex:%{Tmp-Integer-3}}_%{regex:%{Tmp-Integer-2}}_%{regex:%{Tmp-Integer-1}}_%{regex:%{Tmp-Integer-0}}"
+ &Tmp-String-0 := "%regex(%{Tmp-Integer-7})_%regex(%{Tmp-Integer-6})_%regex(%{Tmp-Integer-5})_%regex(%{Tmp-Integer-4})_%regex(%{Tmp-Integer-3})_%regex(%{Tmp-Integer-2})_%regex(%{Tmp-Integer-1})_%regex(%{Tmp-Integer-0})"
if (!(&Tmp-String-0 == '7_6_5_4_3_2_1_1_2_3_4_5_6_7')) {
test_fail
}
# value of the field, but does allow us to test that
# arg3 can be an xlat
#
-map csv "%{tolower:%{User-Name}}" {
+map csv "%tolower(%{User-Name})" {
&reply.Result-Status := 'field3'
}
# PRE: map
#
-map csv "%{tolower:%{User-Name}}" {
+map csv "%tolower(%{User-Name})" {
&reply.Result-Status := 'field3'
}
&Tmp-String-1 = "request.Vendor-Specific.Nokia-SR.MSAP-Interface += 'UNICAST_7360OLT4'"
}
-if (!("%{map:%{Tmp-String-0}}" == 1)) {
+if (!("%map(%{Tmp-String-0})" == 1)) {
test_fail
}
}
foreach &Tmp-String-1[*] {
- if (!("%{map:%{Foreach-Variable-0}}" == 1)) {
+ if (!("%map(%{Foreach-Variable-0})" == 1)) {
test_fail
}
}
#
&Tmp-String-0 := "request.Tmp-Group-0.Tmp-String-1 = 'testing123'"
-if (!("%{map:%{Tmp-String-0}}" == 1)) {
+if (!("%map(%{Tmp-String-0})" == 1)) {
test_fail
}
#
&Tmp-String-0 := "request.Tmp-Group-0.Tmp-String-0 := 'testing123'"
-if (!("%{map:%{Tmp-String-0}}" == 1)) {
+if (!("%map(%{Tmp-String-0})" == 1)) {
test_fail
}
-if (!("%{map:%{Tmp-String-0}}" == 1)) {
+if (!("%map(%{Tmp-String-0})" == 1)) {
test_fail
}
#
&Tmp-String-0 := "IA-PD.IAID = 11"
-if (!("%{map:%{Tmp-String-0}}" == 1)) {
+if (!("%map(%{Tmp-String-0})" == 1)) {
test_fail
}
# Hex encoded SSHA password
#
&control := {
- &Password.With-Header = "{ssha}%{hex:%{sha1:%{User-Password}%{Tmp-String-0}}}%{hex:%{Tmp-String-0}}"
+ &Password.With-Header = "{ssha}%{hex:%{sha1:%{User-Password}%{Tmp-String-0}}}%hex(%{Tmp-String-0})"
}
pap.authorize
# Base64 encoded SSHA password
#
&control := {
- &Tmp-String-1 = "%{hex:%{sha1:%{User-Password}%{Tmp-String-0}}}%{hex:%{Tmp-String-0}}"
+ &Tmp-String-1 = "%{hex:%{sha1:%{User-Password}%{Tmp-String-0}}}%hex(%{Tmp-String-0})"
}
# To Binary
-&control.Tmp-Octets-0 := "%{bin:%{control.Tmp-String-1}}"
+&control.Tmp-Octets-0 := "%bin(%{control.Tmp-String-1})"
# To Base64
&control.Tmp-String-1 := "%(base64.encode:%{control.Tmp-Octets-0})"
# Base64 of Base64 encoded SSHA password
#
&control := {
- &Tmp-String-1 = "%{hex:%{sha1:%{User-Password}%{Tmp-String-0}}}%{hex:%{Tmp-String-0}}"
+ &Tmp-String-1 = "%{hex:%{sha1:%{User-Password}%{Tmp-String-0}}}%hex(%{Tmp-String-0})"
}
# To Binary
-&control.Tmp-Octets-0 := "%{bin:%{control.Tmp-String-1}}"
+&control.Tmp-Octets-0 := "%bin(%{control.Tmp-String-1})"
# To Base64
&control.Tmp-String-1 := "{ssha}%(base64.encode:%{control.Tmp-Octets-0})"
# Hex encoded SSHA2-512 password
#
&control += {
- &Password.With-Header = "{ssha512}%{hex:%{sha2_512:%{User-Password}%{Tmp-String-0}}}%{hex:%{Tmp-String-0}}"
+ &Password.With-Header = "{ssha512}%{hex:%{sha2_512:%{User-Password}%{Tmp-String-0}}}%hex(%{Tmp-String-0})"
}
pap.authorize
#
# Base64 encoded SSHA2-512 password
#
-&control.Tmp-String-1 := "%{hex:%{sha2_512:%{User-Password}%{Tmp-String-0}}}%{hex:%{Tmp-String-0}}"
+&control.Tmp-String-1 := "%{hex:%{sha2_512:%{User-Password}%{Tmp-String-0}}}%hex(%{Tmp-String-0})"
# To Binary
-&control.Tmp-Octets-0 := "%{bin:%{control.Tmp-String-1}}"
+&control.Tmp-Octets-0 := "%bin(%{control.Tmp-String-1})"
# To Base64
&control.Tmp-String-1 := "%(base64.encode:%{control.Tmp-Octets-0})"
#
# Base64 of Base64 encoded SSHA2-512 password
#
-&control.Tmp-String-1 := "%{hex:%{sha2_512:%{User-Password}%{Tmp-String-0}}}%{hex:%{Tmp-String-0}}"
+&control.Tmp-String-1 := "%{hex:%{sha2_512:%{User-Password}%{Tmp-String-0}}}%hex(%{Tmp-String-0})"
# To Binary
-&control.Tmp-Octets-0 := "%{bin:%{control.Tmp-String-1}}"
+&control.Tmp-Octets-0 := "%bin(%{control.Tmp-String-1})"
# To Base64
&control.Tmp-String-1 := "{ssha512}%(base64.encode:%{control.Tmp-Octets-0})"
#
# Base64 of SHA2-384 password (in SHA2-Password)
#
-&control.Password.SHA2 := "%{hex:%{sha2_384:%{User-Password}}}"
+&control.Password.SHA2 := "%{hex:%sha2_384(%{User-Password})}"
pap.authorize
pap.authenticate {
#
# Base64 of SHA2-256 password (in SHA2-256-Password)
#
-&control.Password.SHA2-256 := "%{hex:%{sha2_256:%{User-Password}}}"
+&control.Password.SHA2-256 := "%{hex:%sha2_256(%{User-Password})}"
pap.authorize
pap.authenticate {
#
# Base64 of SHA2-224 password (in SHA2-224-Password - No hex armour)
#
-&control.Password.SHA2-224 := "%{sha2_224:%{User-Password}}"
+&control.Password.SHA2-224 := "%sha2_224(%{User-Password})"
pap.authorize
pap.authenticate {
csv {
- key = "%{tolower:%{User-Name}}"
+ key = "%tolower(%{User-Name})"
filename = ${keyword}/csv.conf
fields = "field1,,field3"
index_field = 'field1'
&Tmp-String-0 := 'foo'
-switch "%{tolower:%{Tmp-String-0}}" {
+switch "%tolower(%{Tmp-String-0})" {
case 'foo' {
success
}
}
# Octets are expanded to 8168 hexits
-if !("0x%{hex:%{Tmp-Octets-0}}" =~ /^0x([0-9a-f]+)$/) {
+if !("0x%hex(%{Tmp-Octets-0})" =~ /^0x([0-9a-f]+)$/) {
test_fail
}
}
&request += {
- &Tmp-String-1 = "%{urlquote:%{Tmp-String-0}}"
- &Tmp-String-3 = "%{urlquote:%{Tmp-String-2}}"
- &Tmp-String-5 = "%{urlquote:%{Tmp-String-4}}"
- &Tmp-String-7 = "%{urlunquote:%{Tmp-String-6}}"
- &Tmp-String-9 = "%{urlunquote:%{Tmp-String-8}}"
+ &Tmp-String-1 = "%urlquote(%{Tmp-String-0})"
+ &Tmp-String-3 = "%urlquote(%{Tmp-String-2})"
+ &Tmp-String-5 = "%urlquote(%{Tmp-String-4})"
+ &Tmp-String-7 = "%urlunquote(%{Tmp-String-6})"
+ &Tmp-String-9 = "%urlunquote(%{Tmp-String-8})"
}
test_fail
}
-&Tmp-String-1 := "%{urlunquote:%{Tmp-String-0}}"
+&Tmp-String-1 := "%urlunquote(%{Tmp-String-0})"
&request -= &Tmp-String-2[*]
&Tmp-String-2 := "%{urlunquote:%%E,123}"
#
# Verify non string types are treated as literals
#
-if (!("%{eval:%{Tmp-Integer-0}}" == 4)) {
+if (!("%eval(%{Tmp-Integer-0})" == 4)) {
test_fail
}
#
# Check double expansion works
#
-if (!("%{eval:%{Tmp-String-0}}" == 'foo')) {
+if (!("%eval(%{Tmp-String-0})" == 'foo')) {
test_fail
}
wait = yes
output_pairs = &control
timeout = 10
- program = "/bin/sh $ENV{MODULE_TEST_DIR}/attrs.sh %{toupper:%{User-Name}}"
+ program = "/bin/sh $ENV{MODULE_TEST_DIR}/attrs.sh %toupper(%{User-Name})"
}
&Tmp-String-2 := ',+"\<>;*=()'
# String with no escaping
-&control.Tmp-String-0 := "%{ldap_escape:%{Tmp-String-0}}"
+&control.Tmp-String-0 := "%ldap_escape(%{Tmp-String-0})"
if (!(&control.Tmp-String-0 == "safe string")) {
test_fail
}
# String with some characters to escape
-&control.Tmp-String-1 := "%{ldap_escape:%{Tmp-String-1}}"
+&control.Tmp-String-1 := "%ldap_escape(%{Tmp-String-1})"
if (!(&control.Tmp-String-1 == 'non safe\2c\2b\22\5c\3c\3e\3b\2a\3d\28\29 string')) {
test_fail
}
# String where all characters require escaping
-&control.Tmp-String-2 := "%{ldap_escape:%{Tmp-String-2}}"
+&control.Tmp-String-2 := "%ldap_escape(%{Tmp-String-2})"
if (!(&control.Tmp-String-2 == '\2c\2b\22\5c\3c\3e\3b\2a\3d\28\29')) {
test_fail
}
-&Tmp-String-3 := "%{ldap_unescape:%{control.Tmp-String-0}}"
+&Tmp-String-3 := "%ldap_unescape(%{control.Tmp-String-0})"
if (!(&Tmp-String-3 == 'safe string')) {
test_fail
}
-&Tmp-String-4 := "%{ldap_unescape:%{control.Tmp-String-1}}"
+&Tmp-String-4 := "%ldap_unescape(%{control.Tmp-String-1})"
if (!(&Tmp-String-4 == 'non safe,+"\<>;*=() string')) {
test_fail
}
-&Tmp-String-5 := "%{ldap_unescape:%{control.Tmp-String-2}}"
+&Tmp-String-5 := "%ldap_unescape(%{control.Tmp-String-2})"
if (!(&Tmp-String-5 == ',+"\<>;*=()')) {
test_fail
linelog_escapes
&Tmp-String-0 := `/bin/sh -c "tail -n2 $ENV{MODULE_TEST_DIR}/test_escapes.log"`
-&Tmp-String-1 := "%{hex:%{Tmp-String-0}}"
+&Tmp-String-1 := "%hex(%{Tmp-String-0})"
#
# Note that there's a '5f6e' here, which is "\n"
linelog_escapes
&Tmp-String-0 := `/bin/sh -c "tail -n2 $ENV{MODULE_TEST_DIR}/test_escapes.log"`
-&Tmp-String-1 := "%{hex:%{Tmp-String-0}}"
+&Tmp-String-1 := "%hex(%{Tmp-String-0})"
if (&Tmp-String-1 == '666f6f0a626172') {
test_pass
#
&Tmp-String-0 := 'groups_group_b'
-if !(%{sql.group:%{Tmp-String-0}} == yes) {
+if !(%sql.group(%{Tmp-String-0}) == yes) {
test_fail
}
&Tmp-String-0 := "vvrbuctetdhc"
-&Tmp-String-1 := "%{modhextohex:%{Tmp-String-0}}"
+&Tmp-String-1 := "%modhextohex(%{Tmp-String-0})"
if (&Tmp-String-1 != "ffc1e0d3d260") {
test_fail
# Invalid modhex string - not even length
&Tmp-String-0 := "vvrbuctetdh"
-&Tmp-String-1 := "%{modhextohex:%{Tmp-String-0}}"
+&Tmp-String-1 := "%modhextohex(%{Tmp-String-0})"
if (ok) {
test_fail
# Invalid modhex string - invalid characters
&Tmp-String-0 := "vxrbmctetdhc"
-&Tmp-String-1 := "%{modhextohex:%{Tmp-String-0}}"
+&Tmp-String-1 := "%modhextohex(%{Tmp-String-0})"
if (ok) {
test_fail