summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authortb <>2021-10-31 16:23:46 +0000
committertb <>2021-10-31 16:23:46 +0000
commit349a0d8ef963a6a7abb1d42eed25865edf73b871 (patch)
tree51c069eb7fba8ba0ad054ceaafd570f3987f389a /src/lib
parent58a62c3b9192355c355017eb66b7107975796833 (diff)
downloadopenbsd-349a0d8ef963a6a7abb1d42eed25865edf73b871.tar.gz
openbsd-349a0d8ef963a6a7abb1d42eed25865edf73b871.tar.bz2
openbsd-349a0d8ef963a6a7abb1d42eed25865edf73b871.zip
Prepare to provide X509_STORE_CTX_get_obj_by_subject(), a wrapper
around X509_STORE_get_by_subject() that eliminates the need of allocating an object on the heap by hand. ok beck inoguchi jsing
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libcrypto/x509/x509_lu.c18
-rw-r--r--src/lib/libcrypto/x509/x509_vfy.h6
2 files changed, 22 insertions, 2 deletions
diff --git a/src/lib/libcrypto/x509/x509_lu.c b/src/lib/libcrypto/x509/x509_lu.c
index ee72e67d1a..143ad152ba 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.35 2021/10/31 16:20:37 tb Exp $ */ 1/* $OpenBSD: x509_lu.c,v 1.36 2021/10/31 16:23:45 tb 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 *
@@ -321,6 +321,22 @@ X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m)
321 } 321 }
322} 322}
323 323
324X509_OBJECT *
325X509_STORE_CTX_get_obj_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type,
326 X509_NAME *name)
327{
328 X509_OBJECT *ret;
329
330 if ((ret = X509_OBJECT_new()) == NULL)
331 return NULL;
332 if (!X509_STORE_CTX_get_by_subject(vs, type, name, ret)) {
333 X509_OBJECT_free(ret);
334 return NULL;
335 }
336
337 return ret;
338}
339
324int 340int
325X509_STORE_CTX_get_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type, 341X509_STORE_CTX_get_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type,
326 X509_NAME *name, X509_OBJECT *ret) 342 X509_NAME *name, X509_OBJECT *ret)
diff --git a/src/lib/libcrypto/x509/x509_vfy.h b/src/lib/libcrypto/x509/x509_vfy.h
index b78c857cdb..1889217233 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.41 2021/10/31 16:20:37 tb Exp $ */ 1/* $OpenBSD: x509_vfy.h,v 1.42 2021/10/31 16:23:46 tb 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 *
@@ -500,6 +500,10 @@ int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x);
500int X509_STORE_CTX_get_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type, 500int X509_STORE_CTX_get_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type,
501 X509_NAME *name, X509_OBJECT *ret); 501 X509_NAME *name, X509_OBJECT *ret);
502#define X509_STORE_get_by_subject X509_STORE_CTX_get_by_subject 502#define X509_STORE_get_by_subject X509_STORE_CTX_get_by_subject
503#if defined(LIBRESSL_NEW_API)
504X509_OBJECT *X509_STORE_CTX_get_obj_by_subject(X509_STORE_CTX *vs,
505 X509_LOOKUP_TYPE type, X509_NAME *name);
506#endif
503 507
504int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, 508int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc,
505 long argl, char **ret); 509 long argl, char **ret);