This commit ports the following changes from v0.11:
- 9991b29 - Implement DisconnectSession API for RADIUS Agent
- 02c8ed1 - Implement support for RADIUS CoA
- 7129d34 - Merge CoA into ReAuthorize logic
- d8ad760 - Update both ReAuthorize API signatures
- 5560608 - Dynamic templates for Radius CoA out of APIOpts
- f9d1c0f - Refactor ReAuthorize to AlterSessions
- 8388832 - Rename agents API object: SessionSv1 to AgentV1
- b580e09 - Add sanity checks for radius templates
- ca6a944 - Update client_da_addresses structure
- 98265a1 - Refactor function names and error msgs related to AlterSessions
- ee98dbe - Update AgentV1DisconnectSession api signature
- c9b6c1f - Add support for sending *dmr template via APIOpts
- 03eff44 - Cache RADIUS packets during accounting instead of auth
- 28e53ce - Add requests_cache_key field to radagent cfg
- allows RSRParser to be split gracefully from config (was depending on
RSRSep, which was retrieved from the global config variable)
- default separator (;) was the only one used except for splitting
inline attribute values (where ANDSep is used)
- add possibility to pass custom Error-Message AVP to negative diameter
answers
- negative answer is now built only when an error occurs
- remove tests that were testing behaviour with max concurrent requests 0
- add integration test specific to this change
- optimized it (2s -> 0.03s) by lowering the cfg cache TTL to 5ms
instead of 1s, which was enough to get consistent results.
- increase margin of error by 1ms
- in case of failure, retrieve the expiry time and log it along the
current time. Makes troubleshooting easier in the future.
HierarchyPath parser now returns nil when
the path is empty (instead of a string slice with one
EmptyString element).
If isAbsolute is set to true, when calling the AsString
method on a nil HierarchyPath, only the separator will
be returned. Alternatively, if isAbsolute is false, it
will just return . to signal that the path currently
being processed is the one required.This avoids a nil
expr error coming from the xmlquery library.
Use the Query and QueryAll functions from the xmlquery
package to be able to handle the errors ourselves and
avoid panics.
Remove config default value for xmlRootPath. The field
will remain commented in config_defaults for reference.
Add tests for HierarchyPath.AsString function.
Add comments for XmlProvider and xmlRootPath opt.
Update XmlProvider String() func based on the comment
which specifies that it should display the already
parsed values out of cache.