diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libcrypto/asn1/x_attrib.c | 62 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/asn1/x_attrib.c | 62 |
2 files changed, 106 insertions, 18 deletions
diff --git a/src/lib/libcrypto/asn1/x_attrib.c b/src/lib/libcrypto/asn1/x_attrib.c index 9c00906ded..bb74a1b6c7 100644 --- a/src/lib/libcrypto/asn1/x_attrib.c +++ b/src/lib/libcrypto/asn1/x_attrib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_attrib.c,v 1.12 2015/02/10 05:25:45 jsing Exp $ */ | 1 | /* $OpenBSD: x_attrib.c,v 1.13 2015/02/14 14:56:45 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -82,16 +82,60 @@ | |||
| 82 | * SET OF structure. | 82 | * SET OF structure. |
| 83 | */ | 83 | */ |
| 84 | 84 | ||
| 85 | ASN1_CHOICE(X509_ATTRIBUTE_SET) = { | 85 | static const ASN1_TEMPLATE X509_ATTRIBUTE_SET_ch_tt[] = { |
| 86 | ASN1_SET_OF(X509_ATTRIBUTE, value.set, ASN1_ANY), | 86 | { |
| 87 | ASN1_SIMPLE(X509_ATTRIBUTE, value.single, ASN1_ANY) | 87 | .flags = ASN1_TFLG_SET_OF, |
| 88 | } ASN1_CHOICE_END_selector(X509_ATTRIBUTE, X509_ATTRIBUTE_SET, single) | 88 | .tag = 0, |
| 89 | .offset = offsetof(X509_ATTRIBUTE, value.set), | ||
| 90 | .field_name = "value.set", | ||
| 91 | .item = &ASN1_ANY_it, | ||
| 92 | }, | ||
| 93 | { | ||
| 94 | .flags = 0, | ||
| 95 | .tag = 0, | ||
| 96 | .offset = offsetof(X509_ATTRIBUTE, value.single), | ||
| 97 | .field_name = "value.single", | ||
| 98 | .item = &ASN1_ANY_it, | ||
| 99 | }, | ||
| 100 | }; | ||
| 89 | 101 | ||
| 90 | ASN1_SEQUENCE(X509_ATTRIBUTE) = { | 102 | const ASN1_ITEM X509_ATTRIBUTE_SET_it = { |
| 91 | ASN1_SIMPLE(X509_ATTRIBUTE, object, ASN1_OBJECT), | 103 | .itype = ASN1_ITYPE_CHOICE, |
| 104 | .utype = offsetof(X509_ATTRIBUTE, single), | ||
| 105 | .templates = X509_ATTRIBUTE_SET_ch_tt, | ||
| 106 | .tcount = sizeof(X509_ATTRIBUTE_SET_ch_tt) / sizeof(ASN1_TEMPLATE), | ||
| 107 | .funcs = NULL, | ||
| 108 | .size = sizeof(X509_ATTRIBUTE), | ||
| 109 | .sname = "X509_ATTRIBUTE", | ||
| 110 | }; | ||
| 111 | |||
| 112 | static const ASN1_TEMPLATE X509_ATTRIBUTE_seq_tt[] = { | ||
| 113 | { | ||
| 114 | .flags = 0, | ||
| 115 | .tag = 0, | ||
| 116 | .offset = offsetof(X509_ATTRIBUTE, object), | ||
| 117 | .field_name = "object", | ||
| 118 | .item = &ASN1_OBJECT_it, | ||
| 119 | }, | ||
| 92 | /* CHOICE type merged with parent */ | 120 | /* CHOICE type merged with parent */ |
| 93 | ASN1_EX_COMBINE(0, 0, X509_ATTRIBUTE_SET) | 121 | { |
| 94 | } ASN1_SEQUENCE_END(X509_ATTRIBUTE) | 122 | .flags = 0 | ASN1_TFLG_COMBINE, |
| 123 | .tag = 0, | ||
| 124 | .offset = 0, | ||
| 125 | .field_name = NULL, | ||
| 126 | .item = &X509_ATTRIBUTE_SET_it, | ||
| 127 | }, | ||
| 128 | }; | ||
| 129 | |||
| 130 | const ASN1_ITEM X509_ATTRIBUTE_it = { | ||
| 131 | .itype = ASN1_ITYPE_SEQUENCE, | ||
| 132 | .utype = V_ASN1_SEQUENCE, | ||
| 133 | .templates = X509_ATTRIBUTE_seq_tt, | ||
| 134 | .tcount = sizeof(X509_ATTRIBUTE_seq_tt) / sizeof(ASN1_TEMPLATE), | ||
| 135 | .funcs = NULL, | ||
| 136 | .size = sizeof(X509_ATTRIBUTE), | ||
| 137 | .sname = "X509_ATTRIBUTE", | ||
| 138 | }; | ||
| 95 | 139 | ||
| 96 | 140 | ||
| 97 | X509_ATTRIBUTE * | 141 | X509_ATTRIBUTE * |
diff --git a/src/lib/libssl/src/crypto/asn1/x_attrib.c b/src/lib/libssl/src/crypto/asn1/x_attrib.c index 9c00906ded..bb74a1b6c7 100644 --- a/src/lib/libssl/src/crypto/asn1/x_attrib.c +++ b/src/lib/libssl/src/crypto/asn1/x_attrib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_attrib.c,v 1.12 2015/02/10 05:25:45 jsing Exp $ */ | 1 | /* $OpenBSD: x_attrib.c,v 1.13 2015/02/14 14:56:45 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -82,16 +82,60 @@ | |||
| 82 | * SET OF structure. | 82 | * SET OF structure. |
| 83 | */ | 83 | */ |
| 84 | 84 | ||
| 85 | ASN1_CHOICE(X509_ATTRIBUTE_SET) = { | 85 | static const ASN1_TEMPLATE X509_ATTRIBUTE_SET_ch_tt[] = { |
| 86 | ASN1_SET_OF(X509_ATTRIBUTE, value.set, ASN1_ANY), | 86 | { |
| 87 | ASN1_SIMPLE(X509_ATTRIBUTE, value.single, ASN1_ANY) | 87 | .flags = ASN1_TFLG_SET_OF, |
| 88 | } ASN1_CHOICE_END_selector(X509_ATTRIBUTE, X509_ATTRIBUTE_SET, single) | 88 | .tag = 0, |
| 89 | .offset = offsetof(X509_ATTRIBUTE, value.set), | ||
| 90 | .field_name = "value.set", | ||
| 91 | .item = &ASN1_ANY_it, | ||
| 92 | }, | ||
| 93 | { | ||
| 94 | .flags = 0, | ||
| 95 | .tag = 0, | ||
| 96 | .offset = offsetof(X509_ATTRIBUTE, value.single), | ||
| 97 | .field_name = "value.single", | ||
| 98 | .item = &ASN1_ANY_it, | ||
| 99 | }, | ||
| 100 | }; | ||
| 89 | 101 | ||
| 90 | ASN1_SEQUENCE(X509_ATTRIBUTE) = { | 102 | const ASN1_ITEM X509_ATTRIBUTE_SET_it = { |
| 91 | ASN1_SIMPLE(X509_ATTRIBUTE, object, ASN1_OBJECT), | 103 | .itype = ASN1_ITYPE_CHOICE, |
| 104 | .utype = offsetof(X509_ATTRIBUTE, single), | ||
| 105 | .templates = X509_ATTRIBUTE_SET_ch_tt, | ||
| 106 | .tcount = sizeof(X509_ATTRIBUTE_SET_ch_tt) / sizeof(ASN1_TEMPLATE), | ||
| 107 | .funcs = NULL, | ||
| 108 | .size = sizeof(X509_ATTRIBUTE), | ||
| 109 | .sname = "X509_ATTRIBUTE", | ||
| 110 | }; | ||
| 111 | |||
| 112 | static const ASN1_TEMPLATE X509_ATTRIBUTE_seq_tt[] = { | ||
| 113 | { | ||
| 114 | .flags = 0, | ||
| 115 | .tag = 0, | ||
| 116 | .offset = offsetof(X509_ATTRIBUTE, object), | ||
| 117 | .field_name = "object", | ||
| 118 | .item = &ASN1_OBJECT_it, | ||
| 119 | }, | ||
| 92 | /* CHOICE type merged with parent */ | 120 | /* CHOICE type merged with parent */ |
| 93 | ASN1_EX_COMBINE(0, 0, X509_ATTRIBUTE_SET) | 121 | { |
| 94 | } ASN1_SEQUENCE_END(X509_ATTRIBUTE) | 122 | .flags = 0 | ASN1_TFLG_COMBINE, |
| 123 | .tag = 0, | ||
| 124 | .offset = 0, | ||
| 125 | .field_name = NULL, | ||
| 126 | .item = &X509_ATTRIBUTE_SET_it, | ||
| 127 | }, | ||
| 128 | }; | ||
| 129 | |||
| 130 | const ASN1_ITEM X509_ATTRIBUTE_it = { | ||
| 131 | .itype = ASN1_ITYPE_SEQUENCE, | ||
| 132 | .utype = V_ASN1_SEQUENCE, | ||
| 133 | .templates = X509_ATTRIBUTE_seq_tt, | ||
| 134 | .tcount = sizeof(X509_ATTRIBUTE_seq_tt) / sizeof(ASN1_TEMPLATE), | ||
| 135 | .funcs = NULL, | ||
| 136 | .size = sizeof(X509_ATTRIBUTE), | ||
| 137 | .sname = "X509_ATTRIBUTE", | ||
| 138 | }; | ||
| 95 | 139 | ||
| 96 | 140 | ||
| 97 | X509_ATTRIBUTE * | 141 | X509_ATTRIBUTE * |
