###############################################################################
# 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
