diff options
author | jsing <> | 2018-02-22 17:15:09 +0000 |
---|---|---|
committer | jsing <> | 2018-02-22 17:15:09 +0000 |
commit | 025b01ee745f943fc9de80a0e0f9499ce3a5c982 (patch) | |
tree | 3dfd3f9f9a34636ba6918eb481091ea70b48abbf | |
parent | dc18b99a087245f0dff9151ef1568c40cdbc5f5b (diff) | |
download | openbsd-025b01ee745f943fc9de80a0e0f9499ce3a5c982.tar.gz openbsd-025b01ee745f943fc9de80a0e0f9499ce3a5c982.tar.bz2 openbsd-025b01ee745f943fc9de80a0e0f9499ce3a5c982.zip |
Provide X509_STORE_up_ref().
-rw-r--r-- | src/lib/libcrypto/Symbols.list | 1 | ||||
-rw-r--r-- | src/lib/libcrypto/x509/x509_lu.c | 9 | ||||
-rw-r--r-- | src/lib/libcrypto/x509/x509_vfy.h | 8 |
3 files changed, 14 insertions, 4 deletions
diff --git a/src/lib/libcrypto/Symbols.list b/src/lib/libcrypto/Symbols.list index 46cb15fc43..9396056f6e 100644 --- a/src/lib/libcrypto/Symbols.list +++ b/src/lib/libcrypto/Symbols.list | |||
@@ -2886,6 +2886,7 @@ X509_STORE_set_flags | |||
2886 | X509_STORE_set_purpose | 2886 | X509_STORE_set_purpose |
2887 | X509_STORE_set_trust | 2887 | X509_STORE_set_trust |
2888 | X509_STORE_set_verify_cb | 2888 | X509_STORE_set_verify_cb |
2889 | X509_STORE_up_ref | ||
2889 | X509_TRUST_add | 2890 | X509_TRUST_add |
2890 | X509_TRUST_cleanup | 2891 | X509_TRUST_cleanup |
2891 | X509_TRUST_get0 | 2892 | X509_TRUST_get0 |
diff --git a/src/lib/libcrypto/x509/x509_lu.c b/src/lib/libcrypto/x509/x509_lu.c index 6cde29fefc..175b8b6c05 100644 --- a/src/lib/libcrypto/x509/x509_lu.c +++ b/src/lib/libcrypto/x509/x509_lu.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x509_lu.c,v 1.23 2017/01/29 17:49:23 beck Exp $ */ | 1 | /* $OpenBSD: x509_lu.c,v 1.24 2018/02/22 17:15:09 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -268,6 +268,13 @@ X509_STORE_free(X509_STORE *vfy) | |||
268 | free(vfy); | 268 | free(vfy); |
269 | } | 269 | } |
270 | 270 | ||
271 | int | ||
272 | X509_STORE_up_ref(X509_STORE *x) | ||
273 | { | ||
274 | int refs = CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_STORE); | ||
275 | return (refs > 1) ? 1 : 0; | ||
276 | } | ||
277 | |||
271 | X509_LOOKUP * | 278 | X509_LOOKUP * |
272 | X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m) | 279 | X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m) |
273 | { | 280 | { |
diff --git a/src/lib/libcrypto/x509/x509_vfy.h b/src/lib/libcrypto/x509/x509_vfy.h index 47a1ec6792..57c19acd18 100644 --- a/src/lib/libcrypto/x509/x509_vfy.h +++ b/src/lib/libcrypto/x509/x509_vfy.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x509_vfy.h,v 1.21 2018/02/22 17:11:30 jsing Exp $ */ | 1 | /* $OpenBSD: x509_vfy.h,v 1.22 2018/02/22 17:15:09 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -426,11 +426,13 @@ X509_OBJECT *X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h,int type,X | |||
426 | X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, X509_OBJECT *x); | 426 | X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, X509_OBJECT *x); |
427 | void X509_OBJECT_up_ref_count(X509_OBJECT *a); | 427 | void X509_OBJECT_up_ref_count(X509_OBJECT *a); |
428 | void X509_OBJECT_free_contents(X509_OBJECT *a); | 428 | void X509_OBJECT_free_contents(X509_OBJECT *a); |
429 | X509_STORE *X509_STORE_new(void ); | ||
430 | void X509_STORE_free(X509_STORE *v); | ||
431 | 429 | ||
430 | X509_STORE *X509_STORE_new(void); | ||
431 | void X509_STORE_free(X509_STORE *v); | ||
432 | int X509_STORE_up_ref(X509_STORE *x); | ||
432 | STACK_OF(X509)* X509_STORE_get1_certs(X509_STORE_CTX *st, X509_NAME *nm); | 433 | STACK_OF(X509)* X509_STORE_get1_certs(X509_STORE_CTX *st, X509_NAME *nm); |
433 | STACK_OF(X509_CRL)* X509_STORE_get1_crls(X509_STORE_CTX *st, X509_NAME *nm); | 434 | STACK_OF(X509_CRL)* X509_STORE_get1_crls(X509_STORE_CTX *st, X509_NAME *nm); |
435 | |||
434 | int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); | 436 | int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); |
435 | int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); | 437 | int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); |
436 | int X509_STORE_set_trust(X509_STORE *ctx, int trust); | 438 | int X509_STORE_set_trust(X509_STORE *ctx, int trust); |