Raritan / Server Technology Xerus™ PDU JSON-RPC API: RadiusManager.idl Source File

Raritan / Server Technology Xerus™ PDU JSON-RPC API

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 */
7 module 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 }
auth::RadiusManager
RADIUS server configuration interface.
Definition: RadiusManager.idl:10
auth::RadiusManager::getRadiusServers
vector< ServerSettings > getRadiusServers()
Get a list of RADIUS server settings.
auth::RadiusManager::setRadiusServers
int setRadiusServers(in vector< ServerSettings > serverList)
Sets a list of RADIUS servers.
auth::RadiusManager::testRadiusServer
int testRadiusServer(in string username, in string password, in ServerSettings settings)
Tests an RADIUS server configuration.
auth::RadiusManager::AuthType
AuthType
RADIUS auth type.
Definition: RadiusManager.idl:13
auth::RadiusManager::CHAP
@ CHAP
CHAP authentication.
Definition: RadiusManager.idl:15
auth::RadiusManager::PAP
@ PAP
PAP authentication.
Definition: RadiusManager.idl:14
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::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