115 Commits

Author SHA1 Message Date
ionutboangiu
8443af3a89 Relicense from GPLv3 to AGPLv3 2025-10-29 19:42:40 +01:00
ionutboangiu
02c8ed11c1 Implement support for RADIUS CoA 2024-02-07 18:28:17 +01:00
ionutboangiu
9991b29cae Implement DisconnectSession API for RADIUS Agent
Updated radigo library to latest version.

Updated RadiusAgent to satisfy the birpc client interface.

Added *radDAdiscMsg OrderedNavigableMap type field within AgentRequest.
This one is similar to *diamreq, as it is used for building RADIUS
server-initiated Disconnect Requests.

radReplyAppendAttributes: refactored to reflect that it can now be
used to also append attributes to request packets, not only reply.

Added bidirectional support for session related RadiusAgent methods.

For Dynamic Authorization to be possible, a new field was added within RadiusAgent
that holds dicts and secrets only for the clients that support it. They are used
to create the DA Client sending Disconnect Requests.

Added a new cache partition to store Access-Request packets with the purpose
of using them to build the Disconnect Requests. They are identified by sessionID.
It defaults to the value of 'Acct-Session-id'.

Added a predefined '*dmr' template as well as a 'dmr_template' config option within
the 'radius_agent' config section. This will map to a custom or to the predefined
template and will be used to build the Disconnect Request. By default, it doesn't
point to any template (this also means that the Access-Request packets will not be
cached).

Another option added to 'radius_agent' is 'client_da_addresses', which lists the
RADIUS clients supporting Dynamic Authorization. The key represents the host of
the client, while the value represents the address to which we will send the
Disconnect Request.

Added integration test.
2024-02-07 18:28:17 +01:00
gezimbll
5a85c119c8 Replacing IsSliceMember ,CloneStringSlice and SliceStringEqual with slices package equivalent functions 2023-11-01 21:52:50 +01:00
ionutboangiu
6c16ff320f Replace interface{} with any 2023-05-31 10:23:12 +02:00
ionutboangiu
7771de5e07 Apply go fmt project wide 2022-11-11 13:43:51 +01:00
nickolasdaniel
cc915d693c Added *tenant case for FieldAsInterface and tested it as well 2021-07-09 10:19:50 +02:00
porosnicuadrian
390613e946 Dumping for all prefixes in agent requests 2021-07-08 09:54:15 +02:00
Trial97
faf1fba125 Refactored EventRequest 2021-07-06 20:52:40 +02:00
Trial97
d53b6175d5 Updated flatsore ers 2021-05-17 18:00:31 +02:00
Trial97
1db592ea8d Merged template parsing functions 2021-05-11 20:54:47 +02:00
andronache
5c7abd097b Implemented *datetime type in AgentRequest and EventRequest and added tests for them 2021-04-29 17:48:22 +02:00
Trial97
c13a5cf790 Finished implementing the DataNode as a replacement 2021-03-26 13:46:25 +01:00
Trial97
fc2f7631bd Updated integration tests 2021-03-26 13:46:25 +01:00
Trial97
9099e129da Updated config tests 2021-03-26 13:46:25 +01:00
Trial97
ba090352ec Updated agents tests 2021-03-26 13:46:25 +01:00
Trial97
e52e8d7622 Added Length Field in case of NMSlice and support for multiple indexes in template path 2021-03-18 16:46:55 +01:00
Trial97
0a7446bdad Added Config in agent request as dataprovider 2021-02-09 15:16:20 +01:00
andronache
1d0a814e42 Changed consts in utils 2021-01-11 10:57:44 +01:00
andronache
1470267727 Modified consts in utils 2021-01-07 18:15:35 +01:00
TeoV
89f5332c7a Verify tenant only if was populated for AgentRequest and EventExporterRequest 2020-10-15 12:42:28 +02:00
Trial97
240ff4b671 Updated ParseField processing 2020-07-30 11:17:57 +02:00
Trial97
aecafbc290 Updated the code with the new Flags format 2020-07-20 12:58:41 +02:00
Trial97
aeb983e3e0 Updated agents maxUsage flag handle 2020-07-14 13:28:07 +02:00
Trial97
69a012c05a Updated Filters with RSRParsers 2020-07-14 13:28:07 +02:00
Trial97
24cc53e94a Updated dynamic path 2020-07-14 13:28:07 +02:00
Trial97
1a6bfbc1ea Updated RSRParser constant handling 2020-07-03 17:02:56 +03:00
Trial97
2e38389381 Updated unit tests 2020-06-29 18:07:53 +03:00
TeoV
bbf3ce1324 Rename prefix from *cache to *uch 2020-06-29 10:59:31 +03:00
Trial97
eee83b5213 Added tests for dynamic Set path 2020-05-26 09:34:06 +02:00
Trial97
a436718fc8 Updated diameter filter 2020-05-22 17:00:43 +02:00
Trial97
1fd9ac009e Added DynamicDataProvider to AgentRequest 2020-05-20 17:21:42 +02:00
TeoV
e3a7800cb0 AgentRequest FieldAsInterface return Data instead NMItem fixes #2077 2020-05-07 16:19:44 +02:00
Trial97
86ff489008 Updated agents 2020-05-07 11:17:41 +02:00
Trial97
763710fb80 Updated AgentRequest 2020-05-07 11:17:41 +02:00
Trial97
41e35bc571 Added Opts to APIs 2020-04-26 13:08:34 +02:00
TeoV
d101229f44 Add *cache as supported prefix in agents fixes #1335 2020-04-08 14:30:06 +02:00
TeoV
3e09ae79be Implement PAP authentification for Radius ( + tests ) 2020-03-25 17:45:44 +01:00
TeoV
f253e033f9 Add *remove and *removeall type 2020-03-25 17:45:44 +01:00
adragusin
4f04b0c8c9 Changed the strip strategy (e.g. "right" to "*right") 2020-03-12 17:24:56 +01:00
TeoV
c941540d01 Add *tmp support field in AgentRequest 2020-02-19 15:25:31 +01:00
TeoV
b54897e61f Add *group type in AgentRequest 2020-02-18 11:38:27 +01:00
TeoV
357618f603 Active tests for AgentRequest 2020-02-18 11:38:27 +01:00
TeoV
3a57d939c1 Overwrite correctly the variable in AgentRequest 2020-02-18 11:38:27 +01:00
TeoV
61a0aafd48 Add support for *multiply and *divide in Agent and sync with AttributeS supported format fixes #1954 2020-02-17 09:38:32 +01:00
TeoV
d396051d77 Update DiamIntegration test for all configurations 2020-02-05 15:57:58 +01:00
DanB
797b85ea79 DiameterAgent with mysql integration tests passing for full path 2020-02-04 18:41:44 +01:00
DanB
8dbd7ea2cd Initial AgentRequest with SetFields 2020-01-31 10:29:26 +01:00
Trial97
ab3fb01e7d Starting adding absolute path to cdre 2020-01-30 10:21:48 +01:00
adragusin
96901ed841 Added NodeID inside *vars (in agents) 2020-01-29 16:54:54 +01:00