X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fdes%2Fncbc_enc.c;h=e0e67a417d5fbb27a779574560ce0bed7d8f7e3f;hb=cfa3747ba95ed154caedf99f847082c72f867a27;hp=b79d965237768d2ff6005a1f8b7082d0c8b0c481;hpb=eda1f21f1af8b6f77327e7b37573af9c1ba73726;p=oweals%2Fopenssl.git diff --git a/crypto/des/ncbc_enc.c b/crypto/des/ncbc_enc.c index b79d965237..e0e67a417d 100644 --- a/crypto/des/ncbc_enc.c +++ b/crypto/des/ncbc_enc.c @@ -1,5 +1,5 @@ /* crypto/des/ncbc_enc.c */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written @@ -58,24 +58,21 @@ #include "des_locl.h" -void des_ncbc_encrypt(input, output, length, schedule, ivec, enc) -des_cblock (*input); -des_cblock (*output); -long length; -des_key_schedule schedule; -des_cblock (*ivec); -int enc; +#ifdef CBC_ENC_C__DONT_UPDATE_IV +void des_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + des_key_schedule schedule, des_cblock *ivec, int enc) +#else +void des_ncbc_encrypt(const unsigned char *in, unsigned char *out, long length, + des_key_schedule schedule, des_cblock *ivec, int enc) +#endif { register DES_LONG tin0,tin1; register DES_LONG tout0,tout1,xor0,xor1; - register unsigned char *in,*out; register long l=length; DES_LONG tin[2]; unsigned char *iv; - in=(unsigned char *)input; - out=(unsigned char *)output; - iv=(unsigned char *)ivec; + iv = &(*ivec)[0]; if (enc) { @@ -100,9 +97,11 @@ int enc; tout0=tin[0]; l2c(tout0,out); tout1=tin[1]; l2c(tout1,out); } - iv=(unsigned char *)ivec; +#ifndef CBC_ENC_C__DONT_UPDATE_IV + iv = &(*ivec)[0]; l2c(tout0,iv); l2c(tout1,iv); +#endif } else { @@ -128,14 +127,17 @@ int enc; tout0=tin[0]^xor0; tout1=tin[1]^xor1; l2cn(tout0,tout1,out,l+8); +#ifndef CBC_ENC_C__DONT_UPDATE_IV xor0=tin0; xor1=tin1; +#endif } - iv=(unsigned char *)ivec; +#ifndef CBC_ENC_C__DONT_UPDATE_IV + iv = &(*ivec)[0]; l2c(xor0,iv); l2c(xor1,iv); +#endif } tin0=tin1=tout0=tout1=xor0=xor1=0; tin[0]=tin[1]=0; } -