summaryrefslogtreecommitdiff
path: root/cipher.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2000-03-09 21:27:49 +1100
committerDamien Miller <djm@mindrot.org>2000-03-09 21:27:49 +1100
commit98c7ad60ec5725d91da9f9f6d26cd9fe477398c0 (patch)
tree104c3e3474be8e308d05e22d79715c833c6cf837 /cipher.c
parent1a07ebd4d8d39c6814bbd84c1aec4ebf2bd005a2 (diff)
- OpenBSD CVS updates to v1.2.3
[ssh.h atomicio.c] - int atomicio -> ssize_t (for alpha). ok deraadt@ [auth-rsa.c] - delay MD5 computation until client sends response, free() early, cleanup. [cipher.c] - void* -> unsigned char*, ok niels@ [hostfile.c] - remove unused variable 'len'. fix comments. - remove unused variable [log-client.c log-server.c] - rename a cpp symbol, to avoid param.h collision [packet.c] - missing xfree() - getsockname() requires initialized tolen; andy@guildsoftware.com - use getpeername() in packet_connection_is_on_socket(), fixes sshd -i; from Holger.Trapp@Informatik.TU-Chemnitz.DE [pty.c pty.h] - register cleanup for pty earlier. move code for pty-owner handling to pty.c ok provos@, dugsong@ [readconf.c] - turn off x11-fwd for the client, too. [rsa.c] - PKCS#1 padding [scp.c] - allow '.' in usernames; from jedgar@fxp.org [servconf.c] - typo: ignore_user_known_hosts int->flag; naddy@mips.rhein-neckar.de - sync with sshd_config [ssh-keygen.c] - enable ssh-keygen -l -f ~/.ssh/known_hosts, ok deraadt@ [ssh.1] - Change invalid 'CHAT' loglevel to 'VERBOSE' [ssh.c] - suppress AAAA query host when '-4' is used; from shin@nd.net.fujitsu.co.jp - turn off x11-fwd for the client, too. [sshconnect.c] - missing xfree() - retry rresvport_af(), too. from sumikawa@ebina.hitachi.co.jp. - read error vs. "Connection closed by remote host" [sshd.8] - ie. -> i.e., - do not link to a commercial page.. - sync with sshd_config [sshd.c] - no need for poll.h; from bright@wintelcom.net - log with level log() not fatal() if peer behaves badly. - don't panic if client behaves strange. ok deraadt@ - make no-port-forwarding for RSA keys deny both -L and -R style fwding - delay close() of pty until the pty has been chowned back to root - oops, fix comment, too. - missing xfree() - move XAUTHORITY to subdir. ok dugsong@. fixes debian bug #57907, too. (http://cgi.debian.org/cgi-bin/bugreport.cgi?archive=no&bug=57907) - register cleanup for pty earlier. move code for pty-owner handling to pty.c ok provos@, dugsong@ - create x11 cookie file - fix pr 1113, fclose() -> pclose(), todo: remote popen() - version 1.2.3 - Cleaned up
Diffstat (limited to 'cipher.c')
-rw-r--r--cipher.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/cipher.c b/cipher.c
index 5589c24fa..c55c7dcbd 100644
--- a/cipher.c
+++ b/cipher.c
@@ -12,7 +12,7 @@
12 */ 12 */
13 13
14#include "includes.h" 14#include "includes.h"
15RCSID("$Id: cipher.c,v 1.12 2000/01/22 23:32:03 damien Exp $"); 15RCSID("$Id: cipher.c,v 1.13 2000/03/09 10:27:50 damien Exp $");
16 16
17#include "ssh.h" 17#include "ssh.h"
18#include "cipher.h" 18#include "cipher.h"
@@ -41,7 +41,7 @@ void
41SSH_3CBC_ENCRYPT(des_key_schedule ks1, 41SSH_3CBC_ENCRYPT(des_key_schedule ks1,
42 des_key_schedule ks2, des_cblock * iv2, 42 des_key_schedule ks2, des_cblock * iv2,
43 des_key_schedule ks3, des_cblock * iv3, 43 des_key_schedule ks3, des_cblock * iv3,
44 void *dest, void *src, 44 unsigned char *dest, unsigned char *src,
45 unsigned int len) 45 unsigned int len)
46{ 46{
47 des_cblock iv1; 47 des_cblock iv1;
@@ -49,20 +49,20 @@ SSH_3CBC_ENCRYPT(des_key_schedule ks1,
49 memcpy(&iv1, iv2, 8); 49 memcpy(&iv1, iv2, 8);
50 50
51 des_cbc_encrypt(src, dest, len, ks1, &iv1, DES_ENCRYPT); 51 des_cbc_encrypt(src, dest, len, ks1, &iv1, DES_ENCRYPT);
52 memcpy(&iv1, (char *)dest + len - 8, 8); 52 memcpy(&iv1, dest + len - 8, 8);
53 53
54 des_cbc_encrypt(dest, dest, len, ks2, iv2, DES_DECRYPT); 54 des_cbc_encrypt(dest, dest, len, ks2, iv2, DES_DECRYPT);
55 memcpy(iv2, &iv1, 8); /* Note how iv1 == iv2 on entry and exit. */ 55 memcpy(iv2, &iv1, 8); /* Note how iv1 == iv2 on entry and exit. */
56 56
57 des_cbc_encrypt(dest, dest, len, ks3, iv3, DES_ENCRYPT); 57 des_cbc_encrypt(dest, dest, len, ks3, iv3, DES_ENCRYPT);
58 memcpy(iv3, (char *)dest + len - 8, 8); 58 memcpy(iv3, dest + len - 8, 8);
59} 59}
60 60
61void 61void
62SSH_3CBC_DECRYPT(des_key_schedule ks1, 62SSH_3CBC_DECRYPT(des_key_schedule ks1,
63 des_key_schedule ks2, des_cblock * iv2, 63 des_key_schedule ks2, des_cblock * iv2,
64 des_key_schedule ks3, des_cblock * iv3, 64 des_key_schedule ks3, des_cblock * iv3,
65 void *dest, void *src, 65 unsigned char *dest, unsigned char *src,
66 unsigned int len) 66 unsigned int len)
67{ 67{
68 des_cblock iv1; 68 des_cblock iv1;
@@ -70,10 +70,10 @@ SSH_3CBC_DECRYPT(des_key_schedule ks1,
70 memcpy(&iv1, iv2, 8); 70 memcpy(&iv1, iv2, 8);
71 71
72 des_cbc_encrypt(src, dest, len, ks3, iv3, DES_DECRYPT); 72 des_cbc_encrypt(src, dest, len, ks3, iv3, DES_DECRYPT);
73 memcpy(iv3, (char *)src + len - 8, 8); 73 memcpy(iv3, src + len - 8, 8);
74 74
75 des_cbc_encrypt(dest, dest, len, ks2, iv2, DES_ENCRYPT); 75 des_cbc_encrypt(dest, dest, len, ks2, iv2, DES_ENCRYPT);
76 memcpy(iv2, (char *)dest + len - 8, 8); 76 memcpy(iv2, dest + len - 8, 8);
77 77
78 des_cbc_encrypt(dest, dest, len, ks1, &iv1, DES_DECRYPT); 78 des_cbc_encrypt(dest, dest, len, ks1, &iv1, DES_DECRYPT);
79 /* memcpy(&iv1, iv2, 8); */ 79 /* memcpy(&iv1, iv2, 8); */
@@ -273,7 +273,7 @@ cipher_encrypt(CipherContext *context, unsigned char *dest,
273 SSH_3CBC_ENCRYPT(context->u.des3.key1, 273 SSH_3CBC_ENCRYPT(context->u.des3.key1,
274 context->u.des3.key2, &context->u.des3.iv2, 274 context->u.des3.key2, &context->u.des3.iv2,
275 context->u.des3.key3, &context->u.des3.iv3, 275 context->u.des3.key3, &context->u.des3.iv3,
276 dest, (void *) src, len); 276 dest, (unsigned char *) src, len);
277 break; 277 break;
278 278
279 case SSH_CIPHER_BLOWFISH: 279 case SSH_CIPHER_BLOWFISH:
@@ -308,7 +308,7 @@ cipher_decrypt(CipherContext *context, unsigned char *dest,
308 SSH_3CBC_DECRYPT(context->u.des3.key1, 308 SSH_3CBC_DECRYPT(context->u.des3.key1,
309 context->u.des3.key2, &context->u.des3.iv2, 309 context->u.des3.key2, &context->u.des3.iv2,
310 context->u.des3.key3, &context->u.des3.iv3, 310 context->u.des3.key3, &context->u.des3.iv3,
311 dest, (void *) src, len); 311 dest, (unsigned char *) src, len);
312 break; 312 break;
313 313
314 case SSH_CIPHER_BLOWFISH: 314 case SSH_CIPHER_BLOWFISH: