diff options
Diffstat (limited to '')
-rw-r--r-- | src/lib/libcrypto/x509v3/v3_pcia.c | 63 |
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 | ||
41 | ASN1_SEQUENCE(PROXY_POLICY) = { | 41 | static 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 | |||
58 | const 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 | ||
47 | PROXY_POLICY * | 69 | PROXY_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 | ||
72 | ASN1_SEQUENCE(PROXY_CERT_INFO_EXTENSION) = { | 94 | static 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 | |||
111 | const 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 | ||
79 | PROXY_CERT_INFO_EXTENSION * | 122 | PROXY_CERT_INFO_EXTENSION * |