Thanks everyone for trying to help :-) I've tried many different options in the json and none of them did what I wanted. When my json looked like this: {"attr": {"op": "+=", "value":"value1"}, "attr": {"op": "+=", "value":"value2"}} only the second instance of "attr" was parsed by the rest module (The debug log only printed the last value - "value2" and there was no mention of "value1") and the response contained only the last value. The only way I got the rest module to parse several instances of the same attribute is by using an array like this: {"attr": ["value1", "value2"]} however this results in all the values being adjacent on the resulting packet created and I want to seperate them. Am I missing something regarding the use of the "+=" operator? It seems that because of the dict-like structure of json it isn't possible to have more than one attribute with the same name in the json. On Wed, Sep 13, 2017 at 4:32 AM Arran Cudbard-Bell < a.cudbardb@freeradius.org> wrote:
From the examples OP is assuming TLVs are structural so I think that's throwing off their assumptions generally.
OP - Again - RADIUS TLVs are not structural, they're used purely to extend the numberspace, the only reason why they're packed inside one another is for efficiency, not to indicate a parent/child relationship between the attributes.
The use of "operator" is clear, and is documented extensively all through the rest of the server.
Yes, just not sure the behaviour is quite what people expect... But OTOH it is the correct behaviour given how the server works elsewhere.
-Arran
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html