Legrand / Raritan / Server Technology Xerus™ JSON-RPC API
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}
RADIUS server configuration interface.
int setRadiusServers(in vector< ServerSettings > serverList)
Sets a list of RADIUS servers.
int testRadiusServer(in string username, in string password, in ServerSettings settings)
Tests an RADIUS server configuration.
AuthType
RADIUS auth type.
@ CHAP
CHAP authentication.
@ PAP
PAP authentication.
vector< ServerSettings > getRadiusServers()
Get a list of RADIUS server settings.
Local and Remote Authentication Management.
string id
This field is unused; empty on read, ignored on write.
string server
IP or name of the radius servers.
boolean messageAuthenticatorOptional
true if not requiring Message-Authenticator attribute in reply to Access-Request
string sharedSecret
Shared secret between the Xerus device and the RADIUS server.
int udpAuthPort
UDP port for RADIUS Authenticating service.
boolean disableAccounting
true to disable accounting, false to enable accounting
AuthType authType
Authentication type.
int udpAccountPort
UDP port for RADIUS Accounting service.