View | Details | Raw Unified | Return to bug 41097 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/team/internal/ccvs/core/client/Session.java (+4 lines)
Lines 198-203 Link Here
198
				Command.VERSION.execute(this, location, Policy.subMonitorFor(monitor, 10));
198
				Command.VERSION.execute(this, location, Policy.subMonitorFor(monitor, 10));
199
			}
199
			}
200
			opened = true;
200
			opened = true;
201
		} catch (CVSException e) {
202
			getLocationForConnection(false).inspectCVSException(e);
203
204
			throw e;
201
		} finally {
205
		} finally {
202
			if (connection != null && ! opened) {
206
			if (connection != null && ! opened) {
203
				close();
207
				close();
(-)plugin.xml (+13 lines)
Lines 35-40 Link Here
35
         </run>
35
         </run>
36
      </adapter>
36
      </adapter>
37
   </extension>
37
   </extension>
38
   <extension
39
         id="sspi"
40
         point="org.eclipse.team.cvs.core.connectionmethods">
41
      <adapter>
42
         <run
43
               class="org.eclipse.team.internal.ccvs.core.connection.SSPIConnectionMethod">
44
            <parameter
45
                  name="trace"
46
                  value="false">
47
            </parameter>
48
         </run>
49
      </adapter>
50
   </extension>
38
<!-- *************** Repository Provider **************** -->
51
<!-- *************** Repository Provider **************** -->
39
   <extension
52
   <extension
40
         point="org.eclipse.team.core.repository">
53
         point="org.eclipse.team.core.repository">
(-)src/org/eclipse/team/internal/ccvs/core/connection/CVSRepositoryLocation.java (+16 lines)
Lines 758-763 Link Here
758
			monitor.beginTask(NLS.bind(CVSMessages.CVSRepositoryLocation_openingConnection, new String[] { getHost() }), 2);
758
			monitor.beginTask(NLS.bind(CVSMessages.CVSRepositoryLocation_openingConnection, new String[] { getHost() }), 2);
759
			ensureLocationCached();
759
			ensureLocationCached();
760
			boolean cacheNeedsUpdate = false;
760
			boolean cacheNeedsUpdate = false;
761
			// If the password is null the user probably didn't want to store it, but in case of sspi via extnt make sure that the user is prompted for it
762
			if ((password == null) && ("sspi".equals(method.getName()) || "ext".equals(method.getName()))) {
763
				previousAuthenticationFailed = true;
764
			}
761
			// If the previous connection failed, prompt before attempting to connect
765
			// If the previous connection failed, prompt before attempting to connect
762
			if (previousAuthenticationFailed) {
766
			if (previousAuthenticationFailed) {
763
				promptForUserInfo(null);
767
				promptForUserInfo(null);
Lines 1231-1234 Link Here
1231
		}
1235
		}
1232
		return false;
1236
		return false;
1233
	}
1237
	}
1238
1239
	public void inspectCVSException(CVSException cvsException) throws CVSAuthenticationException {
1240
		if ("sspi".equals(method.getName()) || "ext".equals(method.getName())) {
1241
			IStatus status = cvsException.getStatus();
1242
1243
			if ((status.getMessage().indexOf("connect aborted") > -1) && (status.getMessage().indexOf("ed access to") > -1)) {
1244
				previousAuthenticationFailed = true;
1245
1246
				throw new CVSAuthenticationException(status.getMessage(), CVSAuthenticationException.RETRY, this, null);
1247
			}
1248
		}
1249
	}
1234
}
1250
}
(-)src/org/eclipse/team/internal/ccvs/core/connection/SSPIConnectionMethod.java (+23 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2000, 2006 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     IBM Corporation - initial API and implementation
10
 *******************************************************************************/
11
package org.eclipse.team.internal.ccvs.core.connection;
12
13
 
14
import org.eclipse.team.internal.ccvs.core.*;
15
16
public class SSPIConnectionMethod extends ExtConnectionMethod {
17
	/**
18
	 * @see IConnectionMethod#getName
19
	 */
20
	public String getName() {
21
		return "sspi"; //$NON-NLS-1$
22
	}
23
}

Return to bug 41097