You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ck...@apache.org on 2007/07/28 16:01:09 UTC
svn commit: r560549 - in
/directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core:
internal/model/ model/
Author: ckoppelt
Date: Sat Jul 28 07:01:08 2007
New Revision: 560549
URL: http://svn.apache.org/viewvc?view=rev&rev=560549
Log:
start implementing SASL authentication
Modified:
directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/internal/model/Connection.java
directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/internal/model/JNDIConnectionContext.java
directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/internal/model/JNDIConnectionProvider.java
directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/ConnectionParameter.java
directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/IConnection.java
Modified: directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/internal/model/Connection.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/internal/model/Connection.java?view=diff&rev=560549&r1=560548&r2=560549
==============================================================================
--- directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/internal/model/Connection.java (original)
+++ directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/internal/model/Connection.java Sat Jul 28 07:01:08 2007
@@ -795,6 +795,18 @@
EventRegistry.fireConnectionUpdated( new ConnectionUpdateEvent( this,
ConnectionUpdateEvent.EventDetail.CONNECTION_PARAMETER_UPDATED ), this );
}
+
+ public int getSASLMechanism ()
+ {
+ return this.connectionParameter.getSaslMechanism();
+ }
+
+ public void setSASLMechanism (int saslMethod)
+ {
+ this.connectionParameter.setSaslMechanism(saslMethod);
+ EventRegistry.fireConnectionUpdated(new ConnectionUpdateEvent (this,
+ ConnectionUpdateEvent.EventDetail.CONNECTION_PARAMETER_UPDATED), this);
+ }
public int getTimeLimit()
Modified: directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/internal/model/JNDIConnectionContext.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/internal/model/JNDIConnectionContext.java?view=diff&rev=560549&r1=560548&r2=560549
==============================================================================
--- directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/internal/model/JNDIConnectionContext.java (original)
+++ directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/internal/model/JNDIConnectionContext.java Sat Jul 28 07:01:08 2007
@@ -122,25 +122,33 @@
public void bindAnonymous( ExtendedProgressMonitor monitor ) throws NamingException
{
- this.authMethod = "none"; //$NON-NLS-1$
- this.principal = ""; //$NON-NLS-1$
- this.credentials = ""; //$NON-NLS-1$
-
- try
- {
- this.doBind( monitor );
- }
- catch ( NamingException ne )
- {
- this.close();
- throw ne;
- }
+ bindWithAuth( "", "", "none", monitor );
}
public void bindSimple( String user, String password, ExtendedProgressMonitor monitor ) throws NamingException
{
- this.authMethod = "simple"; //$NON-NLS-1$
+ bindWithAuth( user, password, "simple", monitor );
+ }
+
+
+ public void bindSaslDigestMD5( String user, String password, ExtendedProgressMonitor monitor )
+ throws NamingException
+ {
+ bindWithAuth( user, password, "DIGEST-MD5", monitor );
+ }
+
+
+ public void bindSaslCramMD5( String user, String password, ExtendedProgressMonitor monitor ) throws NamingException
+ {
+ bindWithAuth( user, password, "CRAM-MD5", monitor );
+ }
+
+
+ private void bindWithAuth( String user, String password, String authMethod, ExtendedProgressMonitor monitor )
+ throws NamingException
+ {
+ this.authMethod = authMethod;
this.principal = user;
this.credentials = password;
Modified: directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/internal/model/JNDIConnectionProvider.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/internal/model/JNDIConnectionProvider.java?view=diff&rev=560549&r1=560548&r2=560549
==============================================================================
--- directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/internal/model/JNDIConnectionProvider.java (original)
+++ directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/internal/model/JNDIConnectionProvider.java Sat Jul 28 07:01:08 2007
@@ -107,6 +107,21 @@
String bindPassword = credentials.getBindPassword();
this.context.bindSimple( bindPrincipal, bindPassword, monitor );
}
+
+ else if (parameter.getAuthMethod() == IConnection.AUTH_SASL_DIGMD5)
+ {
+ String bindPrincipal = credentials.getBindPrincipal();
+ String bindPassword = credentials.getBindPassword();
+ this.context.bindSaslDigestMD5(bindPrincipal, bindPassword, monitor);
+ }
+
+ else if (parameter.getAuthMethod() == IConnection.AUTH_SASL_CRAMD5)
+ {
+ String bindPrincipal = credentials.getBindPrincipal();
+ String bindPassword = credentials.getBindPassword();
+ this.context.bindSaslCramMD5(bindPrincipal, bindPassword, monitor);
+ }
+
else if ( parameter.getAuthMethod() == IConnection.AUTH_ANONYMOUS )
{
this.context.bindAnonymous( monitor );
Modified: directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/ConnectionParameter.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/ConnectionParameter.java?view=diff&rev=560549&r1=560548&r2=560549
==============================================================================
--- directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/ConnectionParameter.java (original)
+++ directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/ConnectionParameter.java Sat Jul 28 07:01:08 2007
@@ -45,6 +45,9 @@
/** The encryption method, one of IConnection.ENCYRPTION_NONE, IConnection.ENCYRPTION_LDAPS or IConnection.ENCYRPTION_STARTTLS. */
private int encryptionMethod;
+
+ /** The sasl mechanism, one of IConnection.AUTH_SASL_DIGMD5, IConnection.AUTH_SASL_CRAMD5 */
+ private int saslMechanism;
/** The port of the LDAP server. */
private int port;
@@ -370,6 +373,16 @@
public void setEncryptionMethod( int encryptionMethod )
{
this.encryptionMethod = encryptionMethod;
+ }
+
+
+ public int getSaslMechanism(){
+ return this.saslMechanism;
+ }
+
+
+ public void setSaslMechanism(int saslMechanism){
+ this.saslMechanism = saslMechanism;
}
Modified: directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/IConnection.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/IConnection.java?view=diff&rev=560549&r1=560548&r2=560549
==============================================================================
--- directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/IConnection.java (original)
+++ directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/IConnection.java Sat Jul 28 07:01:08 2007
@@ -49,6 +49,10 @@
public static final int AUTH_ANONYMOUS = 0;
public static final int AUTH_SIMPLE = 1;
+
+ public static final int AUTH_SASL_DIGMD5 = 2;
+
+ public static final int AUTH_SASL_CRAMD5 = 3;
public static final int ENCYRPTION_NONE = 0;