From 3a0c71541b94b64f3f8de2e71c261c45c69e3a45 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Thu, 25 Feb 2010 00:08:23 +0000 Subject: [PATCH] verify parameter enumeration functions (cherry picked from commit 9b3d75706ef0114362f04665a3c745bfef59d023) Conflicts: crypto/x509/x509_vpm.c --- crypto/x509/x509_vfy.h | 3 +++ crypto/x509/x509_vpm.c | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/crypto/x509/x509_vfy.h b/crypto/x509/x509_vfy.h index ce7681a9b5..4482210d4e 100644 --- a/crypto/x509/x509_vfy.h +++ b/crypto/x509/x509_vfy.h @@ -567,8 +567,11 @@ int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param, int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param, const char *ipasc); int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param); +const char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param); int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_get_count(void); +const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id); const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name); void X509_VERIFY_PARAM_table_cleanup(void); diff --git a/crypto/x509/x509_vpm.c b/crypto/x509/x509_vpm.c index 754fd34679..97789119ef 100644 --- a/crypto/x509/x509_vpm.c +++ b/crypto/x509/x509_vpm.c @@ -432,6 +432,11 @@ int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param) return param->depth; } +const char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param) + { + return param->name; + } + static X509_VERIFY_PARAM_ID _empty_id = {NULL, 0, NULL, 0, NULL, 0}; #define vpm_empty_id (X509_VERIFY_PARAM_ID *)&_empty_id @@ -543,6 +548,22 @@ int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param) return 1; } +int X509_VERIFY_PARAM_get_count(void) + { + int num = sizeof(default_table)/sizeof(X509_VERIFY_PARAM); + if (param_table) + num += sk_X509_VERIFY_PARAM_num(param_table); + return num; + } + +const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id) + { + int num = sizeof(default_table)/sizeof(X509_VERIFY_PARAM); + if (id < num) + return default_table + id; + return sk_X509_VERIFY_PARAM_value(param_table, id - num); + } + const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name) { int idx; -- 2.25.1