Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
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