Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMat Booth2015-02-19 16:29:51 +0000
committerMat Booth2015-02-19 16:29:51 +0000
commitd31efa93808629d9a90d4b3bfd75f51b9d02d10a (patch)
tree63a12231d815e661317f1f90db69e4370a202319
parentd657bf7275518f5cf2c295a03ed1d97bc871602e (diff)
downloadeclipse.platform.team-d31efa93808629d9a90d4b3bfd75f51b9d02d10a.tar.gz
eclipse.platform.team-d31efa93808629d9a90d4b3bfd75f51b9d02d10a.tar.xz
eclipse.platform.team-d31efa93808629d9a90d4b3bfd75f51b9d02d10a.zip
repository Change-Id: I5c76b833b91aed8b5abbf6afb28cb31f9656aff3 Signed-off-by: Mat Booth <mat.booth@redhat.com>
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/.classpath7
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/.cvsignore1
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/.options7
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/.project34
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.core.prefs73
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.launching.prefs3
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.ui.prefs3
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/META-INF/MANIFEST.MF15
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/about.html114
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/build.properties19
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/plugin.properties13
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/plugin.xml15
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/pom.xml24
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Blowfish.java1220
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/CVSSSHMessages.java46
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Cipher.java25
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Client.java709
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ClientPacket.java53
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/KnownHosts.java156
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Misc.java473
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Packet.java20
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Policy.java26
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHMethod.java34
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHPlugin.java68
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHServerConnection.java89
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ServerPacket.java164
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/messages.properties38
28 files changed, 0 insertions, 3451 deletions
diff --git a/bundles/org.eclipse.team.cvs.ssh/.classpath b/bundles/org.eclipse.team.cvs.ssh/.classpath
deleted file mode 100644
index ce7393340..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.team.cvs.ssh/.cvsignore b/bundles/org.eclipse.team.cvs.ssh/.cvsignore
deleted file mode 100644
index c5e82d745..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin \ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.ssh/.options b/bundles/org.eclipse.team.cvs.ssh/.options
deleted file mode 100644
index d90ae7ce7..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/.options
+++ /dev/null
@@ -1,7 +0,0 @@
-# Debugging options for the org.eclipse.team.cvs.ssh plugin.
-
-# Turn on debugging for the plugin.
-org.eclipse.team.cvs.ssh/debug=false
-
-# Shows ssh protocol messages
-org.eclipse.team.cvs.ssh/ssh_protocol=false \ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.ssh/.project b/bundles/org.eclipse.team.cvs.ssh/.project
deleted file mode 100644
index ee32c8e15..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.team.cvs.ssh</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index c522e1f4a..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 4e75a07bd..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,73 +0,0 @@
-#Tue Feb 01 14:42:43 CET 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index 07990c2e3..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue Feb 01 14:42:43 CET 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=error
diff --git a/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index a173ae6df..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Wed Mar 15 16:55:04 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
diff --git a/bundles/org.eclipse.team.cvs.ssh/META-INF/MANIFEST.MF b/bundles/org.eclipse.team.cvs.ssh/META-INF/MANIFEST.MF
deleted file mode 100644
index 75605143e..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.team.cvs.ssh;singleton:=true
-Bundle-Version: 3.2.200.qualifier
-Bundle-Activator: org.eclipse.team.internal.ccvs.ssh.SSHPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.team.internal.ccvs.ssh;x-friends:="org.eclipse.team.cvs.ssh2"
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.1.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.team.cvs.core;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.team.core;bundle-version="[3.2.0,4.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/bundles/org.eclipse.team.cvs.ssh/about.html b/bundles/org.eclipse.team.cvs.ssh/about.html
deleted file mode 100644
index 32d78aa68..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/about.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>October 30, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-<h3>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as set out below. If you
-did not receive this Content directly from the Eclipse Foundation, the following is provided
-for informational purposes only, and you should look to the Redistributor&rsquo;s license for
-terms and conditions of use.</p>
-
-<h4>The Java (TM) Ssh Applet</h4>
-<p>The following classes:</p>
-
-<ul>
- <li>Cipher</li>
- <li>Client</li>
- <li>ClientPacket</li>
- <li>KnownHosts</li>
- <li>Misc</li>
- <li>Packet</li>
- <li>Policy</li>
- <li>ServerPacket</li>
- <li>SSHMethod</li>
- <li>SSHPlugin</li>
- <li>SSHServerConnection</li>
-</ul>
-
-<p>and the following files:</p>
-
-<ul>
- <li>messages.properties</li>
-</ul>
-
-<p>are located in the package org.eclipse.team.internal.ccvs.ssh in the plug-in JAR and are based on &quot;The Java SSh Applet&quot; developed by Cedric Gourio. The Java Ssh Applet includes the following copyright notice which must be included in any redistribution:</p>
-
-<blockquote>
- Copyright (c) 1998 Cedric Gourio<br>
- (<a href="http://www.math.ucdavis.edu/~bill/java/ssh/">http://www.math.ucdavis.edu/~bill/java/ssh/</a>)<br>
- (<a href="mailto:javassh@france-mail.com">javassh@france-mail.com</a>)
-
- <p>This program is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE.<br>
- You can freely modify the code.</p>
-
- <p>You should however include this copyright notice in any redistribution<br>
- and please keep in touch with the author for any feedback.</p>
-</blockquote>
-
-<h4>The Blowfish Encryption Algorithm</h4>
-<p>The following classes in the package org.eclipse.team.internal.ccvs.ssh in the plug-in JAR are based on an algorithm developed by Bruce Schneier.
-The algorithm was originally published in a paper that is located at <a href="http://www.counterpane.com/bfsverlag.html">http://www.counterpane.com/bfsverlag.html</a>.
-Your use of the Blowfish Encryption Algorithm in both source and binary code form contained in the plug-in is not subject to any
-additional terms and conditions:</p>
-
-<ul>
- <li>Blowfish</li>
-</ul>
-
-<h3>Cryptography</h3>
-
-<h4>Export Control</h4>
-<p>The plug-in contains encryption software. The country in which you are currently may have restrictions on the import, possession,
-and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's
-laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this
-is permitted.</p>
-
-<h4>Encryption Items</h4>
-
-<p>Details of the encryption software in this plug-in are provided to assist in obtaining relevant export control classification and approval.
-Cryptography in this plug-in has been deemed eligible by the U.S. Government Department of Commerce for export under License Exception Technology Software Unrestricted (TSU) for both object code and source code.</p>
-
-<p>The plug-in contains an implementation of the Secure Shell (SSH) protocol that encrypts the network traffic (program code files
-in file versioning systems) between a Concurrent Versions System (CVS) server and a CVS client. Data is encrypted using the Blowfish algorithm
-which is a 64-bit symmetric cipher that uses a key varying in length from 32 bits to 448 bits. The RSA PKCS #1 v1.5 key exchange algorithm is
-used to authenticate and exchange keys with a minimum modulus size of 96 bits and a maximum modulus size theoretically unlimited since the
-implementation uses the java.math.BigInteger class which has a maximum positive integer range limited only by the available memory in the computer.
-In practice, the key length is defined by the CVS server with which communication is initiated.</p>
-
-<p>The following Java classes contain encryption items (the plug-in may contain both binary and source code):</p>
-
-<ul>
- <li>org.eclipse.team.internal.ccvs.ssh.Blowfish</li>
- <li>org.eclipse.team.internal.ccvs.ssh.Cipher</li>
- <li>org.eclipse.team.internal.ccvs.ssh.Client</li>
- <li>org.eclipse.team.internal.ccvs.ssh.ClientPacket</li>
- <li>org.eclipse.team.internal.ccvs.ssh.Misc</li>
-</ul>
-
-<small>Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.</small>
-
-</body>
-</html> \ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.ssh/build.properties b/bundles/org.eclipse.team.cvs.ssh/build.properties
deleted file mode 100644
index f681f7af6..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2014 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# Eclipse build contribution
-source..=src/
-src.includes=about.html
-bin.includes = about.html,\
- plugin.properties,\
- .,\
- .options,\
- META-INF/,\
- plugin.xml
diff --git a/bundles/org.eclipse.team.cvs.ssh/plugin.properties b/bundles/org.eclipse.team.cvs.ssh/plugin.properties
deleted file mode 100644
index 8a84ddab1..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2014 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-providerName=Eclipse.org
-pluginName=CVS SSH Core
-traceComponentLabel=Platform Team CVS SSH
diff --git a/bundles/org.eclipse.team.cvs.ssh/plugin.xml b/bundles/org.eclipse.team.cvs.ssh/plugin.xml
deleted file mode 100644
index 6a47c84ed..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.ui.trace.traceComponents">
- <component
- id="org.eclipse.team.cvs.ssh.trace"
- label="%traceComponentLabel">
- <bundle
- consumed="false"
- name="org.eclipse.team.cvs.ssh">
- </bundle>
- </component>
- </extension>
-</plugin>
diff --git a/bundles/org.eclipse.team.cvs.ssh/pom.xml b/bundles/org.eclipse.team.cvs.ssh/pom.xml
deleted file mode 100644
index 787a87ec4..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/pom.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2012, 2014 Eclipse Foundation and others.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Distribution License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/org/documents/edl-v10.php
-
- Contributors:
- Igor Fedorenko - initial implementation
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>eclipse.platform.team</artifactId>
- <groupId>eclipse.platform.team</groupId>
- <version>4.5.0-SNAPSHOT</version>
- <relativePath>../../</relativePath>
- </parent>
- <groupId>org.eclipse.team</groupId>
- <artifactId>org.eclipse.team.cvs.ssh</artifactId>
- <version>3.2.200-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Blowfish.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Blowfish.java
deleted file mode 100644
index e85f3057e..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Blowfish.java
+++ /dev/null
@@ -1,1220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-public class Blowfish extends Cipher {
- private int[] P = new int[18];
- private int[][] S = new int[4][256];
-
- private int lastEncipherXL = 0;
- private int lastEncipherXR = 0;
- private int lastDecipherXL = 0;
- private int lastDecipherXR = 0;
-
- private final static int[] INIT_DATA =
- {
- 0x243f6a88,
- 0x85a308d3,
- 0x13198a2e,
- 0x03707344,
- 0xa4093822,
- 0x299f31d0,
- 0x082efa98,
- 0xec4e6c89,
- 0x452821e6,
- 0x38d01377,
- 0xbe5466cf,
- 0x34e90c6c,
- 0xc0ac29b7,
- 0xc97c50dd,
- 0x3f84d5b5,
- 0xb5470917,
- 0x9216d5d9,
- 0x8979fb1b,
- 0xd1310ba6,
- 0x98dfb5ac,
- 0x2ffd72db,
- 0xd01adfb7,
- 0xb8e1afed,
- 0x6a267e96,
- 0xba7c9045,
- 0xf12c7f99,
- 0x24a19947,
- 0xb3916cf7,
- 0x0801f2e2,
- 0x858efc16,
- 0x636920d8,
- 0x71574e69,
- 0xa458fea3,
- 0xf4933d7e,
- 0x0d95748f,
- 0x728eb658,
- 0x718bcd58,
- 0x82154aee,
- 0x7b54a41d,
- 0xc25a59b5,
- 0x9c30d539,
- 0x2af26013,
- 0xc5d1b023,
- 0x286085f0,
- 0xca417918,
- 0xb8db38ef,
- 0x8e79dcb0,
- 0x603a180e,
- 0x6c9e0e8b,
- 0xb01e8a3e,
- 0xd71577c1,
- 0xbd314b27,
- 0x78af2fda,
- 0x55605c60,
- 0xe65525f3,
- 0xaa55ab94,
- 0x57489862,
- 0x63e81440,
- 0x55ca396a,
- 0x2aab10b6,
- 0xb4cc5c34,
- 0x1141e8ce,
- 0xa15486af,
- 0x7c72e993,
- 0xb3ee1411,
- 0x636fbc2a,
- 0x2ba9c55d,
- 0x741831f6,
- 0xce5c3e16,
- 0x9b87931e,
- 0xafd6ba33,
- 0x6c24cf5c,
- 0x7a325381,
- 0x28958677,
- 0x3b8f4898,
- 0x6b4bb9af,
- 0xc4bfe81b,
- 0x66282193,
- 0x61d809cc,
- 0xfb21a991,
- 0x487cac60,
- 0x5dec8032,
- 0xef845d5d,
- 0xe98575b1,
- 0xdc262302,
- 0xeb651b88,
- 0x23893e81,
- 0xd396acc5,
- 0x0f6d6ff3,
- 0x83f44239,
- 0x2e0b4482,
- 0xa4842004,
- 0x69c8f04a,
- 0x9e1f9b5e,
- 0x21c66842,
- 0xf6e96c9a,
- 0x670c9c61,
- 0xabd388f0,
- 0x6a51a0d2,
- 0xd8542f68,
- 0x960fa728,
- 0xab5133a3,
- 0x6eef0b6c,
- 0x137a3be4,
- 0xba3bf050,
- 0x7efb2a98,
- 0xa1f1651d,
- 0x39af0176,
- 0x66ca593e,
- 0x82430e88,
- 0x8cee8619,
- 0x456f9fb4,
- 0x7d84a5c3,
- 0x3b8b5ebe,
- 0xe06f75d8,
- 0x85c12073,
- 0x401a449f,
- 0x56c16aa6,
- 0x4ed3aa62,
- 0x363f7706,
- 0x1bfedf72,
- 0x429b023d,
- 0x37d0d724,
- 0xd00a1248,
- 0xdb0fead3,
- 0x49f1c09b,
- 0x075372c9,
- 0x80991b7b,
- 0x25d479d8,
- 0xf6e8def7,
- 0xe3fe501a,
- 0xb6794c3b,
- 0x976ce0bd,
- 0x04c006ba,
- 0xc1a94fb6,
- 0x409f60c4,
- 0x5e5c9ec2,
- 0x196a2463,
- 0x68fb6faf,
- 0x3e6c53b5,
- 0x1339b2eb,
- 0x3b52ec6f,
- 0x6dfc511f,
- 0x9b30952c,
- 0xcc814544,
- 0xaf5ebd09,
- 0xbee3d004,
- 0xde334afd,
- 0x660f2807,
- 0x192e4bb3,
- 0xc0cba857,
- 0x45c8740f,
- 0xd20b5f39,
- 0xb9d3fbdb,
- 0x5579c0bd,
- 0x1a60320a,
- 0xd6a100c6,
- 0x402c7279,
- 0x679f25fe,
- 0xfb1fa3cc,
- 0x8ea5e9f8,
- 0xdb3222f8,
- 0x3c7516df,
- 0xfd616b15,
- 0x2f501ec8,
- 0xad0552ab,
- 0x323db5fa,
- 0xfd238760,
- 0x53317b48,
- 0x3e00df82,
- 0x9e5c57bb,
- 0xca6f8ca0,
- 0x1a87562e,
- 0xdf1769db,
- 0xd542a8f6,
- 0x287effc3,
- 0xac6732c6,
- 0x8c4f5573,
- 0x695b27b0,
- 0xbbca58c8,
- 0xe1ffa35d,
- 0xb8f011a0,
- 0x10fa3d98,
- 0xfd2183b8,
- 0x4afcb56c,
- 0x2dd1d35b,
- 0x9a53e479,
- 0xb6f84565,
- 0xd28e49bc,
- 0x4bfb9790,
- 0xe1ddf2da,
- 0xa4cb7e33,
- 0x62fb1341,
- 0xcee4c6e8,
- 0xef20cada,
- 0x36774c01,
- 0xd07e9efe,
- 0x2bf11fb4,
- 0x95dbda4d,
- 0xae909198,
- 0xeaad8e71,
- 0x6b93d5a0,
- 0xd08ed1d0,
- 0xafc725e0,
- 0x8e3c5b2f,
- 0x8e7594b7,
- 0x8ff6e2fb,
- 0xf2122b64,
- 0x8888b812,
- 0x900df01c,
- 0x4fad5ea0,
- 0x688fc31c,
- 0xd1cff191,
- 0xb3a8c1ad,
- 0x2f2f2218,
- 0xbe0e1777,
- 0xea752dfe,
- 0x8b021fa1,
- 0xe5a0cc0f,
- 0xb56f74e8,
- 0x18acf3d6,
- 0xce89e299,
- 0xb4a84fe0,
- 0xfd13e0b7,
- 0x7cc43b81,
- 0xd2ada8d9,
- 0x165fa266,
- 0x80957705,
- 0x93cc7314,
- 0x211a1477,
- 0xe6ad2065,
- 0x77b5fa86,
- 0xc75442f5,
- 0xfb9d35cf,
- 0xebcdaf0c,
- 0x7b3e89a0,
- 0xd6411bd3,
- 0xae1e7e49,
- 0x00250e2d,
- 0x2071b35e,
- 0x226800bb,
- 0x57b8e0af,
- 0x2464369b,
- 0xf009b91e,
- 0x5563911d,
- 0x59dfa6aa,
- 0x78c14389,
- 0xd95a537f,
- 0x207d5ba2,
- 0x02e5b9c5,
- 0x83260376,
- 0x6295cfa9,
- 0x11c81968,
- 0x4e734a41,
- 0xb3472dca,
- 0x7b14a94a,
- 0x1b510052,
- 0x9a532915,
- 0xd60f573f,
- 0xbc9bc6e4,
- 0x2b60a476,
- 0x81e67400,
- 0x08ba6fb5,
- 0x571be91f,
- 0xf296ec6b,
- 0x2a0dd915,
- 0xb6636521,
- 0xe7b9f9b6,
- 0xff34052e,
- 0xc5855664,
- 0x53b02d5d,
- 0xa99f8fa1,
- 0x08ba4799,
- 0x6e85076a,
- 0x4b7a70e9,
- 0xb5b32944,
- 0xdb75092e,
- 0xc4192623,
- 0xad6ea6b0,
- 0x49a7df7d,
- 0x9cee60b8,
- 0x8fedb266,
- 0xecaa8c71,
- 0x699a17ff,
- 0x5664526c,
- 0xc2b19ee1,
- 0x193602a5,
- 0x75094c29,
- 0xa0591340,
- 0xe4183a3e,
- 0x3f54989a,
- 0x5b429d65,
- 0x6b8fe4d6,
- 0x99f73fd6,
- 0xa1d29c07,
- 0xefe830f5,
- 0x4d2d38e6,
- 0xf0255dc1,
- 0x4cdd2086,
- 0x8470eb26,
- 0x6382e9c6,
- 0x021ecc5e,
- 0x09686b3f,
- 0x3ebaefc9,
- 0x3c971814,
- 0x6b6a70a1,
- 0x687f3584,
- 0x52a0e286,
- 0xb79c5305,
- 0xaa500737,
- 0x3e07841c,
- 0x7fdeae5c,
- 0x8e7d44ec,
- 0x5716f2b8,
- 0xb03ada37,
- 0xf0500c0d,
- 0xf01c1f04,
- 0x0200b3ff,
- 0xae0cf51a,
- 0x3cb574b2,
- 0x25837a58,
- 0xdc0921bd,
- 0xd19113f9,
- 0x7ca92ff6,
- 0x94324773,
- 0x22f54701,
- 0x3ae5e581,
- 0x37c2dadc,
- 0xc8b57634,
- 0x9af3dda7,
- 0xa9446146,
- 0x0fd0030e,
- 0xecc8c73e,
- 0xa4751e41,
- 0xe238cd99,
- 0x3bea0e2f,
- 0x3280bba1,
- 0x183eb331,
- 0x4e548b38,
- 0x4f6db908,
- 0x6f420d03,
- 0xf60a04bf,
- 0x2cb81290,
- 0x24977c79,
- 0x5679b072,
- 0xbcaf89af,
- 0xde9a771f,
- 0xd9930810,
- 0xb38bae12,
- 0xdccf3f2e,
- 0x5512721f,
- 0x2e6b7124,
- 0x501adde6,
- 0x9f84cd87,
- 0x7a584718,
- 0x7408da17,
- 0xbc9f9abc,
- 0xe94b7d8c,
- 0xec7aec3a,
- 0xdb851dfa,
- 0x63094366,
- 0xc464c3d2,
- 0xef1c1847,
- 0x3215d908,
- 0xdd433b37,
- 0x24c2ba16,
- 0x12a14d43,
- 0x2a65c451,
- 0x50940002,
- 0x133ae4dd,
- 0x71dff89e,
- 0x10314e55,
- 0x81ac77d6,
- 0x5f11199b,
- 0x043556f1,
- 0xd7a3c76b,
- 0x3c11183b,
- 0x5924a509,
- 0xf28fe6ed,
- 0x97f1fbfa,
- 0x9ebabf2c,
- 0x1e153c6e,
- 0x86e34570,
- 0xeae96fb1,
- 0x860e5e0a,
- 0x5a3e2ab3,
- 0x771fe71c,
- 0x4e3d06fa,
- 0x2965dcb9,
- 0x99e71d0f,
- 0x803e89d6,
- 0x5266c825,
- 0x2e4cc978,
- 0x9c10b36a,
- 0xc6150eba,
- 0x94e2ea78,
- 0xa5fc3c53,
- 0x1e0a2df4,
- 0xf2f74ea7,
- 0x361d2b3d,
- 0x1939260f,
- 0x19c27960,
- 0x5223a708,
- 0xf71312b6,
- 0xebadfe6e,
- 0xeac31f66,
- 0xe3bc4595,
- 0xa67bc883,
- 0xb17f37d1,
- 0x018cff28,
- 0xc332ddef,
- 0xbe6c5aa5,
- 0x65582185,
- 0x68ab9802,
- 0xeecea50f,
- 0xdb2f953b,
- 0x2aef7dad,
- 0x5b6e2f84,
- 0x1521b628,
- 0x29076170,
- 0xecdd4775,
- 0x619f1510,
- 0x13cca830,
- 0xeb61bd96,
- 0x0334fe1e,
- 0xaa0363cf,
- 0xb5735c90,
- 0x4c70a239,
- 0xd59e9e0b,
- 0xcbaade14,
- 0xeecc86bc,
- 0x60622ca7,
- 0x9cab5cab,
- 0xb2f3846e,
- 0x648b1eaf,
- 0x19bdf0ca,
- 0xa02369b9,
- 0x655abb50,
- 0x40685a32,
- 0x3c2ab4b3,
- 0x319ee9d5,
- 0xc021b8f7,
- 0x9b540b19,
- 0x875fa099,
- 0x95f7997e,
- 0x623d7da8,
- 0xf837889a,
- 0x97e32d77,
- 0x11ed935f,
- 0x16681281,
- 0x0e358829,
- 0xc7e61fd6,
- 0x96dedfa1,
- 0x7858ba99,
- 0x57f584a5,
- 0x1b227263,
- 0x9b83c3ff,
- 0x1ac24696,
- 0xcdb30aeb,
- 0x532e3054,
- 0x8fd948e4,
- 0x6dbc3128,
- 0x58ebf2ef,
- 0x34c6ffea,
- 0xfe28ed61,
- 0xee7c3c73,
- 0x5d4a14d9,
- 0xe864b7e3,
- 0x42105d14,
- 0x203e13e0,
- 0x45eee2b6,
- 0xa3aaabea,
- 0xdb6c4f15,
- 0xfacb4fd0,
- 0xc742f442,
- 0xef6abbb5,
- 0x654f3b1d,
- 0x41cd2105,
- 0xd81e799e,
- 0x86854dc7,
- 0xe44b476a,
- 0x3d816250,
- 0xcf62a1f2,
- 0x5b8d2646,
- 0xfc8883a0,
- 0xc1c7b6a3,
- 0x7f1524c3,
- 0x69cb7492,
- 0x47848a0b,
- 0x5692b285,
- 0x095bbf00,
- 0xad19489d,
- 0x1462b174,
- 0x23820e00,
- 0x58428d2a,
- 0x0c55f5ea,
- 0x1dadf43e,
- 0x233f7061,
- 0x3372f092,
- 0x8d937e41,
- 0xd65fecf1,
- 0x6c223bdb,
- 0x7cde3759,
- 0xcbee7460,
- 0x4085f2a7,
- 0xce77326e,
- 0xa6078084,
- 0x19f8509e,
- 0xe8efd855,
- 0x61d99735,
- 0xa969a7aa,
- 0xc50c06c2,
- 0x5a04abfc,
- 0x800bcadc,
- 0x9e447a2e,
- 0xc3453484,
- 0xfdd56705,
- 0x0e1e9ec9,
- 0xdb73dbd3,
- 0x105588cd,
- 0x675fda79,
- 0xe3674340,
- 0xc5c43465,
- 0x713e38d8,
- 0x3d28f89e,
- 0xf16dff20,
- 0x153e21e7,
- 0x8fb03d4a,
- 0xe6e39f2b,
- 0xdb83adf7,
- 0xe93d5a68,
- 0x948140f7,
- 0xf64c261c,
- 0x94692934,
- 0x411520f7,
- 0x7602d4f7,
- 0xbcf46b2e,
- 0xd4a20068,
- 0xd4082471,
- 0x3320f46a,
- 0x43b7d4b7,
- 0x500061af,
- 0x1e39f62e,
- 0x97244546,
- 0x14214f74,
- 0xbf8b8840,
- 0x4d95fc1d,
- 0x96b591af,
- 0x70f4ddd3,
- 0x66a02f45,
- 0xbfbc09ec,
- 0x03bd9785,
- 0x7fac6dd0,
- 0x31cb8504,
- 0x96eb27b3,
- 0x55fd3941,
- 0xda2547e6,
- 0xabca0a9a,
- 0x28507825,
- 0x530429f4,
- 0x0a2c86da,
- 0xe9b66dfb,
- 0x68dc1462,
- 0xd7486900,
- 0x680ec0a4,
- 0x27a18dee,
- 0x4f3ffea2,
- 0xe887ad8c,
- 0xb58ce006,
- 0x7af4d6b6,
- 0xaace1e7c,
- 0xd3375fec,
- 0xce78a399,
- 0x406b2a42,
- 0x20fe9e35,
- 0xd9f385b9,
- 0xee39d7ab,
- 0x3b124e8b,
- 0x1dc9faf7,
- 0x4b6d1856,
- 0x26a36631,
- 0xeae397b2,
- 0x3a6efa74,
- 0xdd5b4332,
- 0x6841e7f7,
- 0xca7820fb,
- 0xfb0af54e,
- 0xd8feb397,
- 0x454056ac,
- 0xba489527,
- 0x55533a3a,
- 0x20838d87,
- 0xfe6ba9b7,
- 0xd096954b,
- 0x55a867bc,
- 0xa1159a58,
- 0xcca92963,
- 0x99e1db33,
- 0xa62a4a56,
- 0x3f3125f9,
- 0x5ef47e1c,
- 0x9029317c,
- 0xfdf8e802,
- 0x04272f70,
- 0x80bb155c,
- 0x05282ce3,
- 0x95c11548,
- 0xe4c66d22,
- 0x48c1133f,
- 0xc70f86dc,
- 0x07f9c9ee,
- 0x41041f0f,
- 0x404779a4,
- 0x5d886e17,
- 0x325f51eb,
- 0xd59bc0d1,
- 0xf2bcc18f,
- 0x41113564,
- 0x257b7834,
- 0x602a9c60,
- 0xdff8e8a3,
- 0x1f636c1b,
- 0x0e12b4c2,
- 0x02e1329e,
- 0xaf664fd1,
- 0xcad18115,
- 0x6b2395e0,
- 0x333e92e1,
- 0x3b240b62,
- 0xeebeb922,
- 0x85b2a20e,
- 0xe6ba0d99,
- 0xde720c8c,
- 0x2da2f728,
- 0xd0127845,
- 0x95b794fd,
- 0x647d0862,
- 0xe7ccf5f0,
- 0x5449a36f,
- 0x877d48fa,
- 0xc39dfd27,
- 0xf33e8d1e,
- 0x0a476341,
- 0x992eff74,
- 0x3a6f6eab,
- 0xf4f8fd37,
- 0xa812dc60,
- 0xa1ebddf8,
- 0x991be14c,
- 0xdb6e6b0d,
- 0xc67b5510,
- 0x6d672c37,
- 0x2765d43b,
- 0xdcd0e804,
- 0xf1290dc7,
- 0xcc00ffa3,
- 0xb5390f92,
- 0x690fed0b,
- 0x667b9ffb,
- 0xcedb7d9c,
- 0xa091cf0b,
- 0xd9155ea3,
- 0xbb132f88,
- 0x515bad24,
- 0x7b9479bf,
- 0x763bd6eb,
- 0x37392eb3,
- 0xcc115979,
- 0x8026e297,
- 0xf42e312d,
- 0x6842ada7,
- 0xc66a2b3b,
- 0x12754ccc,
- 0x782ef11c,
- 0x6a124237,
- 0xb79251e7,
- 0x06a1bbe6,
- 0x4bfb6350,
- 0x1a6b1018,
- 0x11caedfa,
- 0x3d25bdd8,
- 0xe2e1c3c9,
- 0x44421659,
- 0x0a121386,
- 0xd90cec6e,
- 0xd5abea2a,
- 0x64af674e,
- 0xda86a85f,
- 0xbebfe988,
- 0x64e4c3fe,
- 0x9dbc8057,
- 0xf0f7c086,
- 0x60787bf8,
- 0x6003604d,
- 0xd1fd8346,
- 0xf6381fb0,
- 0x7745ae04,
- 0xd736fccc,
- 0x83426b33,
- 0xf01eab71,
- 0xb0804187,
- 0x3c005e5f,
- 0x77a057be,
- 0xbde8ae24,
- 0x55464299,
- 0xbf582e61,
- 0x4e58f48f,
- 0xf2ddfda2,
- 0xf474ef38,
- 0x8789bdc2,
- 0x5366f9c3,
- 0xc8b38e74,
- 0xb475f255,
- 0x46fcd9b9,
- 0x7aeb2661,
- 0x8b1ddf84,
- 0x846a0e79,
- 0x915f95e2,
- 0x466e598e,
- 0x20b45770,
- 0x8cd55591,
- 0xc902de4c,
- 0xb90bace1,
- 0xbb8205d0,
- 0x11a86248,
- 0x7574a99e,
- 0xb77f19b6,
- 0xe0a9dc09,
- 0x662d09a1,
- 0xc4324633,
- 0xe85a1f02,
- 0x09f0be8c,
- 0x4a99a025,
- 0x1d6efe10,
- 0x1ab93d1d,
- 0x0ba5a4df,
- 0xa186f20f,
- 0x2868f169,
- 0xdcb7da83,
- 0x573906fe,
- 0xa1e2ce9b,
- 0x4fcd7f52,
- 0x50115e01,
- 0xa70683fa,
- 0xa002b5c4,
- 0x0de6d027,
- 0x9af88c27,
- 0x773f8641,
- 0xc3604c06,
- 0x61a806b5,
- 0xf0177a28,
- 0xc0f586e0,
- 0x006058aa,
- 0x30dc7d62,
- 0x11e69ed7,
- 0x2338ea63,
- 0x53c2dd94,
- 0xc2c21634,
- 0xbbcbee56,
- 0x90bcb6de,
- 0xebfc7da1,
- 0xce591d76,
- 0x6f05e409,
- 0x4b7c0188,
- 0x39720a3d,
- 0x7c927c24,
- 0x86e3725f,
- 0x724d9db9,
- 0x1ac15bb4,
- 0xd39eb8fc,
- 0xed545578,
- 0x08fca5b5,
- 0xd83d7cd3,
- 0x4dad0fc4,
- 0x1e50ef5e,
- 0xb161e6f8,
- 0xa28514d9,
- 0x6c51133c,
- 0x6fd5c7e7,
- 0x56e14ec4,
- 0x362abfce,
- 0xddc6c837,
- 0xd79a3234,
- 0x92638212,
- 0x670efa8e,
- 0x406000e0,
- 0x3a39ce37,
- 0xd3faf5cf,
- 0xabc27737,
- 0x5ac52d1b,
- 0x5cb0679e,
- 0x4fa33742,
- 0xd3822740,
- 0x99bc9bbe,
- 0xd5118e9d,
- 0xbf0f7315,
- 0xd62d1c7e,
- 0xc700c47b,
- 0xb78c1b6b,
- 0x21a19045,
- 0xb26eb1be,
- 0x6a366eb4,
- 0x5748ab2f,
- 0xbc946e79,
- 0xc6a376d2,
- 0x6549c2c8,
- 0x530ff8ee,
- 0x468dde7d,
- 0xd5730a1d,
- 0x4cd04dc6,
- 0x2939bbdb,
- 0xa9ba4650,
- 0xac9526e8,
- 0xbe5ee304,
- 0xa1fad5f0,
- 0x6a2d519a,
- 0x63ef8ce2,
- 0x9a86ee22,
- 0xc089c2b8,
- 0x43242ef6,
- 0xa51e03aa,
- 0x9cf2d0a4,
- 0x83c061ba,
- 0x9be96a4d,
- 0x8fe51550,
- 0xba645bd6,
- 0x2826a2f9,
- 0xa73a3ae1,
- 0x4ba99586,
- 0xef5562e9,
- 0xc72fefd3,
- 0xf752f7da,
- 0x3f046f69,
- 0x77fa0a59,
- 0x80e4a915,
- 0x87b08601,
- 0x9b09e6ad,
- 0x3b3ee593,
- 0xe990fd5a,
- 0x9e34d797,
- 0x2cf0b7d9,
- 0x022b8b51,
- 0x96d5ac3a,
- 0x017da67d,
- 0xd1cf3ed6,
- 0x7c7d2d28,
- 0x1f9f25cf,
- 0xadf2b89b,
- 0x5ad6b472,
- 0x5a88f54c,
- 0xe029ac71,
- 0xe019a5e6,
- 0x47b0acfd,
- 0xed93fa9b,
- 0xe8d3c48d,
- 0x283b57cc,
- 0xf8d56629,
- 0x79132e28,
- 0x785f0191,
- 0xed756055,
- 0xf7960e44,
- 0xe3d35e8c,
- 0x15056dd4,
- 0x88f46dba,
- 0x03a16125,
- 0x0564f0bd,
- 0xc3eb9e15,
- 0x3c9057a2,
- 0x97271aec,
- 0xa93a072a,
- 0x1b3f6d9b,
- 0x1e6321f5,
- 0xf59c66fb,
- 0x26dcf319,
- 0x7533d928,
- 0xb155fdf5,
- 0x03563482,
- 0x8aba3cbb,
- 0x28517711,
- 0xc20ad9f8,
- 0xabcc5167,
- 0xccad925f,
- 0x4de81751,
- 0x3830dc8e,
- 0x379d5862,
- 0x9320f991,
- 0xea7a90c2,
- 0xfb3e7bce,
- 0x5121ce64,
- 0x774fbe32,
- 0xa8b6e37e,
- 0xc3293d46,
- 0x48de5369,
- 0x6413e680,
- 0xa2ae0810,
- 0xdd6db224,
- 0x69852dfd,
- 0x09072166,
- 0xb39a460a,
- 0x6445c0dd,
- 0x586cdecf,
- 0x1c20c8ae,
- 0x5bbef7dd,
- 0x1b588d40,
- 0xccd2017f,
- 0x6bb4e3bb,
- 0xdda26a7e,
- 0x3a59ff45,
- 0x3e350a44,
- 0xbcb4cdd5,
- 0x72eacea8,
- 0xfa6484bb,
- 0x8d6612ae,
- 0xbf3c6f47,
- 0xd29be463,
- 0x542f5d9e,
- 0xaec2771b,
- 0xf64e6370,
- 0x740e0d8d,
- 0xe75b1357,
- 0xf8721671,
- 0xaf537d5d,
- 0x4040cb08,
- 0x4eb4e2cc,
- 0x34d2466a,
- 0x0115af84,
- 0xe1b00428,
- 0x95983a1d,
- 0x06b89fb4,
- 0xce6ea048,
- 0x6f3f3b82,
- 0x3520ab82,
- 0x011a1d4b,
- 0x277227f8,
- 0x611560b1,
- 0xe7933fdc,
- 0xbb3a792b,
- 0x344525bd,
- 0xa08839e1,
- 0x51ce794b,
- 0x2f32c9b7,
- 0xa01fbac9,
- 0xe01cc87e,
- 0xbcc7d1f6,
- 0xcf0111c3,
- 0xa1e8aac7,
- 0x1a908749,
- 0xd44fbd9a,
- 0xd0dadecb,
- 0xd50ada38,
- 0x0339c32a,
- 0xc6913667,
- 0x8df9317c,
- 0xe0b12b4f,
- 0xf79e59b7,
- 0x43f5bb3a,
- 0xf2d519ff,
- 0x27d9459c,
- 0xbf97222c,
- 0x15e6fc2a,
- 0x0f91fc71,
- 0x9b941525,
- 0xfae59361,
- 0xceb69ceb,
- 0xc2a86459,
- 0x12baa8d1,
- 0xb6c1075e,
- 0xe3056a0c,
- 0x10d25065,
- 0xcb03a442,
- 0xe0ec6e0e,
- 0x1698db3b,
- 0x4c98a0be,
- 0x3278e964,
- 0x9f1f9532,
- 0xe0d392df,
- 0xd3a0342b,
- 0x8971f21e,
- 0x1b0a7441,
- 0x4ba3348c,
- 0xc5be7120,
- 0xc37632d8,
- 0xdf359f8d,
- 0x9b992f2e,
- 0xe60b6f47,
- 0x0fe3f11d,
- 0xe54cda54,
- 0x1edad891,
- 0xce6279cf,
- 0xcd3e7e6f,
- 0x1618b166,
- 0xfd2c1d05,
- 0x848fd2c5,
- 0xf6fb2299,
- 0xf523f357,
- 0xa6327623,
- 0x93a83531,
- 0x56cccd02,
- 0xacf08162,
- 0x5a75ebb5,
- 0x6e163697,
- 0x88d273cc,
- 0xde966292,
- 0x81b949d0,
- 0x4c50901b,
- 0x71c65614,
- 0xe6c6c7bd,
- 0x327a140a,
- 0x45e1d006,
- 0xc3f27b9a,
- 0xc9aa53fd,
- 0x62a80f00,
- 0xbb25bfe2,
- 0x35bdd2f6,
- 0x71126905,
- 0xb2040222,
- 0xb6cbcf7c,
- 0xcd769c2b,
- 0x53113ec0,
- 0x1640e3d3,
- 0x38abbd60,
- 0x2547adf0,
- 0xba38209c,
- 0xf746ce76,
- 0x77afa1c5,
- 0x20756060,
- 0x85cbfe4e,
- 0x8ae88dd8,
- 0x7aaaf9b0,
- 0x4cf9aa7e,
- 0x1948c25c,
- 0x02fb8a8c,
- 0x01c36ae4,
- 0xd6ebe1f9,
- 0x90d4f869,
- 0xa65cdea0,
- 0x3f09252d,
- 0xc208e69f,
- 0xb74e6132,
- 0xce77e25b,
- 0x578fdfe3,
- 0x3ac372e6 };
-public void decipher(byte[] src, int srcOff, byte[] dst, int dstOff, int len) {
- int xL = lastDecipherXL;
- int xR = lastDecipherXR;
-
- int dataXL;
- int dataXR;
-
- int[] xLxR = new int[2];
-
- for (int i = 0; i < len; i = i + 8) {
- dataXL = (src[srcOff + i] & 0xff) | ((src[srcOff + i + 1] & 0xff) << 8) | ((src[srcOff + i + 2] & 0xff) << 16) | ((src[srcOff + i + 3] & 0xff) << 24);
- dataXR = (src[srcOff + i + 4] & 0xff) | ((src[srcOff + i + 5] & 0xff) << 8) | ((src[srcOff + i + 6] & 0xff) << 16) | ((src[srcOff + i + 7] & 0xff) << 24);
-
- decipher(dataXL, dataXR, xLxR);
-
- xL ^= xLxR[0];
- xR ^= xLxR[1];
-
- dst[dstOff + i] = (byte) (xL & 0xff);
- dst[dstOff + i + 1] = (byte) ((xL >> 8) & 0xff);
- dst[dstOff + i + 2] = (byte) ((xL >> 16) & 0xff);
- dst[dstOff + i + 3] = (byte) ((xL >> 24) & 0xff);
- dst[dstOff + i + 4] = (byte) (xR & 0xff);
- dst[dstOff + i + 5] = (byte) ((xR >> 8) & 0xff);
- dst[dstOff + i + 6] = (byte) ((xR >> 16) & 0xff);
- dst[dstOff + i + 7] = (byte) ((xR >> 24) & 0xff);
-
- xL = dataXL;
- xR = dataXR;
- }
-
- lastDecipherXL = xL;
- lastDecipherXR = xR;
-}
-private void decipher(int xL, int xR, int[] xLxR) {
- xL ^= P[17];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[16];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[15];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[14];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[13];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[12];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[11];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[10];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[9];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[8];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[7];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[6];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[5];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[4];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[3];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[2];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[1];
- xR ^= P[0];
-
- xLxR[0] = xR;
- xLxR[1] = xL;
-}
-public void encipher(byte[] src, int srcOff, byte[] dst, int dstOff, int len) {
- int xL = lastEncipherXL;
- int xR = lastEncipherXR;
-
- int[] xLxR = new int[2];
-
- for (int i = 0; i < len; i = i + 8) {
- xL ^= (src[srcOff + i] & 0xff) | ((src[srcOff + i + 1] & 0xff) << 8) | ((src[srcOff + i + 2] & 0xff) << 16) | ((src[srcOff + i + 3] & 0xff) << 24);
- xR ^= (src[srcOff + i + 4] & 0xff) | ((src[srcOff + i + 5] & 0xff) << 8) | ((src[srcOff + i + 6] & 0xff) << 16) | ((src[srcOff + i + 7] & 0xff) << 24);
-
- encipher(xL, xR, xLxR);
-
- xL = xLxR[0];
- xR = xLxR[1];
-
- dst[dstOff + i] = (byte) (xL & 0xff);
- dst[dstOff + i + 1] = (byte) ((xL >> 8) & 0xff);
- dst[dstOff + i + 2] = (byte) ((xL >> 16) & 0xff);
- dst[dstOff + i + 3] = (byte) ((xL >> 24) & 0xff);
- dst[dstOff + i + 4] = (byte) (xR & 0xff);
- dst[dstOff + i + 5] = (byte) ((xR >> 8) & 0xff);
- dst[dstOff + i + 6] = (byte) ((xR >> 16) & 0xff);
- dst[dstOff + i + 7] = (byte) ((xR >> 24) & 0xff);
- }
-
- lastEncipherXL = xL;
- lastEncipherXR = xR;
-}
-private void encipher(int xL, int xR, int[] xLxR) {
- xL ^= P[0];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[1];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[2];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[3];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[4];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[5];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[6];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[7];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[8];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[9];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[10];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[11];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[12];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[13];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[14];
- xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[15];
- xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[16];
- xR ^= P[17];
-
- xLxR[0] = xR;
- xLxR[1] = xL;
-}
-public void setKey(byte key[]) {
- int data = 0;
- int offset = 0;
-
- for (int i = 0; i < P.length; ++i) {
- P[i] = INIT_DATA[offset++];
- }
-
- for (int i = 0; i < S.length; ++i) {
- for (int j = 0; j < S[i].length; ++j) {
- S[i][j] = INIT_DATA[offset++];
- }
- }
-
- offset = 0;
- for (int i = 0; i < P.length; ++i) {
- data = 0;
- for (int k = 0; k < 4; ++k) {
- data = (data << 8) | (key[offset++] & 0xff);
- if (offset >= key.length) {
- offset = 0;
- }
- }
- P[i] = P[i] ^ data;
- }
-
- int[] lr = new int[] { 0, 0 };
- for (int i = 0; i < P.length; i += 2) {
- encipher(lr[0], lr[1], lr);
- P[i] = lr[0];
- P[i + 1] = lr[1];
- }
-
- for (int i = 0; i < S.length; ++i) {
- for (int j = 0; j < S[i].length; j += 2) {
- encipher(lr[0], lr[1], lr);
- S[i][j] = lr[0];
- S[i][j + 1] = lr[1];
- }
- }
-
- lastEncipherXL = 0;
- lastEncipherXR = 0;
- lastDecipherXL = 0;
- lastDecipherXR = 0;
-}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/CVSSSHMessages.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/CVSSSHMessages.java
deleted file mode 100644
index 43b6f3532..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/CVSSSHMessages.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-import org.eclipse.osgi.util.NLS;
-
-public class CVSSSHMessages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.team.internal.ccvs.ssh.messages";//$NON-NLS-1$
-
- public static String closed;
- public static String stream;
-
- public static String Client_packetType;
- public static String Client_notConnected;
- public static String Client_cipher;
- public static String Client_socketClosed;
- public static String Client_authenticationFailed;
- public static String Client_socket;
- public static String Client_disconnectDescription;
- public static String Client_noDisconnectDescription;
- public static String Client_sshProtocolVersion;
- public static String Client_hostIdChanged;
- public static String Client_addedHostKey;
-
- public static String ServerPacket_crc;
-
- public static String SSHServerConnection_authenticating;
-
- public static String Misc_missingMD5;
-
- public static String KnownHosts_8;
- public static String KnownHosts_9;
- public static String KnownHosts_10;
-
- static {
- // load message values from bundle file
- NLS.initializeMessages(BUNDLE_NAME, CVSSSHMessages.class);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Cipher.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Cipher.java
deleted file mode 100644
index bc58de1aa..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Cipher.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-public abstract class Cipher {
-public abstract void decipher(byte[] src, int srcPos, byte[] dst, int dstPos, int len);
-public abstract void encipher(byte[] src, int srcPos, byte[] dst, int dstPos, int len);
-public static Cipher getInstance(String algorithm) {
- try {
- Class c = Class.forName("org.eclipse.team.internal.ccvs.ssh." + algorithm); //$NON-NLS-1$
- return (Cipher) c.newInstance();
- } catch (Exception e) {
- return null;
- }
-}
-public abstract void setKey(byte[] key);
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Client.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Client.java
deleted file mode 100644
index 05ada38bf..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Client.java
+++ /dev/null
@@ -1,709 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-/**
- * An SSH 1.5 client..
- */
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InterruptedIOException;
-import java.io.OutputStream;
-import java.math.BigInteger;
-import java.net.Socket;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.connection.CVSAuthenticationException;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-import org.eclipse.team.internal.core.streams.PollingInputStream;
-import org.eclipse.team.internal.core.streams.PollingOutputStream;
-import org.eclipse.team.internal.core.streams.TimeoutOutputStream;
-
-public class Client {
- // client identification string
- private static final String clientId = "SSH-1.5-Java 1.2.2\n"; //$NON-NLS-1$
-
- // server identification string
- private static String serverId = null;
-
- // maximum outgoing packet size
- private static final int MAX_CLIENT_PACKET_SIZE = 1024;
-
- // packet types
- private static final int SSH_MSG_DISCONNECT = 1;
- private static final int SSH_SMSG_PUBLIC_KEY = 2;
- private static final int SSH_CMSG_SESSION_KEY = 3;
- private static final int SSH_CMSG_USER = 4;
- private static final int SSH_CMSG_AUTH_PASSWORD = 9;
- private static final int SSH_CMSG_REQUEST_PTY = 10;
- private static final int SSH_CMSG_EXEC_SHELL = 12;
- private static final int SSH_CMSG_EXEC_CMD = 13;
- private static final int SSH_SMSG_SUCCESS = 14;
- private static final int SSH_SMSG_FAILURE = 15;
- private static final int SSH_CMSG_STDIN_DATA = 16;
- private static final int SSH_SMSG_STDOUT_DATA = 17;
- private static final int SSH_SMSG_STDERR_DATA = 18;
- private static final int SSH_SMSG_EXITSTATUS = 20;
- private static final int SSH_CMSG_EXIT_CONFIRMATION = 33;
- private static final int SSH_MSG_DEBUG = 36;
-
- // cipher names
- private static String[] cipherNames = { "None", "IDEA", "DES", "3DES", "TSS", "RC4", "Blowfish" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
-
- // cipher types
- private static int SSH_CIPHER_BLOWFISH = 6;
-
- // preferred cipher types
- private int[] preferredCipherTypes = { SSH_CIPHER_BLOWFISH };
-
- private String host;
- private int port;
- private String username;
- private String password;
- private String command;
-
- private Socket socket;
- /* package */ InputStream socketIn;
- private PollingOutputStream socketOut;
- private InputStream is;
- private OutputStream os;
- private boolean connected = false;
- private int timeout = -1;
-
- private Cipher cipher = null;
-
- class StandardInputStream extends InputStream {
- private ServerPacket packet = null;
- private InputStream buffer = null;
- private boolean atEnd = false;
- private boolean closed = false;
-
- public int available() throws IOException {
- if (closed) {
- throw new IOException(CVSSSHMessages.closed);
- }
-
- int available = buffer == null ? 0 : buffer.available();
-
- if (available == 0 && socketIn.available() > 0) {
- fill();
- if (atEnd) {
- return 0;
- }
- available = buffer.available();
- }
-
- return available;
- }
-
- public void close() throws IOException {
- if (!closed) {
- closed = true;
- if (packet != null) {
- packet.close(false);
- buffer = null;
- packet = null;
- }
- }
- }
-
- public int read() throws IOException {
- if (closed) {
- throw new IOException(CVSSSHMessages.closed);
- }
-
- if (atEnd) {
- return -1;
- }
-
- if (buffer == null || buffer.available() == 0) {
- fill();
- if (atEnd) {
- return -1;
- }
- }
-
- return buffer.read();
- }
-
- public int read(byte b[], int off, int len) throws IOException {
- if (closed) {
- throw new IOException(CVSSSHMessages.closed);
- }
-
- if (atEnd) {
- return -1;
- }
-
- if (buffer == null || buffer.available() == 0) {
- fill();
- if (atEnd) {
- return -1;
- }
- }
-
- return buffer.read(b, off, len);
- }
-
- private void fill() throws IOException {
- if (buffer != null) {
- buffer.close();
- }
-
- packet = skip_SSH_MSG_DEBUG();
- int packetType = packet.getType();
-
- switch (packetType) {
- case SSH_SMSG_STDOUT_DATA :
- case SSH_SMSG_STDERR_DATA :
- case SSH_MSG_DEBUG :
- buffer = packet.getInputStream();
- Misc.readInt(buffer);
- break;
- case SSH_SMSG_EXITSTATUS :
- buffer = null;
- atEnd = true;
- InputStream pis = packet.getInputStream();
- Misc.readInt(pis);
- pis.close();
- send(SSH_CMSG_EXIT_CONFIRMATION, null);
- break;
- case SSH_MSG_DISCONNECT :
- buffer = null;
- atEnd = true;
- handleDisconnect(packet.getInputStream());
- break;
- default :
- throw new IOException(NLS.bind(CVSSSHMessages.Client_packetType, (new Object[] {new Integer(packetType)})));
- }
- }
-
- private void handleDisconnect(InputStream in) throws IOException {
- String description = null;
- try {
- description = Misc.readString(in);
- } catch (IOException e) {
- // ignore
- } finally {
- in.close();
- }
-
- // Log the description provided by the server
- if (description == null) {
- description = CVSSSHMessages.Client_noDisconnectDescription;
- }
-
- // Throw an IOException with the proper text
- throw new IOException(NLS.bind(CVSSSHMessages.Client_disconnectDescription, (new Object[] {description})));
- }
- }
-
- class StandardOutputStream extends OutputStream {
- private int MAX_BUFFER_SIZE = MAX_CLIENT_PACKET_SIZE;
- private byte[] buffer = new byte[MAX_BUFFER_SIZE];
- private int bufpos = 0;
- private boolean closed = false;
-
- public void close() throws IOException {
- if (!closed) {
- try {
- flush();
- } finally {
- closed = true;
- }
- }
- }
-
- public void flush() throws IOException {
- if (closed) {
- throw new IOException(CVSSSHMessages.closed);
- }
-
- if (bufpos > 0) {
- send(SSH_CMSG_STDIN_DATA, buffer, 0, bufpos);
- bufpos = 0;
- }
- }
-
- public void write(int b) throws IOException {
- if (closed) {
- throw new IOException(CVSSSHMessages.closed);
- }
-
- buffer[bufpos++] = (byte) b;
-
- if (bufpos == MAX_BUFFER_SIZE) {
- flush();
- }
- }
-
- public void write(byte b[], int off, int len) throws IOException {
- if (closed) {
- throw new IOException(CVSSSHMessages.closed);
- }
-
- int bytesWritten = 0;
- int totalBytesWritten = 0;
-
- if (bufpos > 0) {
- bytesWritten = Math.min(MAX_BUFFER_SIZE - bufpos, len);
- System.arraycopy(b, off, buffer, bufpos, bytesWritten);
- bufpos += bytesWritten;
- totalBytesWritten += bytesWritten;
-
- if (bufpos == MAX_BUFFER_SIZE) {
- flush();
- }
- }
-
- while (len - totalBytesWritten >= MAX_BUFFER_SIZE) {
- send(SSH_CMSG_STDIN_DATA, b, off + totalBytesWritten, MAX_BUFFER_SIZE);
- totalBytesWritten += MAX_BUFFER_SIZE;
- }
-
- if (totalBytesWritten < len) {
- bytesWritten = len - totalBytesWritten;
- System.arraycopy(b, off + totalBytesWritten, buffer, 0, bytesWritten);
- bufpos += bytesWritten;
- }
- }
- }
-public Client(String host, int port, String username, String password) {
- this.host = host;
- this.port = port;
- this.username = username;
- this.password = password;
-}
-public Client(String host, int port, String username, String password, String command) {
- this(host, port, username, password);
- this.command = command;
-}
-public Client(String host, int port, String username, String password, String command, int timeout) {
- this(host, port, username, password, command);
- this.timeout = timeout;
-}
-/**
- * Close all streams and sockets.
- */
-private void cleanup() throws IOException {
- try {
- if (is != null)
- is.close();
- } finally {
- try {
- if (os != null)
- os.close();
- } finally {
- try {
- if (socketIn != null)
- socketIn.close();
- } finally {
- try {
- if (socketOut != null)
- socketOut.close();
- } finally {
- try {
- if (socket != null)
- socket.close();
- } finally {
- socket = null;
- }
- }
- }
- }
- }
-}
-/**
- * Connect to the remote server. If an exception is thrown, the caller
- * can asssume that all streams and sockets are closed.
- */
-public void connect(IProgressMonitor monitor) throws IOException, CVSAuthenticationException {
- // If we're already connected, just ignore the invokation
- if (connected || monitor.isCanceled())
- return;
-
- // Otherwise, set up the connection
- try {
- PollingInputStream pollingInputStream = null;
- // Create the socket (the socket should always be null here)
- if (socket == null) {
- try {
- socket = Util.createSocket(host, port, monitor);
- // Bug 36351: disable buffering and send bytes immediately
- socket.setTcpNoDelay(true);
- } catch (InterruptedIOException e) {
- // If we get this exception, chances are the host is not responding
- throw new InterruptedIOException(NLS.bind(CVSSSHMessages.Client_socket, (new Object[] {host})));
-
- }
- if (timeout >= 0) {
- socket.setSoTimeout(1000);
- }
- pollingInputStream = new PollingInputStream(socket.getInputStream(),
- timeout > 0 ? timeout : 1, monitor);
- socketIn = new BufferedInputStream(pollingInputStream);
-
- socketOut = new PollingOutputStream(new TimeoutOutputStream(
- socket.getOutputStream(), 8192 /*bufferSize*/, 1000 /*writeTimeout*/, 1000 /*closeTimeout*/),
- timeout > 0 ? timeout : 1, monitor);
- }
-
- // read the ssh server id. The socket creation may of failed if the
- // server cannot accept our connection request. We don't expect the
- // socket to be closed at this point.
- // Don't allow cancellation during the initial handshake and login since this
- // can potentially cause the SSH server to think that it is being hacked and
- // disable the account.
- socketOut.setIsCancellable(false /* don't allow cancellation */);
- pollingInputStream.setIsCancellable(false);
- StringBuffer buf = new StringBuffer();
- int c;
- while ((c = socketIn.read()) != '\n') {
- if (c == -1)
- throw new IOException(CVSSSHMessages.Client_socketClosed);
- buf.append((char) c);
- }
- serverId = buf.toString();
-
- if (Policy.DEBUG_SSH_PROTOCOL) {
- System.out.println("SSH > server ID: " + serverId); //$NON-NLS-1$
- System.out.println("SSH > client ID: " + clientId); //$NON-NLS-1$
- }
-
- if (!serverId.startsWith("SSH-1.")) { //$NON-NLS-1$
- String sshVersion = (serverId.startsWith("SSH-")? serverId:""); //$NON-NLS-1$ //$NON-NLS-2$
- throw new IOException(NLS.bind(CVSSSHMessages.Client_sshProtocolVersion, new String[] { sshVersion }));
- }
-
- // send our id.
- socketOut.write(clientId.getBytes());
- socketOut.flush();
-
- login();
-
- socketOut.setIsCancellable(true /* allow cancellation */);
- pollingInputStream.setIsCancellable(true);
-
- // start a shell and enter interactive session or start by
- // executing the given command.
- if( command == null ) {
- startShell();
- } else {
- executeCommand();
- }
-
- is = new StandardInputStream();
- os = new StandardOutputStream();
- connected = true;
- // If an exception occurs while connected, make sure we disconnect before passing the exception on
- } finally {
- if (! connected) cleanup();
- }
-}
-/**
- * Terminate the connection to the server.
- */
-public void disconnect() throws IOException {
- if (Policy.DEBUG_SSH_PROTOCOL) {
- System.out.println("Disconnecting."); //$NON-NLS-1$
- }
- if (connected) {
- connected = false;
- try {
- send(SSH_MSG_DISCONNECT, null);
- } finally {
- cleanup();
- }
- }
-}
-public InputStream getInputStream() throws IOException {
- if (!connected) {
- throw new IOException(CVSSSHMessages.Client_notConnected);
- }
-
- return is;
-}
-public OutputStream getOutputStream() throws IOException {
- if (!connected) {
- throw new IOException(CVSSSHMessages.Client_notConnected);
- }
-
- return os;
-}
-
-private void startShell() throws IOException {
- ServerPacket packet = null;
- int packetType;
-
- send_SSH_CMSG_REQUEST_PTY();
-
- try {
- packet = skip_SSH_MSG_DEBUG();
- packetType = packet.getType();
-
- if (packetType != SSH_SMSG_SUCCESS) {
- throw new IOException(NLS.bind(CVSSSHMessages.Client_packetType, (new Object[] {new Integer(packetType)})));
- }
- } finally {
- if (packet != null) {
- packet.close(true /*perform crc check*/);
- }
- }
-
- send(SSH_CMSG_EXEC_SHELL, null);
-}
-
-private void executeCommand() throws IOException {
- send(SSH_CMSG_EXEC_CMD, command);
-}
-
-private void login() throws IOException, CVSAuthenticationException {
- ServerPacket packet = null;
- int packetType;
-
- try {
- packet = skip_SSH_MSG_DEBUG();
- packetType = packet.getType();
-
- if (packetType != SSH_SMSG_PUBLIC_KEY) {
- throw new IOException(NLS.bind(CVSSSHMessages.Client_packetType, (new Object[] {new Integer(packetType)})));
- }
-
- receive_SSH_SMSG_PUBLIC_KEY(packet);
- } finally {
- if (packet != null) {
- packet.close(true);
- }
- }
-
- try {
- packet = skip_SSH_MSG_DEBUG();
- packetType = packet.getType();
-
- if (packetType != SSH_SMSG_SUCCESS) {
- throw new IOException(NLS.bind(CVSSSHMessages.Client_packetType, (new Object[] {new Integer(packetType)})));
- }
- } finally {
- if (packet != null) {
- packet.close(true);
- }
- }
-
- send(SSH_CMSG_USER, username);
-
- try {
- packet = skip_SSH_MSG_DEBUG();
- packetType = packet.getType();
-
- if (packetType != SSH_SMSG_FAILURE) {
- throw new IOException(NLS.bind(CVSSSHMessages.Client_packetType, (new Object[] {new Integer(packetType)})));
- }
- } finally {
- if (packet != null) {
- packet.close(true);
- }
- }
-
- send(SSH_CMSG_AUTH_PASSWORD, password);
-
- try {
- packet = skip_SSH_MSG_DEBUG();
- packetType = packet.getType();
-
- if (packetType == SSH_SMSG_FAILURE) {
- throw new CVSAuthenticationException(CVSSSHMessages.Client_authenticationFailed, CVSAuthenticationException.RETRY);
- }
-
- if (packetType != SSH_SMSG_SUCCESS) {
- throw new IOException(NLS.bind(CVSSSHMessages.Client_packetType, (new Object[] {new Integer(packetType)})));
- }
- } finally {
- if (packet != null) {
- packet.close(true);
- }
- }
-}
-private void receive_SSH_SMSG_PUBLIC_KEY(ServerPacket packet) throws IOException, CVSAuthenticationException {
- InputStream pis = packet.getInputStream();
-
- byte[] anti_spoofing_cookie = new byte[8];
- Misc.readFully(pis, anti_spoofing_cookie);
-
- byte[] server_key_bits = new byte[4];
- Misc.readFully(pis, server_key_bits);
-
- byte[] server_key_public_exponent = Misc.readMpInt(pis);
- byte[] server_key_public_modulus = Misc.readMpInt(pis);
-
- byte[] host_key_bits = new byte[4];
- Misc.readFully(pis, host_key_bits);
-
- byte[] host_key_public_exponent = Misc.readMpInt(pis);
- byte[] host_key_public_modulus = Misc.readMpInt(pis);
-
- byte[] protocol_flags = new byte[4];
- Misc.readFully(pis, protocol_flags);
-
- byte[] supported_ciphers_mask = new byte[4];
- Misc.readFully(pis, supported_ciphers_mask);
-
- byte[] supported_authentications_mask = new byte[4];
- Misc.readFully(pis, supported_authentications_mask);
-
- pis.close();
-
- send_SSH_CMSG_SESSION_KEY(anti_spoofing_cookie, host_key_bits, server_key_public_modulus, host_key_public_modulus, supported_ciphers_mask, server_key_public_exponent, host_key_public_exponent);
-}
-void send(int packetType, String s) throws IOException {
- byte[] data = s == null ? new byte[0] : s.getBytes("UTF-8"); //$NON-NLS-1$
- send(packetType, data, 0, data.length);
-}
-void send(int packetType, byte[] data, int off, int len) throws IOException {
- data = data == null ? null : Misc.lengthEncode(data, off, len);
- ClientPacket packet = new ClientPacket(packetType, data, cipher);
- socketOut.write(packet.getBytes());
- socketOut.flush();
-}
-private void send_SSH_CMSG_REQUEST_PTY() throws IOException {
- byte packet_type = SSH_CMSG_REQUEST_PTY;
-
- byte[] termType = Misc.lengthEncode("dumb".getBytes(), 0, 4);//$NON-NLS-1$
- byte[] row = {0, 0, 0, 0};
- byte[] col = {0, 0, 0, 0};
- byte[] XPixels = {0, 0, 0, 0};
- byte[] YPixels = {0, 0, 0, 0};
- byte[] terminalModes = {0};
-
- byte[] data = new byte[termType.length + row.length + col.length + XPixels.length + YPixels.length + terminalModes.length];
-
- int offset = 0;
- System.arraycopy(termType, 0, data, offset, termType.length);
-
- offset += termType.length;
- System.arraycopy(row, 0, data, offset, row.length);
-
- offset += row.length;
- System.arraycopy(col, 0, data, offset, col.length);
-
- offset += col.length;
- System.arraycopy(XPixels, 0, data, offset, XPixels.length);
-
- offset += XPixels.length;
- System.arraycopy(YPixels, 0, data, offset, YPixels.length);
-
- offset += YPixels.length;
- System.arraycopy(terminalModes, 0, data, offset, terminalModes.length);
-
- ClientPacket packet = new ClientPacket(packet_type, data, cipher);
- socketOut.write(packet.getBytes());
- socketOut.flush();
-}
-private void send_SSH_CMSG_SESSION_KEY(byte[] anti_spoofing_cookie, byte[] host_key_bits, byte[] server_key_public_modulus, byte[] host_key_public_modulus, byte[] supported_ciphers_mask, byte[] server_key_public_exponent, byte[] host_key_public_exponent) throws IOException, CVSAuthenticationException {
- byte packet_type = SSH_CMSG_SESSION_KEY;
-
- // session_id
- byte[] session_id = new byte[host_key_public_modulus.length + server_key_public_modulus.length + anti_spoofing_cookie.length];
-
- int offset = 0;
- System.arraycopy(host_key_public_modulus, 0, session_id, offset, host_key_public_modulus.length);
-
- offset += host_key_public_modulus.length;
- System.arraycopy(server_key_public_modulus, 0, session_id, offset, server_key_public_modulus.length);
-
- offset += server_key_public_modulus.length;
- System.arraycopy(anti_spoofing_cookie, 0, session_id, offset, anti_spoofing_cookie.length);
-
- session_id = Misc.md5(session_id);
-
- // cipher_type
- byte cipher_type = 0;
- boolean foundSupportedCipher = false;
-
- for (int i = 0; i < preferredCipherTypes.length && !foundSupportedCipher; ++i) {
- cipher_type = (byte) preferredCipherTypes[i];
- foundSupportedCipher = (supported_ciphers_mask[3] & (byte) (1 << cipher_type)) != 0;
- }
-
- if (!foundSupportedCipher) {
- throw new IOException(CVSSSHMessages.Client_cipher);
- }
-
- // session_key
- byte[] session_key = new byte[32];
- byte[] session_key_xored = new byte[32];
- byte[] session_key_encrypted = null;
-
- Misc.random(session_key, 0, session_key.length, true);
- System.arraycopy(session_key, 0, session_key_xored, 0, session_key.length);
- Misc.xor(session_key_xored, 0, session_id, 0, session_key_xored, 0, session_id.length);
-
- BigInteger host_e = new BigInteger(1, host_key_public_exponent);
- BigInteger host_n = new BigInteger(1, host_key_public_modulus);
- if (!new KnownHosts().verifyKey(host, host_key_bits, host_e, host_n)) {
- throw new CVSAuthenticationException(CVSSSHMessages.Client_hostIdChanged, CVSAuthenticationException.NO_RETRY);
- }
- byte[] result;
- if (new BigInteger(1,server_key_public_modulus).compareTo(host_n) == -1) {
- result = Misc.encryptRSAPkcs1(session_key_xored, server_key_public_exponent, server_key_public_modulus);
- result = Misc.encryptRSAPkcs1(result, host_key_public_exponent, host_key_public_modulus);
- } else {
- result = Misc.encryptRSAPkcs1(session_key_xored, host_key_public_exponent, host_key_public_modulus);
- result = Misc.encryptRSAPkcs1(result, server_key_public_exponent, server_key_public_modulus);
- }
-
- session_key_encrypted = new byte[result.length + 2];
- session_key_encrypted[1] = (byte) ((8 * result.length) & 0xff);
- session_key_encrypted[0] = (byte) (((8 * result.length) >> 8) & 0xff);
-
- for (int i = 0; i < result.length; i++) {
- session_key_encrypted[i + 2] = result[i];
- }
-
- // protocol_flags
- byte[] protocol_flags = {0, 0, 0, 0};
-
- // data
- byte[] data = new byte[1 + anti_spoofing_cookie.length + session_key_encrypted.length + protocol_flags.length];
-
- offset = 0;
- data[offset++] = cipher_type;
-
- System.arraycopy(anti_spoofing_cookie, 0, data, offset, anti_spoofing_cookie.length);
-
- offset += anti_spoofing_cookie.length;
- System.arraycopy(session_key_encrypted, 0, data, offset, session_key_encrypted.length);
-
- offset += session_key_encrypted.length;
- System.arraycopy(protocol_flags, 0, data, offset, protocol_flags.length);
-
- // cipher
- cipher = Cipher.getInstance(cipherNames[cipher_type]);
- cipher.setKey(session_key);
-
- // packet
- ClientPacket packet = new ClientPacket(packet_type, data, null);
- socketOut.write(packet.getBytes());
- socketOut.flush();
-}
-
-ServerPacket skip_SSH_MSG_DEBUG() throws IOException {
- ServerPacket packet = new ServerPacket(socketIn, cipher);
- while (packet.getType() == SSH_MSG_DEBUG) {
- packet.close(true);
- packet = new ServerPacket(socketIn, cipher);
- }
-
- return packet;
-}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ClientPacket.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ClientPacket.java
deleted file mode 100644
index cbeb7fedd..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ClientPacket.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-class ClientPacket extends Packet {
- byte[] packet;
-public ClientPacket(int type, byte[] data, Cipher cipher) {
- packetLength = data == null ? 5 : data.length + 5;
- paddingLength = 8 - (packetLength % 8);
- packetType = type;
- packet = new byte[4 + paddingLength + packetLength];
-
- int packetOff = 0;
- Misc.writeInt(packetLength, packet, packetOff);
- packetOff += 4;
-
- if (cipher == null) {
- for (int i = 0; i < paddingLength; i++) {
- packet[packetOff++] = 0;
- }
- } else {
- Misc.random(packet, packetOff, paddingLength, false);
- packetOff += paddingLength;
- }
-
- packet[packetOff++] = (byte) packetType;
-
- if (data != null) {
- for (int i = 0; i < data.length; ++i) {
- packet[packetOff++] = data[i];
- }
- }
-
- long crc = Misc.crc32(packet, 4, packet.length - 8, 0);
- Misc.writeInt((int) crc, packet, packetOff);
- packetOff += 4;
-
- if (cipher != null) {
- cipher.encipher(packet, 4, packet, 4, packet.length - 4);
- }
-}
-public byte[] getBytes() {
- return packet;
-}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/KnownHosts.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/KnownHosts.java
deleted file mode 100644
index 3219d06b1..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/KnownHosts.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.math.BigInteger;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * I represent a database of known hosts usually placed in ~/.ssh/known_hosts
- * on Unix/Linux systems.
- * Currently, only RSA keys are supported, as these are the only keys we
- * have to deal with during SSH1 key exchange.
- */
-public class KnownHosts {
-
- private String filename;
-
- public KnownHosts() {
- this.filename = KnownHosts.defaultFilename();
- }
-
- static String defaultFilename() {
- if (!Platform.getOS().equals(Platform.OS_LINUX)) return internalFilename();
- String HOME = System.getProperty("user.home"); //$NON-NLS-1$
- if (HOME==null) return internalFilename();
- return HOME+"/.ssh/known_hosts"; //$NON-NLS-1$
- }
-
- private static String internalFilename() {
- return SSHPlugin.getPlugin().getStateLocation().append("known_hosts").toOSString(); //$NON-NLS-1$
- }
-
- /**
- * Verify if the public key for the specified host is known.
- * If the public key matches, return true.
- * If the key does not match, return false.
- * If the key is not listed in <code>known_hosts</code>, or
- * <code>known_hosts</code> does not exist, assume we are connecting
- * to the authentic server, add the key, and return true.
- * @param e key exponent
- * @param n key modulus
- * @return boolean whether the key is correct
- */
- public boolean verifyKey(String hostname, byte[] host_key_bits, BigInteger e, BigInteger n) {
- FileReader f;
- BigInteger nbits = new BigInteger(1, host_key_bits);
- try {
- f= new FileReader(filename);
- } catch (FileNotFoundException ex) {
- createHostFile();
- addHost(hostname, nbits, e, n);
- return true;
- }
- BufferedReader r = new BufferedReader(f);
- try {
- String line;
- while ((line = r.readLine()) != null) {
- if (line.trim().length()==0) continue;
- if (line.startsWith("#")) continue; //$NON-NLS-1$
- String[] tokens=subStrings(line);
- if (tokens.length==4 && Character.isDigit(tokens[1].charAt(0)) && tokens[0].equalsIgnoreCase(hostname)) {
- if (nbits.equals(new BigInteger(tokens[1])) && e.equals(new BigInteger(tokens[2])) && n.equals(new BigInteger(tokens[3]))) {
- f.close();
- return true;
- } else {
- f.close();
- return false;
- }
- }
- }
- f.close();
- addHost(hostname, nbits, e, n);
- return true;
- } catch (IOException ex) {
- SSHPlugin.log(IStatus.ERROR, CVSSSHMessages.KnownHosts_8, ex);
- return false;
- }
- }
-
- /*
- * Append the host key information to known_hosts.
- * Always assume the file exists.
- */
- void addHost(String hostname, BigInteger key_bits, BigInteger e, BigInteger n) {
- try {
- FileWriter w = new FileWriter(defaultFilename(), true);
- w.write(Character.LINE_SEPARATOR);
- w.write(hostname + " " + key_bits.toString(10) + " " + e.toString(10) + " " + n.toString(10)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- w.close();
- String message = NLS.bind(CVSSSHMessages.Client_addedHostKey, (new String[] {hostname, defaultFilename()}));
- SSHPlugin.log(IStatus.INFO, message, null);
- } catch (IOException ex) {
- SSHPlugin.log(IStatus.ERROR, CVSSSHMessages.KnownHosts_9, ex);
- }
- }
-
- /*
- * Create the known_hosts file in the default location.
- * Fail if the file can not be created (issue a warning in the log).
- */
- void createHostFile() {
- try {
- File file = new File(defaultFilename());
- // Ensure the parent directory exists
- File parentDir = file.getParentFile();
- parentDir.mkdirs();
- // Create the file
- file.createNewFile();
- } catch (IOException ee) {
- SSHPlugin.log(IStatus.ERROR, CVSSSHMessages.KnownHosts_10, ee);
- }
-
- }
- private static String[] subStrings(String s) {
- Vector v = subStringsVector(s);
- String[] substrings = new String[v.size()];
- v.copyInto(substrings);
- return substrings;
- }
- private static Vector subStringsVector(String s) {
- Vector v = new Vector();
- s = s.trim();
- if (s.length()==0) return v;
- int first1 = s.indexOf(' ');
- int first2 = s.indexOf('\t');
- int first;
- if ((first1==-1)&&(first2==-1)) first=-1;
- else if ((first1!=-1)&&(first2!=-1)) first = Math.min(first1, first2);
- else if (first1!=-1) first=first1; else first=first2;
- if (first==-1) {
- v.add(s);
- return v;
- }
- v.add(s.substring(0,first));
- v.addAll(subStringsVector(s.substring(first+1)));
- return v;
- }
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Misc.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Misc.java
deleted file mode 100644
index 2341e3ce0..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Misc.java
+++ /dev/null
@@ -1,473 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigInteger;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.security.SecureRandom;
-
-import org.eclipse.osgi.util.NLS;
-
-class Misc {
- private static MessageDigest md5 = null;
- private static SecureRandom random = null;
- private static long crc32_tab[] = {
- 0x00000000L,
- 0x77073096L,
- 0xee0e612cL,
- 0x990951baL,
- 0x076dc419L,
- 0x706af48fL,
- 0xe963a535L,
- 0x9e6495a3L,
- 0x0edb8832L,
- 0x79dcb8a4L,
- 0xe0d5e91eL,
- 0x97d2d988L,
- 0x09b64c2bL,
- 0x7eb17cbdL,
- 0xe7b82d07L,
- 0x90bf1d91L,
- 0x1db71064L,
- 0x6ab020f2L,
- 0xf3b97148L,
- 0x84be41deL,
- 0x1adad47dL,
- 0x6ddde4ebL,
- 0xf4d4b551L,
- 0x83d385c7L,
- 0x136c9856L,
- 0x646ba8c0L,
- 0xfd62f97aL,
- 0x8a65c9ecL,
- 0x14015c4fL,
- 0x63066cd9L,
- 0xfa0f3d63L,
- 0x8d080df5L,
- 0x3b6e20c8L,
- 0x4c69105eL,
- 0xd56041e4L,
- 0xa2677172L,
- 0x3c03e4d1L,
- 0x4b04d447L,
- 0xd20d85fdL,
- 0xa50ab56bL,
- 0x35b5a8faL,
- 0x42b2986cL,
- 0xdbbbc9d6L,
- 0xacbcf940L,
- 0x32d86ce3L,
- 0x45df5c75L,
- 0xdcd60dcfL,
- 0xabd13d59L,
- 0x26d930acL,
- 0x51de003aL,
- 0xc8d75180L,
- 0xbfd06116L,
- 0x21b4f4b5L,
- 0x56b3c423L,
- 0xcfba9599L,
- 0xb8bda50fL,
- 0x2802b89eL,
- 0x5f058808L,
- 0xc60cd9b2L,
- 0xb10be924L,
- 0x2f6f7c87L,
- 0x58684c11L,
- 0xc1611dabL,
- 0xb6662d3dL,
- 0x76dc4190L,
- 0x01db7106L,
- 0x98d220bcL,
- 0xefd5102aL,
- 0x71b18589L,
- 0x06b6b51fL,
- 0x9fbfe4a5L,
- 0xe8b8d433L,
- 0x7807c9a2L,
- 0x0f00f934L,
- 0x9609a88eL,
- 0xe10e9818L,
- 0x7f6a0dbbL,
- 0x086d3d2dL,
- 0x91646c97L,
- 0xe6635c01L,
- 0x6b6b51f4L,
- 0x1c6c6162L,
- 0x856530d8L,
- 0xf262004eL,
- 0x6c0695edL,
- 0x1b01a57bL,
- 0x8208f4c1L,
- 0xf50fc457L,
- 0x65b0d9c6L,
- 0x12b7e950L,
- 0x8bbeb8eaL,
- 0xfcb9887cL,
- 0x62dd1ddfL,
- 0x15da2d49L,
- 0x8cd37cf3L,
- 0xfbd44c65L,
- 0x4db26158L,
- 0x3ab551ceL,
- 0xa3bc0074L,
- 0xd4bb30e2L,
- 0x4adfa541L,
- 0x3dd895d7L,
- 0xa4d1c46dL,
- 0xd3d6f4fbL,
- 0x4369e96aL,
- 0x346ed9fcL,
- 0xad678846L,
- 0xda60b8d0L,
- 0x44042d73L,
- 0x33031de5L,
- 0xaa0a4c5fL,
- 0xdd0d7cc9L,
- 0x5005713cL,
- 0x270241aaL,
- 0xbe0b1010L,
- 0xc90c2086L,
- 0x5768b525L,
- 0x206f85b3L,
- 0xb966d409L,
- 0xce61e49fL,
- 0x5edef90eL,
- 0x29d9c998L,
- 0xb0d09822L,
- 0xc7d7a8b4L,
- 0x59b33d17L,
- 0x2eb40d81L,
- 0xb7bd5c3bL,
- 0xc0ba6cadL,
- 0xedb88320L,
- 0x9abfb3b6L,
- 0x03b6e20cL,
- 0x74b1d29aL,
- 0xead54739L,
- 0x9dd277afL,
- 0x04db2615L,
- 0x73dc1683L,
- 0xe3630b12L,
- 0x94643b84L,
- 0x0d6d6a3eL,
- 0x7a6a5aa8L,
- 0xe40ecf0bL,
- 0x9309ff9dL,
- 0x0a00ae27L,
- 0x7d079eb1L,
- 0xf00f9344L,
- 0x8708a3d2L,
- 0x1e01f268L,
- 0x6906c2feL,
- 0xf762575dL,
- 0x806567cbL,
- 0x196c3671L,
- 0x6e6b06e7L,
- 0xfed41b76L,
- 0x89d32be0L,
- 0x10da7a5aL,
- 0x67dd4accL,
- 0xf9b9df6fL,
- 0x8ebeeff9L,
- 0x17b7be43L,
- 0x60b08ed5L,
- 0xd6d6a3e8L,
- 0xa1d1937eL,
- 0x38d8c2c4L,
- 0x4fdff252L,
- 0xd1bb67f1L,
- 0xa6bc5767L,
- 0x3fb506ddL,
- 0x48b2364bL,
- 0xd80d2bdaL,
- 0xaf0a1b4cL,
- 0x36034af6L,
- 0x41047a60L,
- 0xdf60efc3L,
- 0xa867df55L,
- 0x316e8eefL,
- 0x4669be79L,
- 0xcb61b38cL,
- 0xbc66831aL,
- 0x256fd2a0L,
- 0x5268e236L,
- 0xcc0c7795L,
- 0xbb0b4703L,
- 0x220216b9L,
- 0x5505262fL,
- 0xc5ba3bbeL,
- 0xb2bd0b28L,
- 0x2bb45a92L,
- 0x5cb36a04L,
- 0xc2d7ffa7L,
- 0xb5d0cf31L,
- 0x2cd99e8bL,
- 0x5bdeae1dL,
- 0x9b64c2b0L,
- 0xec63f226L,
- 0x756aa39cL,
- 0x026d930aL,
- 0x9c0906a9L,
- 0xeb0e363fL,
- 0x72076785L,
- 0x05005713L,
- 0x95bf4a82L,
- 0xe2b87a14L,
- 0x7bb12baeL,
- 0x0cb61b38L,
- 0x92d28e9bL,
- 0xe5d5be0dL,
- 0x7cdcefb7L,
- 0x0bdbdf21L,
- 0x86d3d2d4L,
- 0xf1d4e242L,
- 0x68ddb3f8L,
- 0x1fda836eL,
- 0x81be16cdL,
- 0xf6b9265bL,
- 0x6fb077e1L,
- 0x18b74777L,
- 0x88085ae6L,
- 0xff0f6a70L,
- 0x66063bcaL,
- 0x11010b5cL,
- 0x8f659effL,
- 0xf862ae69L,
- 0x616bffd3L,
- 0x166ccf45L,
- 0xa00ae278L,
- 0xd70dd2eeL,
- 0x4e048354L,
- 0x3903b3c2L,
- 0xa7672661L,
- 0xd06016f7L,
- 0x4969474dL,
- 0x3e6e77dbL,
- 0xaed16a4aL,
- 0xd9d65adcL,
- 0x40df0b66L,
- 0x37d83bf0L,
- 0xa9bcae53L,
- 0xdebb9ec5L,
- 0x47b2cf7fL,
- 0x30b5ffe9L,
- 0xbdbdf21cL,
- 0xcabac28aL,
- 0x53b39330L,
- 0x24b4a3a6L,
- 0xbad03605L,
- 0xcdd70693L,
- 0x54de5729L,
- 0x23d967bfL,
- 0xb3667a2eL,
- 0xc4614ab8L,
- 0x5d681b02L,
- 0x2a6f2b94L,
- 0xb40bbe37L,
- 0xc30c8ea1L,
- 0x5a05df1bL,
- 0x2d02ef8dL
- };
-static public long crc32(byte[] b, int off, int len) {
- return crc32(b, off, len, 0);
-}
-/**
- * Compute the crc Cyclic Redundancy Check, with the polynomial 0xedb88320,
- * The polynomial is X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0
- * We take it "backwards" and put the highest-order term in the lowest-order bit.
- * The X^32 term is "implied"; the LSB is the X^31 term, etc.
- * The X^0 term (usually shown as "+1") results in the MSB being 1.
- * so the poly is 0x04c11db7 (used for Ethernet)
- * The buf will be the Padding, Packet type, and Data fields.
- * The crc is computed before any encryption.
- * R =X^n * M rem P M message P polynomial crc R : crc calculated.
- * T(x) = x^n * M(x) + R(x) property: T rem P = 0
- */
-static public long crc32(byte[] b, int off, int len, long crc32val) {
- for (int i = 0; i < len; i++) {
- crc32val = crc32_tab[(int) ((crc32val ^ b[off + i]) & 0xff)] ^ (crc32val >> 8);
- }
-
- return crc32val;
-}
-static public byte[] lengthEncode(byte[] b, int off, int len) {
- byte[] result = new byte[len + 4];
- writeInt(len, result, 0);
- System.arraycopy(b, off, result, 4, len);
- return result;
-}
-static public byte[] readMpInt(InputStream is) throws IOException {
- int a = is.read();
- int b = is.read();
-
- if(a == -1 || b == -1){
- throw new IOException(CVSSSHMessages.stream);
- }
-
- int bits = ((a & 0xFF) << 8) + (b & 0xFF);
- int bytes = (bits + 7) / 8;
-
- byte[] result = new byte[bytes];
-
- readFully(is, result);
-
- return result;
-}
-public static byte[] md5(byte[] b) throws IOException {
- if (md5 == null) {
- try {
- md5 = MessageDigest.getInstance("MD5");//$NON-NLS-1$
- } catch (NoSuchAlgorithmException e) {
- throw new IOException(NLS.bind(CVSSSHMessages.Misc_missingMD5, new String[] { e.getMessage() }));
- }
- }
-
- return md5.digest(b);
-}
-public static byte[] md5(String s) throws IOException {
- return md5(s.getBytes());
-}
-public static void readFully(InputStream is, byte[] b) throws IOException {
- readFully(is, b, 0, b.length);
-}
-public static void readFully(InputStream is, byte[] b, int off, int len) throws IOException {
- int bytesRead = 0;
- int totalBytesRead = 0;
-
- while (totalBytesRead < len) {
- bytesRead = is.read(b, totalBytesRead + off, len - totalBytesRead);
-
- if (bytesRead == -1) {
- throw new IOException(CVSSSHMessages.stream);
- }
-
- totalBytesRead += bytesRead;
- }
-}
-public static int readInt(byte[] arr, int off) {
- int a = arr[off] & 0xff;
- int b = arr[off + 1] & 0xff;
- int c = arr[off + 2] & 0xff;
- int d = arr[off + 3] & 0xff;
-
- return (a << 24) + (b << 16) + (c << 8) + d;
-}
-public static int readInt(InputStream is) throws IOException {
- int a = is.read();
- int b = is.read();
- int c = is.read();
- int d = is.read();
-
- if (a == -1 || b == -1 || c == -1 || d == -1) {
- throw new IOException(CVSSSHMessages.stream);
- }
-
- return (a << 24) + (b << 16) + (c << 8) + d;
-}
-public static String readString(InputStream is) throws IOException {
- int size = Misc.readInt(is);
- byte[] buffer = new byte[size];
- for (int i = 0; i < buffer.length; i++) {
- int next = is.read();
- if (next == -1) {
- throw new IOException(CVSSSHMessages.stream);
- } else {
- buffer[i] = (byte)next;
- }
- }
- return new String(buffer);
-}
-public static void skipFully(InputStream is, long n) throws IOException {
- while (n != 0) {
- int b = is.read();
-
- if (b == -1) {
- if (n > 0) {
- throw new IOException(CVSSSHMessages.stream);
- }
-
- return;
- }
-
- --n;
- }
-}
-public static void writeInt(int i, byte[] b, int off) {
- b[off] = (byte) ((i >> 24) & 0xff);
- b[off + 1] = (byte) ((i >> 16) & 0xff);
- b[off + 2] = (byte) ((i >> 8) & 0xff);
- b[off + 3] = (byte) (i & 0xff);
-}
-static public void xor(byte[] src_a, int off_a, byte[] src_b, int off_b, byte[] dst, int dst_off, int len) {
- for(int i = 0; i < len; ++i){
- dst[i + dst_off] = (byte) (src_a[i + off_a] ^ src_b[i + off_b]);
- }
-}
-static public void random(byte[] b, int off, int len, boolean allowZeroBytes) {
- if (random == null) {
- try {
- random = SecureRandom.getInstance("SHA1PRNG");//$NON-NLS-1$
- } catch (NoSuchAlgorithmException e) {
- // If SHA1PRNG is not available, just use the default
- random = new SecureRandom();
- }
- }
-
- for(int i = off; i < off + len; ++i){
- do {
- b[i] = (byte) random.nextInt();
- } while(!allowZeroBytes && b[i] == 0);
- }
-}
-static public byte[] encryptRSAPkcs1(byte[] data, byte[] public_key_exponent, byte[] public_key_modulus) {
- byte[] block;
-
- int offset = 0;
- block = new byte[public_key_modulus.length];
- block[offset++] = 0;
- block[offset++] = 2;
-
- Misc.random(block, offset, block.length - data.length - 3, false);
- offset += block.length - data.length - 3;
-
- block[offset++] = 0;
-
- for (int i = 0; i < data.length; i++){
- block[offset++] = data[i];
- }
-
- BigInteger m, e, message;
- byte[] messageByte;
-
- m = new BigInteger(1, public_key_modulus);
- e = new BigInteger(1, public_key_exponent);
- message = new BigInteger(1, block);
- message = message.modPow(e, m);
-
- byte[] messageByteTemp = message.toByteArray();
- messageByte = new byte[public_key_modulus.length];
-
- int tempOffset = 0;
- while (messageByteTemp[tempOffset] == 0){
- tempOffset++;
- }
-
- for (int i = messageByte.length - messageByteTemp.length + tempOffset; i < messageByte.length; i++){
- messageByte[i] = messageByteTemp[tempOffset++];
- }
-
- return messageByte;
-}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Packet.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Packet.java
deleted file mode 100644
index 94d472641..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Packet.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-class Packet {
- protected int packetLength;
- protected int paddingLength;
- protected int packetType;
-public int getType() {
- return packetType;
-}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Policy.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Policy.java
deleted file mode 100644
index d06f04028..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Policy.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2014 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-import org.eclipse.osgi.service.debug.DebugOptions;
-import org.eclipse.osgi.service.debug.DebugOptionsListener;
-
-public class Policy {
- // debug constants
- public static boolean DEBUG_SSH_PROTOCOL = false;
-
- static final DebugOptionsListener DEBUG_OPTIONS_LISTENER = new DebugOptionsListener() {
- public void optionsChanged(DebugOptions options) {
- boolean DEBUG = options.getBooleanOption(SSHPlugin.ID + "/debug", false); //$NON-NLS-1$
- DEBUG_SSH_PROTOCOL = DEBUG && options.getBooleanOption(SSHPlugin.ID + "/ssh_protocol", false); //$NON-NLS-1$
- }
- };
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHMethod.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHMethod.java
deleted file mode 100644
index 6af5f9201..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHMethod.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.IConnectionMethod;
-import org.eclipse.team.internal.ccvs.core.IServerConnection;
-
-public class SSHMethod implements IConnectionMethod {
- /**
- * @see IConnectionMethod#getName
- */
- public String getName() {
- return "extssh";//$NON-NLS-1$
- }
-
- /**
- * @see IConnectionMethod#createConnection
- */
- public IServerConnection createConnection(ICVSRepositoryLocation repositoryRoot, String password) {
- return new SSHServerConnection(repositoryRoot, password);
- }
-
- public void disconnect(ICVSRepositoryLocation location) {
- }
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHPlugin.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHPlugin.java
deleted file mode 100644
index 9bbe51a78..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHPlugin.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2014 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.service.debug.DebugOptions;
-import org.eclipse.osgi.service.debug.DebugOptionsListener;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-
-public class SSHPlugin extends Plugin {
-
- public static String ID = "org.eclipse.team.cvs.ssh"; //$NON-NLS-1$
-
- private static SSHPlugin instance;
-
- private ServiceRegistration debugRegistration;
-
- /**
- * Log the given exception along with the provided message and severity indicator
- */
- public static void log(int severity, String message, Throwable e) {
- getPlugin().getLog().log(new Status(severity, ID, 0, message, e));
- }
-
- /**
- * Constructor for SSHPlugin
- */
- public SSHPlugin() {
- super();
- instance = this;
- }
-
- /**
- * Method getPlugin.
- */
- public static SSHPlugin getPlugin() {
- return instance;
- }
-
- public void start(BundleContext context) throws Exception {
- super.start(context);
-
- // register debug options listener
- Hashtable properties = new Hashtable(2);
- properties.put(DebugOptions.LISTENER_SYMBOLICNAME, ID);
- debugRegistration = context.registerService(DebugOptionsListener.class, Policy.DEBUG_OPTIONS_LISTENER, properties);
- }
-
- public void stop(BundleContext context) throws Exception {
- super.stop(context);
-
- // unregister debug options listener
- debugRegistration.unregister();
- debugRegistration = null;
- }
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHServerConnection.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHServerConnection.java
deleted file mode 100644
index 4ea043f05..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHServerConnection.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.IServerConnection;
-import org.eclipse.team.internal.ccvs.core.connection.CVSAuthenticationException;
-
-public class SSHServerConnection implements IServerConnection {
-
- // command to start remote cvs in server mode
- private static final String INVOKE_SVR_CMD = "cvs server"; //$NON-NLS-1$
-
- private static final int DEFAULT_PORT = 22;
-
- // cvs format for the repository (e.g. :extssh:user@host:/home/cvs/repo)
- private ICVSRepositoryLocation location;
-
- // password for user specified in repository location string
- private String password;
-
- // incoming from remote host
- InputStream inputStream;
-
- // outgoing to remote host
- OutputStream outputStream;
-
- // ssh client
- Client client;
-
- public SSHServerConnection(ICVSRepositoryLocation location, String password) {
- if (password == null) {
- password = ""; //$NON-NLS-1$
- }
- this.location = location;
- this.password = password;
- }
-
- public void close() throws IOException {
- client.disconnect();
- }
- /**
- * Returns the <code>InputStream</code> used to read data from the
- * server.
- */
- public InputStream getInputStream() {
- return inputStream;
- }
- /**
- * Returns the <code>OutputStream</code> used to send data to the
- * server.
- */
- public OutputStream getOutputStream() {
- return outputStream;
- }
-
- /**
- * Opens the connection and invokes cvs in server mode.
- *
- * @see Connection.open()
- */
- public void open(IProgressMonitor monitor) throws IOException, CVSAuthenticationException {
- monitor.subTask(CVSSSHMessages.SSHServerConnection_authenticating);
- monitor.worked(1);
- String hostname = location.getHost();
- String username = location.getUsername();
- int port = location.getPort();
- if (port == ICVSRepositoryLocation.USE_DEFAULT_PORT)
- port = DEFAULT_PORT;
- // create the connection using host, username, and password
- client = new Client(hostname, port, username, password, INVOKE_SVR_CMD, location.getTimeout());
- client.connect(monitor);
- inputStream = client.getInputStream();
- outputStream = client.getOutputStream();
- }
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ServerPacket.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ServerPacket.java
deleted file mode 100644
index d20f827fd..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ServerPacket.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-import java.io.FilterInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-class ServerPacket extends Packet {
- private PacketInputStream pis = null;
-
- private static class PacketInputStream extends FilterInputStream {
- private static int MAX_BUFFER_SIZE = 1024;
-
- private byte[] buffer = new byte[MAX_BUFFER_SIZE];
- private int bufpos = 0;
- private int buflen = 0;
- private int bufrem = 0;
-
- private long remaining = 0;
- private Cipher cipher = null;
-
- private long crc = 0;
- private boolean closed = false;
-
- public PacketInputStream(InputStream in, long length, Cipher cipher) {
- super(in);
-
- this.remaining = length;
- this.cipher = cipher;
- }
-
- public int available() throws IOException {
- if (closed) {
- throw new IOException(CVSSSHMessages.closed);
- }
-
- return (int) Math.min(remaining - 4, Integer.MAX_VALUE);
- }
-
- public void close() throws IOException {
- close(true);
- }
-
- public void close(boolean doCrcCheck) throws IOException {
- if (!closed) {
- try {
- long toRead = doCrcCheck ? remaining - 4 : remaining;
-
- try {
- Misc.skipFully(this, toRead);
- } catch(IOException e) {
- // we tried our best, keep going
- }
-
- if(doCrcCheck) {
- if ((int) crc != Misc.readInt(buffer, bufpos)) {
- throw new IOException(CVSSSHMessages.ServerPacket_crc);
- }
- }
- } finally {
- closed = true;
- }
- }
- }
-
- private void fill() throws IOException {
- if (bufrem > 0) {
- System.arraycopy(buffer, bufpos, buffer, 0, bufrem);
- }
-
- int totalBytesRead = bufrem;
- int read = 0;
- int toRead = (int)Math.min(remaining - totalBytesRead, MAX_BUFFER_SIZE - totalBytesRead);
-
- while (toRead > 0) {
- read = in.read(buffer, totalBytesRead, toRead);
-
- if (read == -1) {
- throw new IOException(CVSSSHMessages.stream);
- }
-
- totalBytesRead += read;
- toRead -= read;
- }
-
- bufpos = 0;
-
- buflen = (totalBytesRead / 8) * 8;
- bufrem = totalBytesRead - buflen;
-
- if (cipher != null) {
- cipher.decipher(buffer, 0, buffer, 0, buflen);
- }
-
- crc = Misc.crc32(buffer, 0, buflen == remaining ? buflen - 4 : buflen, crc);
- }
-
- public int read() throws IOException {
- if (closed) {
- throw new IOException(CVSSSHMessages.closed);
- }
-
- if (remaining - 4 == 0) {
- return -1;
- }
-
- if (bufpos == buflen) {
- fill();
- }
-
- int b = buffer[bufpos] & 0xff;
-
- ++bufpos;
- --remaining;
-
- return b;
- }
-
- public int read(byte b[], int off, int len) throws IOException {
- if (closed) {
- throw new IOException(CVSSSHMessages.closed);
- }
-
- if (remaining - 4 == 0) {
- return -1;
- }
-
- if (bufpos == buflen) {
- fill();
- }
-
- len = Math.min(len, (buflen == remaining + bufpos ? buflen - 4 : buflen) - bufpos);
-
- System.arraycopy(buffer, bufpos, b, off, len);
-
- bufpos += len;
- remaining -= len;
-
- return len;
- }
- }
-public ServerPacket(InputStream is, Cipher cipher) throws java.io.IOException {
- packetLength = Misc.readInt(is);
- paddingLength = 8 - (packetLength % 8);
- pis = new PacketInputStream(is, packetLength + paddingLength, cipher);
- Misc.skipFully(pis, paddingLength);
- packetType = (byte) pis.read();
-}
-public void close(boolean doCrcCheck) throws IOException {
- pis.close(doCrcCheck);
-}
-public InputStream getInputStream() {
- return pis;
-}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/messages.properties b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/messages.properties
deleted file mode 100644
index ea34f1289..000000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/messages.properties
+++ /dev/null
@@ -1,38 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-# String resources for vcm.core.cvs.ssh
-###########################
-
-closed=Closed
-stream=Unexpected end of stream
-
-Client_packetType=unexpected packet type: {0}
-Client_notConnected=Not connected
-Client_cipher=Supported cipher not found
-Client_socketClosed=Connection closed by server
-Client_authenticationFailed=Invalid username, password, host or repository
-Client_socket=Cannot connect to host: {0}
-Client_disconnectDescription=SSH server disconnected: {0}
-Client_noDisconnectDescription=No reason could be obtained.
-Client_sshProtocolVersion=Unsupported SSH protocol version: {0}
-Client_hostIdChanged=The server host key does not match the key previously stored. Either the host key has changed or there is a man-in-the-middle attack. Contact the server administrator
-Client_addedHostKey=Host key for {0} was not found in the list of known hosts stored in {1}. The key is being automatically added to the known_hosts file for you. This key, which is like a personal signature, is used by Eclipse to guarantee that the host it is communicating with is the correct one. If the Eclipse client detects a change in this key you will be notified.
-
-ServerPacket_crc=crc error
-
-SSHServerConnection_authenticating=Authenticating over extssh
-
-Misc_missingMD5=The MD5 encryption algorithm is required but not available: {0}
-
-KnownHosts_8=Error reading host key file
-KnownHosts_9=Error writing host key file
-KnownHosts_10=Error creating host key file

Back to the top