diff options
author | beck <> | 1999-09-29 04:37:45 +0000 |
---|---|---|
committer | beck <> | 1999-09-29 04:37:45 +0000 |
commit | de8f24ea083384bb66b32ec105dc4743c5663cdf (patch) | |
tree | 1412176ae62a3cab2cf2b0b92150fcbceaac6092 /src/lib/libcrypto/md2/md2_one.c | |
parent | cb929d29896bcb87c2a97417fbd03e50078fc178 (diff) | |
download | openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.gz openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.bz2 openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.zip |
OpenSSL 0.9.4 merge
Diffstat (limited to 'src/lib/libcrypto/md2/md2_one.c')
-rw-r--r-- | src/lib/libcrypto/md2/md2_one.c | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/lib/libcrypto/md2/md2_one.c b/src/lib/libcrypto/md2/md2_one.c index 513bf62fdb..7157299d95 100644 --- a/src/lib/libcrypto/md2/md2_one.c +++ b/src/lib/libcrypto/md2/md2_one.c | |||
@@ -58,22 +58,35 @@ | |||
58 | 58 | ||
59 | #include <stdio.h> | 59 | #include <stdio.h> |
60 | #include "cryptlib.h" | 60 | #include "cryptlib.h" |
61 | #include "md2.h" | 61 | #include <openssl/md2.h> |
62 | 62 | ||
63 | /* This is a separate file so that #defines in cryptlib.h can | 63 | /* This is a separate file so that #defines in cryptlib.h can |
64 | * map my MD functions to different names */ | 64 | * map my MD functions to different names */ |
65 | 65 | ||
66 | unsigned char *MD2(d, n, md) | 66 | unsigned char *MD2(unsigned char *d, unsigned long n, unsigned char *md) |
67 | unsigned char *d; | ||
68 | unsigned long n; | ||
69 | unsigned char *md; | ||
70 | { | 67 | { |
71 | MD2_CTX c; | 68 | MD2_CTX c; |
72 | static unsigned char m[MD2_DIGEST_LENGTH]; | 69 | static unsigned char m[MD2_DIGEST_LENGTH]; |
73 | 70 | ||
74 | if (md == NULL) md=m; | 71 | if (md == NULL) md=m; |
75 | MD2_Init(&c); | 72 | MD2_Init(&c); |
73 | #ifndef CHARSET_EBCDIC | ||
76 | MD2_Update(&c,d,n); | 74 | MD2_Update(&c,d,n); |
75 | #else | ||
76 | { | ||
77 | char temp[1024]; | ||
78 | unsigned long chunk; | ||
79 | |||
80 | while (n > 0) | ||
81 | { | ||
82 | chunk = (n > sizeof(temp)) ? sizeof(temp) : n; | ||
83 | ebcdic2ascii(temp, d, chunk); | ||
84 | MD2_Update(&c,temp,chunk); | ||
85 | n -= chunk; | ||
86 | d += chunk; | ||
87 | } | ||
88 | } | ||
89 | #endif | ||
77 | MD2_Final(md,&c); | 90 | MD2_Final(md,&c); |
78 | memset(&c,0,sizeof(c)); /* Security consideration */ | 91 | memset(&c,0,sizeof(c)); /* Security consideration */ |
79 | return(md); | 92 | return(md); |