Emmanuel Lecharny created DIRAPI-298:
----------------------------------------

             Summary: Inconsistent SASL bind API
                 Key: DIRAPI-298
                 URL: https://issues.apache.org/jira/browse/DIRAPI-298
             Project: Directory Client API
          Issue Type: Improvement
            Reporter: Emmanuel Lecharny


We do have the following bind methods in {{LdapConnection}} :

* {{void anonymousBind()}}
* {{void bind()}}
* {{void bind( String name )}}
* {{void bind( String name, String credentials )}}
* {{void bind( Dn name )}}
* {{void bind( Dn name, String credentials )}}
* {{BindResponse bind( BindRequest bindRequest )}}

That does not cover any of the SASL binds.

However, in the {{LdapNetworkConnection}}/{{AbstractLdapConnection}} 
implementation, we have the following SASL bind mehods :

* {{void bind()}}
* {{void bind( String name )}} (abstract)
* {{void bind( String name, String credentials )}} (abstract)
* {{void bind( Dn name )}} (abstract)
* {{void bind( Dn name, String credentials )}} (abstract)
* {{void anonymousBind()}}
* {{BindResponse bind( BindRequest bindRequest )}}
* {{BindResponse bind( SaslCramMd5Request request )}}
* {{BindResponse bind( SaslDigestMd5Request request )}}
* {{BindResponse bind( SaslGssApiRequest request )}}

As we can see, we have dedicated methods for some of the SASL binds, but the 
SASL PLAIN ([https://docs.ldap.com/specs/rfc4616.txt]) and SASL ANONYMOUS 
([https://docs.ldap.com/specs/rfc4616.txt]) are not present. 

The {{bindSaslPlain}} method is commented in the interface.

At this point, we probably have to implement the missing PLAIN and ANONYMOUS 
SASL bind methods, expose them in the interface, and probably add a {{bindSasl( 
SaslRequest )}} method to cover all our bases




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to