C# (CSharp) Novell.Directory.Ldap Namespace

Nested Namespaces

Novell.Directory.Ldap.Asn1
Novell.Directory.Ldap.Controls
Novell.Directory.Ldap.Events
Novell.Directory.Ldap.Extensions
Novell.Directory.Ldap.Rfc2251
Novell.Directory.Ldap.Security
Novell.Directory.Ldap.Utilclass

Classes

Name Description
InterThreadException
LdapAbandonRequest Represents an Ldap Abandon Request
LdapAddRequest Represents an Ldap Add Request.
LdapAttribute The name and values of one attribute of a directory entry. LdapAttribute objects are used when searching for, adding, modifying, and deleting attributes from the directory. LdapAttributes are often used in conjunction with an {@link LdapAttributeSet} when retrieving or adding multiple attributes to an entry.
LdapAttribute.URLData
LdapAttributeSchema The definition of an attribute type in the schema. LdapAttributeSchema is used to discover an attribute's syntax, and add or delete an attribute definition. RFC 2252, "Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions" contains a description of the information on the Ldap representation of schema. draft-sermerseim-nds-ldap-schema-02, "Ldap Schema for NDS" defines the schema descriptions and non-standard syntaxes used by Novell eDirectory.
LdapAttributeSet A set of {@link LdapAttribute} objects. An LdapAttributeSet is a collection of LdapAttribute classes as returned from an LdapEntry on a search or read operation. LdapAttributeSet may be also used to contruct an entry to be added to a directory. If the add() or addAll() methods are called and one or more of the objects to be added is not an LdapAttribute, ClassCastException is thrown (as discussed in the documentation for java.util.Collection).
LdapAuthProvider An implementation of LdapAuthHandler must be able to provide an LdapAuthProvider object at the time of a referral. The class encapsulates information that is used by the client for authentication when following referrals automatically.
LdapBindRequest Represents a simple bind request.
LdapCompareAttrNames Compares Ldap entries based on attribute name. An object of this class defines ordering when sorting LdapEntries, usually from search results. When using this Comparator, LdapEntry objects are sorted by the attribute names(s) passed in on the constructor, in ascending or descending order. The object is typically supplied to an implementation of the collection interfaces such as java.util.TreeSet which performs sorting. Comparison is performed via locale-sensitive Java String comparison, which may not correspond to the Ldap ordering rules by which an Ldap server would sort them.
LdapCompareRequest Represents an Ldap Compare Request.
LdapConnection The central class that encapsulates the connection to a directory server through the Ldap protocol. LdapConnection objects are used to perform common Ldap operations such as search, modify and add. In addition, LdapConnection objects allow you to bind to an Ldap server, set connection and search constraints, and perform several other tasks. An LdapConnection object is not connected on construction and can only be connected to one server at one port. Multiple threads may share this single connection, typically by cloning the connection object, one for each thread. An application may have more than one LdapConnection object, connected to the same or different directory servers.
LdapConstraints Defines options controlling Ldap operations on the directory. An LdapConstraints object is always associated with an LdapConnection object; its values can be changed with LdapConnection.setConstraints, or overridden by passing an LdapConstraints object to an operation.
LdapControl Encapsulates optional additional parameters or constraints to be applied to an Ldap operation. When included with LdapConstraints or LdapSearchConstraints on an LdapConnection or with a specific operation request, it is sent to the server along with operation requests.
LdapDITContentRuleSchema Represents a DIT (Directory Information Tree) content rule in a directory schema. The LdapDITContentRuleSchema class is used to discover or modify additional auxiliary classes, mandatory and optional attributes, and restricted attributes in effect for an object class.
LdapDITStructureRuleSchema Represents the definition of a specific DIT (Directory Information Tree) structure rule in the directory schema. The LdapDITStructureRuleSchema class represents the definition of a DIT Structure Rule. It is used to discover or modify which object classes a particular object class may be subordinate to in the DIT.
LdapDN A utility class to facilitate composition and deomposition of distinguished names DNs. Specifies methods for manipulating a distinguished name DN and a relative distinguished name RDN.
LdapDSConstants LDAPDSConstants.java contains bit values for [Entry Rights], [All attribute Rights], attribute rights, and entry flags in Novell eDirectory
LdapDeleteRequest Represents a request to delete an entry.
LdapEntry Represents a single entry in a directory, consisting of a distinguished name (DN) and zero or more attributes. An instance of LdapEntry is created in order to add an entry to a directory, and instances of LdapEntry are returned on a search by enumerating an LdapSearchResults.
LdapException Thrown to indicate that an Ldap exception has occurred. This is a general exception which includes a message and an Ldap result code. An LdapException can result from physical problems (such as network errors) as well as problems with Ldap operations detected by the server. For example, if an Ldap add operation fails because of a duplicate entry, the server returns a result code. Five possible sources of information are available from LdapException:
Result Code:
The getResultCode method returns a result code, which can be compared against standard Ldap result codes.
Message:
The getMessage method returns a localized message from the message resource that corresponds to the result code.
Ldap server Message:
The getLdapErrorMessage method returns any error message received from the Ldap server.
Matched DN:
The getMatchedDN method retrieves the part of a submitted distinguished name which could be matched by the server
Root Cause:
The getCause method returns the a nested exception that was the original cause for the error.
The toString method returns a string containing all the above sources of information, if they have a value. Exceptions generated by the API, i.e. that are not a result of a server response, can be identified as instanceof {@link LdapLocalException} The following table lists the standard Ldap result codes. See RFC2251 for a discussion of the meanings of the result codes. The corresponding ASN.1 definition from RFC2251 is provided in parentheses.
Value Result Code
0{@link #SUCCESS} (success)
1{@link #OPERATIONS_ERROR} (operationsError)
2{@link #PROTOCOL_ERROR} (protocolError)
3{@link #TIME_LIMIT_EXCEEDED} (timeLimitExceeded)
4{@link #SIZE_LIMIT_EXCEEDED} (sizeLimitExceeded)
5{@link #COMPARE_FALSE} (compareFalse)
6{@link #COMPARE_TRUE} (compareTrue)
7{@link #AUTH_METHOD_NOT_SUPPORTED} (authMethodNotSupported)
8{@link #STRONG_AUTH_REQUIRED} (strongAuthRequired)
10{@link #REFERRAL} (referral)
11{@link #ADMIN_LIMIT_EXCEEDED} (adminLimitExceeded)
12{@link #UNAVAILABLE_CRITICAL_EXTENSION} (unavailableCriticalExtension)
13{@link #CONFIDENTIALITY_REQUIRED} (confidentialityRequired)
14{@link #SASL_BIND_IN_PROGRESS} (saslBindInProgress)
16{@link #NO_SUCH_ATTRIBUTE} (noSuchAttribute)
17{@link #UNDEFINED_ATTRIBUTE_TYPE} (undefinedAttributeType)
18{@link #INAPPROPRIATE_MATCHING} (inappropriateMatching)
19{@link #CONSTRAINT_VIOLATION} (constraintViolation)
20{@link #ATTRIBUTE_OR_VALUE_EXISTS} (AttributeOrValueExists)
21{@link #INVALID_ATTRIBUTE_SYNTAX} (invalidAttributeSyntax)
32{@link #NO_SUCH_OBJECT} (noSuchObject)
33{@link #ALIAS_PROBLEM} (aliasProblem)
34{@link #INVALID_DN_SYNTAX} (invalidDNSyntax)
35{@link #IS_LEAF} (isLeaf)
36{@link #ALIAS_DEREFERENCING_PROBLEM} (aliasDereferencingProblem)
48{@link #INAPPROPRIATE_AUTHENTICATION} (inappropriateAuthentication)
49{@link #INVALID_CREDENTIALS} (invalidCredentials)
50{@link #INSUFFICIENT_ACCESS_RIGHTS} (insufficientAccessRights)
51{@link #BUSY} (busy)
52{@link #UNAVAILABLE} (unavailable)
53{@link #UNWILLING_TO_PERFORM} (unwillingToPerform)
54{@link #LOOP_DETECT} (loopDetect)
64{@link #NAMING_VIOLATION} (namingViolation)
65{@link #OBJECT_CLASS_VIOLATION} (objectClassViolation)
66{@link #NOT_ALLOWED_ON_NONLEAF} (notAllowedOnNonLeaf)
67{@link #NOT_ALLOWED_ON_RDN} (notAllowedOnRDN)
68{@link #ENTRY_ALREADY_EXISTS} (entryAlreadyExists)
69{@link #OBJECT_CLASS_MODS_PROHIBITED} (objectClassModsProhibited)
71{@link #AFFECTS_MULTIPLE_DSAS} (affectsMultipleDSAs
80{@link #OTHER} (other)
Local errors, resulting from actions other than an operation on a server.
Value Result Code
81{@link #SERVER_DOWN}
82{@link #LOCAL_ERROR}
83{@link #ENCODING_ERROR}
84{@link #DECODING_ERROR}
85{@link #Ldap_TIMEOUT}
86{@link #AUTH_UNKNOWN}
87{@link #FILTER_ERROR}
88{@link #USER_CANCELLED}
90{@link #NO_MEMORY}
91{@link #CONNECT_ERROR}
92{@link #Ldap_NOT_SUPPORTED}
93{@link #CONTROL_NOT_FOUND}
94{@link #NO_RESULTS_RETURNED}
95{@link #MORE_RESULTS_TO_RETURN}
96{@link #CLIENT_LOOP}
97{@link #REFERRAL_LIMIT_EXCEEDED}
100{@link #INVALID_RESPONSE}
101{@link #AMBIGUOUS_RESPONSE}
112{@link #TLS_NOT_SUPPORTED}
LdapExtendedOperation Encapsulates an ID which uniquely identifies a particular extended operation, known to a particular server, and the data associated with that extended operation.
LdapExtendedRequest Represents an Ldap Extended Request.
LdapExtendedResponse Encapsulates the response returned by an Ldap server on an asynchronous extended operation request. It extends LdapResponse. The response can contain the OID of the extension, an octet string with the operation's data, both, or neither.
LdapIntermediateResponse
LdapLocalException Represents an Ldap exception that is not a result of a server response.
LdapMatchingRuleSchema The schematic definition of a particular matching rule in a particular Directory Server. The LdapMatchingRuleSchema class represents the definition of a mathcing rule. It is used to query matching rule syntax, and to add or delete a matching rule definition in a directory. Novell eDirectory does not currently allow matching rules to be added or deleted from the schema.
LdapMatchingRuleUseSchema Represents the definition of a specific matching rule use in the directory schema. The LdapMatchingRuleUseSchema class represents the definition of a matching rule use. It is used to discover or modify which attributes are suitable for use with an extensible matching rule. It contains the name and identifier of a matching rule, and a list of attributes which it applies to.
LdapMessage The base class for Ldap request and response messages. Subclassed by response messages used in asynchronous operations.
LdapMessageQueue Represents a queue of incoming asynchronous messages from the server. It is the common interface for {@link LdapResponseQueue} and {@link LdapSearchQueue}.
LdapModification A single add, delete, or replace operation to an LdapAttribute. An LdapModification contains information on the type of modification being performed, the name of the attribute to be replaced, and the new value. Multiple modifications are expressed as an array of modifications, i.e., LdapModification[]. An LdapModification or an LdapModification array enable you to modify an attribute of an Ldap entry. The entire array of modifications must be performed by the server as a single atomic operation in the order they are listed. No changes are made to the directory unless all the operations succeed. If all succeed, a success result is returned to the application. It should be noted that if the connection fails during a modification, it is indeterminate whether the modification occurred or not. There are three types of modification operations: Add, Delete, and Replace. Add: Creates the attribute if it doesn't exist, and adds the specified values. This operation must contain at least one value, and all values of the attribute must be unique. Delete: Deletes specified values from the attribute. If no values are specified, or if all existing values of the attribute are specified, the attribute is removed. Mandatory attributes cannot be removed. Replace: Creates the attribute if necessary, and replaces all existing values of the attribute with the specified values. If you wish to keep any existing values of a multi-valued attribute, you must include these values in the replace operation. A replace operation with no value will remove the entire attribute if it exists, and is ignored if the attribute does not exist. Additional information on Ldap modifications is available in section 4.6 of rfc2251.txt
LdapModifyDNRequest Represents an Ldap ModifyDN request
LdapModifyRequest Modification Request.
LdapNameFormSchema A specific a name form in the directory schema. The LdapNameFormSchema class represents the definition of a Name Form. It is used to discover or modify the allowed naming attributes for a particular object class.
LdapObjectClassSchema The schema definition of an object class in a directory server. The LdapObjectClassSchema class represents the definition of an object class. It is used to query the syntax of an object class.
LdapReferralException Thrown when a server returns a referral and when a referral has not been followed. It contains a list of URL strings corresponding to the referrals or search continuation references received on an Ldap operation.
LdapResponse A message received from an LdapServer in response to an asynchronous request.
LdapResponseQueue A mechanism for processing asynchronous messages received from a server. It represents the message queue associated with a particular asynchronous Ldap operation or operations.
LdapSchema Represents a schema entry that controls one or more entries held by a Directory Server. LdapSchema Contains methods to parse schema attributes into individual schema definitions, represented by subclasses of {@link LdapSchemaElement}. Schema may be retrieved from a Directory server with the fetchSchema method of LdapConnection or by creating an LdapEntry containing schema attributes. The following sample code demonstrates how to retrieve schema elements from LdapSchema
 . . . LdapSchema schema; LdapSchemaElement element; // connect to the server lc.connect( ldapHost, ldapPort ); lc.bind( ldapVersion, loginDN, password ); // read the schema from the directory schema = lc.fetchSchema( lc.getSchemaDN() ); // retrieve the definition of common name element = schema.getAttributeSchema( "cn" ); System.out.println("The attribute cn has an oid of " + element.getID()); . . . 
LdapSchemaElement The LdapSchemaElement class is the base class representing schema elements (definitions) in Ldap. An LdapSchemaElement is read-only, single-valued LdapAttribute. Therefore, it does not support the addValue and removeValue methods from LdapAttribute. This class overrides those methods and throws UnsupportedOperationException if either of those methods are invoked by an application.
LdapSearchConstraints Defines the options controlling search operations. An LdapSearchConstraints object is always associated with an LdapConnection object; its values can be changed with the LdapConnection.setConstraints method, or overridden by passing an LdapSearchConstraints object to the search operation.
LdapSearchQueue A mechanism for queuing asynchronous search results received from a server.
LdapSearchRequest Represents an Ldap Search request.
LdapSearchResult Encapsulates a single search result that is in response to an asynchronous search operation.
LdapSearchResultReference Encapsulates a continuation reference from an asynchronous search operation.
LdapSearchResults An LdapSearchResults object is returned from a synchronous search operation. It provides access to all results received during the operation (entries and exceptions).
LdapSyntaxSchema Represents a syntax definition in the directory schema. The LdapSyntaxSchema class represents the definition of a syntax. It is used to discover the known set of syntaxes in effect for the subschema. Although this extends LdapSchemaElement, it does not use the name or obsolete members. Therefore, calls to the getName method always return null and to the isObsolete method always returns false. There is also no matching getSyntaxNames method in LdapSchema. Note also that adding and removing syntaxes is not typically a supported feature of Ldap servers.
LdapUnbindRequest Represents an Ldap Unbind Request.
LdapUrl Encapsulates parameters of an Ldap URL query as defined in RFC2255. An LdapUrl object can be passed to LdapConnection.search to retrieve search results.
Message Encapsulates an Ldap message, its state, and its replies.
Message.Timeout Timer class to provide timing for messages. Only called if time to wait is non zero.
MessageAgent
MessageVector The MessageVector class implements additional semantics to Vector needed for handling messages.