summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/x_x509a.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/libcrypto/asn1/x_x509a.c86
1 files changed, 74 insertions, 12 deletions
diff --git a/src/lib/libcrypto/asn1/x_x509a.c b/src/lib/libcrypto/asn1/x_x509a.c
index 8a3561e882..be8ebbdcbb 100644
--- a/src/lib/libcrypto/asn1/x_x509a.c
+++ b/src/lib/libcrypto/asn1/x_x509a.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_x509a.c,v 1.11 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_x509a.c,v 1.12 2015/02/11 03:39:51 jsing Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -71,13 +71,53 @@
71 71
72static X509_CERT_AUX *aux_get(X509 *x); 72static X509_CERT_AUX *aux_get(X509 *x);
73 73
74ASN1_SEQUENCE(X509_CERT_AUX) = { 74static const ASN1_TEMPLATE X509_CERT_AUX_seq_tt[] = {
75 ASN1_SEQUENCE_OF_OPT(X509_CERT_AUX, trust, ASN1_OBJECT), 75 {
76 ASN1_IMP_SEQUENCE_OF_OPT(X509_CERT_AUX, reject, ASN1_OBJECT, 0), 76 .flags = ASN1_TFLG_SEQUENCE_OF | ASN1_TFLG_OPTIONAL,
77 ASN1_OPT(X509_CERT_AUX, alias, ASN1_UTF8STRING), 77 .tag = 0,
78 ASN1_OPT(X509_CERT_AUX, keyid, ASN1_OCTET_STRING), 78 .offset = offsetof(X509_CERT_AUX, trust),
79 ASN1_IMP_SEQUENCE_OF_OPT(X509_CERT_AUX, other, X509_ALGOR, 1) 79 .field_name = "trust",
80} ASN1_SEQUENCE_END(X509_CERT_AUX) 80 .item = &ASN1_OBJECT_it,
81 },
82 {
83 .flags = ASN1_TFLG_IMPLICIT | ASN1_TFLG_SEQUENCE_OF | ASN1_TFLG_OPTIONAL,
84 .tag = 0,
85 .offset = offsetof(X509_CERT_AUX, reject),
86 .field_name = "reject",
87 .item = &ASN1_OBJECT_it,
88 },
89 {
90 .flags = ASN1_TFLG_OPTIONAL,
91 .tag = 0,
92 .offset = offsetof(X509_CERT_AUX, alias),
93 .field_name = "alias",
94 .item = &ASN1_UTF8STRING_it,
95 },
96 {
97 .flags = ASN1_TFLG_OPTIONAL,
98 .tag = 0,
99 .offset = offsetof(X509_CERT_AUX, keyid),
100 .field_name = "keyid",
101 .item = &ASN1_OCTET_STRING_it,
102 },
103 {
104 .flags = ASN1_TFLG_IMPLICIT | ASN1_TFLG_SEQUENCE_OF | ASN1_TFLG_OPTIONAL,
105 .tag = 1,
106 .offset = offsetof(X509_CERT_AUX, other),
107 .field_name = "other",
108 .item = &X509_ALGOR_it,
109 },
110};
111
112const ASN1_ITEM X509_CERT_AUX_it = {
113 .itype = ASN1_ITYPE_SEQUENCE,
114 .utype = V_ASN1_SEQUENCE,
115 .templates = X509_CERT_AUX_seq_tt,
116 .tcount = sizeof(X509_CERT_AUX_seq_tt) / sizeof(ASN1_TEMPLATE),
117 .funcs = NULL,
118 .size = sizeof(X509_CERT_AUX),
119 .sname = "X509_CERT_AUX",
120};
81 121
82 122
83X509_CERT_AUX * 123X509_CERT_AUX *
@@ -217,10 +257,32 @@ X509_reject_clear(X509 *x)
217 } 257 }
218} 258}
219 259
220ASN1_SEQUENCE(X509_CERT_PAIR) = { 260static const ASN1_TEMPLATE X509_CERT_PAIR_seq_tt[] = {
221 ASN1_EXP_OPT(X509_CERT_PAIR, forward, X509, 0), 261 {
222 ASN1_EXP_OPT(X509_CERT_PAIR, reverse, X509, 1) 262 .flags = ASN1_TFLG_EXPLICIT | ASN1_TFLG_OPTIONAL,
223} ASN1_SEQUENCE_END(X509_CERT_PAIR) 263 .tag = 0,
264 .offset = offsetof(X509_CERT_PAIR, forward),
265 .field_name = "forward",
266 .item = &X509_it,
267 },
268 {
269 .flags = ASN1_TFLG_EXPLICIT | ASN1_TFLG_OPTIONAL,
270 .tag = 1,
271 .offset = offsetof(X509_CERT_PAIR, reverse),
272 .field_name = "reverse",
273 .item = &X509_it,
274 },
275};
276
277const ASN1_ITEM X509_CERT_PAIR_it = {
278 .itype = ASN1_ITYPE_SEQUENCE,
279 .utype = V_ASN1_SEQUENCE,
280 .templates = X509_CERT_PAIR_seq_tt,
281 .tcount = sizeof(X509_CERT_PAIR_seq_tt) / sizeof(ASN1_TEMPLATE),
282 .funcs = NULL,
283 .size = sizeof(X509_CERT_PAIR),
284 .sname = "X509_CERT_PAIR",
285};
224 286
225 287
226X509_CERT_PAIR * 288X509_CERT_PAIR *