]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Ensure regex comparisons are binary safe
authorAlan T. DeKok <aland@freeradius.org>
Fri, 20 May 2016 12:20:28 +0000 (08:20 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 20 May 2016 12:20:28 +0000 (08:20 -0400)
raddb/policy.d/accounting

index 60edfcf278127ac436cad5eedb70e82ac8a3c7ea..0e3e450d2a9aa24ca7a9ac716e88d8b6efbc5201 100644 (file)
@@ -32,7 +32,12 @@ acct_unique {
        #  initial authentication session (Common in a
        #  wireless environment).
        #
-       if ("%{string:Class}" =~ /${policy.class_value_prefix}([0-9a-f]{32})/i) {
+       update request {
+              Tmp-String-9 := "${policy.class_value_prefix}"
+       }
+
+       if (("%{hex:&Class}" =~ /^%{hex:&Tmp-String-9}/) && \
+           ("%{string:&Class}" =~ /^${policy.class_value_prefix}([0-9a-f]{32})/i)) {
                update request {
                        &Acct-Unique-Session-Id := "%{md5:%{1},%{Acct-Session-ID}}"
                }