regexp matches are sensitive to position in check items

Phil Mayers p.mayers at imperial.ac.uk
Fri Apr 4 15:45:20 CEST 2008


Basically, this works in "hints":

DEFAULT NAS-Port-Id =~ "(.+):(.+)", NAS-Port !* ANY
         NAS-Port = `%{expr:1000*%{1} + %{2}}`,
         Fall-Through = Yes

...but this does not:

DEFAULT NAS-Port !* ANY, NAS-Port-Id =~ "(.+):(.+)"
         NAS-Port = `%{expr:1000*%{1} + %{2}}`,
         Fall-Through = Yes

...as %{1} and %{2} are undefined in the latter case. I would have 
expected this to be the opposite case if anything. Is this expected?

In 2.0 I would use an "if" unlang, but this is on our (soon to be 
upgraded) production servers.



More information about the Freeradius-Users mailing list