summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/des/cbc3_enc.c
diff options
context:
space:
mode:
authorbeck <>2000-03-19 11:13:58 +0000
committerbeck <>2000-03-19 11:13:58 +0000
commit796d609550df3a33fc11468741c5d2f6d3df4c11 (patch)
tree6c6d539061caa20372dad0ac4ddb1dfae2fbe7fe /src/lib/libcrypto/des/cbc3_enc.c
parent5be3114c1fd7e0dfea1e38d3abb4cbba75244419 (diff)
downloadopenbsd-796d609550df3a33fc11468741c5d2f6d3df4c11.tar.gz
openbsd-796d609550df3a33fc11468741c5d2f6d3df4c11.tar.bz2
openbsd-796d609550df3a33fc11468741c5d2f6d3df4c11.zip
OpenSSL 0.9.5 merge
*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2 if you are using the ssl26 packages for ssh and other things to work you will need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs
Diffstat (limited to 'src/lib/libcrypto/des/cbc3_enc.c')
-rw-r--r--src/lib/libcrypto/des/cbc3_enc.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/lib/libcrypto/des/cbc3_enc.c b/src/lib/libcrypto/des/cbc3_enc.c
index 3863a676d4..527e74f3de 100644
--- a/src/lib/libcrypto/des/cbc3_enc.c
+++ b/src/lib/libcrypto/des/cbc3_enc.c
@@ -58,7 +58,7 @@
58 58
59#include "des_locl.h" 59#include "des_locl.h"
60 60
61/* HAS BUGS? DON'T USE - this is only present for use in des.c */ 61/* HAS BUGS! DON'T USE - this is only present for use in des.c */
62void des_3cbc_encrypt(des_cblock *input, des_cblock *output, long length, 62void des_3cbc_encrypt(des_cblock *input, des_cblock *output, long length,
63 des_key_schedule ks1, des_key_schedule ks2, des_cblock *iv1, 63 des_key_schedule ks1, des_key_schedule ks2, des_cblock *iv1,
64 des_cblock *iv2, int enc) 64 des_cblock *iv2, int enc)
@@ -69,11 +69,14 @@ void des_3cbc_encrypt(des_cblock *input, des_cblock *output, long length,
69 69
70 if (enc == DES_ENCRYPT) 70 if (enc == DES_ENCRYPT)
71 { 71 {
72 des_cbc_encrypt(input,output,length,ks1,iv1,enc); 72 des_cbc_encrypt((unsigned char*)input,
73 (unsigned char*)output,length,ks1,iv1,enc);
73 if (length >= sizeof(des_cblock)) 74 if (length >= sizeof(des_cblock))
74 memcpy(niv1,output[off],sizeof(des_cblock)); 75 memcpy(niv1,output[off],sizeof(des_cblock));
75 des_cbc_encrypt(output,output,l8,ks2,iv1,!enc); 76 des_cbc_encrypt((unsigned char*)output,
76 des_cbc_encrypt(output,output,l8,ks1,iv2, enc); 77 (unsigned char*)output,l8,ks2,iv1,!enc);
78 des_cbc_encrypt((unsigned char*)output,
79 (unsigned char*)output,l8,ks1,iv2,enc);
77 if (length >= sizeof(des_cblock)) 80 if (length >= sizeof(des_cblock))
78 memcpy(niv2,output[off],sizeof(des_cblock)); 81 memcpy(niv2,output[off],sizeof(des_cblock));
79 } 82 }
@@ -81,11 +84,14 @@ void des_3cbc_encrypt(des_cblock *input, des_cblock *output, long length,
81 { 84 {
82 if (length >= sizeof(des_cblock)) 85 if (length >= sizeof(des_cblock))
83 memcpy(niv2,input[off],sizeof(des_cblock)); 86 memcpy(niv2,input[off],sizeof(des_cblock));
84 des_cbc_encrypt(input,output,l8,ks1,iv2,enc); 87 des_cbc_encrypt((unsigned char*)input,
85 des_cbc_encrypt(output,output,l8,ks2,iv1,!enc); 88 (unsigned char*)output,l8,ks1,iv2,enc);
89 des_cbc_encrypt((unsigned char*)output,
90 (unsigned char*)output,l8,ks2,iv1,!enc);
86 if (length >= sizeof(des_cblock)) 91 if (length >= sizeof(des_cblock))
87 memcpy(niv1,output[off],sizeof(des_cblock)); 92 memcpy(niv1,output[off],sizeof(des_cblock));
88 des_cbc_encrypt(output,output,length,ks1,iv1, enc); 93 des_cbc_encrypt((unsigned char*)output,
94 (unsigned char*)output,length,ks1,iv1,enc);
89 } 95 }
90 memcpy(*iv1,niv1,sizeof(des_cblock)); 96 memcpy(*iv1,niv1,sizeof(des_cblock));
91 memcpy(*iv2,niv2,sizeof(des_cblock)); 97 memcpy(*iv2,niv2,sizeof(des_cblock));