You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2009/08/10 12:56:08 UTC
svn commit: r802731 [2/2] - in /directory/studio/trunk:
connection-core/src/main/java/org/apache/directory/studio/connection/core/
connection-core/src/main/java/org/apache/directory/studio/connection/core/io/
connection-core/src/main/java/org/apache/di...
Modified: directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/AuthenticationParameterPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/AuthenticationParameterPage.java?rev=802731&r1=802730&r2=802731&view=diff
==============================================================================
--- directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/AuthenticationParameterPage.java (original)
+++ directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/AuthenticationParameterPage.java Mon Aug 10 10:56:07 2009
@@ -25,26 +25,42 @@
import org.apache.directory.shared.ldap.util.LdapURL;
import org.apache.directory.shared.ldap.util.LdapURL.Extension;
import org.apache.directory.studio.connection.core.Connection;
+import org.apache.directory.studio.connection.core.ConnectionCoreConstants;
+import org.apache.directory.studio.connection.core.ConnectionCorePlugin;
import org.apache.directory.studio.connection.core.ConnectionParameter;
import org.apache.directory.studio.connection.core.ConnectionParameter.AuthenticationMethod;
+import org.apache.directory.studio.connection.core.ConnectionParameter.Krb5Configuration;
+import org.apache.directory.studio.connection.core.ConnectionParameter.Krb5CredentialConfiguration;
+import org.apache.directory.studio.connection.core.ConnectionParameter.SaslQop;
+import org.apache.directory.studio.connection.core.ConnectionParameter.SaslSecurityStrength;
import org.apache.directory.studio.connection.core.jobs.CheckBindRunnable;
import org.apache.directory.studio.connection.ui.AbstractConnectionParameterPage;
import org.apache.directory.studio.connection.ui.ConnectionUIConstants;
import org.apache.directory.studio.connection.ui.RunnableContextRunner;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Preferences;
import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.ScrolledComposite;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.VerifyEvent;
+import org.eclipse.swt.events.VerifyListener;
import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
/**
@@ -67,11 +83,30 @@
private static final String X_AUTH_METHOD_CRAM_MD5 = "CRAM-MD5"; //$NON-NLS-1$
+ private static final String X_AUTH_METHOD_GSSAPI = "GSSAPI"; //$NON-NLS-1$
+
private static final String X_BIND_USER = "X-BIND-USER"; //$NON-NLS-1$
private static final String X_BIND_PASSWORD = "X-BIND-PASSWORD"; //$NON-NLS-1$
private static final String X_SASL_REALM = "X-SASL-REALM"; //$NON-NLS-1$
+ private static final String X_SASL_QOP = "X-SASL-QOP"; //$NON-NLS-1$
+ private static final String X_SASL_QOP_AUTH_INT = "AUTH-INT"; //$NON-NLS-1$
+ private static final String X_SASL_QOP_AUTH_INT_PRIV = "AUTH-INT-PRIV"; //$NON-NLS-1$
+ private static final String X_SASL_SEC_STRENGTH = "X-SASL-SEC-STRENGTH"; //$NON-NLS-1$
+ private static final String X_SASL_SEC_STRENGTH_MEDIUM = "MEDIUM"; //$NON-NLS-1$
+ private static final String X_SASL_SEC_STRENGTH_LOW = "LOW"; //$NON-NLS-1$
+ private static final String X_SASL_NO_MUTUAL_AUTH = "X-SASL-NO-MUTUAL-AUTH"; //$NON-NLS-1$
+
+ private static final String X_KRB5_CREDENTIALS_CONF = "X-KRB5-CREDENTIALS-CONF"; //$NON-NLS-1$
+ private static final String X_KRB5_CREDENTIALS_CONF_OBTAIN_TGT = "OBTAIN-TGT"; //$NON-NLS-1$
+ private static final String X_KRB5_CONFIG = "X-KRB5-CONFIG"; //$NON-NLS-1$
+ private static final String X_KRB5_CONFIG_FILE = "FILE"; //$NON-NLS-1$
+ private static final String X_KRB5_CONFIG_FILE_FILE = "X-KRB5-CONFIG-FILE"; //$NON-NLS-1$
+ private static final String X_KRB5_CONFIG_MANUAL = "MANUAL"; //$NON-NLS-1$
+ private static final String X_KRB5_CONFIG_MANUAL_REALM = "X-KRB5-REALM"; //$NON-NLS-1$
+ private static final String X_KRB5_CONFIG_MANUAL_KDC_HOST = "X-KRB5-KDC-HOST"; //$NON-NLS-1$
+ private static final String X_KRB5_CONFIG_MANUAL_KDC_PORT = "X-KRB5-KDC-PORT"; //$NON-NLS-1$
/** The combo to select the authentication method */
private Combo authenticationMethodCombo;
@@ -82,14 +117,32 @@
/** The text widget to input bind password */
private Text bindPasswordText;
- /** The text widget to input saslRealm */
- private Combo saslRealmText;
-
/** The checkbox to choose if the bind password should be saved on disk */
private Button saveBindPasswordButton;
/** The button to check the authentication parameters */
- private Button checkPrincipalPasswordAuthButton;;
+ private Button checkPrincipalPasswordAuthButton;
+
+ // SASL stuff
+ private ExpandableComposite saslExpandableComposite;
+ private Composite saslComposite;
+ private Combo saslRealmText;
+ private Combo saslQopCombo;
+ private Combo saslSecurityStrengthCombo;
+ private Button saslMutualAuthenticationButton;
+
+ // Kerberos stuff
+ private ExpandableComposite krb5ExpandableComposite;
+ private Composite krb5Composite;
+ private Button krb5CredentialConfigurationUseNativeButton;
+ private Button krb5CredentialConfigurationObtainTgtButton;
+ private Button krb5ConfigDefaultButton;
+ private Button krb5ConfigFileButton;
+ private Text krb5ConfigFileText;
+ private Button krb5ConfigManualButton;
+ private Text krb5ConfigManualRealmText;
+ private Text krb5ConfigManualHostText;
+ private Text krb5ConfigManualPortText;
/**
@@ -151,6 +204,75 @@
}
+ private SaslQop getSaslQop()
+ {
+ switch ( saslQopCombo.getSelectionIndex() )
+ {
+ case 1:
+ return SaslQop.AUTH_INT;
+ case 2:
+ return SaslQop.AUTH_INT_PRIV;
+ default:
+ return SaslQop.AUTH;
+ }
+ }
+
+
+ private SaslSecurityStrength getSaslSecurityStrength()
+ {
+ switch ( saslSecurityStrengthCombo.getSelectionIndex() )
+ {
+ case 1:
+ return SaslSecurityStrength.MEDIUM;
+ case 2:
+ return SaslSecurityStrength.LOW;
+ default:
+ return SaslSecurityStrength.HIGH;
+ }
+ }
+
+
+ private Krb5CredentialConfiguration getKrb5CredentialProvider()
+ {
+ if ( krb5CredentialConfigurationUseNativeButton.getSelection() )
+ {
+ return Krb5CredentialConfiguration.USE_NATIVE;
+ }
+ else
+ {
+ return Krb5CredentialConfiguration.OBTAIN_TGT;
+ }
+ }
+
+
+ private Krb5Configuration getKrb5Configuration()
+ {
+ if ( krb5ConfigDefaultButton.getSelection() )
+ {
+ return Krb5Configuration.DEFAULT;
+ }
+ else if ( krb5ConfigFileButton.getSelection() )
+ {
+ return Krb5Configuration.FILE;
+ }
+ else
+ {
+ return Krb5Configuration.MANUAL;
+ }
+ }
+
+
+ private int getKdcPort()
+ {
+ return !"".equals( krb5ConfigManualPortText.getText() ) ? Integer.parseInt( krb5ConfigManualPortText.getText() )
+ : 0;
+ }
+
+
+ // {
+ // krb5
+ // }
+
/**
* Returns true if the bind password should be saved on disk.
*
@@ -181,42 +303,153 @@
*/
protected void createComposite( Composite parent )
{
+ // Authentication Method
Composite composite1 = BaseWidgetUtils.createColumnContainer( parent, 1, 1 );
- Group group1 = BaseWidgetUtils.createGroup( composite1, Messages.getString("AuthenticationParameterPage.AuthenticationMethod"), 1 ); //$NON-NLS-1$
+ Group group1 = BaseWidgetUtils.createGroup( composite1, Messages
+ .getString( "AuthenticationParameterPage.AuthenticationMethod" ), 1 ); //$NON-NLS-1$
Composite groupComposite = BaseWidgetUtils.createColumnContainer( group1, 1, 1 );
String[] authMethods = new String[]
- {
- Messages.getString( "AuthenticationParameterPage.AnonymousAuthentication" ), Messages.getString( "AuthenticationParameterPage.SimpleAuthentication" ), Messages.getString( "AuthenticationParameterPage.DigestMD5" ), Messages.getString( "AuthenticationParameterPage.CramMD5" ) }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ { Messages.getString( "AuthenticationParameterPage.AnonymousAuthentication" ), //$NON-NLS-1$
+ Messages.getString( "AuthenticationParameterPage.SimpleAuthentication" ), //$NON-NLS-1$
+ Messages.getString( "AuthenticationParameterPage.DigestMD5" ), //$NON-NLS-1$
+ Messages.getString( "AuthenticationParameterPage.CramMD5" ), //$NON-NLS-1$
+ Messages.getString( "AuthenticationParameterPage.GSSAPI" ) }; //$NON-NLS-1$
authenticationMethodCombo = BaseWidgetUtils.createReadonlyCombo( groupComposite, authMethods, 1, 2 );
+ // Authentication Parameter
Composite composite2 = BaseWidgetUtils.createColumnContainer( parent, 1, 1 );
- Group group2 = BaseWidgetUtils.createGroup( composite2, Messages.getString("AuthenticationParameterPage.AuthenticationParameter"), 1 ); //$NON-NLS-1$
+ Group group2 = BaseWidgetUtils.createGroup( composite2, Messages
+ .getString( "AuthenticationParameterPage.AuthenticationParameter" ), 1 ); //$NON-NLS-1$
Composite composite = BaseWidgetUtils.createColumnContainer( group2, 3, 1 );
- BaseWidgetUtils.createLabel( composite, Messages.getString("AuthenticationParameterPage.BindDNOrUser"), 1 ); //$NON-NLS-1$
+ BaseWidgetUtils.createLabel( composite, Messages.getString( "AuthenticationParameterPage.BindDNOrUser" ), 1 ); //$NON-NLS-1$
String[] dnHistory = HistoryUtils.load( ConnectionUIConstants.DIALOGSETTING_KEY_PRINCIPAL_HISTORY );
bindPrincipalCombo = BaseWidgetUtils.createCombo( composite, dnHistory, -1, 2 );
- BaseWidgetUtils.createLabel( composite, Messages.getString("AuthenticationParameterPage.BindPassword"), 1 ); //$NON-NLS-1$
+ BaseWidgetUtils.createLabel( composite, Messages.getString( "AuthenticationParameterPage.BindPassword" ), 1 ); //$NON-NLS-1$
bindPasswordText = BaseWidgetUtils.createPasswordText( composite, "", 2 ); //$NON-NLS-1$
- BaseWidgetUtils.createLabel( composite, Messages.getString("AuthenticationParameterPage.SASLRealm"), 1 ); //$NON-NLS-1$
- String[] saslHistory = HistoryUtils.load( ConnectionUIConstants.DIALOGSETTING_KEY_REALM_HISTORY );
- saslRealmText = BaseWidgetUtils.createCombo( composite, saslHistory, -1, 2 );
-
BaseWidgetUtils.createSpacer( composite, 1 );
- saveBindPasswordButton = BaseWidgetUtils.createCheckbox( composite, Messages.getString("AuthenticationParameterPage.SavePassword"), 1 ); //$NON-NLS-1$
+ saveBindPasswordButton = BaseWidgetUtils.createCheckbox( composite, Messages
+ .getString( "AuthenticationParameterPage.SavePassword" ), 1 ); //$NON-NLS-1$
saveBindPasswordButton.setSelection( true );
checkPrincipalPasswordAuthButton = new Button( composite, SWT.PUSH );
GridData gd = new GridData( GridData.FILL_HORIZONTAL );
gd.horizontalAlignment = SWT.RIGHT;
checkPrincipalPasswordAuthButton.setLayoutData( gd );
- checkPrincipalPasswordAuthButton.setText( Messages.getString("AuthenticationParameterPage.CheckAuthentication") ); //$NON-NLS-1$
+ checkPrincipalPasswordAuthButton.setText( Messages
+ .getString( "AuthenticationParameterPage.CheckAuthentication" ) ); //$NON-NLS-1$
checkPrincipalPasswordAuthButton.setEnabled( false );
+
+ ScrolledComposite sc = new ScrolledComposite( parent, SWT.H_SCROLL | SWT.V_SCROLL );
+ sc.setLayout( new GridLayout() );
+ sc.setLayoutData( new GridData( SWT.FILL, SWT.FILL, true, true ) );
+ Composite c = BaseWidgetUtils.createColumnContainer( sc, 1, 1 );
+ sc.setContent( c );
+
+ saslExpandableComposite = createExpandableSection( c, Messages
+ .getString( "AuthenticationParameterPage.SaslOptions" ), 1 ); //$NON-NLS-1$
+ saslComposite = BaseWidgetUtils.createColumnContainer( saslExpandableComposite, 2, 1 );
+ saslExpandableComposite.setClient( saslComposite );
+ createSaslControls();
+
+ krb5ExpandableComposite = createExpandableSection( c, Messages
+ .getString( "AuthenticationParameterPage.Krb5Options" ), 1 ); //$NON-NLS-1$
+ krb5Composite = BaseWidgetUtils.createColumnContainer( krb5ExpandableComposite, 1, 1 );
+ krb5ExpandableComposite.setClient( krb5Composite );
+ createKrb5Controls();
+
+ c.setSize( c.computeSize( SWT.DEFAULT, SWT.DEFAULT ) );
+ }
+
+
+ protected ExpandableComposite createExpandableSection( Composite parent, String label, int nColumns )
+ {
+ ExpandableComposite excomposite = new ExpandableComposite( parent, SWT.NONE, ExpandableComposite.TWISTIE
+ | ExpandableComposite.CLIENT_INDENT );
+ excomposite.setText( label );
+ excomposite.setExpanded( false );
+ excomposite.setFont( JFaceResources.getFontRegistry().getBold( JFaceResources.DIALOG_FONT ) );
+ excomposite.setLayoutData( new GridData( GridData.FILL, GridData.FILL, true, false, nColumns, 1 ) );
+ excomposite.addExpansionListener( new ExpansionAdapter()
+ {
+ public void expansionStateChanged( ExpansionEvent e )
+ {
+ ExpandableComposite excomposite = ( ExpandableComposite ) e.getSource();
+ excomposite.getParent().setSize( excomposite.getParent().computeSize( SWT.DEFAULT, SWT.DEFAULT ) );
+ }
+ } );
+ return excomposite;
+ }
+
+
+ private void createSaslControls()
+ {
+ BaseWidgetUtils.createLabel( saslComposite, Messages.getString( "AuthenticationParameterPage.SaslRealm" ), 1 ); //$NON-NLS-1$
+ String[] saslHistory = HistoryUtils.load( ConnectionUIConstants.DIALOGSETTING_KEY_REALM_HISTORY );
+ saslRealmText = BaseWidgetUtils.createCombo( saslComposite, saslHistory, -1, 1 );
+
+ BaseWidgetUtils.createLabel( saslComposite, Messages.getString( "AuthenticationParameterPage.SaslQop" ), 1 ); //$NON-NLS-1$
+ String[] qops = new String[]
+ { Messages.getString( "AuthenticationParameterPage.SaslQopAuth" ), //$NON-NLS-1$
+ Messages.getString( "AuthenticationParameterPage.SaslQopAuthInt" ), //$NON-NLS-1$
+ Messages.getString( "AuthenticationParameterPage.SaslQopAuthIntPriv" ) }; //$NON-NLS-1$
+ saslQopCombo = BaseWidgetUtils.createReadonlyCombo( saslComposite, qops, 0, 1 );
+
+ BaseWidgetUtils.createLabel( saslComposite, Messages
+ .getString( "AuthenticationParameterPage.SaslSecurityStrength" ), 1 ); //$NON-NLS-1$
+ String[] securityStrengths = new String[]
+ { Messages.getString( "AuthenticationParameterPage.SaslSecurityStrengthHigh" ), //$NON-NLS-1$
+ Messages.getString( "AuthenticationParameterPage.SaslSecurityStrengthMedium" ), //$NON-NLS-1$
+ Messages.getString( "AuthenticationParameterPage.SaslSecurityStrengthLow" ) }; //$NON-NLS-1$
+ saslSecurityStrengthCombo = BaseWidgetUtils.createReadonlyCombo( saslComposite, securityStrengths, 0, 1 );
+
+ saslMutualAuthenticationButton = BaseWidgetUtils.createCheckbox( saslComposite, Messages
+ .getString( "AuthenticationParameterPage.SaslMutualAuthentication" ), 2 ); //$NON-NLS-1$
+ }
+
+
+ private void createKrb5Controls()
+ {
+ Group credentialProviderGroup = BaseWidgetUtils.createGroup( krb5Composite, Messages
+ .getString( "AuthenticationParameterPage.Krb5CredentialConf" ), 1 ); //$NON-NLS-1$
+ Composite credentialProviderComposite = BaseWidgetUtils.createColumnContainer( credentialProviderGroup, 1, 1 );
+ krb5CredentialConfigurationUseNativeButton = BaseWidgetUtils.createRadiobutton( credentialProviderComposite,
+ Messages.getString( "AuthenticationParameterPage.Krb5CredentialConfUseNative" ), 1 ); //$NON-NLS-1$
+ krb5CredentialConfigurationUseNativeButton.setToolTipText( Messages
+ .getString( "AuthenticationParameterPage.Krb5CredentialConfUseNativeTooltip" ) ); //$NON-NLS-1$
+ krb5CredentialConfigurationUseNativeButton.setSelection( true );
+ krb5CredentialConfigurationObtainTgtButton = BaseWidgetUtils.createRadiobutton( credentialProviderComposite,
+ Messages.getString( "AuthenticationParameterPage.Krb5CredentialConfObtainTgt" ), 1 ); //$NON-NLS-1$
+ krb5CredentialConfigurationObtainTgtButton.setToolTipText( Messages
+ .getString( "AuthenticationParameterPage.Krb5CredentialConfObtainTgtTooltip" ) ); //$NON-NLS-1$
+
+ Group configGroup = BaseWidgetUtils.createGroup( krb5Composite, Messages
+ .getString( "AuthenticationParameterPage.Krb5Config" ), 1 ); //$NON-NLS-1$
+ Composite configComposite = BaseWidgetUtils.createColumnContainer( configGroup, 3, 1 );
+ krb5ConfigDefaultButton = BaseWidgetUtils.createRadiobutton( configComposite, Messages
+ .getString( "AuthenticationParameterPage.Krb5ConfigDefault" ), 3 ); //$NON-NLS-1$
+ krb5ConfigDefaultButton.setSelection( true );
+ krb5ConfigFileButton = BaseWidgetUtils.createRadiobutton( configComposite, Messages
+ .getString( "AuthenticationParameterPage.Krb5ConfigFile" ), 1 ); //$NON-NLS-1$
+ krb5ConfigFileText = BaseWidgetUtils.createText( configComposite, "", 2 ); //$NON-NLS-1$
+ krb5ConfigManualButton = BaseWidgetUtils.createRadiobutton( configComposite, Messages
+ .getString( "AuthenticationParameterPage.Krb5ConfigManual" ), 1 ); //$NON-NLS-1$
+ BaseWidgetUtils.createLabel( configComposite, Messages.getString( "AuthenticationParameterPage.Krb5Realm" ), 1 ); //$NON-NLS-1$
+ krb5ConfigManualRealmText = BaseWidgetUtils.createText( configComposite, "", 1 ); //$NON-NLS-1$
+ BaseWidgetUtils.createSpacer( configComposite, 1 );
+ BaseWidgetUtils.createLabel( configComposite,
+ Messages.getString( "AuthenticationParameterPage.Krb5KdcHost" ), 1 ); //$NON-NLS-1$
+ krb5ConfigManualHostText = BaseWidgetUtils.createText( configComposite, "", 1 ); //$NON-NLS-1$
+ BaseWidgetUtils.createSpacer( configComposite, 1 );
+ BaseWidgetUtils.createLabel( configComposite,
+ Messages.getString( "AuthenticationParameterPage.Krb5KdcPort" ), 1 ); //$NON-NLS-1$
+ krb5ConfigManualPortText = BaseWidgetUtils.createText( configComposite, "88", 1 ); //$NON-NLS-1$
+ krb5ConfigManualPortText.setTextLimit( 5 );
}
@@ -226,12 +459,43 @@
protected void validate()
{
// set enabled/disabled state of fields and buttons
+ if ( saslComposite != null )
+ {
+ for ( Control c : saslComposite.getChildren() )
+ {
+ c.setEnabled( isSaslEnabled() );
+ }
+ saslRealmText.setEnabled( isSaslRealmTextEnabled() );
+ }
+
+ // TODO: get setting from global preferences.
+ Preferences preferences = ConnectionCorePlugin.getDefault().getPluginPreferences();
+ boolean useKrb5SystemProperties = preferences
+ .getBoolean( ConnectionCoreConstants.PREFERENCE_USE_KRB5_SYSTEM_PROPERTIES );
+ if ( krb5Composite != null )
+ {
+ krb5CredentialConfigurationUseNativeButton.setEnabled( isGssapiEnabled() && !useKrb5SystemProperties );
+ krb5CredentialConfigurationObtainTgtButton.setEnabled( isGssapiEnabled() && !useKrb5SystemProperties );
+
+ krb5ConfigDefaultButton.setEnabled( isGssapiEnabled() && !useKrb5SystemProperties );
+ krb5ConfigFileButton.setEnabled( isGssapiEnabled() && !useKrb5SystemProperties );
+ krb5ConfigManualButton.setEnabled( isGssapiEnabled() && !useKrb5SystemProperties );
+
+ krb5ConfigFileText.setEnabled( isGssapiEnabled() && krb5ConfigFileButton.getSelection()
+ && !useKrb5SystemProperties );
+ krb5ConfigManualRealmText.setEnabled( isGssapiEnabled() && krb5ConfigManualButton.getSelection()
+ && !useKrb5SystemProperties );
+ krb5ConfigManualHostText.setEnabled( isGssapiEnabled() && krb5ConfigManualButton.getSelection()
+ && !useKrb5SystemProperties );
+ krb5ConfigManualPortText.setEnabled( isGssapiEnabled() && krb5ConfigManualButton.getSelection()
+ && !useKrb5SystemProperties );
+ }
bindPrincipalCombo.setEnabled( isPrincipalPasswordEnabled() );
bindPasswordText.setEnabled( isPrincipalPasswordEnabled() && isSaveBindPassword() );
saveBindPasswordButton.setEnabled( isPrincipalPasswordEnabled() );
- checkPrincipalPasswordAuthButton.setEnabled( isPrincipalPasswordEnabled() && isSaveBindPassword()
- && !bindPrincipalCombo.getText().equals( "" ) && !bindPasswordText.getText().equals( "" ) ); //$NON-NLS-1$ //$NON-NLS-2$
- saslRealmText.setEnabled( isSaslRealmTextEnabled() );
+ checkPrincipalPasswordAuthButton
+ .setEnabled( ( isPrincipalPasswordEnabled() && isSaveBindPassword()
+ && !bindPrincipalCombo.getText().equals( "" ) && !bindPasswordText.getText().equals( "" ) ) || isGssapiEnabled() ); //$NON-NLS-1$ //$NON-NLS-2$
// validate input fields
message = null;
@@ -241,11 +505,11 @@
{
if ( isSaveBindPassword() && "".equals( bindPasswordText.getText() ) ) //$NON-NLS-1$
{
- message = Messages.getString("AuthenticationParameterPage.PleaseEnterBindPassword"); //$NON-NLS-1$
+ message = Messages.getString( "AuthenticationParameterPage.PleaseEnterBindPassword" ); //$NON-NLS-1$
}
- if ( "".equals( bindPrincipalCombo.getText() ) ) //$NON-NLS-1$
+ if ( "".equals( bindPrincipalCombo.getText() ) && !isGssapiEnabled() ) //$NON-NLS-1$
{
- message = Messages.getString("AuthenticationParameterPage.PleaseEnterBindDNOrUser"); //$NON-NLS-1$
+ message = Messages.getString( "AuthenticationParameterPage.PleaseEnterBindDNOrUser" ); //$NON-NLS-1$
}
}
@@ -253,7 +517,31 @@
{
if ( "".equals( saslRealmText.getText() ) ) //$NON-NLS-1$
{
- infoMessage = Messages.getString("AuthenticationParameterPage.PleasEnterSASL"); //$NON-NLS-1$
+ infoMessage = Messages.getString( "AuthenticationParameterPage.PleaseEnterSaslRealm" ); //$NON-NLS-1$
+ }
+ }
+
+ if ( isGssapiEnabled() && krb5ConfigFileButton.getSelection() )
+ {
+ if ( "".equals( krb5ConfigFileText.getText() ) ) //$NON-NLS-1$
+ {
+ message = Messages.getString( "AuthenticationParameterPage.PleaseEnterKrb5ConfigFile" ); //$NON-NLS-1$
+ }
+ }
+
+ if ( isGssapiEnabled() && krb5ConfigManualButton.getSelection() )
+ {
+ if ( "".equals( krb5ConfigManualPortText.getText() ) ) //$NON-NLS-1$
+ {
+ message = Messages.getString( "AuthenticationParameterPage.PleaseEnterKrb5Port" ); //$NON-NLS-1$
+ }
+ if ( "".equals( krb5ConfigManualHostText.getText() ) ) //$NON-NLS-1$
+ {
+ message = Messages.getString( "AuthenticationParameterPage.PleaseEnterKrb5Host" ); //$NON-NLS-1$
+ }
+ if ( "".equals( krb5ConfigManualRealmText.getText() ) ) //$NON-NLS-1$
+ {
+ message = Messages.getString( "AuthenticationParameterPage.PleaseEnterKrb5Realm" ); //$NON-NLS-1$
}
}
}
@@ -268,7 +556,9 @@
{
return ( getAuthenticationMethod() == AuthenticationMethod.SIMPLE )
|| ( getAuthenticationMethod() == AuthenticationMethod.SASL_DIGEST_MD5 )
- || ( getAuthenticationMethod() == AuthenticationMethod.SASL_CRAM_MD5 );
+ || ( getAuthenticationMethod() == AuthenticationMethod.SASL_CRAM_MD5 )
+ || ( getAuthenticationMethod() == AuthenticationMethod.SASL_GSSAPI && krb5CredentialConfigurationObtainTgtButton
+ .getSelection() );
}
@@ -278,6 +568,14 @@
}
+ private boolean isSaslEnabled()
+ {
+ return ( getAuthenticationMethod() == AuthenticationMethod.SASL_DIGEST_MD5 )
+ || ( getAuthenticationMethod() == AuthenticationMethod.SASL_CRAM_MD5 )
+ || ( getAuthenticationMethod() == AuthenticationMethod.SASL_GSSAPI );
+ }
+
+
private boolean isGssapiEnabled()
{
return getAuthenticationMethod() == AuthenticationMethod.SASL_GSSAPI;
@@ -299,7 +597,28 @@
bindPrincipalCombo.setText( parameter.getBindPrincipal() );
bindPasswordText.setText( parameter.getBindPassword() != null ? parameter.getBindPassword() : "" ); //$NON-NLS-1$
saveBindPasswordButton.setSelection( parameter.getBindPassword() != null );
+
saslRealmText.setText( parameter.getSaslRealm() != null ? parameter.getSaslRealm() : "" ); //$NON-NLS-1$
+ int qopIndex = parameter.getSaslQop() == SaslQop.AUTH_INT ? 1
+ : parameter.getSaslQop() == SaslQop.AUTH_INT_PRIV ? 2 : 0;
+ saslQopCombo.select( qopIndex );
+ int securityStrengthIndex = parameter.getSaslSecurityStrength() == SaslSecurityStrength.MEDIUM ? 1 : parameter
+ .getSaslSecurityStrength() == SaslSecurityStrength.LOW ? 2 : 0;
+ saslSecurityStrengthCombo.select( securityStrengthIndex );
+ saslMutualAuthenticationButton.setSelection( parameter.isSaslMutualAuthentication() );
+
+ krb5CredentialConfigurationUseNativeButton
+ .setSelection( parameter.getKrb5CredentialConfiguration() == Krb5CredentialConfiguration.USE_NATIVE );
+ krb5CredentialConfigurationObtainTgtButton
+ .setSelection( parameter.getKrb5CredentialConfiguration() == Krb5CredentialConfiguration.OBTAIN_TGT );
+ krb5ConfigDefaultButton.setSelection( parameter.getKrb5Configuration() == Krb5Configuration.DEFAULT );
+ krb5ConfigFileButton.setSelection( parameter.getKrb5Configuration() == Krb5Configuration.FILE );
+ krb5ConfigManualButton.setSelection( parameter.getKrb5Configuration() == Krb5Configuration.MANUAL );
+ krb5ConfigFileText.setText( parameter.getKrb5ConfigurationFile() != null ? parameter.getKrb5ConfigurationFile()
+ : "" ); //$NON-NLS-1$
+ krb5ConfigManualRealmText.setText( parameter.getKrb5Realm() != null ? parameter.getKrb5Realm() : "" ); //$NON-NLS-1$
+ krb5ConfigManualHostText.setText( parameter.getKrb5KdcHost() != null ? parameter.getKrb5KdcHost() : "" ); //$NON-NLS-1$
+ krb5ConfigManualPortText.setText( parameter.getKrb5KdcPort() != 0 ? "" + parameter.getKrb5KdcPort() : "" ); //$NON-NLS-1$
}
@@ -332,6 +651,30 @@
}
} );
+ saveBindPasswordButton.addSelectionListener( new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent event )
+ {
+ connectionPageModified();
+ }
+ } );
+
+ checkPrincipalPasswordAuthButton.addSelectionListener( new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent e )
+ {
+ Connection connection = getTestConnection();
+ CheckBindRunnable runnable = new CheckBindRunnable( connection );
+ IStatus status = RunnableContextRunner.execute( runnable, runnableContext, true );
+ if ( status.isOK() )
+ {
+ MessageDialog.openInformation( Display.getDefault().getActiveShell(), Messages
+ .getString( "AuthenticationParameterPage.CheckAuthentication" ), //$NON-NLS-1$
+ Messages.getString( "AuthenticationParameterPage.AuthenticationSuccessfull" ) ); //$NON-NLS-1$
+ }
+ }
+ } );
+
saslRealmText.addModifyListener( new ModifyListener()
{
public void modifyText( ModifyEvent even )
@@ -340,7 +683,7 @@
}
} );
- saveBindPasswordButton.addSelectionListener( new SelectionAdapter()
+ saslQopCombo.addSelectionListener( new SelectionAdapter()
{
public void widgetSelected( SelectionEvent event )
{
@@ -348,20 +691,104 @@
}
} );
- checkPrincipalPasswordAuthButton.addSelectionListener( new SelectionAdapter()
+ saslSecurityStrengthCombo.addSelectionListener( new SelectionAdapter()
{
- public void widgetSelected( SelectionEvent e )
+ public void widgetSelected( SelectionEvent event )
{
- Connection connection = getTestConnection();
- CheckBindRunnable runnable = new CheckBindRunnable( connection );
- IStatus status = RunnableContextRunner.execute( runnable, runnableContext, true );
- if ( status.isOK() )
+ connectionPageModified();
+ }
+ } );
+
+ saslMutualAuthenticationButton.addSelectionListener( new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent event )
+ {
+ connectionPageModified();
+ }
+ } );
+
+ krb5CredentialConfigurationUseNativeButton.addSelectionListener( new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent event )
+ {
+ connectionPageModified();
+ }
+ } );
+
+ krb5CredentialConfigurationObtainTgtButton.addSelectionListener( new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent event )
+ {
+ connectionPageModified();
+ }
+ } );
+
+ krb5ConfigDefaultButton.addSelectionListener( new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent event )
+ {
+ connectionPageModified();
+ }
+ } );
+
+ krb5ConfigFileButton.addSelectionListener( new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent event )
+ {
+ connectionPageModified();
+ }
+ } );
+
+ krb5ConfigFileText.addModifyListener( new ModifyListener()
+ {
+ public void modifyText( ModifyEvent event )
+ {
+ connectionPageModified();
+ }
+ } );
+
+ krb5ConfigManualButton.addSelectionListener( new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent event )
+ {
+ connectionPageModified();
+ }
+ } );
+
+ krb5ConfigManualRealmText.addModifyListener( new ModifyListener()
+ {
+ public void modifyText( ModifyEvent event )
+ {
+ connectionPageModified();
+ }
+ } );
+
+ krb5ConfigManualHostText.addModifyListener( new ModifyListener()
+ {
+ public void modifyText( ModifyEvent event )
+ {
+ connectionPageModified();
+ }
+ } );
+
+ krb5ConfigManualPortText.addVerifyListener( new VerifyListener()
+ {
+ public void verifyText( VerifyEvent event )
+ {
+ if ( !event.text.matches( "[0-9]*" ) ) //$NON-NLS-1$
{
- MessageDialog.openInformation( Display.getDefault().getActiveShell(), Messages.getString("AuthenticationParameterPage.CheckAuthentication"), //$NON-NLS-1$
- Messages.getString("AuthenticationParameterPage.AuthenticationSuccessfull") ); //$NON-NLS-1$
+ event.doit = false;
}
}
} );
+
+ krb5ConfigManualPortText.addModifyListener( new ModifyListener()
+ {
+ public void modifyText( ModifyEvent event )
+ {
+ connectionPageModified();
+ }
+ } );
}
@@ -373,7 +800,18 @@
parameter.setAuthMethod( getAuthenticationMethod() );
parameter.setBindPrincipal( getBindPrincipal() );
parameter.setBindPassword( getBindPassword() );
+
parameter.setSaslRealm( getSaslRealm() );
+ parameter.setSaslQop( getSaslQop() );
+ parameter.setSaslSecurityStrength( getSaslSecurityStrength() );
+ parameter.setSaslMutualAuthentication( saslMutualAuthenticationButton.getSelection() );
+
+ parameter.setKrb5CredentialConfiguration( getKrb5CredentialProvider() );
+ parameter.setKrb5Configuration( getKrb5Configuration() );
+ parameter.setKrb5ConfigurationFile( krb5ConfigFileText.getText() );
+ parameter.setKrb5Realm( krb5ConfigManualRealmText.getText() );
+ parameter.setKrb5KdcHost( krb5ConfigManualHostText.getText() );
+ parameter.setKrb5KdcPort( getKdcPort() );
}
@@ -416,7 +854,16 @@
return connectionParameter == null || connectionParameter.getAuthMethod() != getAuthenticationMethod()
|| !StringUtils.equals( connectionParameter.getBindPrincipal(), getBindPrincipal() )
|| !StringUtils.equals( connectionParameter.getBindPassword(), getBindPassword() )
- || !StringUtils.equals( connectionParameter.getSaslRealm(), getSaslRealm() );
+ || !StringUtils.equals( connectionParameter.getSaslRealm(), getSaslRealm() )
+ || connectionParameter.getSaslQop() != getSaslQop()
+ || connectionParameter.getSaslSecurityStrength() != getSaslSecurityStrength()
+ || connectionParameter.isSaslMutualAuthentication() != saslMutualAuthenticationButton.getSelection()
+ || connectionParameter.getKrb5CredentialConfiguration() != getKrb5CredentialProvider()
+ || connectionParameter.getKrb5Configuration() != getKrb5Configuration()
+ || !StringUtils.equals( connectionParameter.getKrb5ConfigurationFile(), krb5ConfigFileText.getText() )
+ || !StringUtils.equals( connectionParameter.getKrb5Realm(), krb5ConfigManualRealmText.getText() )
+ || !StringUtils.equals( connectionParameter.getKrb5KdcHost(), krb5ConfigManualHostText.getText() )
+ || connectionParameter.getKrb5KdcPort() != getKdcPort();
}
@@ -433,6 +880,9 @@
case SASL_DIGEST_MD5:
ldapUrl.getExtensions().add( new Extension( false, X_AUTH_METHOD, X_AUTH_METHOD_DIGEST_MD5 ) );
break;
+ case SASL_GSSAPI:
+ ldapUrl.getExtensions().add( new Extension( false, X_AUTH_METHOD, X_AUTH_METHOD_GSSAPI ) );
+ break;
case SIMPLE:
if ( StringUtils.isEmpty( parameter.getBindPrincipal() ) )
{
@@ -459,9 +909,84 @@
ldapUrl.getExtensions().add( new Extension( false, X_BIND_PASSWORD, parameter.getBindPassword() ) );
}
- if ( StringUtils.isNotEmpty( parameter.getSaslRealm() ) )
+ switch ( parameter.getAuthMethod() )
+ {
+ case SASL_CRAM_MD5:
+ case SASL_DIGEST_MD5:
+ case SASL_GSSAPI:
+ if ( StringUtils.isNotEmpty( parameter.getSaslRealm() ) )
+ {
+ ldapUrl.getExtensions().add( new Extension( false, X_SASL_REALM, parameter.getSaslRealm() ) );
+ }
+
+ switch ( parameter.getSaslQop() )
+ {
+ case AUTH:
+ // default
+ break;
+ case AUTH_INT:
+ ldapUrl.getExtensions().add( new Extension( false, X_SASL_QOP, X_SASL_QOP_AUTH_INT ) );
+ break;
+ case AUTH_INT_PRIV:
+ ldapUrl.getExtensions().add( new Extension( false, X_SASL_QOP, X_SASL_QOP_AUTH_INT_PRIV ) );
+ break;
+ }
+
+ switch ( parameter.getSaslSecurityStrength() )
+ {
+ case HIGH:
+ // default
+ break;
+ case MEDIUM:
+ ldapUrl.getExtensions().add(
+ new Extension( false, X_SASL_SEC_STRENGTH, X_SASL_SEC_STRENGTH_MEDIUM ) );
+ break;
+ case LOW:
+ ldapUrl.getExtensions().add(
+ new Extension( false, X_SASL_SEC_STRENGTH, X_SASL_SEC_STRENGTH_LOW ) );
+ break;
+ }
+
+ if ( !parameter.isSaslMutualAuthentication() )
+ {
+ ldapUrl.getExtensions().add( new Extension( false, X_SASL_NO_MUTUAL_AUTH, null ) );
+ }
+ }
+
+ switch ( parameter.getAuthMethod() )
{
- ldapUrl.getExtensions().add( new Extension( false, X_SASL_REALM, parameter.getSaslRealm() ) );
+ case SASL_GSSAPI:
+ switch ( parameter.getKrb5CredentialConfiguration() )
+ {
+ case USE_NATIVE:
+ // default
+ break;
+ case OBTAIN_TGT:
+ ldapUrl.getExtensions().add(
+ new Extension( false, X_KRB5_CREDENTIALS_CONF, X_KRB5_CREDENTIALS_CONF_OBTAIN_TGT ) );
+ break;
+ }
+
+ switch ( parameter.getKrb5Configuration() )
+ {
+ case DEFAULT:
+ // default
+ break;
+ case FILE:
+ ldapUrl.getExtensions().add( new Extension( false, X_KRB5_CONFIG, X_KRB5_CONFIG_FILE ) );
+ ldapUrl.getExtensions().add(
+ new Extension( false, X_KRB5_CONFIG_FILE_FILE, parameter.getKrb5ConfigurationFile() ) );
+ break;
+ case MANUAL:
+ ldapUrl.getExtensions().add( new Extension( false, X_KRB5_CONFIG, X_KRB5_CONFIG_MANUAL ) );
+ ldapUrl.getExtensions().add(
+ new Extension( false, X_KRB5_CONFIG_MANUAL_REALM, parameter.getKrb5Realm() ) );
+ ldapUrl.getExtensions().add(
+ new Extension( false, X_KRB5_CONFIG_MANUAL_KDC_HOST, parameter.getKrb5KdcHost() ) );
+ ldapUrl.getExtensions().add(
+ new Extension( false, X_KRB5_CONFIG_MANUAL_KDC_PORT, "" + parameter.getKrb5KdcPort() ) );
+ break;
+ }
}
}
@@ -515,5 +1040,81 @@
{
parameter.setSaslRealm( saslRealm );
}
+
+ // SASL QOP, default to AUTH
+ String saslQop = ldapUrl.getExtensionValue( X_SASL_QOP );
+ if ( StringUtils.isNotEmpty( saslQop ) && X_SASL_QOP_AUTH_INT.equalsIgnoreCase( saslQop ) )
+ {
+ parameter.setSaslQop( SaslQop.AUTH_INT );
+ }
+ else if ( StringUtils.isNotEmpty( saslQop ) && X_SASL_QOP_AUTH_INT_PRIV.equalsIgnoreCase( saslQop ) )
+ {
+ parameter.setSaslQop( SaslQop.AUTH_INT_PRIV );
+ }
+ else
+ {
+ parameter.setSaslQop( SaslQop.AUTH );
+ }
+
+ // SASL security strength, default to HIGH
+ String saslSecStrength = ldapUrl.getExtensionValue( X_SASL_SEC_STRENGTH );
+ if ( StringUtils.isNotEmpty( saslSecStrength ) && X_SASL_SEC_STRENGTH_MEDIUM.equalsIgnoreCase( saslSecStrength ) )
+ {
+ parameter.setSaslSecurityStrength( SaslSecurityStrength.MEDIUM );
+ }
+ else if ( StringUtils.isNotEmpty( saslSecStrength )
+ && X_SASL_SEC_STRENGTH_LOW.equalsIgnoreCase( saslSecStrength ) )
+ {
+ parameter.setSaslSecurityStrength( SaslSecurityStrength.LOW );
+ }
+ else
+ {
+ parameter.setSaslSecurityStrength( SaslSecurityStrength.HIGH );
+ }
+
+ // SASL mutual authentication, default to true
+ Extension saslNoMutualAuth = ldapUrl.getExtension( X_SASL_NO_MUTUAL_AUTH );
+ parameter.setSaslMutualAuthentication( saslNoMutualAuth == null );
+
+ // KRB5 credentials
+ String krb5CredentialsConf = ldapUrl.getExtensionValue( X_KRB5_CREDENTIALS_CONF );
+ if ( StringUtils.isNotEmpty( krb5CredentialsConf )
+ && X_KRB5_CREDENTIALS_CONF_OBTAIN_TGT.equalsIgnoreCase( krb5CredentialsConf ) )
+ {
+ parameter.setKrb5CredentialConfiguration( Krb5CredentialConfiguration.OBTAIN_TGT );
+ }
+ else
+ {
+ parameter.setKrb5CredentialConfiguration( Krb5CredentialConfiguration.USE_NATIVE );
+ }
+
+ // KRB5 configuration
+ String krb5Config = ldapUrl.getExtensionValue( X_KRB5_CONFIG );
+ if ( StringUtils.isNotEmpty( krb5Config ) && X_KRB5_CONFIG_FILE.equalsIgnoreCase( krb5Config ) )
+ {
+ parameter.setKrb5Configuration( Krb5Configuration.FILE );
+ }
+ else if ( StringUtils.isNotEmpty( krb5Config ) && X_KRB5_CONFIG_MANUAL.equalsIgnoreCase( krb5Config ) )
+ {
+ parameter.setKrb5Configuration( Krb5Configuration.MANUAL );
+ }
+ else
+ {
+ parameter.setKrb5Configuration( Krb5Configuration.DEFAULT );
+ }
+
+ parameter.setKrb5ConfigurationFile( ldapUrl.getExtensionValue( X_KRB5_CONFIG_FILE_FILE ) );
+ parameter.setKrb5Realm( ldapUrl.getExtensionValue( X_KRB5_CONFIG_MANUAL_REALM ) );
+ parameter.setKrb5KdcHost( ldapUrl.getExtensionValue( X_KRB5_CONFIG_MANUAL_KDC_HOST ) );
+
+ String kdcPort = ldapUrl.getExtensionValue( X_KRB5_CONFIG_MANUAL_KDC_PORT );
+ try
+ {
+ parameter.setKrb5KdcPort( new Integer( kdcPort ).intValue() );
+ }
+ catch ( NumberFormatException e )
+ {
+ parameter.setKrb5KdcPort( 88 );
+ }
}
}
Modified: directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/messages.properties
URL: http://svn.apache.org/viewvc/directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/messages.properties?rev=802731&r1=802730&r2=802731&view=diff
==============================================================================
--- directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/messages.properties (original)
+++ directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/messages.properties Mon Aug 10 10:56:07 2009
@@ -25,13 +25,43 @@
AuthenticationParameterPage.CheckAuthentication = Check Authentication
AuthenticationParameterPage.CramMD5 = CRAM-MD5 (SASL)
AuthenticationParameterPage.DigestMD5 = DIGEST-MD5 (SASL)
-AuthenticationParameterPage.PleasEnterSASL = Please enter an SASL Realm otherwise any available SASL realm is choosen
+AuthenticationParameterPage.GSSAPI = GSSAPI (Kerberos)
+AuthenticationParameterPage.PleaseEnterSaslRealm = Please enter an SASL Realm otherwise any available SASL realm is choosen
AuthenticationParameterPage.PleaseEnterBindDNOrUser = Please enter a bind DN or user.
AuthenticationParameterPage.PleaseEnterBindPassword = Please enter a bind password.
-AuthenticationParameterPage.SASLRealm = SASL Realm:
+AuthenticationParameterPage.SaslRealm = SASL Realm:
AuthenticationParameterPage.SavePassword = Save password
AuthenticationParameterPage.SimpleAuthentication = Simple Authentication
+AuthenticationParameterPage.SaslOptions=SASL Settings
+AuthenticationParameterPage.SaslQop=Quality of Protection:
+AuthenticationParameterPage.SaslQopAuth=Authentication only
+AuthenticationParameterPage.SaslQopAuthInt=Authentication with integrity protection
+AuthenticationParameterPage.SaslQopAuthIntPriv=Authentication with integrity and privacy protection
+AuthenticationParameterPage.SaslSecurityStrength=Protection Strength:
+AuthenticationParameterPage.SaslSecurityStrengthLow=Low
+AuthenticationParameterPage.SaslSecurityStrengthMedium=Medium
+AuthenticationParameterPage.SaslSecurityStrengthHigh=High
+AuthenticationParameterPage.SaslMutualAuthentication=Mutual Authentication
+
+AuthenticationParameterPage.Krb5Options=Kerberos Settings
+AuthenticationParameterPage.Krb5Config=Kerberos Configuration
+AuthenticationParameterPage.Krb5ConfigDefault=Use native system configuration
+AuthenticationParameterPage.Krb5ConfigFile=Use configuration file:
+AuthenticationParameterPage.Krb5ConfigManual=Use following configuration:
+AuthenticationParameterPage.Krb5KdcHost=KDC Host:
+AuthenticationParameterPage.Krb5KdcPort=KDC Port:
+AuthenticationParameterPage.Krb5Realm=Kerberos Realm:
+AuthenticationParameterPage.Krb5CredentialConf=Kerberos Credential Configuration
+AuthenticationParameterPage.Krb5CredentialConfUseNative=Use native TGT
+AuthenticationParameterPage.Krb5CredentialConfUseNativeTooltip=The native credentials cache is used. On Windows systems a key must be added to the registry!
+AuthenticationParameterPage.Krb5CredentialConfObtainTgt=Obtain TGT from KDC (provide username and password)
+AuthenticationParameterPage.Krb5CredentialConfObtainTgtTooltip=A new TGT is obtained from KDC, therefore you need to specify your Kerberos principal and password.
+AuthenticationParameterPage.PleaseEnterKrb5ConfigFile = Please enter the path to Kerberos configuration file (krb5.conf)
+AuthenticationParameterPage.PleaseEnterKrb5Port=Please enter the KDC Port
+AuthenticationParameterPage.PleaseEnterKrb5Host=Please enter the KDC Hostname
+AuthenticationParameterPage.PleaseEnterKrb5Realm=Please enter the Kerberos Realm (Domain)
+
CertificateInfoComposite.Certificate = Certificate
CertificateInfoComposite.CertificateFieldsLabel = Certificate Fields
CertificateInfoComposite.CertificateHierarchyLabel = Certificate Hierarchy
Modified: directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/messages_de.properties
URL: http://svn.apache.org/viewvc/directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/messages_de.properties?rev=802731&r1=802730&r2=802731&view=diff
==============================================================================
--- directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/messages_de.properties (original)
+++ directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/messages_de.properties Mon Aug 10 10:56:07 2009
@@ -25,12 +25,42 @@
AuthenticationParameterPage.CheckAuthentication = Authentifizierung \u00FCberpr\u00FCfen
AuthenticationParameterPage.CramMD5 = CRAM-MD5 (SASL)
AuthenticationParameterPage.DigestMD5 = DIGEST-MD5 (SASL)
-AuthenticationParameterPage.PleasEnterSASL = Geben Sie bitte einen SASL Realm ein, ansonsten wird (irgend-) ein verf\u00FCgbarer SASL Realm ausgew\u00E4hlt
+AuthenticationParameterPage.PleaseEnterSaslRealm = Geben Sie bitte einen SASL Realm ein, ansonsten wird (irgend-) ein verf\u00FCgbarer SASL Realm ausgew\u00E4hlt
AuthenticationParameterPage.PleaseEnterBindDNOrUser = Bitte Bind DN oder Benutzer eingeben.
AuthenticationParameterPage.PleaseEnterBindPassword = Bitte Bind Passwort eingeben.
AuthenticationParameterPage.SavePassword = Passwort speichern
AuthenticationParameterPage.SimpleAuthentication = Einfache Authentifizierung
+
+AuthenticationParameterPage.SaslOptions=SASL Einstellungen
+AuthenticationParameterPage.SaslQop=Datenschutz (Quality of Protection):
+AuthenticationParameterPage.SaslQopAuth=Nur Authentifizierung
+AuthenticationParameterPage.SaslQopAuthInt=Authentifizierung plus Integrit\u00E4tssicherung
+AuthenticationParameterPage.SaslQopAuthIntPriv=Authentifizierung plus Integrit\u00E4tssicherung und Verschl\u00FCsselung
+AuthenticationParameterPage.SaslSecurityStrength=Schutzstärke (Protection Strength):
+AuthenticationParameterPage.SaslSecurityStrengthLow=Niedrig
+AuthenticationParameterPage.SaslSecurityStrengthMedium=Mittel
+AuthenticationParameterPage.SaslSecurityStrengthHigh=Hoch
+AuthenticationParameterPage.SaslMutualAuthentication=Gegenseitige Authentifizierung
+
+AuthenticationParameterPage.Krb5Options=Kerberos Einstellungen
+AuthenticationParameterPage.Krb5Config=Kerberos Konfiguration
+AuthenticationParameterPage.Krb5ConfigDefault=Benutze native System Konfiguration
+AuthenticationParameterPage.Krb5ConfigFile=Benutze folgende Konfigurationsdatei:
+AuthenticationParameterPage.Krb5ConfigManual=Benutze folgende Einstellungen:
+AuthenticationParameterPage.Krb5KdcHost=KDC Host:
+AuthenticationParameterPage.Krb5KdcPort=KDC Port:
+AuthenticationParameterPage.Krb5Realm=Kerberos Realm:
+AuthenticationParameterPage.Krb5CredentialConf=Kerberos Ticket Einstellungen
+AuthenticationParameterPage.Krb5CredentialConfUseNative=Benutze natives TGT
+AuthenticationParameterPage.Krb5CredentialConfUseNativeTooltip=Der native Ticket Cache wird benutzt. Auf Windows System muss hierfür die Registry angepasst werden!
+AuthenticationParameterPage.Krb5CredentialConfObtainTgt=TGT vom KDC anfordern (Benutzername und Passwort eingeben)
+AuthenticationParameterPage.Krb5CredentialConfObtainTgtTooltip=Ein neues TGT wird vom KDC angefordert, hierfür muss der Kerberos Benutzer und das Passwort angegeben werden)
+AuthenticationParameterPage.PleaseEnterKrb5ConfigFile=Bitte Pfad zur Kerberos Konfigurationsdatei angeben (krb5.conf).
+AuthenticationParameterPage.PleaseEnterKrb5Port=Bitte KDC Port eingeben.
+AuthenticationParameterPage.PleaseEnterKrb5Host=Bitte KDC Hostname eingeben.
+AuthenticationParameterPage.PleaseEnterKrb5Realm=Bitte die Kerberos Realm (Dom\u00E4ne) eingeben.
+
CertificateInfoComposite.Certificate = Zertifikat
CertificateInfoComposite.CertificateFieldsLabel = Zertifikatsfelder
CertificateInfoComposite.CertificateHierarchyLabel = Zertifikatshierarchie
Modified: directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/messages_fr.properties
URL: http://svn.apache.org/viewvc/directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/messages_fr.properties?rev=802731&r1=802730&r2=802731&view=diff
==============================================================================
--- directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/messages_fr.properties (original)
+++ directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/messages_fr.properties Mon Aug 10 10:56:07 2009
@@ -23,13 +23,43 @@
AuthenticationParameterPage.BindDNOrUser = Bind DN ou nom d'utilisateur (SASL):
AuthenticationParameterPage.BindPassword = Mot de passe:
AuthenticationParameterPage.CheckAuthentication = V\u00E9rifier l'authentification
-AuthenticationParameterPage.PleasEnterSASL = Veuillez entrer un domaine SASL sinon un des domaines disponibles sera s\u00E9lectionn\u00E9.
+AuthenticationParameterPage.PleaseEnterSaslRealm = Veuillez entrer un domaine SASL sinon un des domaines disponibles sera s\u00E9lectionn\u00E9.
AuthenticationParameterPage.PleaseEnterBindDNOrUser = Veuillez entrer un DN ou un identifiant d'utilisateur.
AuthenticationParameterPage.PleaseEnterBindPassword = Veuillez entrer un mot de passe
-AuthenticationParameterPage.SASLRealm = Realm SASL:
+AuthenticationParameterPage.SaslRealm = Realm SASL:
AuthenticationParameterPage.SavePassword = Sauvegarder le mot de passe
AuthenticationParameterPage.SimpleAuthentication = Authentification simple
+
+AuthenticationParameterPage.SaslOptions=TODO:SASL Settings
+AuthenticationParameterPage.SaslQop=TODO:Quality of Protection:
+AuthenticationParameterPage.SaslQopAuth=TODO:Authentication only
+AuthenticationParameterPage.SaslQopAuthInt=TODO:Authentication with integrity protection
+AuthenticationParameterPage.SaslQopAuthIntPriv=TODO:Authentication with integrity and privacy protection
+AuthenticationParameterPage.SaslSecurityStrength=TODO:Security Strength:
+AuthenticationParameterPage.SaslSecurityStrengthLow=TODO:Low
+AuthenticationParameterPage.SaslSecurityStrengthMedium=TODO:Medium
+AuthenticationParameterPage.SaslSecurityStrengthHigh=TODO:High
+AuthenticationParameterPage.SaslMutualAuthentication=TODO:Mutual Authentication
+
+AuthenticationParameterPage.Krb5Options=TODO:Kerberos Settings
+AuthenticationParameterPage.Krb5Config=TODO:Kerberos Configuration
+AuthenticationParameterPage.Krb5ConfigDefault=TODO:Use native system configuration
+AuthenticationParameterPage.Krb5ConfigFile=TODO:Use configuration file:
+AuthenticationParameterPage.Krb5ConfigManual=TODO:Use following configuration:
+AuthenticationParameterPage.Krb5KdcHost=TODO:KDC Host:
+AuthenticationParameterPage.Krb5KdcPort=TODO:KDC Port:
+AuthenticationParameterPage.Krb5Realm=TODO:Kerberos Realm:
+AuthenticationParameterPage.Krb5CredentialConf=TODO:Kerberos Credential Configuration
+AuthenticationParameterPage.Krb5CredentialConfUseNative=TODO:Use native TGT
+AuthenticationParameterPage.Krb5CredentialConfUseNativeTooltip=TODO:The native credentials cache is used. On Windows systems a key must be added to the registry!
+AuthenticationParameterPage.Krb5CredentialConfObtainTgt=TODO:Obtain TGT from KDC (provide username and password)
+AuthenticationParameterPage.Krb5CredentialConfObtainTgtTooltip=TODO:A new TGT is obtained from KDC, therefore you need to specify your Kerberos principal and password.
+AuthenticationParameterPage.PleaseEnterKrb5ConfigFile=TODO:Please enter the path to Kerberos configuration file (krb5.conf)
+AuthenticationParameterPage.PleaseEnterKrb5Port=TODO:Please enter the KDC Port
+AuthenticationParameterPage.PleaseEnterKrb5Host=TODO:Please enter the KDC Hostname
+AuthenticationParameterPage.PleaseEnterKrb5Realm=TODO:Please enter the Kerberos Realm (Domain)
+
CertificateInfoComposite.Certificate = Certificat
CertificateInfoComposite.CertificateFieldsLabel = Champs du certificat
CertificateInfoComposite.CertificateHierarchyLabel = Hi\u00E9rarchie des certificats
Modified: directory/studio/trunk/rcp/Studio-Runtime.launch
URL: http://svn.apache.org/viewvc/directory/studio/trunk/rcp/Studio-Runtime.launch?rev=802731&r1=802730&r2=802731&view=diff
==============================================================================
--- directory/studio/trunk/rcp/Studio-Runtime.launch (original)
+++ directory/studio/trunk/rcp/Studio-Runtime.launch Mon Aug 10 10:56:07 2009
@@ -14,7 +14,7 @@
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../runtime-studio"/>
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.0%Foundation-1.0"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl en"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
<stringAttribute key="pde.version" value="3.3"/>
@@ -39,24 +39,24 @@
<mapEntry key="org.eclipse.wst.common.environment/trace/warning" value="true"/>
<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/>
<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
<mapEntry key="org.eclipse.wst.sse.ui/actioncontributor/debugstatusfields" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
+<mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/>
<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/contentOutline" value="false"/>
-<mapEntry key="org.eclipse.wst.sse.ui/preferences-properties" value="false"/>
<mapEntry key="org.eclipse.wtp.common/debug/logtrace" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.ui/preferences-properties" value="false"/>
<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/>
<mapEntry key="org.eclipse.wst.sse.core/tasks/detection" value="false"/>
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/propertySheet" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/>
<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
<mapEntry key="org.eclipse.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
<mapEntry key="org.eclipse.wtp.common/debug/loglevel" value="WARNING"/>
<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
<mapEntry key="org.eclipse.jem.proxy/debug/logtrace" value="default"/>
@@ -64,14 +64,14 @@
<mapEntry key="org.eclipse.pde.core/classpath" value="false"/>
<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/>
-<mapEntry key="org.eclipse.wst.sse.core/format" value="false"/>
<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.core/format" value="false"/>
<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/>
<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/>
<mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/>
-<mapEntry key="org.eclipse.jst.jsp.core/taglib/resolve" value="false"/>
-<mapEntry key="org.eclipse.team.core/threading" value="false"/>
<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/>
+<mapEntry key="org.eclipse.team.core/threading" value="false"/>
+<mapEntry key="org.eclipse.jst.jsp.core/taglib/resolve" value="false"/>
<mapEntry key="org.eclipse.wst.sse.core/structureddocument" value="false"/>
<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
@@ -86,11 +86,11 @@
<mapEntry key="org.eclipse.debug.ui/debug" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
<mapEntry key="org.eclipse.help.base/debug/search" value="false"/>
-<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
+<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
<mapEntry key="org.eclipse.wst.common.environment/trace/ws_ant" value="true"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/>
<mapEntry key="org.maven.ide.eclipse/launcher" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/>
<mapEntry key="org.eclipse.wst.sse.core/tasks/overalltime" value="false"/>
<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/state" value="false"/>
<mapEntry key="org.eclipse.wst.server.ui/extension_point" value="false"/>
@@ -98,8 +98,8 @@
<mapEntry key="org.eclipse.jst.jsp.core/debug/jsptranslationstodisk" value="false"/>
<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/generics" value="false"/>
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/generics" value="false"/>
<mapEntry key="org.eclipse.wst.common.project.facet.core/actionSorting" value="false"/>
<mapEntry key="org.eclipse.jem.ui/debug/logtracefile" value="default"/>
<mapEntry key="org.eclipse.osgi/resolver/requires" value="false"/>
@@ -114,21 +114,21 @@
<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/>
<mapEntry key="org.eclipse.jst.jsp.core/taglib/indextime" value="false"/>
<mapEntry key="org.eclipse.jem.util/debug/logtrace" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/>
-<mapEntry key="org.eclipse.jem.beaninfo/debug/loglevel" value="default"/>
<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
+<mapEntry key="org.eclipse.jem.beaninfo/debug/loglevel" value="default"/>
+<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/>
<mapEntry key="org.eclipse.osgi/profile/startup" value="false"/>
<mapEntry key="org.eclipse.wst.javascript.core/debug" value="true"/>
<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/>
<mapEntry key="org.eclipse.wst.common.environment/trace/info" value="true"/>
+<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/>
<mapEntry key="org.eclipse.jst.jsp.core/debug/tldcmdocument/cache" value="false"/>
<mapEntry key="org.eclipse.jst.jsp.core/taglib/events" value="false"/>
<mapEntry key="org.eclipse.help.base/debug" value="true"/>
<mapEntry key="org.eclipse.wst.server.ui/performance" value="false"/>
-<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/modelmanager" value="false"/>
<mapEntry key="org.eclipse.jem.proxy/remote/debug/debugvm" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/modelmanager" value="false"/>
<mapEntry key="org.eclipse.core.jobs/jobs/timing" value="false"/>
<mapEntry key="org.eclipse.wst.css.core/debug" value="true"/>
<mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/>
@@ -141,11 +141,11 @@
<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/>
<mapEntry key="org.eclipse.jst.server.tomcat.core/debug" value="true"/>
<mapEntry key="org.eclipse.wst.sse.ui/extendedconfigurationbuilder" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/>
<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/>
<mapEntry key="org.eclipse.wst.xml.core/debug/cmdocumentmanager" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
<mapEntry key="org.eclipse.ui.ide/debug" value="false"/>
<mapEntry key="org.eclipse.osgi/profile/debug" value="false"/>
<mapEntry key="org.eclipse.pde.core/debug" value="true"/>
@@ -155,16 +155,16 @@
<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/>
<mapEntry key="org.eclipse.jst.jsp.core/debug/jsptranslation" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/>
<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/>
<mapEntry key="org.eclipse.core.resources/strings" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/>
<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
-<mapEntry key="org.eclipse.wst.server.core/extension_point" value="false"/>
<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
-<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
+<mapEntry key="org.eclipse.wst.server.core/extension_point" value="false"/>
<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/>
+<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
<mapEntry key="org.eclipse.jdt.apt.core/debug" value="false"/>
<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/>
@@ -175,14 +175,14 @@
<mapEntry key="org.eclipse.osgi/defaultprofile/logfilename" value=""/>
<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
-<mapEntry key="org.eclipse.wst.server.ui/debug" value="true"/>
<mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/>
+<mapEntry key="org.eclipse.wst.server.ui/debug" value="true"/>
<mapEntry key="org.eclipse.jst.jsp.core/debug/taglibvars" value="false"/>
<mapEntry key="org.eclipse.update.core/debug" value="true"/>
-<mapEntry key="org.eclipse.wst.sse.core/tasks/preferences" value="false"/>
<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.core/tasks/preferences" value="false"/>
<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/>
<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/>
<mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/>
@@ -191,16 +191,16 @@
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/>
<mapEntry key="org.eclipse.wst.css.ui/projectionperf" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
-<mapEntry key="org.eclipse.pde.core/validation" value="false"/>
<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
+<mapEntry key="org.eclipse.pde.core/validation" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/readtime" value="false"/>
<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/>
<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
-<mapEntry key="org.eclipse.wst.sse.core/tasks" value="false"/>
<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.core/tasks" value="false"/>
<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/debug/logtracefile" value="default"/>
<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
+<mapEntry key="org.eclipse.jem.proxy/debug/logtracefile" value="default"/>
<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/>
<mapEntry key="org.eclipse.wst.xml.core/debug/tracefilter" value=""/>
<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
@@ -210,16 +210,16 @@
<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/>
<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
<mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/>
<mapEntry key="org.eclipse.wst.dtd.ui/projectionperf" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/>
<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/>
<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/>
<mapEntry key="org.eclipse.wst.server.core/performance" value="false"/>
<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
<mapEntry key="org.eclipse.osgi/resolver/grouping" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerjob" value="false"/>
<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/>
@@ -235,8 +235,8 @@
<mapEntry key="org.eclipse.wst.internet.monitor.core/debug" value="true"/>
<mapEntry key="org.eclipse.wst.server.core/resources" value="false"/>
<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/>
-<mapEntry key="org.eclipse.help/debug/protocols" value="false"/>
<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
+<mapEntry key="org.eclipse.help/debug/protocols" value="false"/>
<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/>
<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/>
@@ -245,19 +245,19 @@
<mapEntry key="org.eclipse.ui/perf/part.init" value="800"/>
<mapEntry key="org.eclipse.core.contenttype/debug" value="false"/>
<mapEntry key="org.eclipse.osgi/resolver/imports" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
<mapEntry key="org.eclipse.jem/debug/loglevel" value="default"/>
+<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
<mapEntry key="org.eclipse.ui.intro.universal/trace/logPerformance" value="false"/>
<mapEntry key="org.eclipse.jst.jsp.core/debug" value="true"/>
<mapEntry key="org.eclipse.help/debug/context" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerValidators" value="false"/>
<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/remote/debug/ioconsole" value="false"/>
<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/>
+<mapEntry key="org.eclipse.jem.proxy/remote/debug/ioconsole" value="false"/>
<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFiles" value="false"/>
<mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/>
-<mapEntry key="org.eclipse.jst.jsp.core/debug/tldcmdocument/manager" value="false"/>
<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/>
+<mapEntry key="org.eclipse.jst.jsp.core/debug/tldcmdocument/manager" value="false"/>
<mapEntry key="org.eclipse.jem.beaninfo/debug/logtracefile" value="default"/>
<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
<mapEntry key="org.eclipse.jem.proxy/debug/loglevel" value="default"/>
@@ -267,15 +267,15 @@
<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
<mapEntry key="org.eclipse.team.core/debug" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/>
<mapEntry key="org.maven.ide.eclipse/plugin" value="false"/>
-<mapEntry key="org.eclipse.wst.html.core/debug/tracefilter" value=""/>
+<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/>
<mapEntry key="org.eclipse.wst.xml.ui/projectionperf" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save" value="false"/>
+<mapEntry key="org.eclipse.wst.html.core/debug/tracefilter" value=""/>
<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save" value="false"/>
<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/>
<mapEntry key="org.eclipse.jem.util/debug/loglevel" value="WARNING"/>
+<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/>
<mapEntry key="org.eclipse.jem/debug/logtrace" value="default"/>
<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
@@ -292,8 +292,8 @@
<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
<mapEntry key="org.eclipse.wst.html.core/debug" value="true"/>
<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/>
-<mapEntry key="org.eclipse.jem.ui/debug/loglevel" value="default"/>
<mapEntry key="org.eclipse.wst.internet.monitor.core/parsing" value="false"/>
+<mapEntry key="org.eclipse.jem.ui/debug/loglevel" value="default"/>
<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
<mapEntry key="org.eclipse.pde.core/cache" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/extendedconfigurationbuilder/time" value="false"/>
@@ -301,10 +301,10 @@
<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/lifecyclelistener" value="false"/>
<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/>
<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/>
<mapEntry key="org.eclipse.wst.sse.core/filebuffers/modelmanagement" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/>
+<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/debug/tracefilter" value=""/>
+<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/>
<mapEntry key="org.eclipse.wtp.common/debug/logtracefile" value="false"/>
<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/>
<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/>
@@ -317,11 +317,11 @@
<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/>
<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
-<mapEntry key="org.eclipse.wst.common.project.facet.core/activation" value="false"/>
<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
+<mapEntry key="org.eclipse.wst.common.project.facet.core/activation" value="false"/>
<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/>
<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/>
<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
<mapEntry key="org.maven.ide.eclipse/actions" value="false"/>
<mapEntry key="org.eclipse.team.core/streams" value="false"/>
@@ -358,13 +358,13 @@
<mapEntry key="org.eclipse.wst.javascript.core/debug/tracefilter" value=""/>
<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/>
<mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
<mapEntry key="org.eclipse.wst.sse.core/dom/adapter/notification/time/criteria" value="10"/>
+<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
<mapEntry key="org.eclipse.wst.common.environment/trace/data" value="true"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/>
<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
+<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/>
<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/>
+<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
<mapEntry key="org.eclipse.wst.sse.core/debug" value="true"/>
<mapEntry key="org.eclipse.jdt.apt.pluggable.core/debug" value="false"/>
<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
@@ -385,14 +385,14 @@
<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
<mapEntry key="org.eclipse.osgi/resolver/cycles" value="false"/>
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/>
-<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/locks" value="true"/>
<mapEntry key="org.eclipse.wst.sse.core/filebuffers/lifecycle" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/locks" value="true"/>
<mapEntry key="org.eclipse.jst.jsp.core/debug/tldcmdocument/factory" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/>
<mapEntry key="org.eclipse.wst.common.environment/debug" value="true"/>
<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/>
<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/>
<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerSpelling" value="false"/>
<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/>