diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/x_x509a.c')
| -rw-r--r-- | src/lib/libcrypto/asn1/x_x509a.c | 86 |
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 | ||
| 72 | static X509_CERT_AUX *aux_get(X509 *x); | 72 | static X509_CERT_AUX *aux_get(X509 *x); |
| 73 | 73 | ||
| 74 | ASN1_SEQUENCE(X509_CERT_AUX) = { | 74 | static 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 | |||
| 112 | const 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 | ||
| 83 | X509_CERT_AUX * | 123 | X509_CERT_AUX * |
| @@ -217,10 +257,32 @@ X509_reject_clear(X509 *x) | |||
| 217 | } | 257 | } |
| 218 | } | 258 | } |
| 219 | 259 | ||
| 220 | ASN1_SEQUENCE(X509_CERT_PAIR) = { | 260 | static 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 | |||
| 277 | const 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 | ||
| 226 | X509_CERT_PAIR * | 288 | X509_CERT_PAIR * |
