Class StartTLSRequestHandler

    • Constructor Detail

      • StartTLSRequestHandler

        public StartTLSRequestHandler​(@NotNull
                                      javax.net.ssl.SSLSocketFactory sslSocketFactory,
                                      @NotNull
                                      LDAPListenerRequestHandler requestHandler)
        Creates a new StartTLS request handler with the provided information.
        Parameters:
        sslSocketFactory - The SSL socket factory that will be used to convert the existing socket to use SSL encryption.
        requestHandler - The request handler that will be used to process all operations except StartTLS extended operations.
      • StartTLSRequestHandler

        public StartTLSRequestHandler​(@NotNull
                                      javax.net.ssl.SSLSocketFactory sslSocketFactory,
                                      @NotNull
                                      LDAPListenerRequestHandler requestHandler,
                                      boolean requestClientCertificate,
                                      boolean requireClientCertificate)
        Creates a new StartTLS request handler with the provided information.
        Parameters:
        sslSocketFactory - The SSL socket factory that will be used to convert the existing socket to use SSL encryption.
        requestHandler - The request handler that will be used to process all operations except StartTLS extended operations.
        requestClientCertificate - Indicates whether the listener should request that the client present its own certificate chain during TLS negotiation. This will be ignored for non-TLS-based connections.
        requireClientCertificate - Indicates whether the listener should require that the client present its own certificate chain during TLS negotiation, and should fail negotiation if the client does not present one. This will be ignored for non-TLS-based connections or if requestClientCertificate is false.
    • Method Detail

      • closeInstance

        public void closeInstance()
        Indicates that the client connection with which this request handler instance is associated is being closed and any resources associated with it should be released.
        Overrides:
        closeInstance in class LDAPListenerRequestHandler
      • processAbandonRequest

        public void processAbandonRequest​(int messageID,
                                          @NotNull
                                          AbandonRequestProtocolOp request,
                                          @NotNull
                                          java.util.List<Control> controls)
        Performs any processing necessary for the provided abandon request.
        Overrides:
        processAbandonRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the abandon request.
        request - The abandon request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
      • processAddRequest

        @NotNull
        public LDAPMessage processAddRequest​(int messageID,
                                             @NotNull
                                             AddRequestProtocolOp request,
                                             @NotNull
                                             java.util.List<Control> controls)
        Performs any processing necessary for the provided add request.
        Specified by:
        processAddRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the add request.
        request - The add request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an AddResponseProtocolOp.
      • processBindRequest

        @NotNull
        public LDAPMessage processBindRequest​(int messageID,
                                              @NotNull
                                              BindRequestProtocolOp request,
                                              @NotNull
                                              java.util.List<Control> controls)
        Performs any processing necessary for the provided bind request.
        Specified by:
        processBindRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the bind request.
        request - The bind request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be a BindResponseProtocolOp.
      • processCompareRequest

        @NotNull
        public LDAPMessage processCompareRequest​(int messageID,
                                                 @NotNull
                                                 CompareRequestProtocolOp request,
                                                 @NotNull
                                                 java.util.List<Control> controls)
        Performs any processing necessary for the provided compare request.
        Specified by:
        processCompareRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the compare request.
        request - The compare request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be a CompareResponseProtocolOp.
      • processDeleteRequest

        @NotNull
        public LDAPMessage processDeleteRequest​(int messageID,
                                                @NotNull
                                                DeleteRequestProtocolOp request,
                                                @NotNull
                                                java.util.List<Control> controls)
        Performs any processing necessary for the provided delete request.
        Specified by:
        processDeleteRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the delete request.
        request - The delete request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be a DeleteResponseProtocolOp.
      • processExtendedRequest

        @NotNull
        public LDAPMessage processExtendedRequest​(int messageID,
                                                  @NotNull
                                                  ExtendedRequestProtocolOp request,
                                                  @NotNull
                                                  java.util.List<Control> controls)
        Performs any processing necessary for the provided extended request.
        Specified by:
        processExtendedRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the extended request.
        request - The extended request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an ExtendedResponseProtocolOp.
      • processModifyRequest

        @NotNull
        public LDAPMessage processModifyRequest​(int messageID,
                                                @NotNull
                                                ModifyRequestProtocolOp request,
                                                @NotNull
                                                java.util.List<Control> controls)
        Performs any processing necessary for the provided modify request.
        Specified by:
        processModifyRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the modify request.
        request - The modify request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an ModifyResponseProtocolOp.
      • processModifyDNRequest

        @NotNull
        public LDAPMessage processModifyDNRequest​(int messageID,
                                                  @NotNull
                                                  ModifyDNRequestProtocolOp request,
                                                  @NotNull
                                                  java.util.List<Control> controls)
        Performs any processing necessary for the provided modify DN request.
        Specified by:
        processModifyDNRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the modify DN request.
        request - The modify DN request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an ModifyDNResponseProtocolOp.
      • processSearchRequest

        @NotNull
        public LDAPMessage processSearchRequest​(int messageID,
                                                @NotNull
                                                SearchRequestProtocolOp request,
                                                @NotNull
                                                java.util.List<Control> controls)
        Performs any processing necessary for the provided search request.
        Specified by:
        processSearchRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the search request.
        request - The search request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an SearchResultDoneProtocolOp.
      • processUnbindRequest

        public void processUnbindRequest​(int messageID,
                                         @NotNull
                                         UnbindRequestProtocolOp request,
                                         @NotNull
                                         java.util.List<Control> controls)
        Performs any processing necessary for the provided unbind request.
        Overrides:
        processUnbindRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the search request.
        request - The search request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.