summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/asn1/x_attrib.c62
-rw-r--r--src/lib/libssl/src/crypto/asn1/x_attrib.c62
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
85ASN1_CHOICE(X509_ATTRIBUTE_SET) = { 85static 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
90ASN1_SEQUENCE(X509_ATTRIBUTE) = { 102const 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
112static 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
130const 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
97X509_ATTRIBUTE * 141X509_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
85ASN1_CHOICE(X509_ATTRIBUTE_SET) = { 85static 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
90ASN1_SEQUENCE(X509_ATTRIBUTE) = { 102const 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
112static 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
130const 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
97X509_ATTRIBUTE * 141X509_ATTRIBUTE *