Loading...
Searching...
No Matches
LdapManager.idl
/* SPDX-License-Identifier: BSD-3-Clause */
/*
* Copyright 2010 Raritan Inc. All rights reserved.
*/
/** Local and Remote Authentication Management */
module auth {
/** LDAP server configuration interface */
interface LdapManager {
/** LDAP server type */
enumeration ServerType {
ACTIVE_DIRECTORY, ///< Active directory
OPEN_LDAP ///< OpenLDAP
};
/** LDAP server type */
enumeration SecurityProtocol {
SEC_PROTO_NONE, ///< no security protocol
SEC_PROTO_SSL, ///< use SSL
SEC_PROTO_STARTTLS ///< use STARTTLS
};
/** Server settings */
structure ServerSettings {
string server; ///< IP or name of ldap server
ServerType type; ///< Type of LDAP server
SecurityProtocol secProto; ///< Security protocol
int port; ///< Server port (only for SEC_PROT_NONE and SEC_PROT_STARTTLS)
int sslPort; ///< SSL port (only for SEC_PROT_SSL)
boolean forceTrustedCert; ///< Enforce trusted certificates
boolean allowOffTimeRangeCerts; ///< allow expired and not yet valid certificates
string certificate; ///< Certificates
string adsDomain; ///< ADS domain
boolean useAnonymousBind; ///< use anonymous bind
string bindDN; ///< Bind DN
string bindPwd; ///< Bind password
string searchBaseDN; ///< Base DN for search
string loginNameAttr; ///< Login name attribute
string userEntryObjClass; ///< User entry object class
string userSearchFilter; ///< User search subfilter
boolean groupInfoInUserEntry; ///< Group membership info in user entry
boolean supportNestedGroups; ///< Support nested groups (only if groupInfoInUserEntry is \c true)
string groupMemberAttr; ///< Group member attribute
string groupEntryObjClass; ///< Group entry object class
string groupSearchFilter; ///< Group search subfilter
};
/**
* Get a list of LDAP server settings
*
* @return list of ServerSettings
*/
vector<ServerSettings> getLdapServers();
constant int ERR_CYCLIC_DEP = 1; ///< Cyclic dependency in server list (not used anymore)
constant int ERR_INVALID_CFG = 2; ///< The server configuration is invalid
/**
* Sets a list of LDAP servers.
* Any existing LDAP Server configuration will be cleared / overwritten.
*
* @return 0 on success
* @return \c ERR_INVALID_CFG in case of invalid configuration
*/
int setLdapServers(in vector<ServerSettings> serverList);
constant int ERR_SERVER_UNSPECIFIED = 1; ///< Unspecified error
constant int ERR_SERVER_UNREACHABLE = 3; ///< LDAP server could not be contacted
constant int ERR_AUTHENTICATION_FAILED = 4; ///< User could not be authenticated
constant int ERR_NO_ROLES = 5; ///< No roles are defined for the user
constant int ERR_NO_KNOWN_ROLES = 6; ///< No known rules are defined for the user
/**
* Tests an LDAP server configuration.
*
* @return 0 on success
* @return \c ERR_SERVER_UNSPECIFIED an unspecified error occurred
* @return \c ERR_INVALID_CFG LDAP server configuration is invalid (reused from setLdapServers)
* @return \c ERR_SERVER_UNREACHABLE LDAP server could not be contacted
* @return \c ERR_AUTHENTICATION_FAILED user could not be authenticated
* @return \c ERR_NO_ROLES no roles are defined for the user
* @return \c ERR_NO_KNOWN_ROLES no known roles are defined for the user
*/
int testLdapServer(in string username, in string password, in ServerSettings settings, out string diagMsg);
};
}
auth::LdapManager
LDAP server configuration interface.
Definition LdapManager.idl:10
auth::LdapManager::ServerType
ServerType
LDAP server type.
Definition LdapManager.idl:13
auth::LdapManager::ACTIVE_DIRECTORY
@ ACTIVE_DIRECTORY
Active directory.
Definition LdapManager.idl:14
auth::LdapManager::OPEN_LDAP
@ OPEN_LDAP
OpenLDAP.
Definition LdapManager.idl:15
auth::LdapManager::SecurityProtocol
SecurityProtocol
LDAP server type.
Definition LdapManager.idl:19
auth::LdapManager::SEC_PROTO_NONE
@ SEC_PROTO_NONE
no security protocol
Definition LdapManager.idl:20
auth::LdapManager::SEC_PROTO_SSL
@ SEC_PROTO_SSL
use SSL
Definition LdapManager.idl:21
auth::LdapManager::SEC_PROTO_STARTTLS
@ SEC_PROTO_STARTTLS
use STARTTLS
Definition LdapManager.idl:22
auth::LdapManager::ERR_NO_KNOWN_ROLES
constant int ERR_NO_KNOWN_ROLES
No known rules are defined for the user.
Definition LdapManager.idl:72
auth::LdapManager::ERR_NO_ROLES
constant int ERR_NO_ROLES
No roles are defined for the user.
Definition LdapManager.idl:71
auth::LdapManager::ERR_SERVER_UNREACHABLE
constant int ERR_SERVER_UNREACHABLE
LDAP server could not be contacted.
Definition LdapManager.idl:69
auth::LdapManager::setLdapServers
int setLdapServers(in vector< ServerSettings > serverList)
Sets a list of LDAP servers.
auth::LdapManager::testLdapServer
int testLdapServer(in string username, in string password, in ServerSettings settings, out string diagMsg)
Tests an LDAP server configuration.
auth::LdapManager::ERR_SERVER_UNSPECIFIED
constant int ERR_SERVER_UNSPECIFIED
Unspecified error.
Definition LdapManager.idl:68
auth::LdapManager::ERR_CYCLIC_DEP
constant int ERR_CYCLIC_DEP
Cyclic dependency in server list (not used anymore)
Definition LdapManager.idl:57
auth::LdapManager::ERR_INVALID_CFG
constant int ERR_INVALID_CFG
The server configuration is invalid.
Definition LdapManager.idl:58
auth::LdapManager::ERR_AUTHENTICATION_FAILED
constant int ERR_AUTHENTICATION_FAILED
User could not be authenticated.
Definition LdapManager.idl:70
auth::LdapManager::getLdapServers
vector< ServerSettings > getLdapServers()
Get a list of LDAP server settings.
auth
Local and Remote Authentication Management.
Definition AuthManager.idl:7
auth::LdapManager::ServerSettings
Server settings.
Definition LdapManager.idl:26
auth::LdapManager::ServerSettings::type
ServerType type
Type of LDAP server.
Definition LdapManager.idl:28
auth::LdapManager::ServerSettings::groupSearchFilter
string groupSearchFilter
Group search subfilter.
Definition LdapManager.idl:47
auth::LdapManager::ServerSettings::groupMemberAttr
string groupMemberAttr
Group member attribute.
Definition LdapManager.idl:45
auth::LdapManager::ServerSettings::supportNestedGroups
boolean supportNestedGroups
Support nested groups (only if groupInfoInUserEntry is true)
Definition LdapManager.idl:44
auth::LdapManager::ServerSettings::forceTrustedCert
boolean forceTrustedCert
Enforce trusted certificates.
Definition LdapManager.idl:32
auth::LdapManager::ServerSettings::userSearchFilter
string userSearchFilter
User search subfilter.
Definition LdapManager.idl:42
auth::LdapManager::ServerSettings::server
string server
IP or name of ldap server.
Definition LdapManager.idl:27
auth::LdapManager::ServerSettings::certificate
string certificate
Certificates.
Definition LdapManager.idl:34
auth::LdapManager::ServerSettings::groupInfoInUserEntry
boolean groupInfoInUserEntry
Group membership info in user entry.
Definition LdapManager.idl:43
auth::LdapManager::ServerSettings::groupEntryObjClass
string groupEntryObjClass
Group entry object class.
Definition LdapManager.idl:46
auth::LdapManager::ServerSettings::port
int port
Server port (only for SEC_PROT_NONE and SEC_PROT_STARTTLS)
Definition LdapManager.idl:30
auth::LdapManager::ServerSettings::bindDN
string bindDN
Bind DN.
Definition LdapManager.idl:37
auth::LdapManager::ServerSettings::allowOffTimeRangeCerts
boolean allowOffTimeRangeCerts
allow expired and not yet valid certificates
Definition LdapManager.idl:33
auth::LdapManager::ServerSettings::sslPort
int sslPort
SSL port (only for SEC_PROT_SSL)
Definition LdapManager.idl:31
auth::LdapManager::ServerSettings::loginNameAttr
string loginNameAttr
Login name attribute.
Definition LdapManager.idl:40
auth::LdapManager::ServerSettings::bindPwd
string bindPwd
Bind password.
Definition LdapManager.idl:38
auth::LdapManager::ServerSettings::adsDomain
string adsDomain
ADS domain.
Definition LdapManager.idl:35
auth::LdapManager::ServerSettings::userEntryObjClass
string userEntryObjClass
User entry object class.
Definition LdapManager.idl:41
auth::LdapManager::ServerSettings::useAnonymousBind
boolean useAnonymousBind
use anonymous bind
Definition LdapManager.idl:36
auth::LdapManager::ServerSettings::searchBaseDN
string searchBaseDN
Base DN for search.
Definition LdapManager.idl:39
auth::LdapManager::ServerSettings::secProto
SecurityProtocol secProto
Security protocol.
Definition LdapManager.idl:29