diff -uNr openssh.bak/cipher.c openssh/cipher.c --- openssh.bak/cipher.c Sun Jul 21 13:10:08 2002 +++ openssh/cipher.c Sun Jul 28 00:07:29 2002 @@ -85,7 +85,8 @@ { "rijndael-cbc@lysator.liu.se", SSH_CIPHER_SSH2, 16, 32, EVP_aes_256_cbc }, #endif - + { "null", SSH_CIPHER_SSH2, 8, 0, EVP_enc_null }, + { "rot13", SSH_CIPHER_SSH2, 8, 0, EVP_enc_rot13 }, { NULL, SSH_CIPHER_ILLEGAL, 0, 0, NULL } }; @@ -212,7 +213,15 @@ if (keylen > 8) keylen = 8; } - cc->plaintext = (cipher->number == SSH_CIPHER_NONE); + + /* check for the use of the null cipher and flag as plaintext if so */ + if (cipher->number == SSH_CIPHER_SSH2) { + if ((cipher->evptype == EVP_enc_null) + || (cipher->evptype == EVP_enc_rot13)) + cc->plaintext = 1; + } else { + cc->plaintext = (cipher->number == SSH_CIPHER_NONE); + } if (keylen < cipher->key_len) fatal("cipher_init: key length %d is insufficient for %s.",