Small observation on the backwards compatibility of regex handling.

 

My existing config has the following line within the sites authorised section;

 

If ( User-Name =~ /(.*)\/(.*)\\^(.*)/i ) {

 

Yes this is nasty, but required to handle a specific format and worked under 3.0.x up to 3.0.5. Under 3.0.5 with correct_escapes set to false this is now generating an error of “Unexpected test after condition” on the second ‘(‘. I am presuming the ‘\/’ is being seen as the end of the regex within the parser.

 

Setting correct_escapes to true, and changing the regex to /(.*)\/(.*)\^(.*)/i works. I am  not convinced this is worth fixing, after I think everyone would agree the regex reads better now. However, it maybe worth extending the radius.conf comment around correct_escapes to include this edge case.

 

 

Geoff