On May 12, 2015, at 8:53 AM, Thomas Fagart <tfagart@brozs.net> wrote:
Thanks a lot for your answer, so this is not a feature :-). (I don't know how this could have worked then :-(), I could send trace if you want, because this has been working for many years with more than 20 requests /secondes).
You probably had the Realm attribute set to the string "~\^\(.+\)\\.telco$". Which mean that string matching worked. Or, someone made local patches to the server.
We will try to code such a module in perl.
Is there any other way we could do that (eg regex on keys) using existing modules ?
Perhaps you could explain the goal, instead of talking about a particular solution. You could put the regular expression into unlang, and then go from there: if (Realm =~ /^(.+)\.telco$/) { update request { My-Filter-Realm := "DEFAULT" } } else { update request { My-Filter-Realm := "%{Realm}" } } Then add My-Filter-Realm to raddb/dictionary as a "string" attribute. And make the attr_filter module key off of My-Filter-Realm instead of Realm. Alan DeKok.