diff options
Diffstat (limited to 'src/lib/libcrypto/x509/x509_lu.c')
-rw-r--r-- | src/lib/libcrypto/x509/x509_lu.c | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/src/lib/libcrypto/x509/x509_lu.c b/src/lib/libcrypto/x509/x509_lu.c index cd2cfb6d85..b780dae5e2 100644 --- a/src/lib/libcrypto/x509/x509_lu.c +++ b/src/lib/libcrypto/x509/x509_lu.c | |||
@@ -187,8 +187,10 @@ X509_STORE *X509_STORE_new(void) | |||
187 | ret->verify=0; | 187 | ret->verify=0; |
188 | ret->verify_cb=0; | 188 | ret->verify_cb=0; |
189 | 189 | ||
190 | if ((ret->param = X509_VERIFY_PARAM_new()) == NULL) | 190 | ret->purpose = 0; |
191 | return NULL; | 191 | ret->trust = 0; |
192 | |||
193 | ret->flags = 0; | ||
192 | 194 | ||
193 | ret->get_issuer = 0; | 195 | ret->get_issuer = 0; |
194 | ret->check_issued = 0; | 196 | ret->check_issued = 0; |
@@ -200,6 +202,7 @@ X509_STORE *X509_STORE_new(void) | |||
200 | 202 | ||
201 | CRYPTO_new_ex_data(CRYPTO_EX_INDEX_X509_STORE, ret, &ret->ex_data); | 203 | CRYPTO_new_ex_data(CRYPTO_EX_INDEX_X509_STORE, ret, &ret->ex_data); |
202 | ret->references=1; | 204 | ret->references=1; |
205 | ret->depth=0; | ||
203 | return ret; | 206 | return ret; |
204 | } | 207 | } |
205 | 208 | ||
@@ -241,8 +244,6 @@ void X509_STORE_free(X509_STORE *vfy) | |||
241 | sk_X509_OBJECT_pop_free(vfy->objs, cleanup); | 244 | sk_X509_OBJECT_pop_free(vfy->objs, cleanup); |
242 | 245 | ||
243 | CRYPTO_free_ex_data(CRYPTO_EX_INDEX_X509_STORE, vfy, &vfy->ex_data); | 246 | CRYPTO_free_ex_data(CRYPTO_EX_INDEX_X509_STORE, vfy, &vfy->ex_data); |
244 | if (vfy->param) | ||
245 | X509_VERIFY_PARAM_free(vfy->param); | ||
246 | OPENSSL_free(vfy); | 247 | OPENSSL_free(vfy); |
247 | } | 248 | } |
248 | 249 | ||
@@ -497,7 +498,7 @@ int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x) | |||
497 | if (ok == X509_LU_RETRY) | 498 | if (ok == X509_LU_RETRY) |
498 | { | 499 | { |
499 | X509_OBJECT_free_contents(&obj); | 500 | X509_OBJECT_free_contents(&obj); |
500 | X509err(X509_F_X509_STORE_CTX_GET1_ISSUER,X509_R_SHOULD_RETRY); | 501 | X509err(X509_F_X509_VERIFY_CERT,X509_R_SHOULD_RETRY); |
501 | return -1; | 502 | return -1; |
502 | } | 503 | } |
503 | else if (ok != X509_LU_FAIL) | 504 | else if (ok != X509_LU_FAIL) |
@@ -537,30 +538,19 @@ int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x) | |||
537 | return 0; | 538 | return 0; |
538 | } | 539 | } |
539 | 540 | ||
540 | int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags) | 541 | void X509_STORE_set_flags(X509_STORE *ctx, long flags) |
541 | { | 542 | { |
542 | return X509_VERIFY_PARAM_set_flags(ctx->param, flags); | 543 | ctx->flags |= flags; |
543 | } | ||
544 | |||
545 | int X509_STORE_set_depth(X509_STORE *ctx, int depth) | ||
546 | { | ||
547 | X509_VERIFY_PARAM_set_depth(ctx->param, depth); | ||
548 | return 1; | ||
549 | } | 544 | } |
550 | 545 | ||
551 | int X509_STORE_set_purpose(X509_STORE *ctx, int purpose) | 546 | int X509_STORE_set_purpose(X509_STORE *ctx, int purpose) |
552 | { | 547 | { |
553 | return X509_VERIFY_PARAM_set_purpose(ctx->param, purpose); | 548 | return X509_PURPOSE_set(&ctx->purpose, purpose); |
554 | } | 549 | } |
555 | 550 | ||
556 | int X509_STORE_set_trust(X509_STORE *ctx, int trust) | 551 | int X509_STORE_set_trust(X509_STORE *ctx, int trust) |
557 | { | 552 | { |
558 | return X509_VERIFY_PARAM_set_trust(ctx->param, trust); | 553 | return X509_TRUST_set(&ctx->trust, trust); |
559 | } | ||
560 | |||
561 | int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *param) | ||
562 | { | ||
563 | return X509_VERIFY_PARAM_set1(ctx->param, param); | ||
564 | } | 554 | } |
565 | 555 | ||
566 | IMPLEMENT_STACK_OF(X509_LOOKUP) | 556 | IMPLEMENT_STACK_OF(X509_LOOKUP) |