RE: multiattribute testing in git 1411859
Ah, ok so it's just functionality built into the cache module then..? I'll consider foreach then, and do my tests another way perhaps. Means a decent portion of unlang being rewritten. Did you manage to reproduce the foreach and if statement issue I sketched out on skype at all? If so, I can be sure that foreach will be ok. Thanks Andy -----Original Message----- From: freeradius-users-bounces+andy.franks=sath.nhs.uk@lists.freeradius.org [mailto:freeradius-users-bounces+andy.franks=sath.nhs.uk@lists.freeradiu s.org] On Behalf Of Arran Cudbard-Bell Sent: 06 August 2014 17:00 To: FreeRadius users mailing list Subject: Re: multiattribute testing in git 1411859 On 6 Aug 2014, at 11:22, Franks Andy (RLZ) IT Systems Engineer <Andy.Franks@sath.nhs.uk> wrote:
Thanks Arran, Can you confirm whether we should be able to do something like :
If (&control:attribute[*] == "test") { With the control:attribute being either just a multivalue attribute, or one from the cache?
Not yet, i've been thinking about how to do that in a clean way... and I need it to for a project, so it's definitely high on my stack of stuff to write. For now, the above statement would hopefully produce an error on startup. For now just use foreach. -Arran Arran Cudbard-Bell <a.cudbardb@freeradius.org> FreeRADIUS development team FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2
On 6 Aug 2014, at 12:37, Franks Andy (RLZ) IT Systems Engineer <Andy.Franks@sath.nhs.uk> wrote:
Ah, ok so it's just functionality built into the cache module then..?
It's code in radius_map2vp which is shared by rlm_cache, rlm_ldap and the unlang update blocks. It's not supported by conditions *yet*. update request { foo += &control:bar[*] } Would copy all instances of control:bar as foo attributes, into the request. If foo and bar are different types, there's an attempt made to cast one to the other, which may fail. If they're the same time, new instances of foo would be created with all the values of bar. 10 internet points if you can guess what this does :) update request { foo += "%{control:bar[*]}" }
I'll consider foreach then, and do my tests another way perhaps. Means a decent portion of unlang being rewritten. Did you manage to reproduce the foreach and if statement issue I sketched out on skype at all? If so, I can be sure that foreach will be ok.
No. I don't have the bandwidth currently to work on reproducing issues. If you can get it down to a test case (look in src/test/keywords for examples) then i'll have a go at fixing it. For unlang issues, it's really helpful in general if people can create test cases for issues, as it means we can add them to the suite to prevent regressions. I sit on the LuaJIT list as well, and that's pretty much how their entire bug reporting/fixing system works :). -Arran Arran Cudbard-Bell <a.cudbardb@freeradius.org> FreeRADIUS development team FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2
participants (2)
-
Arran Cudbard-Bell -
Franks Andy (RLZ) IT Systems Engineer