18 steps to avoid Eclipse Security password paranoic

  1. 1. Download eclipse-jee-indigo-SR2-linux-gtk-x86_64.tar.gz ([Fast]with this version you can go to step n°11 org.eclipse.equinox.security.ui_1.1.0.201206102238.jar )
  2. 2. Install
  3. 3. Open
  4. 4. Add ":pserver:anonymous@dev.eclipse.org:/cvsroot/rt" to your CVS repositories
  5. 5. Check Out : org.eclipse.equinox/security
  6. 6. Import project org.eclipse.equinox/security/bundles/org.eclipse.equinox.security.ui
  7. 7. Add Baseline based up to your eclipse root directory (window/preference/baseline)

  8. 8. Switch to your version of eclipse/plugins/org.eclipse.equinox.security.uixxxxxxxxx
  9. 9. Apply patch (team/apply patch) or hand-modify:
    ### Eclipse Workspace Patch 1.0
    #P org.eclipse.equinox.security.ui
    Index: src/org/eclipse/equinox/internal/security/ui/storage/DefaultPasswordProvider.java
    ===================================================================
    RCS file: /cvsroot/rt/org.eclipse.equinox/security/bundles/org.eclipse.equinox.security.ui/src/org/eclipse/equinox/internal/security/ui/storage/DefaultPasswordProvider.java,v
    retrieving revision 1.7
    diff -u -r1.7 DefaultPasswordProvider.java
    --- src/org/eclipse/equinox/internal/security/ui/storage/DefaultPasswordProvider.java 26 Sep 2008 15:20:59 -0000 1.7
    +++ src/org/eclipse/equinox/internal/security/ui/storage/DefaultPasswordProvider.java 22 Nov 2010 22:15:50 -0000
    @@ -10,10 +10,13 @@
    *******************************************************************************/
    package org.eclipse.equinox.internal.security.ui.storage;
    +import java.io.IOException;
    import java.net.URL;
    import javax.crypto.spec.PBEKeySpec;
    import org.eclipse.equinox.internal.security.storage.friends.InternalExchangeUtils;
    import org.eclipse.equinox.internal.security.ui.nls.SecUIMessages;
    +import org.eclipse.equinox.security.storage.ISecurePreferences;
    +import org.eclipse.equinox.security.storage.StorageException;
    import org.eclipse.equinox.security.storage.provider.IPreferencesContainer;
    import org.eclipse.equinox.security.storage.provider.PasswordProvider;
    import org.eclipse.jface.dialogs.MessageDialog;
    @@ -41,17 +44,45 @@
    location = null;
    }
    - final StorageLoginDialog loginDialog = new StorageLoginDialog(newPassword, passwordChange, location);
    + ISecurePreferences node = container.getPreferences().node(IStorageConst.PROVIDER_NODE);
    + String password = null;
    + try {
    + password = node.get("password", null);
    + } catch (StorageException e1) {
    + }
    final PBEKeySpec[] result = new PBEKeySpec[1];
    +
    + if (password != null) {
    + result[0] = new PBEKeySpec(password.toCharArray());
    + return result[0];
    + }
    +
    + final StorageLoginDialog loginDialog = new StorageLoginDialog(newPassword, passwordChange, location);
    +
    PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
    public void run() {
    - if (loginDialog.open() == Window.OK)
    + if (loginDialog.open() == Window.OK) {
    result[0] = loginDialog.getGeneratedPassword();
    - else
    + } else {
    result[0] = null;
    + }
    +
    }
    +
    });
    +
    + if (result[0] != null) {
    + try {
    + node.put("password", new String(result[0].getPassword()), false);
    + node.flush();
    + } catch (StorageException e) {
    + return null;
    + } catch (IOException e) {
    + return null;
    + }
    +
    + }
    return result[0];
    }
  10. 10. Export plugin to your preferred directory
  11. 11. Copy exported version to plugins directory (eclipse/plugins)
  12. 12. Change : eclipse/configuration/org.eclipse.equinox.simpleconfigurator/bundle.info to configure your version
              org.eclipse.equinox.registry,3.5.101.R37x_v20110810-1611,plugins/org.eclipse.equinox.registry_3.5.101.R37x_v20110810-1611.jar,4,false
    org.eclipse.equinox.security,1.1.1.R37x_v20110822-1018,plugins/org.eclipse.equinox.security_1.1.1.R37x_v20110822-1018.jar,4,false
    org.eclipse.equinox.security.ui,1.1.0.201206102238,plugins/org.eclipse.equinox.security.ui_1.1.0.201206102238.jar,4,false
    org.eclipse.equinox.simpleconfigurator,1.0.200.v20110815-1438,plugins/org.eclipse.equinox.simpleconfigurator_1.0.200.v20110815-1438.jar,1,true
             
  13. 13. Close & Restart
  14. 14. Check plugin (help/about eclipse/installation detail/plug-ins)
  15. 15. Click on your cvs repository to pull the login form
  16. 16. Insert password
  17. 17. Close / Restart
  18. 18. Try if eclipse asks the password after Cvs repository has been recheck

Nessun commento: