summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/x509v3/v3_pcia.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/x509v3/v3_pcia.c')
-rw-r--r--src/lib/libcrypto/x509v3/v3_pcia.c63
1 files changed, 53 insertions, 10 deletions
diff --git a/src/lib/libcrypto/x509v3/v3_pcia.c b/src/lib/libcrypto/x509v3/v3_pcia.c
index 07e294e633..f9ec02c00a 100644
--- a/src/lib/libcrypto/x509v3/v3_pcia.c
+++ b/src/lib/libcrypto/x509v3/v3_pcia.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_pcia.c,v 1.5 2015/02/09 16:03:11 jsing Exp $ */ 1/* $OpenBSD: v3_pcia.c,v 1.6 2015/07/25 16:00:14 jsing Exp $ */
2/* Contributed to the OpenSSL Project 2004 2/* Contributed to the OpenSSL Project 2004
3 * by Richard Levitte (richard@levitte.org) 3 * by Richard Levitte (richard@levitte.org)
4 */ 4 */
@@ -38,10 +38,32 @@
38#include <openssl/asn1t.h> 38#include <openssl/asn1t.h>
39#include <openssl/x509v3.h> 39#include <openssl/x509v3.h>
40 40
41ASN1_SEQUENCE(PROXY_POLICY) = { 41static const ASN1_TEMPLATE PROXY_POLICY_seq_tt[] = {
42 ASN1_SIMPLE(PROXY_POLICY, policyLanguage, ASN1_OBJECT), 42 {
43 ASN1_OPT(PROXY_POLICY, policy, ASN1_OCTET_STRING) 43 .flags = 0,
44} ASN1_SEQUENCE_END(PROXY_POLICY) 44 .tag = 0,
45 .offset = offsetof(PROXY_POLICY, policyLanguage),
46 .field_name = "policyLanguage",
47 .item = &ASN1_OBJECT_it,
48 },
49 {
50 .flags = ASN1_TFLG_OPTIONAL,
51 .tag = 0,
52 .offset = offsetof(PROXY_POLICY, policy),
53 .field_name = "policy",
54 .item = &ASN1_OCTET_STRING_it,
55 },
56};
57
58const ASN1_ITEM PROXY_POLICY_it = {
59 .itype = ASN1_ITYPE_SEQUENCE,
60 .utype = V_ASN1_SEQUENCE,
61 .templates = PROXY_POLICY_seq_tt,
62 .tcount = sizeof(PROXY_POLICY_seq_tt) / sizeof(ASN1_TEMPLATE),
63 .funcs = NULL,
64 .size = sizeof(PROXY_POLICY),
65 .sname = "PROXY_POLICY",
66};
45 67
46 68
47PROXY_POLICY * 69PROXY_POLICY *
@@ -69,11 +91,32 @@ PROXY_POLICY_free(PROXY_POLICY *a)
69 ASN1_item_free((ASN1_VALUE *)a, &PROXY_POLICY_it); 91 ASN1_item_free((ASN1_VALUE *)a, &PROXY_POLICY_it);
70} 92}
71 93
72ASN1_SEQUENCE(PROXY_CERT_INFO_EXTENSION) = { 94static const ASN1_TEMPLATE PROXY_CERT_INFO_EXTENSION_seq_tt[] = {
73 ASN1_OPT(PROXY_CERT_INFO_EXTENSION, pcPathLengthConstraint, 95 {
74 ASN1_INTEGER), 96 .flags = ASN1_TFLG_OPTIONAL,
75 ASN1_SIMPLE(PROXY_CERT_INFO_EXTENSION, proxyPolicy, PROXY_POLICY) 97 .tag = 0,
76} ASN1_SEQUENCE_END(PROXY_CERT_INFO_EXTENSION) 98 .offset = offsetof(PROXY_CERT_INFO_EXTENSION, pcPathLengthConstraint),
99 .field_name = "pcPathLengthConstraint",
100 .item = &ASN1_INTEGER_it,
101 },
102 {
103 .flags = 0,
104 .tag = 0,
105 .offset = offsetof(PROXY_CERT_INFO_EXTENSION, proxyPolicy),
106 .field_name = "proxyPolicy",
107 .item = &PROXY_POLICY_it,
108 },
109};
110
111const ASN1_ITEM PROXY_CERT_INFO_EXTENSION_it = {
112 .itype = ASN1_ITYPE_SEQUENCE,
113 .utype = V_ASN1_SEQUENCE,
114 .templates = PROXY_CERT_INFO_EXTENSION_seq_tt,
115 .tcount = sizeof(PROXY_CERT_INFO_EXTENSION_seq_tt) / sizeof(ASN1_TEMPLATE),
116 .funcs = NULL,
117 .size = sizeof(PROXY_CERT_INFO_EXTENSION),
118 .sname = "PROXY_CERT_INFO_EXTENSION",
119};
77 120
78 121
79PROXY_CERT_INFO_EXTENSION * 122PROXY_CERT_INFO_EXTENSION *