diff options
Diffstat (limited to 'src/lib/libssl/src/crypto/evp/bio_md.c')
-rw-r--r-- | src/lib/libssl/src/crypto/evp/bio_md.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/lib/libssl/src/crypto/evp/bio_md.c b/src/lib/libssl/src/crypto/evp/bio_md.c index 2373c247d8..c632dfb202 100644 --- a/src/lib/libssl/src/crypto/evp/bio_md.c +++ b/src/lib/libssl/src/crypto/evp/bio_md.c | |||
@@ -96,7 +96,7 @@ static int md_new(BIO *bi) | |||
96 | { | 96 | { |
97 | EVP_MD_CTX *ctx; | 97 | EVP_MD_CTX *ctx; |
98 | 98 | ||
99 | ctx=(EVP_MD_CTX *)OPENSSL_malloc(sizeof(EVP_MD_CTX)); | 99 | ctx=EVP_MD_CTX_create(); |
100 | if (ctx == NULL) return(0); | 100 | if (ctx == NULL) return(0); |
101 | 101 | ||
102 | bi->init=0; | 102 | bi->init=0; |
@@ -108,7 +108,7 @@ static int md_new(BIO *bi) | |||
108 | static int md_free(BIO *a) | 108 | static int md_free(BIO *a) |
109 | { | 109 | { |
110 | if (a == NULL) return(0); | 110 | if (a == NULL) return(0); |
111 | OPENSSL_free(a->ptr); | 111 | EVP_MD_CTX_destroy(a->ptr); |
112 | a->ptr=NULL; | 112 | a->ptr=NULL; |
113 | a->init=0; | 113 | a->init=0; |
114 | a->flags=0; | 114 | a->flags=0; |
@@ -121,7 +121,7 @@ static int md_read(BIO *b, char *out, int outl) | |||
121 | EVP_MD_CTX *ctx; | 121 | EVP_MD_CTX *ctx; |
122 | 122 | ||
123 | if (out == NULL) return(0); | 123 | if (out == NULL) return(0); |
124 | ctx=(EVP_MD_CTX *)b->ptr; | 124 | ctx=b->ptr; |
125 | 125 | ||
126 | if ((ctx == NULL) || (b->next_bio == NULL)) return(0); | 126 | if ((ctx == NULL) || (b->next_bio == NULL)) return(0); |
127 | 127 | ||
@@ -145,7 +145,7 @@ static int md_write(BIO *b, const char *in, int inl) | |||
145 | EVP_MD_CTX *ctx; | 145 | EVP_MD_CTX *ctx; |
146 | 146 | ||
147 | if ((in == NULL) || (inl <= 0)) return(0); | 147 | if ((in == NULL) || (inl <= 0)) return(0); |
148 | ctx=(EVP_MD_CTX *)b->ptr; | 148 | ctx=b->ptr; |
149 | 149 | ||
150 | if ((ctx != NULL) && (b->next_bio != NULL)) | 150 | if ((ctx != NULL) && (b->next_bio != NULL)) |
151 | ret=BIO_write(b->next_bio,in,inl); | 151 | ret=BIO_write(b->next_bio,in,inl); |
@@ -170,13 +170,13 @@ static long md_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
170 | long ret=1; | 170 | long ret=1; |
171 | BIO *dbio; | 171 | BIO *dbio; |
172 | 172 | ||
173 | ctx=(EVP_MD_CTX *)b->ptr; | 173 | ctx=b->ptr; |
174 | 174 | ||
175 | switch (cmd) | 175 | switch (cmd) |
176 | { | 176 | { |
177 | case BIO_CTRL_RESET: | 177 | case BIO_CTRL_RESET: |
178 | if (b->init) | 178 | if (b->init) |
179 | EVP_DigestInit(ctx,ctx->digest); | 179 | EVP_DigestInit_ex(ctx,ctx->digest, NULL); |
180 | else | 180 | else |
181 | ret=0; | 181 | ret=0; |
182 | ret=BIO_ctrl(b->next_bio,cmd,num,ptr); | 182 | ret=BIO_ctrl(b->next_bio,cmd,num,ptr); |
@@ -184,7 +184,7 @@ static long md_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
184 | case BIO_C_GET_MD: | 184 | case BIO_C_GET_MD: |
185 | if (b->init) | 185 | if (b->init) |
186 | { | 186 | { |
187 | ppmd=(const EVP_MD **)ptr; | 187 | ppmd=ptr; |
188 | *ppmd=ctx->digest; | 188 | *ppmd=ctx->digest; |
189 | } | 189 | } |
190 | else | 190 | else |
@@ -193,7 +193,7 @@ static long md_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
193 | case BIO_C_GET_MD_CTX: | 193 | case BIO_C_GET_MD_CTX: |
194 | if (b->init) | 194 | if (b->init) |
195 | { | 195 | { |
196 | pctx=(EVP_MD_CTX **)ptr; | 196 | pctx=ptr; |
197 | *pctx=ctx; | 197 | *pctx=ctx; |
198 | } | 198 | } |
199 | else | 199 | else |
@@ -206,14 +206,14 @@ static long md_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
206 | break; | 206 | break; |
207 | 207 | ||
208 | case BIO_C_SET_MD: | 208 | case BIO_C_SET_MD: |
209 | md=(EVP_MD *)ptr; | 209 | md=ptr; |
210 | EVP_DigestInit(ctx,md); | 210 | EVP_DigestInit_ex(ctx,md, NULL); |
211 | b->init=1; | 211 | b->init=1; |
212 | break; | 212 | break; |
213 | case BIO_CTRL_DUP: | 213 | case BIO_CTRL_DUP: |
214 | dbio=(BIO *)ptr; | 214 | dbio=ptr; |
215 | dctx=(EVP_MD_CTX *)dbio->ptr; | 215 | dctx=dbio->ptr; |
216 | memcpy(dctx,ctx,sizeof(ctx)); | 216 | EVP_MD_CTX_copy_ex(dctx,ctx); |
217 | b->init=1; | 217 | b->init=1; |
218 | break; | 218 | break; |
219 | default: | 219 | default: |
@@ -243,10 +243,10 @@ static int md_gets(BIO *bp, char *buf, int size) | |||
243 | unsigned int ret; | 243 | unsigned int ret; |
244 | 244 | ||
245 | 245 | ||
246 | ctx=(EVP_MD_CTX *)bp->ptr; | 246 | ctx=bp->ptr; |
247 | if (size < ctx->digest->md_size) | 247 | if (size < ctx->digest->md_size) |
248 | return(0); | 248 | return(0); |
249 | EVP_DigestFinal(ctx,(unsigned char *)buf,&ret); | 249 | EVP_DigestFinal_ex(ctx,(unsigned char *)buf,&ret); |
250 | return((int)ret); | 250 | return((int)ret); |
251 | } | 251 | } |
252 | 252 | ||