On 28 Jul 2014, at 12:23, Phil Mayers <p.mayers@imperial.ac.uk> wrote:
On 28/07/14 17:04, Franks Andy (RLZ) IT Systems Engineer wrote:
Hi,
I just read in a post where Phil Mayers commented on some much needed (imho) functionality of FR. Maybe it’s in there and I don’t know, but he added in multivalueattributecomparisons :
I don't *think* that was me - I recall someone else in the thread suggesting that. My "contribution" was to comment on the historical behaviour of =~ which is now gone.
/* |== At least one attribute should equal the value/
/* &== All attributes should equal the value/
/* |=~ At least one attribute should match the regular expression/
/* &=~ All attributes should match the regular expression///
This would help me in my random thrashing of the ldap serversto check against lots of groups–Ialready populate a multivalueattributes“Ldap-MemberOf” and this would let me test against it nicely without foreach. Problem is that it doesn’t work now:
.. |== ..
^ Invalid text. Expected comparison operator
Has it been removed from recent releases, and if so, how can I get it back ?
As far as I know, it was only ever a suggestion someone made. It's never worked.
I think it was probably Olivier. My inclination is to make '==' work as it used to in the users file and iterate over all instances of an attribute. Then use attribute selectors [<inst>] :<tag> to limit the attribute used in the condition. if (&foo == &bar) { } Would apply the operator to the cartesian product of &foo x &bar. But I think this is too much of a major change to make in 3.0.x, maybe 3.1... What do others think? -Arran Arran Cudbard-Bell <a.cudbardb@freeradius.org> FreeRADIUS development team FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2