Fix compilation if OpenSSL was configured with "no-rc4"
Tobias Ulmer
tobiasu at tmux.org
Mon Dec 14 11:44:19 AEDT 2015
Fix compilation if OpenSSL was configured with "no-rc4" option.
diff --git a/cipher.c b/cipher.c
index 13847e5..00db675 100644
--- a/cipher.c
+++ b/cipher.c
@@ -90,9 +90,11 @@ static const struct sshcipher ciphers[] = {
SSH_CIPHER_SSH2, 8, 16, 0, 0, 0, 1, EVP_bf_cbc },
{ "cast128-cbc",
SSH_CIPHER_SSH2, 8, 16, 0, 0, 0, 1, EVP_cast5_cbc },
+#ifndef OPENSSL_NO_RC4
{ "arcfour", SSH_CIPHER_SSH2, 8, 16, 0, 0, 0, 0, EVP_rc4 },
{ "arcfour128", SSH_CIPHER_SSH2, 8, 16, 0, 0, 1536, 0, EVP_rc4 },
{ "arcfour256", SSH_CIPHER_SSH2, 8, 32, 0, 0, 1536, 0, EVP_rc4 },
+#endif
{ "aes128-cbc", SSH_CIPHER_SSH2, 16, 16, 0, 0, 0, 1, EVP_aes_128_cbc },
{ "aes192-cbc", SSH_CIPHER_SSH2, 16, 24, 0, 0, 0, 1, EVP_aes_192_cbc },
{ "aes256-cbc", SSH_CIPHER_SSH2, 16, 32, 0, 0, 0, 1, EVP_aes_256_cbc },
@@ -617,7 +619,7 @@ cipher_set_keyiv(struct sshcipher_ctx *cc, const u_char *iv)
return 0;
}
-#ifdef WITH_OPENSSL
+#if defined(WITH_OPENSSL) && !defined(OPENSSL_NO_RC4)
#define EVP_X_STATE(evp) (evp).cipher_data
#define EVP_X_STATE_LEN(evp) (evp).cipher->ctx_size
#endif
@@ -625,7 +627,7 @@ cipher_set_keyiv(struct sshcipher_ctx *cc, const u_char *iv)
int
cipher_get_keycontext(const struct sshcipher_ctx *cc, u_char *dat)
{
-#ifdef WITH_OPENSSL
+#if defined(WITH_OPENSSL) && !defined(OPENSSL_NO_RC4)
const struct sshcipher *c = cc->cipher;
int plen = 0;
@@ -644,7 +646,7 @@ cipher_get_keycontext(const struct sshcipher_ctx *cc, u_char *dat)
void
cipher_set_keycontext(struct sshcipher_ctx *cc, const u_char *dat)
{
-#ifdef WITH_OPENSSL
+#if defined(WITH_OPENSSL) && !defined(OPENSSL_NO_RC4)
const struct sshcipher *c = cc->cipher;
int plen;
More information about the openssh-unix-dev
mailing list