version 1.3.2.1, 2000/09/01 18:23:24 |
version 1.3.2.2, 2000/11/08 21:31:29 |
|
|
* Author: Tatu Ylonen <ylo@cs.hut.fi> |
* Author: Tatu Ylonen <ylo@cs.hut.fi> |
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
* All rights reserved |
* All rights reserved |
* Created: Sat Mar 18 22:15:47 1995 ylo |
|
* Code to connect to a remote host, and to perform the client side of the |
* Code to connect to a remote host, and to perform the client side of the |
* login (authentication) dialog. |
* login (authentication) dialog. |
* |
* |
|
* As far as I am concerned, the code I have written for this software |
|
* can be used freely for any purpose. Any derived versions of this |
|
* software must be clearly marked as such, and if the derived work is |
|
* incompatible with the protocol description in the RFC file, it must be |
|
* called by a name other than "ssh" or "Secure Shell". |
*/ |
*/ |
|
|
#include "includes.h" |
#include "includes.h" |
|
|
#include "ssh.h" |
#include "ssh.h" |
#include "buffer.h" |
#include "buffer.h" |
#include "packet.h" |
#include "packet.h" |
#include "cipher.h" |
|
#include "mpaux.h" |
#include "mpaux.h" |
#include "uidswap.h" |
#include "uidswap.h" |
#include "readconf.h" |
#include "readconf.h" |
|
|
|
|
if (options.cipher == SSH_CIPHER_ILLEGAL) { |
if (options.cipher == SSH_CIPHER_ILLEGAL) { |
log("No valid SSH1 cipher, using %.100s instead.", |
log("No valid SSH1 cipher, using %.100s instead.", |
cipher_name(SSH_FALLBACK_CIPHER)); |
cipher_name(ssh_cipher_default)); |
options.cipher = SSH_FALLBACK_CIPHER; |
options.cipher = ssh_cipher_default; |
} else if (options.cipher == SSH_CIPHER_NOT_SET) { |
} else if (options.cipher == SSH_CIPHER_NOT_SET) { |
if (cipher_mask1() & supported_ciphers & (1 << ssh_cipher_default)) |
if (cipher_mask_ssh1(1) & supported_ciphers & (1 << ssh_cipher_default)) |
options.cipher = ssh_cipher_default; |
options.cipher = ssh_cipher_default; |
else { |
|
debug("Cipher %s not supported, using %.100s instead.", |
|
cipher_name(ssh_cipher_default), |
|
cipher_name(SSH_FALLBACK_CIPHER)); |
|
options.cipher = SSH_FALLBACK_CIPHER; |
|
} |
|
} |
} |
/* Check that the selected cipher is supported. */ |
/* Check that the selected cipher is supported. */ |
if (!(supported_ciphers & (1 << options.cipher))) |
if (!(supported_ciphers & (1 << options.cipher))) |