&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
}
-&Tmp-String-6 := "%{ldap:ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/ou=people,dc=example,dc=com?displayName?sub?(uid=john)}"
+&Tmp-String-6 := %ldap("ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/ou=people,dc=example,dc=com?displayName?sub?(uid=john)")
if (!(&Tmp-String-6 == "John Doe")) {
test_fail
}
# Return multiple values - could be in any sequence
-&Tmp-String-7 := "%{ldap:ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/ou=clients,dc=example,dc=com?freeradiusClientIdentifier?sub?(objectClass=freeradiusClient)}"
+&Tmp-String-7 := %ldap("ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/ou=clients,dc=example,dc=com?freeradiusClientIdentifier?sub?(objectClass=freeradiusClient)")
-if (!(&Tmp-String-7 == "1.1.1.12.2.2.2") && !(&Tmp-String-7 == "2.2.2.21.1.1.1")) {
+if (!(&Tmp-String-7[*] == "1.1.1.1") && !(&Tmp-String-7[*] == "2.2.2.2")) {
test_fail
}
# Use tainted string in filter - with special characters
-&Tmp-String-8 := "%{ldap:ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/ou=people,dc=example,dc=com?cn?sub?(displayName=*%{Tmp-String-9}*)}"
+&Tmp-String-8 := %ldap("ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/ou=people,dc=example,dc=com?cn?sub?(displayName=*%{Tmp-String-9}*)")
if (!(&Tmp-String-8 == "Bob Smith")) {
test_fail
}
# A query which should return no results
-&Tmp-String-0 := "%{ldap:ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/ou=people,dc=example,dc=com?displayName?sub?(uid=notknown)}"
+&Tmp-String-0 := %ldap("ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/ou=people,dc=example,dc=com?displayName?sub?(uid=notknown)")
-if (!(&Tmp-String-0 == "")) {
+if (&Tmp-String-0) {
test_fail
}
# Request an invalid DN
-&Tmp-String-0 := "%{ldap:ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/ou=notthere?displayName?sub?(uid=john)}"
+&Tmp-String-0 := %ldap("ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/ou=notthere?displayName?sub?(uid=john)")
-if (!(&Tmp-String-0 == "")) {
+if (&Tmp-String-0) {
test_fail
}
# Query within a dn which will prompt a referral
-&Tmp-String-0 := "%{ldap:ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/dc=subdept,dc=example,dc=com?displayName?sub?(uid=fred)}"
+&Tmp-String-0 := %ldap("ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/dc=subdept,dc=example,dc=com?displayName?sub?(uid=fred)")
if (!(&Tmp-String-0 == "Fred Jones")) {
test_fail
}
# Reference an alternative LDAP server in the xlat
-&Tmp-String-1 := "%{ldap:ldap://$ENV{LDAP_TEST_SERVER}:%{$ENV{LDAP_TEST_SERVER_PORT} + 1}/dc=subdept,dc=example,dc=com?displayName?sub?(uid=fred)}"
+&Tmp-String-1 := %ldap("ldap://$ENV{LDAP_TEST_SERVER}:%{$ENV{LDAP_TEST_SERVER_PORT} + 1}/dc=subdept,dc=example,dc=com?displayName?sub?(uid=fred)")
if (!(&Tmp-String-1 == "Fred Jones")) {
test_fail
}
# This query will follow 2 referrals, the second will present an alternate search base
-&Tmp-String-2 := "%{ldap:ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/ou=offsite,dc=subdept,dc=example,dc=com?displayName?sub?(uid=john)}"
+&Tmp-String-2 := %ldap("ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/ou=offsite,dc=subdept,dc=example,dc=com?displayName?sub?(uid=john)")
if (!(&Tmp-String-2 == "John Doe")) {
test_fail
}
# This query will follow 3 referrals - more than our max referral depth
-&Tmp-String-3 := "%{ldap:ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/ou=bounce1,dc=subdept,dc=example,dc=com?displayName?sub?(uid=fred)}"
+&Tmp-String-3 := %ldap("ldap://$ENV{LDAP_TEST_SERVER}:$ENV{LDAP_TEST_SERVER_PORT}/ou=bounce1,dc=subdept,dc=example,dc=com?displayName?sub?(uid=fred)")
-if (!(&Tmp-String-3 == "")) {
+if (&Tmp-String-3) {
test_fail
}
}
# Use an ldapi:// connection
-&Tmp-String-4 := "%{ldapldapi:ldapi:///ou=people,dc=example,dc=com?displayName?sub?(uid=john)}"
+&Tmp-String-4 := %ldapldapi("ldapi:///ou=people,dc=example,dc=com?displayName?sub?(uid=john)")
if !(&Tmp-String-4 == 'John Doe') {
test_fail