### Eclipse Workspace Patch 1.0 #P org.eclipse.rse.connectorservice.dstore Index: src/org/eclipse/rse/connectorservice/dstore/DStoreConnectorService.java =================================================================== RCS file: /cvsroot/dsdp/org.eclipse.tm.rse/plugins/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/connectorservice/dstore/DStoreConnectorService.java,v retrieving revision 1.76 diff -u -r1.76 DStoreConnectorService.java --- src/org/eclipse/rse/connectorservice/dstore/DStoreConnectorService.java 18 Aug 2008 12:52:12 -0000 1.76 +++ src/org/eclipse/rse/connectorservice/dstore/DStoreConnectorService.java 25 Aug 2008 22:03:28 -0000 @@ -34,6 +34,7 @@ * David McKnight (IBM) - [235756] [dstore] Unable to connect to host with SSL via REXEC * David McKnight (IBM) - [244116] [dstore][daemon][ssl] Connecting to RSE server doesn't complete when the connection is SSL * David McKnight (IBM) - [233160] [dstore] SSL/non-SSL alert are not appropriate + * David Dykstal (IBM) [235284] Cancel password change causes problem *******************************************************************************/ package org.eclipse.rse.connectorservice.dstore; @@ -754,7 +755,13 @@ } SystemMessage message = createSystemMessage(msgId,IStatus.ERROR, pmsg, pmsgDetails); - getCredentialsProvider().repairCredentials(message); + try { + getCredentialsProvider().repairCredentials(message); + } catch (OperationCanceledException e) { + _isConnecting = false; + clientConnection = null; + throw e; + } newCredentials = (SystemSignonInformation) getCredentialsProvider().getCredentials(); launchStatus = changePassword(clientConnection, oldCredentials, serverLauncher, monitor, newCredentials.getPassword()); launchMsg = launchStatus.getMessage(); #P org.eclipse.dstore.core Index: src/org/eclipse/dstore/core/client/ClientConnection.java =================================================================== RCS file: /cvsroot/dsdp/org.eclipse.tm.rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/client/ClientConnection.java,v retrieving revision 1.26 diff -u -r1.26 ClientConnection.java --- src/org/eclipse/dstore/core/client/ClientConnection.java 4 Jun 2008 09:13:57 -0000 1.26 +++ src/org/eclipse/dstore/core/client/ClientConnection.java 25 Aug 2008 22:03:28 -0000 @@ -19,6 +19,7 @@ * David McKnight (IBM) - [220892][dstore] Backward compatibility: Server and Daemon should support old clients * David McKnight (IBM) - [225507][api][breaking] RSE dstore API leaks non-API types * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed + * David Dykstal (IBM) [235284] Cancel password change causes problem *******************************************************************************/ package org.eclipse.dstore.core.client; @@ -121,6 +122,9 @@ public final static String CLIENT_OLDER = "Older DataStore Client."; //$NON-NLS-1$ public final static String INCOMPATIBLE_PROTOCOL = "Incompatible Protocol."; //$NON-NLS-1$ public final static String CANNOT_CONNECT = "Cannot connect to server."; //$NON-NLS-1$ + + // TODO: should probably make this a public constant in 3.1 + private final static String INVALID_DAEMON_PORT_NUMBER = "Invalid daemon port number."; //$NON-NLS-1$ /** * Creates a new ClientConnection instance @@ -782,6 +786,11 @@ result = new ConnectionStatus(false, e, true, mgr.getUntrustedCerts()); return result; } + catch (IllegalArgumentException e) { + e = new IllegalArgumentException(INVALID_DAEMON_PORT_NUMBER); + result = new ConnectionStatus(false, e); + return result; + } catch (Exception e) { if (_launchSocket != null) @@ -817,6 +826,10 @@ { result = new ConnectionStatus(false, uhe); } + catch (IllegalArgumentException e) { + e = new IllegalArgumentException(INVALID_DAEMON_PORT_NUMBER); + result = new ConnectionStatus(false, e); + } catch (IOException ioe) { result = new ConnectionStatus(false, ioe);