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 };
31
32 constant int ERR_INVALID_CFG = 1; ///< The server configuration is invalid
33 constant int ERR_SERVER_UNSPECIFIED = 2; ///< Unspecified error
34 constant int ERR_INVALID_SHARED_SECRET = 3; ///< The shared secret is invalid
35 constant int ERR_SERVER_UNREACHABLE = 4; ///< RADIUS server could not be contacted
36 constant int ERR_AUTHENTICATION_FAILED = 5; ///< User could not be authenticated
37 constant int ERR_NO_ROLES = 6; ///< No roles are defined for the user
38 constant int ERR_NO_KNOWN_ROLES = 7; ///< No known rules are defined for the user
39
40 /**
41 * Get a list of RADIUS server settings
42 *
43 * @return list of ServerSettings
44 */
45 vector<ServerSettings> getRadiusServers();
46
47 /**
48 * Sets a list of RADIUS servers.
49 * Any existing RADIUS Server configuration will be cleared / overwritten.
50 *
51 * @return 0 on success
52 * @return \c ERR_INVALID_CFG in case of invalid configuration
53 */
54 int setRadiusServers(in vector<ServerSettings> serverList);
55
56 /**
57 * Tests an RADIUS server configuration.
58 *
59 * @return 0 on success
60 * @return \c ERR_SERVER_UNSPECIFIED an unspecified error occurred
61 * @return \c ERR_INVALID_CFG RADIUS server configuration is invalid (reused from setRadiusServers)
62 * @return \c ERR_INVALID_SHARED_SECRET the shared secret is invalid
63 * @return \c ERR_SERVER_UNREACHABLE RADIUS server could not be contacted
64 * @return \c ERR_AUTHENTICATION_FAILED user could not be authenticated
65 * @return \c ERR_NO_ROLES no roles are defined for the user
66 * @return \c ERR_NO_KNOWN_ROLES no known roles are defined for the user
67 */
68 int testRadiusServer(in string username, in string password, in ServerSettings settings);
69
70 };
71}
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.
Definition: AuthManager.idl:7
string id
This field is unused; empty on read, ignored on write.
string server
IP or name of the radius servers.
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.