verify parameter enumeration functions
authorDr. Stephen Henson <steve@openssl.org>
Thu, 25 Feb 2010 00:08:23 +0000 (00:08 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Fri, 13 Dec 2013 15:52:27 +0000 (15:52 +0000)
(cherry picked from commit 9b3d75706ef0114362f04665a3c745bfef59d023)

Conflicts:

crypto/x509/x509_vpm.c

crypto/x509/x509_vfy.h
crypto/x509/x509_vpm.c

index ce7681a9b53542b4346de00e258ad84f11adc757..4482210d4e1ebb6bd97fb3476dd759ccf7e5bbe4 100644 (file)
@@ -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);
 
index 754fd34679cd76ac8088abf3fcb563450807cb46..97789119ef256d76b94c226b4a58cec290ac134d 100644 (file)
@@ -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;