summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsing <>2018-02-22 17:15:09 +0000
committerjsing <>2018-02-22 17:15:09 +0000
commit025b01ee745f943fc9de80a0e0f9499ce3a5c982 (patch)
tree3dfd3f9f9a34636ba6918eb481091ea70b48abbf
parentdc18b99a087245f0dff9151ef1568c40cdbc5f5b (diff)
downloadopenbsd-025b01ee745f943fc9de80a0e0f9499ce3a5c982.tar.gz
openbsd-025b01ee745f943fc9de80a0e0f9499ce3a5c982.tar.bz2
openbsd-025b01ee745f943fc9de80a0e0f9499ce3a5c982.zip
Provide X509_STORE_up_ref().
-rw-r--r--src/lib/libcrypto/Symbols.list1
-rw-r--r--src/lib/libcrypto/x509/x509_lu.c9
-rw-r--r--src/lib/libcrypto/x509/x509_vfy.h8
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
2886X509_STORE_set_purpose 2886X509_STORE_set_purpose
2887X509_STORE_set_trust 2887X509_STORE_set_trust
2888X509_STORE_set_verify_cb 2888X509_STORE_set_verify_cb
2889X509_STORE_up_ref
2889X509_TRUST_add 2890X509_TRUST_add
2890X509_TRUST_cleanup 2891X509_TRUST_cleanup
2891X509_TRUST_get0 2892X509_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
271int
272X509_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
271X509_LOOKUP * 278X509_LOOKUP *
272X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m) 279X509_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
426X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, X509_OBJECT *x); 426X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, X509_OBJECT *x);
427void X509_OBJECT_up_ref_count(X509_OBJECT *a); 427void X509_OBJECT_up_ref_count(X509_OBJECT *a);
428void X509_OBJECT_free_contents(X509_OBJECT *a); 428void X509_OBJECT_free_contents(X509_OBJECT *a);
429X509_STORE *X509_STORE_new(void );
430void X509_STORE_free(X509_STORE *v);
431 429
430X509_STORE *X509_STORE_new(void);
431void X509_STORE_free(X509_STORE *v);
432int X509_STORE_up_ref(X509_STORE *x);
432STACK_OF(X509)* X509_STORE_get1_certs(X509_STORE_CTX *st, X509_NAME *nm); 433STACK_OF(X509)* X509_STORE_get1_certs(X509_STORE_CTX *st, X509_NAME *nm);
433STACK_OF(X509_CRL)* X509_STORE_get1_crls(X509_STORE_CTX *st, X509_NAME *nm); 434STACK_OF(X509_CRL)* X509_STORE_get1_crls(X509_STORE_CTX *st, X509_NAME *nm);
435
434int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); 436int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags);
435int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); 437int X509_STORE_set_purpose(X509_STORE *ctx, int purpose);
436int X509_STORE_set_trust(X509_STORE *ctx, int trust); 438int X509_STORE_set_trust(X509_STORE *ctx, int trust);