public final class NoticeOfDisconnect extends AbstractExtendedResponse
Section 4.1.1 (Small snippet on sending NoD) If the server receives a PDU from the client in which the LDAPMessage SEQUENCE tag cannot be recognized, the messageID cannot be parsed, the tag of the protocolOp is not recognized as a request, or the encoding structures or lengths of data fields are found to be incorrect, then the server MUST return the notice of disconnection described in section 4.4.1, with resultCode protocolError, and immediately close the connection. In other cases that the server cannot parse the request received by the client, the server MUST return an appropriate response to the request, with the resultCode set to protocolError. ... 4.4. Unsolicited Notification An unsolicited notification is an LDAPMessage sent from the server to the client which is not in response to any LDAPMessage received by the server. It is used to signal an extraordinary condition in the server or in the connection between the client and the server. The notification is of an advisory nature, and the server will not expect any response to be returned from the client. The unsolicited notification is structured as an LDAPMessage in which the messageID is 0 and protocolOp is of the extendedResp form. The responseName field of the ExtendedResponse is present. The LDAPOID value MUST be unique for this notification, and not be used in any other situation. One unsolicited notification is defined in this document. 4.4.1. Notice of Disconnection This notification may be used by the server to advise the client that the server is about to close the connection due to an error condition. Note that this notification is NOT a response to an unbind requested by the client: the server MUST follow the procedures of section 4.3. This notification is intended to assist clients in distinguishing between an error condition and a transient network failure. As with a connection close due to network failure, the client MUST NOT assume that any outstanding requests which modified the directory have succeeded or failed. The responseName is 1.3.6.1.4.1.1466.20036, the response field is absent, and the resultCode is used to indicate the reason for the disconnection. The following resultCode values are to be used in this notification: - protocolError: The server has received data from the client in which the LDAPMessage structure could not be parsed. - strongAuthRequired: The server has detected that an established underlying security association protecting communication between the client and server has unexpectedly failed or been compromised. - unavailable: This server will stop accepting new connections and operations on all existing connections, and be unavailable for an extended period of time. The client may make use of an alternative server. After sending this notice, the server MUST close the connection. After receiving this notice, the client MUST NOT transmit any further on the connection, and may abruptly close the connection.
Modifier and Type | Field and Description |
---|---|
static String |
EXTENSION_OID
The OID of the NotiveOfDisconnect extended operation.
|
static NoticeOfDisconnect |
PROTOCOLERROR
The single instance with protocolError result code.
|
static NoticeOfDisconnect |
STRONGAUTHREQUIRED
The single instance with strongAuthRequired result code.
|
static NoticeOfDisconnect |
UNAVAILABLE
The single instance with unavailable result code.
|
Modifier and Type | Method and Description |
---|---|
static NoticeOfDisconnect |
createNoticeOfDisconnect(ResultCodeEnum rcode)
Create a NoD associated with a result code enum
|
boolean |
equals(Object obj)
Checks to see if an object equals this ExtendedRequest.
|
byte[] |
getResponse()
Gets the reponse OID specific encoded response values.
|
int |
hashCode() |
void |
setResponse(byte[] value)
Sets the response OID specific encoded response values.
|
void |
setResponseName(String oid)
Sets the OID uniquely identifying this extended response (a.k.a. its
name).
|
getResponseName, toString
getLdapResult
addAllControls, addControl, get, getControl, getControls, getMessageId, getType, hasControl, put, removeControl, setMessageId, toString
getLdapResult
addAllControls, addControl, get, getControl, getControls, getMessageId, getType, hasControl, put, removeControl, setMessageId
public static final String EXTENSION_OID
public static final NoticeOfDisconnect UNAVAILABLE
public static final NoticeOfDisconnect PROTOCOLERROR
public static final NoticeOfDisconnect STRONGAUTHREQUIRED
public static NoticeOfDisconnect createNoticeOfDisconnect(ResultCodeEnum rcode)
rcode
- The result codepublic byte[] getResponse()
public void setResponse(byte[] value)
value
- the response specific encoded response values.public void setResponseName(String oid)
setResponseName
in interface ExtendedResponse
setResponseName
in class AbstractExtendedResponse
oid
- the OID of the extended response type.public int hashCode()
hashCode
in class AbstractExtendedResponse
Object.hashCode()
public boolean equals(Object obj)
equals
in class AbstractExtendedResponse
obj
- the object to be checked for equalityCopyright © 2003–2023 The Apache Software Foundation. All rights reserved.