Legrand / Raritan Xerus™ JSON-RPC API for Remote Access Devices like KX4-101, KX3G2

Loading...
Searching...
No Matches
RadiusManager.idl
1/* SPDX-License-Identifier: BSD-3-Clause */
2/*
3 * Copyright 2012 Raritan Inc. All rights reserved.
4 */
5
6/** Local and Remote Authentication Management */
7module auth {
8
9 /** RADIUS server configuration interface */
10 interface RadiusManager {
11
12 /** RADIUS auth type */
13 enumeration AuthType {
14 PAP, ///< PAP authentication
15 CHAP, ///< CHAP authentication
16 MSCHAPv2 ///< MSCHAPv2 authentication
17 };
18
19 /** Server settings */
20 structure ServerSettings {
21 string id; ///< This field is unused; empty on read, ignored on write
22 string server; ///< IP or name of the radius servers
23 string sharedSecret; ///< Shared secret between the Xerus device and the RADIUS server
24 int udpAuthPort; ///< UDP port for RADIUS Authenticating service
25 int udpAccountPort;///< UDP port for RADIUS Accounting service
26 int timeout; ///< Timeout in seconds
27 int retries; ///< Number of retries
28 AuthType authType; ///< Authentication type
29 boolean disableAccounting;///< \c true to disable accounting, \c false to enable accounting
30 boolean messageAuthenticatorOptional; ///< \c true if not requiring Message-Authenticator attribute in reply to Access-Request
31 };
32
33 constant int ERR_INVALID_CFG = 1; ///< The server configuration is invalid
34 constant int ERR_SERVER_UNSPECIFIED = 2; ///< Unspecified error
35 constant int ERR_INVALID_SHARED_SECRET = 3; ///< The shared secret is invalid
36 constant int ERR_SERVER_UNREACHABLE = 4; ///< RADIUS server could not be contacted
37 constant int ERR_AUTHENTICATION_FAILED = 5; ///< User could not be authenticated
38 constant int ERR_NO_ROLES = 6; ///< No roles are defined for the user
39 constant int ERR_NO_KNOWN_ROLES = 7; ///< No known rules are defined for the user
40 constant int ERR_MSG_AUTH_ATTR_MISSING = 8; ///< Message-Authenticator attribute missing in Access-Request reply
41
42 /**
43 * Get a list of RADIUS server settings
44 *
45 * @return list of ServerSettings
46 */
47 vector<ServerSettings> getRadiusServers();
48
49 /**
50 * Sets a list of RADIUS servers.
51 * Any existing RADIUS Server configuration will be cleared / overwritten.
52 *
53 * @return 0 on success
54 * @return \c ERR_INVALID_CFG in case of invalid configuration
55 */
56 int setRadiusServers(in vector<ServerSettings> serverList);
57
58 /**
59 * Tests an RADIUS server configuration.
60 *
61 * @return 0 on success
62 * @return \c ERR_SERVER_UNSPECIFIED an unspecified error occurred
63 * @return \c ERR_INVALID_CFG RADIUS server configuration is invalid (reused from setRadiusServers)
64 * @return \c ERR_INVALID_SHARED_SECRET the shared secret is invalid
65 * @return \c ERR_SERVER_UNREACHABLE RADIUS server could not be contacted
66 * @return \c ERR_AUTHENTICATION_FAILED user could not be authenticated
67 * @return \c ERR_NO_ROLES no roles are defined for the user
68 * @return \c ERR_NO_KNOWN_ROLES no known roles are defined for the user
69 * @return \c ERR_MSG_AUTH_ATTR_MISSING Message-Authenticator attribute missing in Access-Request reply
70 */
71 int testRadiusServer(in string username, in string password, in ServerSettings settings);
72
73 };
74}
auth::RadiusManager
RADIUS server configuration interface.
Definition RadiusManager.idl:10
auth::RadiusManager::ERR_SERVER_UNREACHABLE
constant int ERR_SERVER_UNREACHABLE
RADIUS server could not be contacted.
Definition RadiusManager.idl:36
auth::RadiusManager::ERR_MSG_AUTH_ATTR_MISSING
constant int ERR_MSG_AUTH_ATTR_MISSING
Message-Authenticator attribute missing in Access-Request reply.
Definition RadiusManager.idl:40
auth::RadiusManager::ERR_NO_ROLES
constant int ERR_NO_ROLES
No roles are defined for the user.
Definition RadiusManager.idl:38
auth::RadiusManager::ERR_AUTHENTICATION_FAILED
constant int ERR_AUTHENTICATION_FAILED
User could not be authenticated.
Definition RadiusManager.idl:37
auth::RadiusManager::setRadiusServers
int setRadiusServers(in vector< ServerSettings > serverList)
Sets a list of RADIUS servers.
auth::RadiusManager::ERR_NO_KNOWN_ROLES
constant int ERR_NO_KNOWN_ROLES
No known rules are defined for the user.
Definition RadiusManager.idl:39
auth::RadiusManager::ERR_INVALID_SHARED_SECRET
constant int ERR_INVALID_SHARED_SECRET
The shared secret is invalid.
Definition RadiusManager.idl:35
auth::RadiusManager::testRadiusServer
int testRadiusServer(in string username, in string password, in ServerSettings settings)
Tests an RADIUS server configuration.
auth::RadiusManager::ERR_SERVER_UNSPECIFIED
constant int ERR_SERVER_UNSPECIFIED
Unspecified error.
Definition RadiusManager.idl:34
auth::RadiusManager::ERR_INVALID_CFG
constant int ERR_INVALID_CFG
The server configuration is invalid.
Definition RadiusManager.idl:33
auth::RadiusManager::AuthType
AuthType
RADIUS auth type.
Definition RadiusManager.idl:13
auth::RadiusManager::MSCHAPv2
@ MSCHAPv2
MSCHAPv2 authentication.
Definition RadiusManager.idl:16
auth::RadiusManager::CHAP
@ CHAP
CHAP authentication.
Definition RadiusManager.idl:15
auth::RadiusManager::PAP
@ PAP
PAP authentication.
Definition RadiusManager.idl:14
auth::RadiusManager::getRadiusServers
vector< ServerSettings > getRadiusServers()
Get a list of RADIUS server settings.
auth
Local and Remote Authentication Management.
Definition AuthManager.idl:7
auth::RadiusManager::ServerSettings
Server settings.
Definition RadiusManager.idl:20
auth::RadiusManager::ServerSettings::timeout
int timeout
Timeout in seconds.
Definition RadiusManager.idl:26
auth::RadiusManager::ServerSettings::id
string id
This field is unused; empty on read, ignored on write.
Definition RadiusManager.idl:21
auth::RadiusManager::ServerSettings::server
string server
IP or name of the radius servers.
Definition RadiusManager.idl:22
auth::RadiusManager::ServerSettings::messageAuthenticatorOptional
boolean messageAuthenticatorOptional
true if not requiring Message-Authenticator attribute in reply to Access-Request
Definition RadiusManager.idl:30
auth::RadiusManager::ServerSettings::sharedSecret
string sharedSecret
Shared secret between the Xerus device and the RADIUS server.
Definition RadiusManager.idl:23
auth::RadiusManager::ServerSettings::udpAuthPort
int udpAuthPort
UDP port for RADIUS Authenticating service.
Definition RadiusManager.idl:24
auth::RadiusManager::ServerSettings::disableAccounting
boolean disableAccounting
true to disable accounting, false to enable accounting
Definition RadiusManager.idl:29
auth::RadiusManager::ServerSettings::retries
int retries
Number of retries.
Definition RadiusManager.idl:27
auth::RadiusManager::ServerSettings::authType
AuthType authType
Authentication type.
Definition RadiusManager.idl:28
auth::RadiusManager::ServerSettings::udpAccountPort
int udpAccountPort
UDP port for RADIUS Accounting service.
Definition RadiusManager.idl:25