Thanks Phil & Arran, I keep starting reply emails and another arrives before I get to send them. I've tried array hack, that fails even with 'firewall' as the condition. if ("%{SoH-MS-Windows-Health-Status[*]}" =~ /firewall/), where as if (SoH-MS-Windows-Health-Status =~ /firewall/) is satisfied. Cheers, Jezz.
-----Original Message----- From: freeradius-users- bounces+j.d.f.palmer=swansea.ac.uk@lists.freeradius.org [mailto:freeradius-users- bounces+j.d.f.palmer=swansea.ac.uk@lists.freeradius.org] On Behalf Of Phil Mayers Sent: 14 July 2011 15:45 To: freeradius-users@lists.freeradius.org Subject: Re: SoH - FR 2.1.11
On 14/07/11 15:24, Phil Mayers wrote:
I thought that the =~ regexp operator tried all attributes on the left-hand side; that is, I thought it looped through until it got first-match.
If it doesn't, then the idea of squeezing all the SoH data into a multiple instances of a single text attribute is going to need revisiting (or the "foreach" unlang operator will need backporting!)
Damn. You're right. It just looks at the first attribute.
Erm.... Hmm. That's a problem. It makes checking the attributes really painful. Blast. Sorry about that.
Maybe try this, which is a horrible hack:
if ("%{SoH-MS-Windows-Health-Status[*]}" =~ /antivirus (warn|error)/) { ... } - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html