On Tue, Feb 9, 2010 at 6:29 AM, Emmanuel Lecharny <elecharny@gmail.com> wrote:

we haven't add support for the Unsolicited Notification, as specified in RFC 4511, chap. 4.4 :

We had it with the old RFC AFAIK. But are you suggesting this new revision has some aspects we have not implemented and therefore need to re-implement this protocol feature?

4.4.  Unsolicited Notification

  An unsolicited notification is an LDAPMessage sent from the server to
  the client that 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 LDAP session 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 zero and protocolOp is set to the extendedResp
  choice using the ExtendedResponse type (See Section 4.12).  The
  responseName field of the ExtendedResponse always contains an LDAPOID
  that is unique for this notification.

  One unsolicited notification (Notice of Disconnection) is defined in
  this document.  The specification of an unsolicited notification
  consists of:

  - the OBJECT IDENTIFIER assigned to the notification (to be specified
    in the responseName,

  - the format of the contents of the responseValue (if any),

  - the circumstances which will cause the notification to be sent, and

  - the semantics of the message.

4.4.1.  Notice of Disconnection

  This notification may be used by the server to advise the client that
  the server is about to terminate the LDAP session on its own
  initiative.  This notification is intended to assist clients in
  distinguishing between an exceptional server condition and a
  transient network failure.  Note that this notification is not a
  response to an Unbind requested by the client.  Uncompleted
  operations are handled as specified in Section 3.1.
  The responseName is, the responseValue field
  is absent, and the resultCode is used to indicate the reason for the
  disconnection.  When the strongerAuthRequired resultCode is returned
  with this message, it indicates that the server has detected that an
  established security association between the client and server has
  unexpectedly failed or been compromised.

  Upon transmission of the Notice of Disconnection, the server
  gracefully terminates the LDAP session as described in Section 5.3.

Emmanuel Lécharny

Alex Karasulu
My Blog :: http://www.jroller.com/akarasulu/
Apache Directory Server :: http://directory.apache.org
Apache MINA :: http://mina.apache.org