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)