diff options
24 files changed, 1574 insertions, 86 deletions
diff --git a/src/lib/libcrypto/x509v3/v3_addr.c b/src/lib/libcrypto/x509v3/v3_addr.c index 40efb1b9ac..4073aeeaa6 100644 --- a/src/lib/libcrypto/x509v3/v3_addr.c +++ b/src/lib/libcrypto/x509v3/v3_addr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_addr.c,v 1.14 2014/11/18 03:28:05 tedu Exp $ */ | 1 | /* $OpenBSD: v3_addr.c,v 1.15 2015/02/09 16:03:11 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Contributed to the OpenSSL Project by the American Registry for | 3 | * Contributed to the OpenSSL Project by the American Registry for |
4 | * Internet Numbers ("ARIN"). | 4 | * Internet Numbers ("ARIN"). |
@@ -102,10 +102,106 @@ ASN1_ITEM_TEMPLATE(IPAddrBlocks) = | |||
102 | IPAddrBlocks, IPAddressFamily) | 102 | IPAddrBlocks, IPAddressFamily) |
103 | ASN1_ITEM_TEMPLATE_END(IPAddrBlocks) | 103 | ASN1_ITEM_TEMPLATE_END(IPAddrBlocks) |
104 | 104 | ||
105 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressRange) | 105 | |
106 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressOrRange) | 106 | IPAddressRange * |
107 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressChoice) | 107 | d2i_IPAddressRange(IPAddressRange **a, const unsigned char **in, long len) |
108 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressFamily) | 108 | { |
109 | return (IPAddressRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
110 | &IPAddressRange_it); | ||
111 | } | ||
112 | |||
113 | int | ||
114 | i2d_IPAddressRange(IPAddressRange *a, unsigned char **out) | ||
115 | { | ||
116 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressRange_it); | ||
117 | } | ||
118 | |||
119 | IPAddressRange * | ||
120 | IPAddressRange_new(void) | ||
121 | { | ||
122 | return (IPAddressRange *)ASN1_item_new(&IPAddressRange_it); | ||
123 | } | ||
124 | |||
125 | void | ||
126 | IPAddressRange_free(IPAddressRange *a) | ||
127 | { | ||
128 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressRange_it); | ||
129 | } | ||
130 | |||
131 | IPAddressOrRange * | ||
132 | d2i_IPAddressOrRange(IPAddressOrRange **a, const unsigned char **in, long len) | ||
133 | { | ||
134 | return (IPAddressOrRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
135 | &IPAddressOrRange_it); | ||
136 | } | ||
137 | |||
138 | int | ||
139 | i2d_IPAddressOrRange(IPAddressOrRange *a, unsigned char **out) | ||
140 | { | ||
141 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressOrRange_it); | ||
142 | } | ||
143 | |||
144 | IPAddressOrRange * | ||
145 | IPAddressOrRange_new(void) | ||
146 | { | ||
147 | return (IPAddressOrRange *)ASN1_item_new(&IPAddressOrRange_it); | ||
148 | } | ||
149 | |||
150 | void | ||
151 | IPAddressOrRange_free(IPAddressOrRange *a) | ||
152 | { | ||
153 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressOrRange_it); | ||
154 | } | ||
155 | |||
156 | IPAddressChoice * | ||
157 | d2i_IPAddressChoice(IPAddressChoice **a, const unsigned char **in, long len) | ||
158 | { | ||
159 | return (IPAddressChoice *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
160 | &IPAddressChoice_it); | ||
161 | } | ||
162 | |||
163 | int | ||
164 | i2d_IPAddressChoice(IPAddressChoice *a, unsigned char **out) | ||
165 | { | ||
166 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressChoice_it); | ||
167 | } | ||
168 | |||
169 | IPAddressChoice * | ||
170 | IPAddressChoice_new(void) | ||
171 | { | ||
172 | return (IPAddressChoice *)ASN1_item_new(&IPAddressChoice_it); | ||
173 | } | ||
174 | |||
175 | void | ||
176 | IPAddressChoice_free(IPAddressChoice *a) | ||
177 | { | ||
178 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressChoice_it); | ||
179 | } | ||
180 | |||
181 | IPAddressFamily * | ||
182 | d2i_IPAddressFamily(IPAddressFamily **a, const unsigned char **in, long len) | ||
183 | { | ||
184 | return (IPAddressFamily *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
185 | &IPAddressFamily_it); | ||
186 | } | ||
187 | |||
188 | int | ||
189 | i2d_IPAddressFamily(IPAddressFamily *a, unsigned char **out) | ||
190 | { | ||
191 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressFamily_it); | ||
192 | } | ||
193 | |||
194 | IPAddressFamily * | ||
195 | IPAddressFamily_new(void) | ||
196 | { | ||
197 | return (IPAddressFamily *)ASN1_item_new(&IPAddressFamily_it); | ||
198 | } | ||
199 | |||
200 | void | ||
201 | IPAddressFamily_free(IPAddressFamily *a) | ||
202 | { | ||
203 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressFamily_it); | ||
204 | } | ||
109 | 205 | ||
110 | /* | 206 | /* |
111 | * How much buffer space do we need for a raw address? | 207 | * How much buffer space do we need for a raw address? |
diff --git a/src/lib/libcrypto/x509v3/v3_akeya.c b/src/lib/libcrypto/x509v3/v3_akeya.c index 247c9f48a9..1848c0911e 100644 --- a/src/lib/libcrypto/x509v3/v3_akeya.c +++ b/src/lib/libcrypto/x509v3/v3_akeya.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_akeya.c,v 1.5 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_akeya.c,v 1.6 2015/02/09 16:03:11 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 | */ |
@@ -69,4 +69,28 @@ ASN1_SEQUENCE(AUTHORITY_KEYID) = { | |||
69 | ASN1_IMP_OPT(AUTHORITY_KEYID, serial, ASN1_INTEGER, 2) | 69 | ASN1_IMP_OPT(AUTHORITY_KEYID, serial, ASN1_INTEGER, 2) |
70 | } ASN1_SEQUENCE_END(AUTHORITY_KEYID) | 70 | } ASN1_SEQUENCE_END(AUTHORITY_KEYID) |
71 | 71 | ||
72 | IMPLEMENT_ASN1_FUNCTIONS(AUTHORITY_KEYID) | 72 | |
73 | AUTHORITY_KEYID * | ||
74 | d2i_AUTHORITY_KEYID(AUTHORITY_KEYID **a, const unsigned char **in, long len) | ||
75 | { | ||
76 | return (AUTHORITY_KEYID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
77 | &AUTHORITY_KEYID_it); | ||
78 | } | ||
79 | |||
80 | int | ||
81 | i2d_AUTHORITY_KEYID(AUTHORITY_KEYID *a, unsigned char **out) | ||
82 | { | ||
83 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &AUTHORITY_KEYID_it); | ||
84 | } | ||
85 | |||
86 | AUTHORITY_KEYID * | ||
87 | AUTHORITY_KEYID_new(void) | ||
88 | { | ||
89 | return (AUTHORITY_KEYID *)ASN1_item_new(&AUTHORITY_KEYID_it); | ||
90 | } | ||
91 | |||
92 | void | ||
93 | AUTHORITY_KEYID_free(AUTHORITY_KEYID *a) | ||
94 | { | ||
95 | ASN1_item_free((ASN1_VALUE *)a, &AUTHORITY_KEYID_it); | ||
96 | } | ||
diff --git a/src/lib/libcrypto/x509v3/v3_asid.c b/src/lib/libcrypto/x509v3/v3_asid.c index 680eed31ec..10f82c573d 100644 --- a/src/lib/libcrypto/x509v3/v3_asid.c +++ b/src/lib/libcrypto/x509v3/v3_asid.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_asid.c,v 1.11 2014/07/13 16:03:10 beck Exp $ */ | 1 | /* $OpenBSD: v3_asid.c,v 1.12 2015/02/09 16:03:11 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Contributed to the OpenSSL Project by the American Registry for | 3 | * Contributed to the OpenSSL Project by the American Registry for |
4 | * Internet Numbers ("ARIN"). | 4 | * Internet Numbers ("ARIN"). |
@@ -98,10 +98,106 @@ ASN1_SEQUENCE(ASIdentifiers) = { | |||
98 | ASN1_EXP_OPT(ASIdentifiers, rdi, ASIdentifierChoice, 1) | 98 | ASN1_EXP_OPT(ASIdentifiers, rdi, ASIdentifierChoice, 1) |
99 | } ASN1_SEQUENCE_END(ASIdentifiers) | 99 | } ASN1_SEQUENCE_END(ASIdentifiers) |
100 | 100 | ||
101 | IMPLEMENT_ASN1_FUNCTIONS(ASRange) | 101 | |
102 | IMPLEMENT_ASN1_FUNCTIONS(ASIdOrRange) | 102 | ASRange * |
103 | IMPLEMENT_ASN1_FUNCTIONS(ASIdentifierChoice) | 103 | d2i_ASRange(ASRange **a, const unsigned char **in, long len) |
104 | IMPLEMENT_ASN1_FUNCTIONS(ASIdentifiers) | 104 | { |
105 | return (ASRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
106 | &ASRange_it); | ||
107 | } | ||
108 | |||
109 | int | ||
110 | i2d_ASRange(ASRange *a, unsigned char **out) | ||
111 | { | ||
112 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASRange_it); | ||
113 | } | ||
114 | |||
115 | ASRange * | ||
116 | ASRange_new(void) | ||
117 | { | ||
118 | return (ASRange *)ASN1_item_new(&ASRange_it); | ||
119 | } | ||
120 | |||
121 | void | ||
122 | ASRange_free(ASRange *a) | ||
123 | { | ||
124 | ASN1_item_free((ASN1_VALUE *)a, &ASRange_it); | ||
125 | } | ||
126 | |||
127 | ASIdOrRange * | ||
128 | d2i_ASIdOrRange(ASIdOrRange **a, const unsigned char **in, long len) | ||
129 | { | ||
130 | return (ASIdOrRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
131 | &ASIdOrRange_it); | ||
132 | } | ||
133 | |||
134 | int | ||
135 | i2d_ASIdOrRange(ASIdOrRange *a, unsigned char **out) | ||
136 | { | ||
137 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdOrRange_it); | ||
138 | } | ||
139 | |||
140 | ASIdOrRange * | ||
141 | ASIdOrRange_new(void) | ||
142 | { | ||
143 | return (ASIdOrRange *)ASN1_item_new(&ASIdOrRange_it); | ||
144 | } | ||
145 | |||
146 | void | ||
147 | ASIdOrRange_free(ASIdOrRange *a) | ||
148 | { | ||
149 | ASN1_item_free((ASN1_VALUE *)a, &ASIdOrRange_it); | ||
150 | } | ||
151 | |||
152 | ASIdentifierChoice * | ||
153 | d2i_ASIdentifierChoice(ASIdentifierChoice **a, const unsigned char **in, long len) | ||
154 | { | ||
155 | return (ASIdentifierChoice *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
156 | &ASIdentifierChoice_it); | ||
157 | } | ||
158 | |||
159 | int | ||
160 | i2d_ASIdentifierChoice(ASIdentifierChoice *a, unsigned char **out) | ||
161 | { | ||
162 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdentifierChoice_it); | ||
163 | } | ||
164 | |||
165 | ASIdentifierChoice * | ||
166 | ASIdentifierChoice_new(void) | ||
167 | { | ||
168 | return (ASIdentifierChoice *)ASN1_item_new(&ASIdentifierChoice_it); | ||
169 | } | ||
170 | |||
171 | void | ||
172 | ASIdentifierChoice_free(ASIdentifierChoice *a) | ||
173 | { | ||
174 | ASN1_item_free((ASN1_VALUE *)a, &ASIdentifierChoice_it); | ||
175 | } | ||
176 | |||
177 | ASIdentifiers * | ||
178 | d2i_ASIdentifiers(ASIdentifiers **a, const unsigned char **in, long len) | ||
179 | { | ||
180 | return (ASIdentifiers *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
181 | &ASIdentifiers_it); | ||
182 | } | ||
183 | |||
184 | int | ||
185 | i2d_ASIdentifiers(ASIdentifiers *a, unsigned char **out) | ||
186 | { | ||
187 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdentifiers_it); | ||
188 | } | ||
189 | |||
190 | ASIdentifiers * | ||
191 | ASIdentifiers_new(void) | ||
192 | { | ||
193 | return (ASIdentifiers *)ASN1_item_new(&ASIdentifiers_it); | ||
194 | } | ||
195 | |||
196 | void | ||
197 | ASIdentifiers_free(ASIdentifiers *a) | ||
198 | { | ||
199 | ASN1_item_free((ASN1_VALUE *)a, &ASIdentifiers_it); | ||
200 | } | ||
105 | 201 | ||
106 | /* | 202 | /* |
107 | * i2r method for an ASIdentifierChoice. | 203 | * i2r method for an ASIdentifierChoice. |
diff --git a/src/lib/libcrypto/x509v3/v3_bcons.c b/src/lib/libcrypto/x509v3/v3_bcons.c index 8e2632d379..fb3f6c7619 100644 --- a/src/lib/libcrypto/x509v3/v3_bcons.c +++ b/src/lib/libcrypto/x509v3/v3_bcons.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_bcons.c,v 1.10 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_bcons.c,v 1.11 2015/02/09 16:03:11 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 | */ |
@@ -86,7 +86,31 @@ ASN1_SEQUENCE(BASIC_CONSTRAINTS) = { | |||
86 | ASN1_OPT(BASIC_CONSTRAINTS, pathlen, ASN1_INTEGER) | 86 | ASN1_OPT(BASIC_CONSTRAINTS, pathlen, ASN1_INTEGER) |
87 | } ASN1_SEQUENCE_END(BASIC_CONSTRAINTS) | 87 | } ASN1_SEQUENCE_END(BASIC_CONSTRAINTS) |
88 | 88 | ||
89 | IMPLEMENT_ASN1_FUNCTIONS(BASIC_CONSTRAINTS) | 89 | |
90 | BASIC_CONSTRAINTS * | ||
91 | d2i_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS **a, const unsigned char **in, long len) | ||
92 | { | ||
93 | return (BASIC_CONSTRAINTS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
94 | &BASIC_CONSTRAINTS_it); | ||
95 | } | ||
96 | |||
97 | int | ||
98 | i2d_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS *a, unsigned char **out) | ||
99 | { | ||
100 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &BASIC_CONSTRAINTS_it); | ||
101 | } | ||
102 | |||
103 | BASIC_CONSTRAINTS * | ||
104 | BASIC_CONSTRAINTS_new(void) | ||
105 | { | ||
106 | return (BASIC_CONSTRAINTS *)ASN1_item_new(&BASIC_CONSTRAINTS_it); | ||
107 | } | ||
108 | |||
109 | void | ||
110 | BASIC_CONSTRAINTS_free(BASIC_CONSTRAINTS *a) | ||
111 | { | ||
112 | ASN1_item_free((ASN1_VALUE *)a, &BASIC_CONSTRAINTS_it); | ||
113 | } | ||
90 | 114 | ||
91 | 115 | ||
92 | static STACK_OF(CONF_VALUE) * | 116 | static STACK_OF(CONF_VALUE) * |
diff --git a/src/lib/libcrypto/x509v3/v3_cpols.c b/src/lib/libcrypto/x509v3/v3_cpols.c index d683db697e..6ceb93d372 100644 --- a/src/lib/libcrypto/x509v3/v3_cpols.c +++ b/src/lib/libcrypto/x509v3/v3_cpols.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_cpols.c,v 1.16 2014/10/05 18:27:33 miod Exp $ */ | 1 | /* $OpenBSD: v3_cpols.c,v 1.17 2015/02/09 16:03:11 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 | */ |
@@ -97,14 +97,62 @@ ASN1_ITEM_TEMPLATE(CERTIFICATEPOLICIES) = | |||
97 | POLICYINFO) | 97 | POLICYINFO) |
98 | ASN1_ITEM_TEMPLATE_END(CERTIFICATEPOLICIES) | 98 | ASN1_ITEM_TEMPLATE_END(CERTIFICATEPOLICIES) |
99 | 99 | ||
100 | IMPLEMENT_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) | 100 | |
101 | CERTIFICATEPOLICIES * | ||
102 | d2i_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES **a, const unsigned char **in, long len) | ||
103 | { | ||
104 | return (CERTIFICATEPOLICIES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
105 | &CERTIFICATEPOLICIES_it); | ||
106 | } | ||
107 | |||
108 | int | ||
109 | i2d_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES *a, unsigned char **out) | ||
110 | { | ||
111 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &CERTIFICATEPOLICIES_it); | ||
112 | } | ||
113 | |||
114 | CERTIFICATEPOLICIES * | ||
115 | CERTIFICATEPOLICIES_new(void) | ||
116 | { | ||
117 | return (CERTIFICATEPOLICIES *)ASN1_item_new(&CERTIFICATEPOLICIES_it); | ||
118 | } | ||
119 | |||
120 | void | ||
121 | CERTIFICATEPOLICIES_free(CERTIFICATEPOLICIES *a) | ||
122 | { | ||
123 | ASN1_item_free((ASN1_VALUE *)a, &CERTIFICATEPOLICIES_it); | ||
124 | } | ||
101 | 125 | ||
102 | ASN1_SEQUENCE(POLICYINFO) = { | 126 | ASN1_SEQUENCE(POLICYINFO) = { |
103 | ASN1_SIMPLE(POLICYINFO, policyid, ASN1_OBJECT), | 127 | ASN1_SIMPLE(POLICYINFO, policyid, ASN1_OBJECT), |
104 | ASN1_SEQUENCE_OF_OPT(POLICYINFO, qualifiers, POLICYQUALINFO) | 128 | ASN1_SEQUENCE_OF_OPT(POLICYINFO, qualifiers, POLICYQUALINFO) |
105 | } ASN1_SEQUENCE_END(POLICYINFO) | 129 | } ASN1_SEQUENCE_END(POLICYINFO) |
106 | 130 | ||
107 | IMPLEMENT_ASN1_FUNCTIONS(POLICYINFO) | 131 | |
132 | POLICYINFO * | ||
133 | d2i_POLICYINFO(POLICYINFO **a, const unsigned char **in, long len) | ||
134 | { | ||
135 | return (POLICYINFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
136 | &POLICYINFO_it); | ||
137 | } | ||
138 | |||
139 | int | ||
140 | i2d_POLICYINFO(POLICYINFO *a, unsigned char **out) | ||
141 | { | ||
142 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &POLICYINFO_it); | ||
143 | } | ||
144 | |||
145 | POLICYINFO * | ||
146 | POLICYINFO_new(void) | ||
147 | { | ||
148 | return (POLICYINFO *)ASN1_item_new(&POLICYINFO_it); | ||
149 | } | ||
150 | |||
151 | void | ||
152 | POLICYINFO_free(POLICYINFO *a) | ||
153 | { | ||
154 | ASN1_item_free((ASN1_VALUE *)a, &POLICYINFO_it); | ||
155 | } | ||
108 | 156 | ||
109 | ASN1_ADB_TEMPLATE(policydefault) = | 157 | ASN1_ADB_TEMPLATE(policydefault) = |
110 | ASN1_SIMPLE(POLICYQUALINFO, d.other, ASN1_ANY); | 158 | ASN1_SIMPLE(POLICYQUALINFO, d.other, ASN1_ANY); |
@@ -119,21 +167,93 @@ ASN1_SEQUENCE(POLICYQUALINFO) = { | |||
119 | ASN1_ADB_OBJECT(POLICYQUALINFO) | 167 | ASN1_ADB_OBJECT(POLICYQUALINFO) |
120 | } ASN1_SEQUENCE_END(POLICYQUALINFO) | 168 | } ASN1_SEQUENCE_END(POLICYQUALINFO) |
121 | 169 | ||
122 | IMPLEMENT_ASN1_FUNCTIONS(POLICYQUALINFO) | 170 | |
171 | POLICYQUALINFO * | ||
172 | d2i_POLICYQUALINFO(POLICYQUALINFO **a, const unsigned char **in, long len) | ||
173 | { | ||
174 | return (POLICYQUALINFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
175 | &POLICYQUALINFO_it); | ||
176 | } | ||
177 | |||
178 | int | ||
179 | i2d_POLICYQUALINFO(POLICYQUALINFO *a, unsigned char **out) | ||
180 | { | ||
181 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &POLICYQUALINFO_it); | ||
182 | } | ||
183 | |||
184 | POLICYQUALINFO * | ||
185 | POLICYQUALINFO_new(void) | ||
186 | { | ||
187 | return (POLICYQUALINFO *)ASN1_item_new(&POLICYQUALINFO_it); | ||
188 | } | ||
189 | |||
190 | void | ||
191 | POLICYQUALINFO_free(POLICYQUALINFO *a) | ||
192 | { | ||
193 | ASN1_item_free((ASN1_VALUE *)a, &POLICYQUALINFO_it); | ||
194 | } | ||
123 | 195 | ||
124 | ASN1_SEQUENCE(USERNOTICE) = { | 196 | ASN1_SEQUENCE(USERNOTICE) = { |
125 | ASN1_OPT(USERNOTICE, noticeref, NOTICEREF), | 197 | ASN1_OPT(USERNOTICE, noticeref, NOTICEREF), |
126 | ASN1_OPT(USERNOTICE, exptext, DISPLAYTEXT) | 198 | ASN1_OPT(USERNOTICE, exptext, DISPLAYTEXT) |
127 | } ASN1_SEQUENCE_END(USERNOTICE) | 199 | } ASN1_SEQUENCE_END(USERNOTICE) |
128 | 200 | ||
129 | IMPLEMENT_ASN1_FUNCTIONS(USERNOTICE) | 201 | |
202 | USERNOTICE * | ||
203 | d2i_USERNOTICE(USERNOTICE **a, const unsigned char **in, long len) | ||
204 | { | ||
205 | return (USERNOTICE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
206 | &USERNOTICE_it); | ||
207 | } | ||
208 | |||
209 | int | ||
210 | i2d_USERNOTICE(USERNOTICE *a, unsigned char **out) | ||
211 | { | ||
212 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &USERNOTICE_it); | ||
213 | } | ||
214 | |||
215 | USERNOTICE * | ||
216 | USERNOTICE_new(void) | ||
217 | { | ||
218 | return (USERNOTICE *)ASN1_item_new(&USERNOTICE_it); | ||
219 | } | ||
220 | |||
221 | void | ||
222 | USERNOTICE_free(USERNOTICE *a) | ||
223 | { | ||
224 | ASN1_item_free((ASN1_VALUE *)a, &USERNOTICE_it); | ||
225 | } | ||
130 | 226 | ||
131 | ASN1_SEQUENCE(NOTICEREF) = { | 227 | ASN1_SEQUENCE(NOTICEREF) = { |
132 | ASN1_SIMPLE(NOTICEREF, organization, DISPLAYTEXT), | 228 | ASN1_SIMPLE(NOTICEREF, organization, DISPLAYTEXT), |
133 | ASN1_SEQUENCE_OF(NOTICEREF, noticenos, ASN1_INTEGER) | 229 | ASN1_SEQUENCE_OF(NOTICEREF, noticenos, ASN1_INTEGER) |
134 | } ASN1_SEQUENCE_END(NOTICEREF) | 230 | } ASN1_SEQUENCE_END(NOTICEREF) |
135 | 231 | ||
136 | IMPLEMENT_ASN1_FUNCTIONS(NOTICEREF) | 232 | |
233 | NOTICEREF * | ||
234 | d2i_NOTICEREF(NOTICEREF **a, const unsigned char **in, long len) | ||
235 | { | ||
236 | return (NOTICEREF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
237 | &NOTICEREF_it); | ||
238 | } | ||
239 | |||
240 | int | ||
241 | i2d_NOTICEREF(NOTICEREF *a, unsigned char **out) | ||
242 | { | ||
243 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NOTICEREF_it); | ||
244 | } | ||
245 | |||
246 | NOTICEREF * | ||
247 | NOTICEREF_new(void) | ||
248 | { | ||
249 | return (NOTICEREF *)ASN1_item_new(&NOTICEREF_it); | ||
250 | } | ||
251 | |||
252 | void | ||
253 | NOTICEREF_free(NOTICEREF *a) | ||
254 | { | ||
255 | ASN1_item_free((ASN1_VALUE *)a, &NOTICEREF_it); | ||
256 | } | ||
137 | 257 | ||
138 | static | 258 | static |
139 | STACK_OF(POLICYINFO) *r2i_certpol(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, | 259 | STACK_OF(POLICYINFO) *r2i_certpol(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, |
diff --git a/src/lib/libcrypto/x509v3/v3_crld.c b/src/lib/libcrypto/x509v3/v3_crld.c index 9586401da6..2201b61264 100644 --- a/src/lib/libcrypto/x509v3/v3_crld.c +++ b/src/lib/libcrypto/x509v3/v3_crld.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_crld.c,v 1.13 2014/10/05 18:27:58 miod Exp $ */ | 1 | /* $OpenBSD: v3_crld.c,v 1.14 2015/02/09 16:03:11 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 | */ |
@@ -383,7 +383,31 @@ ASN1_CHOICE_cb(DIST_POINT_NAME, dpn_cb) = { | |||
383 | } ASN1_CHOICE_END_cb(DIST_POINT_NAME, DIST_POINT_NAME, type) | 383 | } ASN1_CHOICE_END_cb(DIST_POINT_NAME, DIST_POINT_NAME, type) |
384 | 384 | ||
385 | 385 | ||
386 | IMPLEMENT_ASN1_FUNCTIONS(DIST_POINT_NAME) | 386 | |
387 | DIST_POINT_NAME * | ||
388 | d2i_DIST_POINT_NAME(DIST_POINT_NAME **a, const unsigned char **in, long len) | ||
389 | { | ||
390 | return (DIST_POINT_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
391 | &DIST_POINT_NAME_it); | ||
392 | } | ||
393 | |||
394 | int | ||
395 | i2d_DIST_POINT_NAME(DIST_POINT_NAME *a, unsigned char **out) | ||
396 | { | ||
397 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIST_POINT_NAME_it); | ||
398 | } | ||
399 | |||
400 | DIST_POINT_NAME * | ||
401 | DIST_POINT_NAME_new(void) | ||
402 | { | ||
403 | return (DIST_POINT_NAME *)ASN1_item_new(&DIST_POINT_NAME_it); | ||
404 | } | ||
405 | |||
406 | void | ||
407 | DIST_POINT_NAME_free(DIST_POINT_NAME *a) | ||
408 | { | ||
409 | ASN1_item_free((ASN1_VALUE *)a, &DIST_POINT_NAME_it); | ||
410 | } | ||
387 | 411 | ||
388 | ASN1_SEQUENCE(DIST_POINT) = { | 412 | ASN1_SEQUENCE(DIST_POINT) = { |
389 | ASN1_EXP_OPT(DIST_POINT, distpoint, DIST_POINT_NAME, 0), | 413 | ASN1_EXP_OPT(DIST_POINT, distpoint, DIST_POINT_NAME, 0), |
@@ -391,14 +415,62 @@ ASN1_SEQUENCE(DIST_POINT) = { | |||
391 | ASN1_IMP_SEQUENCE_OF_OPT(DIST_POINT, CRLissuer, GENERAL_NAME, 2) | 415 | ASN1_IMP_SEQUENCE_OF_OPT(DIST_POINT, CRLissuer, GENERAL_NAME, 2) |
392 | } ASN1_SEQUENCE_END(DIST_POINT) | 416 | } ASN1_SEQUENCE_END(DIST_POINT) |
393 | 417 | ||
394 | IMPLEMENT_ASN1_FUNCTIONS(DIST_POINT) | 418 | |
419 | DIST_POINT * | ||
420 | d2i_DIST_POINT(DIST_POINT **a, const unsigned char **in, long len) | ||
421 | { | ||
422 | return (DIST_POINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
423 | &DIST_POINT_it); | ||
424 | } | ||
425 | |||
426 | int | ||
427 | i2d_DIST_POINT(DIST_POINT *a, unsigned char **out) | ||
428 | { | ||
429 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIST_POINT_it); | ||
430 | } | ||
431 | |||
432 | DIST_POINT * | ||
433 | DIST_POINT_new(void) | ||
434 | { | ||
435 | return (DIST_POINT *)ASN1_item_new(&DIST_POINT_it); | ||
436 | } | ||
437 | |||
438 | void | ||
439 | DIST_POINT_free(DIST_POINT *a) | ||
440 | { | ||
441 | ASN1_item_free((ASN1_VALUE *)a, &DIST_POINT_it); | ||
442 | } | ||
395 | 443 | ||
396 | ASN1_ITEM_TEMPLATE(CRL_DIST_POINTS) = | 444 | ASN1_ITEM_TEMPLATE(CRL_DIST_POINTS) = |
397 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, CRLDistributionPoints, | 445 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, CRLDistributionPoints, |
398 | DIST_POINT) | 446 | DIST_POINT) |
399 | ASN1_ITEM_TEMPLATE_END(CRL_DIST_POINTS) | 447 | ASN1_ITEM_TEMPLATE_END(CRL_DIST_POINTS) |
400 | 448 | ||
401 | IMPLEMENT_ASN1_FUNCTIONS(CRL_DIST_POINTS) | 449 | |
450 | CRL_DIST_POINTS * | ||
451 | d2i_CRL_DIST_POINTS(CRL_DIST_POINTS **a, const unsigned char **in, long len) | ||
452 | { | ||
453 | return (CRL_DIST_POINTS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
454 | &CRL_DIST_POINTS_it); | ||
455 | } | ||
456 | |||
457 | int | ||
458 | i2d_CRL_DIST_POINTS(CRL_DIST_POINTS *a, unsigned char **out) | ||
459 | { | ||
460 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &CRL_DIST_POINTS_it); | ||
461 | } | ||
462 | |||
463 | CRL_DIST_POINTS * | ||
464 | CRL_DIST_POINTS_new(void) | ||
465 | { | ||
466 | return (CRL_DIST_POINTS *)ASN1_item_new(&CRL_DIST_POINTS_it); | ||
467 | } | ||
468 | |||
469 | void | ||
470 | CRL_DIST_POINTS_free(CRL_DIST_POINTS *a) | ||
471 | { | ||
472 | ASN1_item_free((ASN1_VALUE *)a, &CRL_DIST_POINTS_it); | ||
473 | } | ||
402 | 474 | ||
403 | ASN1_SEQUENCE(ISSUING_DIST_POINT) = { | 475 | ASN1_SEQUENCE(ISSUING_DIST_POINT) = { |
404 | ASN1_EXP_OPT(ISSUING_DIST_POINT, distpoint, DIST_POINT_NAME, 0), | 476 | ASN1_EXP_OPT(ISSUING_DIST_POINT, distpoint, DIST_POINT_NAME, 0), |
@@ -409,7 +481,31 @@ ASN1_SEQUENCE(ISSUING_DIST_POINT) = { | |||
409 | ASN1_IMP_OPT(ISSUING_DIST_POINT, onlyattr, ASN1_FBOOLEAN, 5) | 481 | ASN1_IMP_OPT(ISSUING_DIST_POINT, onlyattr, ASN1_FBOOLEAN, 5) |
410 | } ASN1_SEQUENCE_END(ISSUING_DIST_POINT) | 482 | } ASN1_SEQUENCE_END(ISSUING_DIST_POINT) |
411 | 483 | ||
412 | IMPLEMENT_ASN1_FUNCTIONS(ISSUING_DIST_POINT) | 484 | |
485 | ISSUING_DIST_POINT * | ||
486 | d2i_ISSUING_DIST_POINT(ISSUING_DIST_POINT **a, const unsigned char **in, long len) | ||
487 | { | ||
488 | return (ISSUING_DIST_POINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
489 | &ISSUING_DIST_POINT_it); | ||
490 | } | ||
491 | |||
492 | int | ||
493 | i2d_ISSUING_DIST_POINT(ISSUING_DIST_POINT *a, unsigned char **out) | ||
494 | { | ||
495 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ISSUING_DIST_POINT_it); | ||
496 | } | ||
497 | |||
498 | ISSUING_DIST_POINT * | ||
499 | ISSUING_DIST_POINT_new(void) | ||
500 | { | ||
501 | return (ISSUING_DIST_POINT *)ASN1_item_new(&ISSUING_DIST_POINT_it); | ||
502 | } | ||
503 | |||
504 | void | ||
505 | ISSUING_DIST_POINT_free(ISSUING_DIST_POINT *a) | ||
506 | { | ||
507 | ASN1_item_free((ASN1_VALUE *)a, &ISSUING_DIST_POINT_it); | ||
508 | } | ||
413 | 509 | ||
414 | static int i2r_idp(const X509V3_EXT_METHOD *method, void *pidp, BIO *out, | 510 | static int i2r_idp(const X509V3_EXT_METHOD *method, void *pidp, BIO *out, |
415 | int indent); | 511 | int indent); |
diff --git a/src/lib/libcrypto/x509v3/v3_extku.c b/src/lib/libcrypto/x509v3/v3_extku.c index a9f1d6da6e..c37b65f7a5 100644 --- a/src/lib/libcrypto/x509v3/v3_extku.c +++ b/src/lib/libcrypto/x509v3/v3_extku.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_extku.c,v 1.10 2014/10/28 05:46:56 miod Exp $ */ | 1 | /* $OpenBSD: v3_extku.c,v 1.11 2015/02/09 16:03:11 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 | */ |
@@ -96,7 +96,31 @@ ASN1_ITEM_TEMPLATE(EXTENDED_KEY_USAGE) = | |||
96 | ASN1_OBJECT) | 96 | ASN1_OBJECT) |
97 | ASN1_ITEM_TEMPLATE_END(EXTENDED_KEY_USAGE) | 97 | ASN1_ITEM_TEMPLATE_END(EXTENDED_KEY_USAGE) |
98 | 98 | ||
99 | IMPLEMENT_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE) | 99 | |
100 | EXTENDED_KEY_USAGE * | ||
101 | d2i_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE **a, const unsigned char **in, long len) | ||
102 | { | ||
103 | return (EXTENDED_KEY_USAGE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
104 | &EXTENDED_KEY_USAGE_it); | ||
105 | } | ||
106 | |||
107 | int | ||
108 | i2d_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE *a, unsigned char **out) | ||
109 | { | ||
110 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &EXTENDED_KEY_USAGE_it); | ||
111 | } | ||
112 | |||
113 | EXTENDED_KEY_USAGE * | ||
114 | EXTENDED_KEY_USAGE_new(void) | ||
115 | { | ||
116 | return (EXTENDED_KEY_USAGE *)ASN1_item_new(&EXTENDED_KEY_USAGE_it); | ||
117 | } | ||
118 | |||
119 | void | ||
120 | EXTENDED_KEY_USAGE_free(EXTENDED_KEY_USAGE *a) | ||
121 | { | ||
122 | ASN1_item_free((ASN1_VALUE *)a, &EXTENDED_KEY_USAGE_it); | ||
123 | } | ||
100 | 124 | ||
101 | static STACK_OF(CONF_VALUE) * | 125 | static STACK_OF(CONF_VALUE) * |
102 | i2v_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method, void *a, | 126 | i2v_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method, void *a, |
diff --git a/src/lib/libcrypto/x509v3/v3_genn.c b/src/lib/libcrypto/x509v3/v3_genn.c index 716f4a7b99..25d7f447d2 100644 --- a/src/lib/libcrypto/x509v3/v3_genn.c +++ b/src/lib/libcrypto/x509v3/v3_genn.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_genn.c,v 1.9 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_genn.c,v 1.10 2015/02/09 16:03:11 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 | */ |
@@ -69,14 +69,62 @@ ASN1_SEQUENCE(OTHERNAME) = { | |||
69 | ASN1_EXP(OTHERNAME, value, ASN1_ANY, 0) | 69 | ASN1_EXP(OTHERNAME, value, ASN1_ANY, 0) |
70 | } ASN1_SEQUENCE_END(OTHERNAME) | 70 | } ASN1_SEQUENCE_END(OTHERNAME) |
71 | 71 | ||
72 | IMPLEMENT_ASN1_FUNCTIONS(OTHERNAME) | 72 | |
73 | OTHERNAME * | ||
74 | d2i_OTHERNAME(OTHERNAME **a, const unsigned char **in, long len) | ||
75 | { | ||
76 | return (OTHERNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
77 | &OTHERNAME_it); | ||
78 | } | ||
79 | |||
80 | int | ||
81 | i2d_OTHERNAME(OTHERNAME *a, unsigned char **out) | ||
82 | { | ||
83 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &OTHERNAME_it); | ||
84 | } | ||
85 | |||
86 | OTHERNAME * | ||
87 | OTHERNAME_new(void) | ||
88 | { | ||
89 | return (OTHERNAME *)ASN1_item_new(&OTHERNAME_it); | ||
90 | } | ||
91 | |||
92 | void | ||
93 | OTHERNAME_free(OTHERNAME *a) | ||
94 | { | ||
95 | ASN1_item_free((ASN1_VALUE *)a, &OTHERNAME_it); | ||
96 | } | ||
73 | 97 | ||
74 | ASN1_SEQUENCE(EDIPARTYNAME) = { | 98 | ASN1_SEQUENCE(EDIPARTYNAME) = { |
75 | ASN1_IMP_OPT(EDIPARTYNAME, nameAssigner, DIRECTORYSTRING, 0), | 99 | ASN1_IMP_OPT(EDIPARTYNAME, nameAssigner, DIRECTORYSTRING, 0), |
76 | ASN1_IMP_OPT(EDIPARTYNAME, partyName, DIRECTORYSTRING, 1) | 100 | ASN1_IMP_OPT(EDIPARTYNAME, partyName, DIRECTORYSTRING, 1) |
77 | } ASN1_SEQUENCE_END(EDIPARTYNAME) | 101 | } ASN1_SEQUENCE_END(EDIPARTYNAME) |
78 | 102 | ||
79 | IMPLEMENT_ASN1_FUNCTIONS(EDIPARTYNAME) | 103 | |
104 | EDIPARTYNAME * | ||
105 | d2i_EDIPARTYNAME(EDIPARTYNAME **a, const unsigned char **in, long len) | ||
106 | { | ||
107 | return (EDIPARTYNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
108 | &EDIPARTYNAME_it); | ||
109 | } | ||
110 | |||
111 | int | ||
112 | i2d_EDIPARTYNAME(EDIPARTYNAME *a, unsigned char **out) | ||
113 | { | ||
114 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &EDIPARTYNAME_it); | ||
115 | } | ||
116 | |||
117 | EDIPARTYNAME * | ||
118 | EDIPARTYNAME_new(void) | ||
119 | { | ||
120 | return (EDIPARTYNAME *)ASN1_item_new(&EDIPARTYNAME_it); | ||
121 | } | ||
122 | |||
123 | void | ||
124 | EDIPARTYNAME_free(EDIPARTYNAME *a) | ||
125 | { | ||
126 | ASN1_item_free((ASN1_VALUE *)a, &EDIPARTYNAME_it); | ||
127 | } | ||
80 | 128 | ||
81 | ASN1_CHOICE(GENERAL_NAME) = { | 129 | ASN1_CHOICE(GENERAL_NAME) = { |
82 | ASN1_IMP(GENERAL_NAME, d.otherName, OTHERNAME, GEN_OTHERNAME), | 130 | ASN1_IMP(GENERAL_NAME, d.otherName, OTHERNAME, GEN_OTHERNAME), |
@@ -92,13 +140,61 @@ ASN1_CHOICE(GENERAL_NAME) = { | |||
92 | ASN1_IMP(GENERAL_NAME, d.registeredID, ASN1_OBJECT, GEN_RID) | 140 | ASN1_IMP(GENERAL_NAME, d.registeredID, ASN1_OBJECT, GEN_RID) |
93 | } ASN1_CHOICE_END(GENERAL_NAME) | 141 | } ASN1_CHOICE_END(GENERAL_NAME) |
94 | 142 | ||
95 | IMPLEMENT_ASN1_FUNCTIONS(GENERAL_NAME) | 143 | |
144 | GENERAL_NAME * | ||
145 | d2i_GENERAL_NAME(GENERAL_NAME **a, const unsigned char **in, long len) | ||
146 | { | ||
147 | return (GENERAL_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
148 | &GENERAL_NAME_it); | ||
149 | } | ||
150 | |||
151 | int | ||
152 | i2d_GENERAL_NAME(GENERAL_NAME *a, unsigned char **out) | ||
153 | { | ||
154 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAME_it); | ||
155 | } | ||
156 | |||
157 | GENERAL_NAME * | ||
158 | GENERAL_NAME_new(void) | ||
159 | { | ||
160 | return (GENERAL_NAME *)ASN1_item_new(&GENERAL_NAME_it); | ||
161 | } | ||
162 | |||
163 | void | ||
164 | GENERAL_NAME_free(GENERAL_NAME *a) | ||
165 | { | ||
166 | ASN1_item_free((ASN1_VALUE *)a, &GENERAL_NAME_it); | ||
167 | } | ||
96 | 168 | ||
97 | ASN1_ITEM_TEMPLATE(GENERAL_NAMES) = | 169 | ASN1_ITEM_TEMPLATE(GENERAL_NAMES) = |
98 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, GENERAL_NAME) | 170 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, GENERAL_NAME) |
99 | ASN1_ITEM_TEMPLATE_END(GENERAL_NAMES) | 171 | ASN1_ITEM_TEMPLATE_END(GENERAL_NAMES) |
100 | 172 | ||
101 | IMPLEMENT_ASN1_FUNCTIONS(GENERAL_NAMES) | 173 | |
174 | GENERAL_NAMES * | ||
175 | d2i_GENERAL_NAMES(GENERAL_NAMES **a, const unsigned char **in, long len) | ||
176 | { | ||
177 | return (GENERAL_NAMES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
178 | &GENERAL_NAMES_it); | ||
179 | } | ||
180 | |||
181 | int | ||
182 | i2d_GENERAL_NAMES(GENERAL_NAMES *a, unsigned char **out) | ||
183 | { | ||
184 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAMES_it); | ||
185 | } | ||
186 | |||
187 | GENERAL_NAMES * | ||
188 | GENERAL_NAMES_new(void) | ||
189 | { | ||
190 | return (GENERAL_NAMES *)ASN1_item_new(&GENERAL_NAMES_it); | ||
191 | } | ||
192 | |||
193 | void | ||
194 | GENERAL_NAMES_free(GENERAL_NAMES *a) | ||
195 | { | ||
196 | ASN1_item_free((ASN1_VALUE *)a, &GENERAL_NAMES_it); | ||
197 | } | ||
102 | 198 | ||
103 | GENERAL_NAME * | 199 | GENERAL_NAME * |
104 | GENERAL_NAME_dup(GENERAL_NAME *a) | 200 | GENERAL_NAME_dup(GENERAL_NAME *a) |
diff --git a/src/lib/libcrypto/x509v3/v3_info.c b/src/lib/libcrypto/x509v3/v3_info.c index 0a4df34078..d9fa133308 100644 --- a/src/lib/libcrypto/x509v3/v3_info.c +++ b/src/lib/libcrypto/x509v3/v3_info.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_info.c,v 1.20 2015/02/07 13:19:15 doug Exp $ */ | 1 | /* $OpenBSD: v3_info.c,v 1.21 2015/02/09 16:03:11 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 | */ |
@@ -98,14 +98,62 @@ ASN1_SEQUENCE(ACCESS_DESCRIPTION) = { | |||
98 | ASN1_SIMPLE(ACCESS_DESCRIPTION, location, GENERAL_NAME) | 98 | ASN1_SIMPLE(ACCESS_DESCRIPTION, location, GENERAL_NAME) |
99 | } ASN1_SEQUENCE_END(ACCESS_DESCRIPTION) | 99 | } ASN1_SEQUENCE_END(ACCESS_DESCRIPTION) |
100 | 100 | ||
101 | IMPLEMENT_ASN1_FUNCTIONS(ACCESS_DESCRIPTION) | 101 | |
102 | ACCESS_DESCRIPTION * | ||
103 | d2i_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION **a, const unsigned char **in, long len) | ||
104 | { | ||
105 | return (ACCESS_DESCRIPTION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
106 | &ACCESS_DESCRIPTION_it); | ||
107 | } | ||
108 | |||
109 | int | ||
110 | i2d_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION *a, unsigned char **out) | ||
111 | { | ||
112 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ACCESS_DESCRIPTION_it); | ||
113 | } | ||
114 | |||
115 | ACCESS_DESCRIPTION * | ||
116 | ACCESS_DESCRIPTION_new(void) | ||
117 | { | ||
118 | return (ACCESS_DESCRIPTION *)ASN1_item_new(&ACCESS_DESCRIPTION_it); | ||
119 | } | ||
120 | |||
121 | void | ||
122 | ACCESS_DESCRIPTION_free(ACCESS_DESCRIPTION *a) | ||
123 | { | ||
124 | ASN1_item_free((ASN1_VALUE *)a, &ACCESS_DESCRIPTION_it); | ||
125 | } | ||
102 | 126 | ||
103 | ASN1_ITEM_TEMPLATE(AUTHORITY_INFO_ACCESS) = | 127 | ASN1_ITEM_TEMPLATE(AUTHORITY_INFO_ACCESS) = |
104 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, | 128 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, |
105 | ACCESS_DESCRIPTION) | 129 | ACCESS_DESCRIPTION) |
106 | ASN1_ITEM_TEMPLATE_END(AUTHORITY_INFO_ACCESS) | 130 | ASN1_ITEM_TEMPLATE_END(AUTHORITY_INFO_ACCESS) |
107 | 131 | ||
108 | IMPLEMENT_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS) | 132 | |
133 | AUTHORITY_INFO_ACCESS * | ||
134 | d2i_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS **a, const unsigned char **in, long len) | ||
135 | { | ||
136 | return (AUTHORITY_INFO_ACCESS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
137 | &AUTHORITY_INFO_ACCESS_it); | ||
138 | } | ||
139 | |||
140 | int | ||
141 | i2d_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS *a, unsigned char **out) | ||
142 | { | ||
143 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &AUTHORITY_INFO_ACCESS_it); | ||
144 | } | ||
145 | |||
146 | AUTHORITY_INFO_ACCESS * | ||
147 | AUTHORITY_INFO_ACCESS_new(void) | ||
148 | { | ||
149 | return (AUTHORITY_INFO_ACCESS *)ASN1_item_new(&AUTHORITY_INFO_ACCESS_it); | ||
150 | } | ||
151 | |||
152 | void | ||
153 | AUTHORITY_INFO_ACCESS_free(AUTHORITY_INFO_ACCESS *a) | ||
154 | { | ||
155 | ASN1_item_free((ASN1_VALUE *)a, &AUTHORITY_INFO_ACCESS_it); | ||
156 | } | ||
109 | 157 | ||
110 | static STACK_OF(CONF_VALUE) * | 158 | static STACK_OF(CONF_VALUE) * |
111 | i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method, | 159 | i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method, |
diff --git a/src/lib/libcrypto/x509v3/v3_pcia.c b/src/lib/libcrypto/x509v3/v3_pcia.c index c7df225290..07e294e633 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.4 2014/06/12 15:49:31 deraadt Exp $ */ | 1 | /* $OpenBSD: v3_pcia.c,v 1.5 2015/02/09 16:03:11 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 | */ |
@@ -43,7 +43,31 @@ ASN1_SEQUENCE(PROXY_POLICY) = { | |||
43 | ASN1_OPT(PROXY_POLICY, policy, ASN1_OCTET_STRING) | 43 | ASN1_OPT(PROXY_POLICY, policy, ASN1_OCTET_STRING) |
44 | } ASN1_SEQUENCE_END(PROXY_POLICY) | 44 | } ASN1_SEQUENCE_END(PROXY_POLICY) |
45 | 45 | ||
46 | IMPLEMENT_ASN1_FUNCTIONS(PROXY_POLICY) | 46 | |
47 | PROXY_POLICY * | ||
48 | d2i_PROXY_POLICY(PROXY_POLICY **a, const unsigned char **in, long len) | ||
49 | { | ||
50 | return (PROXY_POLICY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
51 | &PROXY_POLICY_it); | ||
52 | } | ||
53 | |||
54 | int | ||
55 | i2d_PROXY_POLICY(PROXY_POLICY *a, unsigned char **out) | ||
56 | { | ||
57 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PROXY_POLICY_it); | ||
58 | } | ||
59 | |||
60 | PROXY_POLICY * | ||
61 | PROXY_POLICY_new(void) | ||
62 | { | ||
63 | return (PROXY_POLICY *)ASN1_item_new(&PROXY_POLICY_it); | ||
64 | } | ||
65 | |||
66 | void | ||
67 | PROXY_POLICY_free(PROXY_POLICY *a) | ||
68 | { | ||
69 | ASN1_item_free((ASN1_VALUE *)a, &PROXY_POLICY_it); | ||
70 | } | ||
47 | 71 | ||
48 | ASN1_SEQUENCE(PROXY_CERT_INFO_EXTENSION) = { | 72 | ASN1_SEQUENCE(PROXY_CERT_INFO_EXTENSION) = { |
49 | ASN1_OPT(PROXY_CERT_INFO_EXTENSION, pcPathLengthConstraint, | 73 | ASN1_OPT(PROXY_CERT_INFO_EXTENSION, pcPathLengthConstraint, |
@@ -51,4 +75,28 @@ ASN1_SEQUENCE(PROXY_CERT_INFO_EXTENSION) = { | |||
51 | ASN1_SIMPLE(PROXY_CERT_INFO_EXTENSION, proxyPolicy, PROXY_POLICY) | 75 | ASN1_SIMPLE(PROXY_CERT_INFO_EXTENSION, proxyPolicy, PROXY_POLICY) |
52 | } ASN1_SEQUENCE_END(PROXY_CERT_INFO_EXTENSION) | 76 | } ASN1_SEQUENCE_END(PROXY_CERT_INFO_EXTENSION) |
53 | 77 | ||
54 | IMPLEMENT_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION) | 78 | |
79 | PROXY_CERT_INFO_EXTENSION * | ||
80 | d2i_PROXY_CERT_INFO_EXTENSION(PROXY_CERT_INFO_EXTENSION **a, const unsigned char **in, long len) | ||
81 | { | ||
82 | return (PROXY_CERT_INFO_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
83 | &PROXY_CERT_INFO_EXTENSION_it); | ||
84 | } | ||
85 | |||
86 | int | ||
87 | i2d_PROXY_CERT_INFO_EXTENSION(PROXY_CERT_INFO_EXTENSION *a, unsigned char **out) | ||
88 | { | ||
89 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PROXY_CERT_INFO_EXTENSION_it); | ||
90 | } | ||
91 | |||
92 | PROXY_CERT_INFO_EXTENSION * | ||
93 | PROXY_CERT_INFO_EXTENSION_new(void) | ||
94 | { | ||
95 | return (PROXY_CERT_INFO_EXTENSION *)ASN1_item_new(&PROXY_CERT_INFO_EXTENSION_it); | ||
96 | } | ||
97 | |||
98 | void | ||
99 | PROXY_CERT_INFO_EXTENSION_free(PROXY_CERT_INFO_EXTENSION *a) | ||
100 | { | ||
101 | ASN1_item_free((ASN1_VALUE *)a, &PROXY_CERT_INFO_EXTENSION_it); | ||
102 | } | ||
diff --git a/src/lib/libcrypto/x509v3/v3_pku.c b/src/lib/libcrypto/x509v3/v3_pku.c index 6cfbc3bd3e..4bce07f09c 100644 --- a/src/lib/libcrypto/x509v3/v3_pku.c +++ b/src/lib/libcrypto/x509v3/v3_pku.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_pku.c,v 1.9 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_pku.c,v 1.10 2015/02/09 16:03:11 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 | */ |
@@ -80,7 +80,31 @@ ASN1_SEQUENCE(PKEY_USAGE_PERIOD) = { | |||
80 | ASN1_IMP_OPT(PKEY_USAGE_PERIOD, notAfter, ASN1_GENERALIZEDTIME, 1) | 80 | ASN1_IMP_OPT(PKEY_USAGE_PERIOD, notAfter, ASN1_GENERALIZEDTIME, 1) |
81 | } ASN1_SEQUENCE_END(PKEY_USAGE_PERIOD) | 81 | } ASN1_SEQUENCE_END(PKEY_USAGE_PERIOD) |
82 | 82 | ||
83 | IMPLEMENT_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) | 83 | |
84 | PKEY_USAGE_PERIOD * | ||
85 | d2i_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD **a, const unsigned char **in, long len) | ||
86 | { | ||
87 | return (PKEY_USAGE_PERIOD *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
88 | &PKEY_USAGE_PERIOD_it); | ||
89 | } | ||
90 | |||
91 | int | ||
92 | i2d_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD *a, unsigned char **out) | ||
93 | { | ||
94 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKEY_USAGE_PERIOD_it); | ||
95 | } | ||
96 | |||
97 | PKEY_USAGE_PERIOD * | ||
98 | PKEY_USAGE_PERIOD_new(void) | ||
99 | { | ||
100 | return (PKEY_USAGE_PERIOD *)ASN1_item_new(&PKEY_USAGE_PERIOD_it); | ||
101 | } | ||
102 | |||
103 | void | ||
104 | PKEY_USAGE_PERIOD_free(PKEY_USAGE_PERIOD *a) | ||
105 | { | ||
106 | ASN1_item_free((ASN1_VALUE *)a, &PKEY_USAGE_PERIOD_it); | ||
107 | } | ||
84 | 108 | ||
85 | static int | 109 | static int |
86 | i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, PKEY_USAGE_PERIOD *usage, | 110 | i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, PKEY_USAGE_PERIOD *usage, |
diff --git a/src/lib/libcrypto/x509v3/v3_sxnet.c b/src/lib/libcrypto/x509v3/v3_sxnet.c index 81e8ab67dd..dc8ee379c7 100644 --- a/src/lib/libcrypto/x509v3/v3_sxnet.c +++ b/src/lib/libcrypto/x509v3/v3_sxnet.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_sxnet.c,v 1.11 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_sxnet.c,v 1.12 2015/02/09 16:03:11 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 | */ |
@@ -95,14 +95,62 @@ ASN1_SEQUENCE(SXNETID) = { | |||
95 | ASN1_SIMPLE(SXNETID, user, ASN1_OCTET_STRING) | 95 | ASN1_SIMPLE(SXNETID, user, ASN1_OCTET_STRING) |
96 | } ASN1_SEQUENCE_END(SXNETID) | 96 | } ASN1_SEQUENCE_END(SXNETID) |
97 | 97 | ||
98 | IMPLEMENT_ASN1_FUNCTIONS(SXNETID) | 98 | |
99 | SXNETID * | ||
100 | d2i_SXNETID(SXNETID **a, const unsigned char **in, long len) | ||
101 | { | ||
102 | return (SXNETID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
103 | &SXNETID_it); | ||
104 | } | ||
105 | |||
106 | int | ||
107 | i2d_SXNETID(SXNETID *a, unsigned char **out) | ||
108 | { | ||
109 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNETID_it); | ||
110 | } | ||
111 | |||
112 | SXNETID * | ||
113 | SXNETID_new(void) | ||
114 | { | ||
115 | return (SXNETID *)ASN1_item_new(&SXNETID_it); | ||
116 | } | ||
117 | |||
118 | void | ||
119 | SXNETID_free(SXNETID *a) | ||
120 | { | ||
121 | ASN1_item_free((ASN1_VALUE *)a, &SXNETID_it); | ||
122 | } | ||
99 | 123 | ||
100 | ASN1_SEQUENCE(SXNET) = { | 124 | ASN1_SEQUENCE(SXNET) = { |
101 | ASN1_SIMPLE(SXNET, version, ASN1_INTEGER), | 125 | ASN1_SIMPLE(SXNET, version, ASN1_INTEGER), |
102 | ASN1_SEQUENCE_OF(SXNET, ids, SXNETID) | 126 | ASN1_SEQUENCE_OF(SXNET, ids, SXNETID) |
103 | } ASN1_SEQUENCE_END(SXNET) | 127 | } ASN1_SEQUENCE_END(SXNET) |
104 | 128 | ||
105 | IMPLEMENT_ASN1_FUNCTIONS(SXNET) | 129 | |
130 | SXNET * | ||
131 | d2i_SXNET(SXNET **a, const unsigned char **in, long len) | ||
132 | { | ||
133 | return (SXNET *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
134 | &SXNET_it); | ||
135 | } | ||
136 | |||
137 | int | ||
138 | i2d_SXNET(SXNET *a, unsigned char **out) | ||
139 | { | ||
140 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNET_it); | ||
141 | } | ||
142 | |||
143 | SXNET * | ||
144 | SXNET_new(void) | ||
145 | { | ||
146 | return (SXNET *)ASN1_item_new(&SXNET_it); | ||
147 | } | ||
148 | |||
149 | void | ||
150 | SXNET_free(SXNET *a) | ||
151 | { | ||
152 | ASN1_item_free((ASN1_VALUE *)a, &SXNET_it); | ||
153 | } | ||
106 | 154 | ||
107 | static int | 155 | static int |
108 | sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out, int indent) | 156 | sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out, int indent) |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_addr.c b/src/lib/libssl/src/crypto/x509v3/v3_addr.c index 40efb1b9ac..4073aeeaa6 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_addr.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_addr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_addr.c,v 1.14 2014/11/18 03:28:05 tedu Exp $ */ | 1 | /* $OpenBSD: v3_addr.c,v 1.15 2015/02/09 16:03:11 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Contributed to the OpenSSL Project by the American Registry for | 3 | * Contributed to the OpenSSL Project by the American Registry for |
4 | * Internet Numbers ("ARIN"). | 4 | * Internet Numbers ("ARIN"). |
@@ -102,10 +102,106 @@ ASN1_ITEM_TEMPLATE(IPAddrBlocks) = | |||
102 | IPAddrBlocks, IPAddressFamily) | 102 | IPAddrBlocks, IPAddressFamily) |
103 | ASN1_ITEM_TEMPLATE_END(IPAddrBlocks) | 103 | ASN1_ITEM_TEMPLATE_END(IPAddrBlocks) |
104 | 104 | ||
105 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressRange) | 105 | |
106 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressOrRange) | 106 | IPAddressRange * |
107 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressChoice) | 107 | d2i_IPAddressRange(IPAddressRange **a, const unsigned char **in, long len) |
108 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressFamily) | 108 | { |
109 | return (IPAddressRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
110 | &IPAddressRange_it); | ||
111 | } | ||
112 | |||
113 | int | ||
114 | i2d_IPAddressRange(IPAddressRange *a, unsigned char **out) | ||
115 | { | ||
116 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressRange_it); | ||
117 | } | ||
118 | |||
119 | IPAddressRange * | ||
120 | IPAddressRange_new(void) | ||
121 | { | ||
122 | return (IPAddressRange *)ASN1_item_new(&IPAddressRange_it); | ||
123 | } | ||
124 | |||
125 | void | ||
126 | IPAddressRange_free(IPAddressRange *a) | ||
127 | { | ||
128 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressRange_it); | ||
129 | } | ||
130 | |||
131 | IPAddressOrRange * | ||
132 | d2i_IPAddressOrRange(IPAddressOrRange **a, const unsigned char **in, long len) | ||
133 | { | ||
134 | return (IPAddressOrRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
135 | &IPAddressOrRange_it); | ||
136 | } | ||
137 | |||
138 | int | ||
139 | i2d_IPAddressOrRange(IPAddressOrRange *a, unsigned char **out) | ||
140 | { | ||
141 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressOrRange_it); | ||
142 | } | ||
143 | |||
144 | IPAddressOrRange * | ||
145 | IPAddressOrRange_new(void) | ||
146 | { | ||
147 | return (IPAddressOrRange *)ASN1_item_new(&IPAddressOrRange_it); | ||
148 | } | ||
149 | |||
150 | void | ||
151 | IPAddressOrRange_free(IPAddressOrRange *a) | ||
152 | { | ||
153 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressOrRange_it); | ||
154 | } | ||
155 | |||
156 | IPAddressChoice * | ||
157 | d2i_IPAddressChoice(IPAddressChoice **a, const unsigned char **in, long len) | ||
158 | { | ||
159 | return (IPAddressChoice *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
160 | &IPAddressChoice_it); | ||
161 | } | ||
162 | |||
163 | int | ||
164 | i2d_IPAddressChoice(IPAddressChoice *a, unsigned char **out) | ||
165 | { | ||
166 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressChoice_it); | ||
167 | } | ||
168 | |||
169 | IPAddressChoice * | ||
170 | IPAddressChoice_new(void) | ||
171 | { | ||
172 | return (IPAddressChoice *)ASN1_item_new(&IPAddressChoice_it); | ||
173 | } | ||
174 | |||
175 | void | ||
176 | IPAddressChoice_free(IPAddressChoice *a) | ||
177 | { | ||
178 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressChoice_it); | ||
179 | } | ||
180 | |||
181 | IPAddressFamily * | ||
182 | d2i_IPAddressFamily(IPAddressFamily **a, const unsigned char **in, long len) | ||
183 | { | ||
184 | return (IPAddressFamily *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
185 | &IPAddressFamily_it); | ||
186 | } | ||
187 | |||
188 | int | ||
189 | i2d_IPAddressFamily(IPAddressFamily *a, unsigned char **out) | ||
190 | { | ||
191 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressFamily_it); | ||
192 | } | ||
193 | |||
194 | IPAddressFamily * | ||
195 | IPAddressFamily_new(void) | ||
196 | { | ||
197 | return (IPAddressFamily *)ASN1_item_new(&IPAddressFamily_it); | ||
198 | } | ||
199 | |||
200 | void | ||
201 | IPAddressFamily_free(IPAddressFamily *a) | ||
202 | { | ||
203 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressFamily_it); | ||
204 | } | ||
109 | 205 | ||
110 | /* | 206 | /* |
111 | * How much buffer space do we need for a raw address? | 207 | * How much buffer space do we need for a raw address? |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_akeya.c b/src/lib/libssl/src/crypto/x509v3/v3_akeya.c index 247c9f48a9..1848c0911e 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_akeya.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_akeya.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_akeya.c,v 1.5 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_akeya.c,v 1.6 2015/02/09 16:03:11 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 | */ |
@@ -69,4 +69,28 @@ ASN1_SEQUENCE(AUTHORITY_KEYID) = { | |||
69 | ASN1_IMP_OPT(AUTHORITY_KEYID, serial, ASN1_INTEGER, 2) | 69 | ASN1_IMP_OPT(AUTHORITY_KEYID, serial, ASN1_INTEGER, 2) |
70 | } ASN1_SEQUENCE_END(AUTHORITY_KEYID) | 70 | } ASN1_SEQUENCE_END(AUTHORITY_KEYID) |
71 | 71 | ||
72 | IMPLEMENT_ASN1_FUNCTIONS(AUTHORITY_KEYID) | 72 | |
73 | AUTHORITY_KEYID * | ||
74 | d2i_AUTHORITY_KEYID(AUTHORITY_KEYID **a, const unsigned char **in, long len) | ||
75 | { | ||
76 | return (AUTHORITY_KEYID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
77 | &AUTHORITY_KEYID_it); | ||
78 | } | ||
79 | |||
80 | int | ||
81 | i2d_AUTHORITY_KEYID(AUTHORITY_KEYID *a, unsigned char **out) | ||
82 | { | ||
83 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &AUTHORITY_KEYID_it); | ||
84 | } | ||
85 | |||
86 | AUTHORITY_KEYID * | ||
87 | AUTHORITY_KEYID_new(void) | ||
88 | { | ||
89 | return (AUTHORITY_KEYID *)ASN1_item_new(&AUTHORITY_KEYID_it); | ||
90 | } | ||
91 | |||
92 | void | ||
93 | AUTHORITY_KEYID_free(AUTHORITY_KEYID *a) | ||
94 | { | ||
95 | ASN1_item_free((ASN1_VALUE *)a, &AUTHORITY_KEYID_it); | ||
96 | } | ||
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_asid.c b/src/lib/libssl/src/crypto/x509v3/v3_asid.c index 680eed31ec..10f82c573d 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_asid.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_asid.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_asid.c,v 1.11 2014/07/13 16:03:10 beck Exp $ */ | 1 | /* $OpenBSD: v3_asid.c,v 1.12 2015/02/09 16:03:11 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Contributed to the OpenSSL Project by the American Registry for | 3 | * Contributed to the OpenSSL Project by the American Registry for |
4 | * Internet Numbers ("ARIN"). | 4 | * Internet Numbers ("ARIN"). |
@@ -98,10 +98,106 @@ ASN1_SEQUENCE(ASIdentifiers) = { | |||
98 | ASN1_EXP_OPT(ASIdentifiers, rdi, ASIdentifierChoice, 1) | 98 | ASN1_EXP_OPT(ASIdentifiers, rdi, ASIdentifierChoice, 1) |
99 | } ASN1_SEQUENCE_END(ASIdentifiers) | 99 | } ASN1_SEQUENCE_END(ASIdentifiers) |
100 | 100 | ||
101 | IMPLEMENT_ASN1_FUNCTIONS(ASRange) | 101 | |
102 | IMPLEMENT_ASN1_FUNCTIONS(ASIdOrRange) | 102 | ASRange * |
103 | IMPLEMENT_ASN1_FUNCTIONS(ASIdentifierChoice) | 103 | d2i_ASRange(ASRange **a, const unsigned char **in, long len) |
104 | IMPLEMENT_ASN1_FUNCTIONS(ASIdentifiers) | 104 | { |
105 | return (ASRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
106 | &ASRange_it); | ||
107 | } | ||
108 | |||
109 | int | ||
110 | i2d_ASRange(ASRange *a, unsigned char **out) | ||
111 | { | ||
112 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASRange_it); | ||
113 | } | ||
114 | |||
115 | ASRange * | ||
116 | ASRange_new(void) | ||
117 | { | ||
118 | return (ASRange *)ASN1_item_new(&ASRange_it); | ||
119 | } | ||
120 | |||
121 | void | ||
122 | ASRange_free(ASRange *a) | ||
123 | { | ||
124 | ASN1_item_free((ASN1_VALUE *)a, &ASRange_it); | ||
125 | } | ||
126 | |||
127 | ASIdOrRange * | ||
128 | d2i_ASIdOrRange(ASIdOrRange **a, const unsigned char **in, long len) | ||
129 | { | ||
130 | return (ASIdOrRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
131 | &ASIdOrRange_it); | ||
132 | } | ||
133 | |||
134 | int | ||
135 | i2d_ASIdOrRange(ASIdOrRange *a, unsigned char **out) | ||
136 | { | ||
137 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdOrRange_it); | ||
138 | } | ||
139 | |||
140 | ASIdOrRange * | ||
141 | ASIdOrRange_new(void) | ||
142 | { | ||
143 | return (ASIdOrRange *)ASN1_item_new(&ASIdOrRange_it); | ||
144 | } | ||
145 | |||
146 | void | ||
147 | ASIdOrRange_free(ASIdOrRange *a) | ||
148 | { | ||
149 | ASN1_item_free((ASN1_VALUE *)a, &ASIdOrRange_it); | ||
150 | } | ||
151 | |||
152 | ASIdentifierChoice * | ||
153 | d2i_ASIdentifierChoice(ASIdentifierChoice **a, const unsigned char **in, long len) | ||
154 | { | ||
155 | return (ASIdentifierChoice *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
156 | &ASIdentifierChoice_it); | ||
157 | } | ||
158 | |||
159 | int | ||
160 | i2d_ASIdentifierChoice(ASIdentifierChoice *a, unsigned char **out) | ||
161 | { | ||
162 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdentifierChoice_it); | ||
163 | } | ||
164 | |||
165 | ASIdentifierChoice * | ||
166 | ASIdentifierChoice_new(void) | ||
167 | { | ||
168 | return (ASIdentifierChoice *)ASN1_item_new(&ASIdentifierChoice_it); | ||
169 | } | ||
170 | |||
171 | void | ||
172 | ASIdentifierChoice_free(ASIdentifierChoice *a) | ||
173 | { | ||
174 | ASN1_item_free((ASN1_VALUE *)a, &ASIdentifierChoice_it); | ||
175 | } | ||
176 | |||
177 | ASIdentifiers * | ||
178 | d2i_ASIdentifiers(ASIdentifiers **a, const unsigned char **in, long len) | ||
179 | { | ||
180 | return (ASIdentifiers *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
181 | &ASIdentifiers_it); | ||
182 | } | ||
183 | |||
184 | int | ||
185 | i2d_ASIdentifiers(ASIdentifiers *a, unsigned char **out) | ||
186 | { | ||
187 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdentifiers_it); | ||
188 | } | ||
189 | |||
190 | ASIdentifiers * | ||
191 | ASIdentifiers_new(void) | ||
192 | { | ||
193 | return (ASIdentifiers *)ASN1_item_new(&ASIdentifiers_it); | ||
194 | } | ||
195 | |||
196 | void | ||
197 | ASIdentifiers_free(ASIdentifiers *a) | ||
198 | { | ||
199 | ASN1_item_free((ASN1_VALUE *)a, &ASIdentifiers_it); | ||
200 | } | ||
105 | 201 | ||
106 | /* | 202 | /* |
107 | * i2r method for an ASIdentifierChoice. | 203 | * i2r method for an ASIdentifierChoice. |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_bcons.c b/src/lib/libssl/src/crypto/x509v3/v3_bcons.c index 8e2632d379..fb3f6c7619 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_bcons.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_bcons.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_bcons.c,v 1.10 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_bcons.c,v 1.11 2015/02/09 16:03:11 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 | */ |
@@ -86,7 +86,31 @@ ASN1_SEQUENCE(BASIC_CONSTRAINTS) = { | |||
86 | ASN1_OPT(BASIC_CONSTRAINTS, pathlen, ASN1_INTEGER) | 86 | ASN1_OPT(BASIC_CONSTRAINTS, pathlen, ASN1_INTEGER) |
87 | } ASN1_SEQUENCE_END(BASIC_CONSTRAINTS) | 87 | } ASN1_SEQUENCE_END(BASIC_CONSTRAINTS) |
88 | 88 | ||
89 | IMPLEMENT_ASN1_FUNCTIONS(BASIC_CONSTRAINTS) | 89 | |
90 | BASIC_CONSTRAINTS * | ||
91 | d2i_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS **a, const unsigned char **in, long len) | ||
92 | { | ||
93 | return (BASIC_CONSTRAINTS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
94 | &BASIC_CONSTRAINTS_it); | ||
95 | } | ||
96 | |||
97 | int | ||
98 | i2d_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS *a, unsigned char **out) | ||
99 | { | ||
100 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &BASIC_CONSTRAINTS_it); | ||
101 | } | ||
102 | |||
103 | BASIC_CONSTRAINTS * | ||
104 | BASIC_CONSTRAINTS_new(void) | ||
105 | { | ||
106 | return (BASIC_CONSTRAINTS *)ASN1_item_new(&BASIC_CONSTRAINTS_it); | ||
107 | } | ||
108 | |||
109 | void | ||
110 | BASIC_CONSTRAINTS_free(BASIC_CONSTRAINTS *a) | ||
111 | { | ||
112 | ASN1_item_free((ASN1_VALUE *)a, &BASIC_CONSTRAINTS_it); | ||
113 | } | ||
90 | 114 | ||
91 | 115 | ||
92 | static STACK_OF(CONF_VALUE) * | 116 | static STACK_OF(CONF_VALUE) * |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_cpols.c b/src/lib/libssl/src/crypto/x509v3/v3_cpols.c index d683db697e..6ceb93d372 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_cpols.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_cpols.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_cpols.c,v 1.16 2014/10/05 18:27:33 miod Exp $ */ | 1 | /* $OpenBSD: v3_cpols.c,v 1.17 2015/02/09 16:03:11 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 | */ |
@@ -97,14 +97,62 @@ ASN1_ITEM_TEMPLATE(CERTIFICATEPOLICIES) = | |||
97 | POLICYINFO) | 97 | POLICYINFO) |
98 | ASN1_ITEM_TEMPLATE_END(CERTIFICATEPOLICIES) | 98 | ASN1_ITEM_TEMPLATE_END(CERTIFICATEPOLICIES) |
99 | 99 | ||
100 | IMPLEMENT_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) | 100 | |
101 | CERTIFICATEPOLICIES * | ||
102 | d2i_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES **a, const unsigned char **in, long len) | ||
103 | { | ||
104 | return (CERTIFICATEPOLICIES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
105 | &CERTIFICATEPOLICIES_it); | ||
106 | } | ||
107 | |||
108 | int | ||
109 | i2d_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES *a, unsigned char **out) | ||
110 | { | ||
111 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &CERTIFICATEPOLICIES_it); | ||
112 | } | ||
113 | |||
114 | CERTIFICATEPOLICIES * | ||
115 | CERTIFICATEPOLICIES_new(void) | ||
116 | { | ||
117 | return (CERTIFICATEPOLICIES *)ASN1_item_new(&CERTIFICATEPOLICIES_it); | ||
118 | } | ||
119 | |||
120 | void | ||
121 | CERTIFICATEPOLICIES_free(CERTIFICATEPOLICIES *a) | ||
122 | { | ||
123 | ASN1_item_free((ASN1_VALUE *)a, &CERTIFICATEPOLICIES_it); | ||
124 | } | ||
101 | 125 | ||
102 | ASN1_SEQUENCE(POLICYINFO) = { | 126 | ASN1_SEQUENCE(POLICYINFO) = { |
103 | ASN1_SIMPLE(POLICYINFO, policyid, ASN1_OBJECT), | 127 | ASN1_SIMPLE(POLICYINFO, policyid, ASN1_OBJECT), |
104 | ASN1_SEQUENCE_OF_OPT(POLICYINFO, qualifiers, POLICYQUALINFO) | 128 | ASN1_SEQUENCE_OF_OPT(POLICYINFO, qualifiers, POLICYQUALINFO) |
105 | } ASN1_SEQUENCE_END(POLICYINFO) | 129 | } ASN1_SEQUENCE_END(POLICYINFO) |
106 | 130 | ||
107 | IMPLEMENT_ASN1_FUNCTIONS(POLICYINFO) | 131 | |
132 | POLICYINFO * | ||
133 | d2i_POLICYINFO(POLICYINFO **a, const unsigned char **in, long len) | ||
134 | { | ||
135 | return (POLICYINFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
136 | &POLICYINFO_it); | ||
137 | } | ||
138 | |||
139 | int | ||
140 | i2d_POLICYINFO(POLICYINFO *a, unsigned char **out) | ||
141 | { | ||
142 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &POLICYINFO_it); | ||
143 | } | ||
144 | |||
145 | POLICYINFO * | ||
146 | POLICYINFO_new(void) | ||
147 | { | ||
148 | return (POLICYINFO *)ASN1_item_new(&POLICYINFO_it); | ||
149 | } | ||
150 | |||
151 | void | ||
152 | POLICYINFO_free(POLICYINFO *a) | ||
153 | { | ||
154 | ASN1_item_free((ASN1_VALUE *)a, &POLICYINFO_it); | ||
155 | } | ||
108 | 156 | ||
109 | ASN1_ADB_TEMPLATE(policydefault) = | 157 | ASN1_ADB_TEMPLATE(policydefault) = |
110 | ASN1_SIMPLE(POLICYQUALINFO, d.other, ASN1_ANY); | 158 | ASN1_SIMPLE(POLICYQUALINFO, d.other, ASN1_ANY); |
@@ -119,21 +167,93 @@ ASN1_SEQUENCE(POLICYQUALINFO) = { | |||
119 | ASN1_ADB_OBJECT(POLICYQUALINFO) | 167 | ASN1_ADB_OBJECT(POLICYQUALINFO) |
120 | } ASN1_SEQUENCE_END(POLICYQUALINFO) | 168 | } ASN1_SEQUENCE_END(POLICYQUALINFO) |
121 | 169 | ||
122 | IMPLEMENT_ASN1_FUNCTIONS(POLICYQUALINFO) | 170 | |
171 | POLICYQUALINFO * | ||
172 | d2i_POLICYQUALINFO(POLICYQUALINFO **a, const unsigned char **in, long len) | ||
173 | { | ||
174 | return (POLICYQUALINFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
175 | &POLICYQUALINFO_it); | ||
176 | } | ||
177 | |||
178 | int | ||
179 | i2d_POLICYQUALINFO(POLICYQUALINFO *a, unsigned char **out) | ||
180 | { | ||
181 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &POLICYQUALINFO_it); | ||
182 | } | ||
183 | |||
184 | POLICYQUALINFO * | ||
185 | POLICYQUALINFO_new(void) | ||
186 | { | ||
187 | return (POLICYQUALINFO *)ASN1_item_new(&POLICYQUALINFO_it); | ||
188 | } | ||
189 | |||
190 | void | ||
191 | POLICYQUALINFO_free(POLICYQUALINFO *a) | ||
192 | { | ||
193 | ASN1_item_free((ASN1_VALUE *)a, &POLICYQUALINFO_it); | ||
194 | } | ||
123 | 195 | ||
124 | ASN1_SEQUENCE(USERNOTICE) = { | 196 | ASN1_SEQUENCE(USERNOTICE) = { |
125 | ASN1_OPT(USERNOTICE, noticeref, NOTICEREF), | 197 | ASN1_OPT(USERNOTICE, noticeref, NOTICEREF), |
126 | ASN1_OPT(USERNOTICE, exptext, DISPLAYTEXT) | 198 | ASN1_OPT(USERNOTICE, exptext, DISPLAYTEXT) |
127 | } ASN1_SEQUENCE_END(USERNOTICE) | 199 | } ASN1_SEQUENCE_END(USERNOTICE) |
128 | 200 | ||
129 | IMPLEMENT_ASN1_FUNCTIONS(USERNOTICE) | 201 | |
202 | USERNOTICE * | ||
203 | d2i_USERNOTICE(USERNOTICE **a, const unsigned char **in, long len) | ||
204 | { | ||
205 | return (USERNOTICE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
206 | &USERNOTICE_it); | ||
207 | } | ||
208 | |||
209 | int | ||
210 | i2d_USERNOTICE(USERNOTICE *a, unsigned char **out) | ||
211 | { | ||
212 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &USERNOTICE_it); | ||
213 | } | ||
214 | |||
215 | USERNOTICE * | ||
216 | USERNOTICE_new(void) | ||
217 | { | ||
218 | return (USERNOTICE *)ASN1_item_new(&USERNOTICE_it); | ||
219 | } | ||
220 | |||
221 | void | ||
222 | USERNOTICE_free(USERNOTICE *a) | ||
223 | { | ||
224 | ASN1_item_free((ASN1_VALUE *)a, &USERNOTICE_it); | ||
225 | } | ||
130 | 226 | ||
131 | ASN1_SEQUENCE(NOTICEREF) = { | 227 | ASN1_SEQUENCE(NOTICEREF) = { |
132 | ASN1_SIMPLE(NOTICEREF, organization, DISPLAYTEXT), | 228 | ASN1_SIMPLE(NOTICEREF, organization, DISPLAYTEXT), |
133 | ASN1_SEQUENCE_OF(NOTICEREF, noticenos, ASN1_INTEGER) | 229 | ASN1_SEQUENCE_OF(NOTICEREF, noticenos, ASN1_INTEGER) |
134 | } ASN1_SEQUENCE_END(NOTICEREF) | 230 | } ASN1_SEQUENCE_END(NOTICEREF) |
135 | 231 | ||
136 | IMPLEMENT_ASN1_FUNCTIONS(NOTICEREF) | 232 | |
233 | NOTICEREF * | ||
234 | d2i_NOTICEREF(NOTICEREF **a, const unsigned char **in, long len) | ||
235 | { | ||
236 | return (NOTICEREF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
237 | &NOTICEREF_it); | ||
238 | } | ||
239 | |||
240 | int | ||
241 | i2d_NOTICEREF(NOTICEREF *a, unsigned char **out) | ||
242 | { | ||
243 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NOTICEREF_it); | ||
244 | } | ||
245 | |||
246 | NOTICEREF * | ||
247 | NOTICEREF_new(void) | ||
248 | { | ||
249 | return (NOTICEREF *)ASN1_item_new(&NOTICEREF_it); | ||
250 | } | ||
251 | |||
252 | void | ||
253 | NOTICEREF_free(NOTICEREF *a) | ||
254 | { | ||
255 | ASN1_item_free((ASN1_VALUE *)a, &NOTICEREF_it); | ||
256 | } | ||
137 | 257 | ||
138 | static | 258 | static |
139 | STACK_OF(POLICYINFO) *r2i_certpol(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, | 259 | STACK_OF(POLICYINFO) *r2i_certpol(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_crld.c b/src/lib/libssl/src/crypto/x509v3/v3_crld.c index 9586401da6..2201b61264 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_crld.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_crld.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_crld.c,v 1.13 2014/10/05 18:27:58 miod Exp $ */ | 1 | /* $OpenBSD: v3_crld.c,v 1.14 2015/02/09 16:03:11 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 | */ |
@@ -383,7 +383,31 @@ ASN1_CHOICE_cb(DIST_POINT_NAME, dpn_cb) = { | |||
383 | } ASN1_CHOICE_END_cb(DIST_POINT_NAME, DIST_POINT_NAME, type) | 383 | } ASN1_CHOICE_END_cb(DIST_POINT_NAME, DIST_POINT_NAME, type) |
384 | 384 | ||
385 | 385 | ||
386 | IMPLEMENT_ASN1_FUNCTIONS(DIST_POINT_NAME) | 386 | |
387 | DIST_POINT_NAME * | ||
388 | d2i_DIST_POINT_NAME(DIST_POINT_NAME **a, const unsigned char **in, long len) | ||
389 | { | ||
390 | return (DIST_POINT_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
391 | &DIST_POINT_NAME_it); | ||
392 | } | ||
393 | |||
394 | int | ||
395 | i2d_DIST_POINT_NAME(DIST_POINT_NAME *a, unsigned char **out) | ||
396 | { | ||
397 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIST_POINT_NAME_it); | ||
398 | } | ||
399 | |||
400 | DIST_POINT_NAME * | ||
401 | DIST_POINT_NAME_new(void) | ||
402 | { | ||
403 | return (DIST_POINT_NAME *)ASN1_item_new(&DIST_POINT_NAME_it); | ||
404 | } | ||
405 | |||
406 | void | ||
407 | DIST_POINT_NAME_free(DIST_POINT_NAME *a) | ||
408 | { | ||
409 | ASN1_item_free((ASN1_VALUE *)a, &DIST_POINT_NAME_it); | ||
410 | } | ||
387 | 411 | ||
388 | ASN1_SEQUENCE(DIST_POINT) = { | 412 | ASN1_SEQUENCE(DIST_POINT) = { |
389 | ASN1_EXP_OPT(DIST_POINT, distpoint, DIST_POINT_NAME, 0), | 413 | ASN1_EXP_OPT(DIST_POINT, distpoint, DIST_POINT_NAME, 0), |
@@ -391,14 +415,62 @@ ASN1_SEQUENCE(DIST_POINT) = { | |||
391 | ASN1_IMP_SEQUENCE_OF_OPT(DIST_POINT, CRLissuer, GENERAL_NAME, 2) | 415 | ASN1_IMP_SEQUENCE_OF_OPT(DIST_POINT, CRLissuer, GENERAL_NAME, 2) |
392 | } ASN1_SEQUENCE_END(DIST_POINT) | 416 | } ASN1_SEQUENCE_END(DIST_POINT) |
393 | 417 | ||
394 | IMPLEMENT_ASN1_FUNCTIONS(DIST_POINT) | 418 | |
419 | DIST_POINT * | ||
420 | d2i_DIST_POINT(DIST_POINT **a, const unsigned char **in, long len) | ||
421 | { | ||
422 | return (DIST_POINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
423 | &DIST_POINT_it); | ||
424 | } | ||
425 | |||
426 | int | ||
427 | i2d_DIST_POINT(DIST_POINT *a, unsigned char **out) | ||
428 | { | ||
429 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIST_POINT_it); | ||
430 | } | ||
431 | |||
432 | DIST_POINT * | ||
433 | DIST_POINT_new(void) | ||
434 | { | ||
435 | return (DIST_POINT *)ASN1_item_new(&DIST_POINT_it); | ||
436 | } | ||
437 | |||
438 | void | ||
439 | DIST_POINT_free(DIST_POINT *a) | ||
440 | { | ||
441 | ASN1_item_free((ASN1_VALUE *)a, &DIST_POINT_it); | ||
442 | } | ||
395 | 443 | ||
396 | ASN1_ITEM_TEMPLATE(CRL_DIST_POINTS) = | 444 | ASN1_ITEM_TEMPLATE(CRL_DIST_POINTS) = |
397 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, CRLDistributionPoints, | 445 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, CRLDistributionPoints, |
398 | DIST_POINT) | 446 | DIST_POINT) |
399 | ASN1_ITEM_TEMPLATE_END(CRL_DIST_POINTS) | 447 | ASN1_ITEM_TEMPLATE_END(CRL_DIST_POINTS) |
400 | 448 | ||
401 | IMPLEMENT_ASN1_FUNCTIONS(CRL_DIST_POINTS) | 449 | |
450 | CRL_DIST_POINTS * | ||
451 | d2i_CRL_DIST_POINTS(CRL_DIST_POINTS **a, const unsigned char **in, long len) | ||
452 | { | ||
453 | return (CRL_DIST_POINTS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
454 | &CRL_DIST_POINTS_it); | ||
455 | } | ||
456 | |||
457 | int | ||
458 | i2d_CRL_DIST_POINTS(CRL_DIST_POINTS *a, unsigned char **out) | ||
459 | { | ||
460 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &CRL_DIST_POINTS_it); | ||
461 | } | ||
462 | |||
463 | CRL_DIST_POINTS * | ||
464 | CRL_DIST_POINTS_new(void) | ||
465 | { | ||
466 | return (CRL_DIST_POINTS *)ASN1_item_new(&CRL_DIST_POINTS_it); | ||
467 | } | ||
468 | |||
469 | void | ||
470 | CRL_DIST_POINTS_free(CRL_DIST_POINTS *a) | ||
471 | { | ||
472 | ASN1_item_free((ASN1_VALUE *)a, &CRL_DIST_POINTS_it); | ||
473 | } | ||
402 | 474 | ||
403 | ASN1_SEQUENCE(ISSUING_DIST_POINT) = { | 475 | ASN1_SEQUENCE(ISSUING_DIST_POINT) = { |
404 | ASN1_EXP_OPT(ISSUING_DIST_POINT, distpoint, DIST_POINT_NAME, 0), | 476 | ASN1_EXP_OPT(ISSUING_DIST_POINT, distpoint, DIST_POINT_NAME, 0), |
@@ -409,7 +481,31 @@ ASN1_SEQUENCE(ISSUING_DIST_POINT) = { | |||
409 | ASN1_IMP_OPT(ISSUING_DIST_POINT, onlyattr, ASN1_FBOOLEAN, 5) | 481 | ASN1_IMP_OPT(ISSUING_DIST_POINT, onlyattr, ASN1_FBOOLEAN, 5) |
410 | } ASN1_SEQUENCE_END(ISSUING_DIST_POINT) | 482 | } ASN1_SEQUENCE_END(ISSUING_DIST_POINT) |
411 | 483 | ||
412 | IMPLEMENT_ASN1_FUNCTIONS(ISSUING_DIST_POINT) | 484 | |
485 | ISSUING_DIST_POINT * | ||
486 | d2i_ISSUING_DIST_POINT(ISSUING_DIST_POINT **a, const unsigned char **in, long len) | ||
487 | { | ||
488 | return (ISSUING_DIST_POINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
489 | &ISSUING_DIST_POINT_it); | ||
490 | } | ||
491 | |||
492 | int | ||
493 | i2d_ISSUING_DIST_POINT(ISSUING_DIST_POINT *a, unsigned char **out) | ||
494 | { | ||
495 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ISSUING_DIST_POINT_it); | ||
496 | } | ||
497 | |||
498 | ISSUING_DIST_POINT * | ||
499 | ISSUING_DIST_POINT_new(void) | ||
500 | { | ||
501 | return (ISSUING_DIST_POINT *)ASN1_item_new(&ISSUING_DIST_POINT_it); | ||
502 | } | ||
503 | |||
504 | void | ||
505 | ISSUING_DIST_POINT_free(ISSUING_DIST_POINT *a) | ||
506 | { | ||
507 | ASN1_item_free((ASN1_VALUE *)a, &ISSUING_DIST_POINT_it); | ||
508 | } | ||
413 | 509 | ||
414 | static int i2r_idp(const X509V3_EXT_METHOD *method, void *pidp, BIO *out, | 510 | static int i2r_idp(const X509V3_EXT_METHOD *method, void *pidp, BIO *out, |
415 | int indent); | 511 | int indent); |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_extku.c b/src/lib/libssl/src/crypto/x509v3/v3_extku.c index a9f1d6da6e..c37b65f7a5 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_extku.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_extku.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_extku.c,v 1.10 2014/10/28 05:46:56 miod Exp $ */ | 1 | /* $OpenBSD: v3_extku.c,v 1.11 2015/02/09 16:03:11 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 | */ |
@@ -96,7 +96,31 @@ ASN1_ITEM_TEMPLATE(EXTENDED_KEY_USAGE) = | |||
96 | ASN1_OBJECT) | 96 | ASN1_OBJECT) |
97 | ASN1_ITEM_TEMPLATE_END(EXTENDED_KEY_USAGE) | 97 | ASN1_ITEM_TEMPLATE_END(EXTENDED_KEY_USAGE) |
98 | 98 | ||
99 | IMPLEMENT_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE) | 99 | |
100 | EXTENDED_KEY_USAGE * | ||
101 | d2i_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE **a, const unsigned char **in, long len) | ||
102 | { | ||
103 | return (EXTENDED_KEY_USAGE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
104 | &EXTENDED_KEY_USAGE_it); | ||
105 | } | ||
106 | |||
107 | int | ||
108 | i2d_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE *a, unsigned char **out) | ||
109 | { | ||
110 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &EXTENDED_KEY_USAGE_it); | ||
111 | } | ||
112 | |||
113 | EXTENDED_KEY_USAGE * | ||
114 | EXTENDED_KEY_USAGE_new(void) | ||
115 | { | ||
116 | return (EXTENDED_KEY_USAGE *)ASN1_item_new(&EXTENDED_KEY_USAGE_it); | ||
117 | } | ||
118 | |||
119 | void | ||
120 | EXTENDED_KEY_USAGE_free(EXTENDED_KEY_USAGE *a) | ||
121 | { | ||
122 | ASN1_item_free((ASN1_VALUE *)a, &EXTENDED_KEY_USAGE_it); | ||
123 | } | ||
100 | 124 | ||
101 | static STACK_OF(CONF_VALUE) * | 125 | static STACK_OF(CONF_VALUE) * |
102 | i2v_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method, void *a, | 126 | i2v_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method, void *a, |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_genn.c b/src/lib/libssl/src/crypto/x509v3/v3_genn.c index 716f4a7b99..25d7f447d2 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_genn.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_genn.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_genn.c,v 1.9 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_genn.c,v 1.10 2015/02/09 16:03:11 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 | */ |
@@ -69,14 +69,62 @@ ASN1_SEQUENCE(OTHERNAME) = { | |||
69 | ASN1_EXP(OTHERNAME, value, ASN1_ANY, 0) | 69 | ASN1_EXP(OTHERNAME, value, ASN1_ANY, 0) |
70 | } ASN1_SEQUENCE_END(OTHERNAME) | 70 | } ASN1_SEQUENCE_END(OTHERNAME) |
71 | 71 | ||
72 | IMPLEMENT_ASN1_FUNCTIONS(OTHERNAME) | 72 | |
73 | OTHERNAME * | ||
74 | d2i_OTHERNAME(OTHERNAME **a, const unsigned char **in, long len) | ||
75 | { | ||
76 | return (OTHERNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
77 | &OTHERNAME_it); | ||
78 | } | ||
79 | |||
80 | int | ||
81 | i2d_OTHERNAME(OTHERNAME *a, unsigned char **out) | ||
82 | { | ||
83 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &OTHERNAME_it); | ||
84 | } | ||
85 | |||
86 | OTHERNAME * | ||
87 | OTHERNAME_new(void) | ||
88 | { | ||
89 | return (OTHERNAME *)ASN1_item_new(&OTHERNAME_it); | ||
90 | } | ||
91 | |||
92 | void | ||
93 | OTHERNAME_free(OTHERNAME *a) | ||
94 | { | ||
95 | ASN1_item_free((ASN1_VALUE *)a, &OTHERNAME_it); | ||
96 | } | ||
73 | 97 | ||
74 | ASN1_SEQUENCE(EDIPARTYNAME) = { | 98 | ASN1_SEQUENCE(EDIPARTYNAME) = { |
75 | ASN1_IMP_OPT(EDIPARTYNAME, nameAssigner, DIRECTORYSTRING, 0), | 99 | ASN1_IMP_OPT(EDIPARTYNAME, nameAssigner, DIRECTORYSTRING, 0), |
76 | ASN1_IMP_OPT(EDIPARTYNAME, partyName, DIRECTORYSTRING, 1) | 100 | ASN1_IMP_OPT(EDIPARTYNAME, partyName, DIRECTORYSTRING, 1) |
77 | } ASN1_SEQUENCE_END(EDIPARTYNAME) | 101 | } ASN1_SEQUENCE_END(EDIPARTYNAME) |
78 | 102 | ||
79 | IMPLEMENT_ASN1_FUNCTIONS(EDIPARTYNAME) | 103 | |
104 | EDIPARTYNAME * | ||
105 | d2i_EDIPARTYNAME(EDIPARTYNAME **a, const unsigned char **in, long len) | ||
106 | { | ||
107 | return (EDIPARTYNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
108 | &EDIPARTYNAME_it); | ||
109 | } | ||
110 | |||
111 | int | ||
112 | i2d_EDIPARTYNAME(EDIPARTYNAME *a, unsigned char **out) | ||
113 | { | ||
114 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &EDIPARTYNAME_it); | ||
115 | } | ||
116 | |||
117 | EDIPARTYNAME * | ||
118 | EDIPARTYNAME_new(void) | ||
119 | { | ||
120 | return (EDIPARTYNAME *)ASN1_item_new(&EDIPARTYNAME_it); | ||
121 | } | ||
122 | |||
123 | void | ||
124 | EDIPARTYNAME_free(EDIPARTYNAME *a) | ||
125 | { | ||
126 | ASN1_item_free((ASN1_VALUE *)a, &EDIPARTYNAME_it); | ||
127 | } | ||
80 | 128 | ||
81 | ASN1_CHOICE(GENERAL_NAME) = { | 129 | ASN1_CHOICE(GENERAL_NAME) = { |
82 | ASN1_IMP(GENERAL_NAME, d.otherName, OTHERNAME, GEN_OTHERNAME), | 130 | ASN1_IMP(GENERAL_NAME, d.otherName, OTHERNAME, GEN_OTHERNAME), |
@@ -92,13 +140,61 @@ ASN1_CHOICE(GENERAL_NAME) = { | |||
92 | ASN1_IMP(GENERAL_NAME, d.registeredID, ASN1_OBJECT, GEN_RID) | 140 | ASN1_IMP(GENERAL_NAME, d.registeredID, ASN1_OBJECT, GEN_RID) |
93 | } ASN1_CHOICE_END(GENERAL_NAME) | 141 | } ASN1_CHOICE_END(GENERAL_NAME) |
94 | 142 | ||
95 | IMPLEMENT_ASN1_FUNCTIONS(GENERAL_NAME) | 143 | |
144 | GENERAL_NAME * | ||
145 | d2i_GENERAL_NAME(GENERAL_NAME **a, const unsigned char **in, long len) | ||
146 | { | ||
147 | return (GENERAL_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
148 | &GENERAL_NAME_it); | ||
149 | } | ||
150 | |||
151 | int | ||
152 | i2d_GENERAL_NAME(GENERAL_NAME *a, unsigned char **out) | ||
153 | { | ||
154 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAME_it); | ||
155 | } | ||
156 | |||
157 | GENERAL_NAME * | ||
158 | GENERAL_NAME_new(void) | ||
159 | { | ||
160 | return (GENERAL_NAME *)ASN1_item_new(&GENERAL_NAME_it); | ||
161 | } | ||
162 | |||
163 | void | ||
164 | GENERAL_NAME_free(GENERAL_NAME *a) | ||
165 | { | ||
166 | ASN1_item_free((ASN1_VALUE *)a, &GENERAL_NAME_it); | ||
167 | } | ||
96 | 168 | ||
97 | ASN1_ITEM_TEMPLATE(GENERAL_NAMES) = | 169 | ASN1_ITEM_TEMPLATE(GENERAL_NAMES) = |
98 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, GENERAL_NAME) | 170 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, GENERAL_NAME) |
99 | ASN1_ITEM_TEMPLATE_END(GENERAL_NAMES) | 171 | ASN1_ITEM_TEMPLATE_END(GENERAL_NAMES) |
100 | 172 | ||
101 | IMPLEMENT_ASN1_FUNCTIONS(GENERAL_NAMES) | 173 | |
174 | GENERAL_NAMES * | ||
175 | d2i_GENERAL_NAMES(GENERAL_NAMES **a, const unsigned char **in, long len) | ||
176 | { | ||
177 | return (GENERAL_NAMES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
178 | &GENERAL_NAMES_it); | ||
179 | } | ||
180 | |||
181 | int | ||
182 | i2d_GENERAL_NAMES(GENERAL_NAMES *a, unsigned char **out) | ||
183 | { | ||
184 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAMES_it); | ||
185 | } | ||
186 | |||
187 | GENERAL_NAMES * | ||
188 | GENERAL_NAMES_new(void) | ||
189 | { | ||
190 | return (GENERAL_NAMES *)ASN1_item_new(&GENERAL_NAMES_it); | ||
191 | } | ||
192 | |||
193 | void | ||
194 | GENERAL_NAMES_free(GENERAL_NAMES *a) | ||
195 | { | ||
196 | ASN1_item_free((ASN1_VALUE *)a, &GENERAL_NAMES_it); | ||
197 | } | ||
102 | 198 | ||
103 | GENERAL_NAME * | 199 | GENERAL_NAME * |
104 | GENERAL_NAME_dup(GENERAL_NAME *a) | 200 | GENERAL_NAME_dup(GENERAL_NAME *a) |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_info.c b/src/lib/libssl/src/crypto/x509v3/v3_info.c index 0a4df34078..d9fa133308 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_info.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_info.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_info.c,v 1.20 2015/02/07 13:19:15 doug Exp $ */ | 1 | /* $OpenBSD: v3_info.c,v 1.21 2015/02/09 16:03:11 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 | */ |
@@ -98,14 +98,62 @@ ASN1_SEQUENCE(ACCESS_DESCRIPTION) = { | |||
98 | ASN1_SIMPLE(ACCESS_DESCRIPTION, location, GENERAL_NAME) | 98 | ASN1_SIMPLE(ACCESS_DESCRIPTION, location, GENERAL_NAME) |
99 | } ASN1_SEQUENCE_END(ACCESS_DESCRIPTION) | 99 | } ASN1_SEQUENCE_END(ACCESS_DESCRIPTION) |
100 | 100 | ||
101 | IMPLEMENT_ASN1_FUNCTIONS(ACCESS_DESCRIPTION) | 101 | |
102 | ACCESS_DESCRIPTION * | ||
103 | d2i_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION **a, const unsigned char **in, long len) | ||
104 | { | ||
105 | return (ACCESS_DESCRIPTION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
106 | &ACCESS_DESCRIPTION_it); | ||
107 | } | ||
108 | |||
109 | int | ||
110 | i2d_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION *a, unsigned char **out) | ||
111 | { | ||
112 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ACCESS_DESCRIPTION_it); | ||
113 | } | ||
114 | |||
115 | ACCESS_DESCRIPTION * | ||
116 | ACCESS_DESCRIPTION_new(void) | ||
117 | { | ||
118 | return (ACCESS_DESCRIPTION *)ASN1_item_new(&ACCESS_DESCRIPTION_it); | ||
119 | } | ||
120 | |||
121 | void | ||
122 | ACCESS_DESCRIPTION_free(ACCESS_DESCRIPTION *a) | ||
123 | { | ||
124 | ASN1_item_free((ASN1_VALUE *)a, &ACCESS_DESCRIPTION_it); | ||
125 | } | ||
102 | 126 | ||
103 | ASN1_ITEM_TEMPLATE(AUTHORITY_INFO_ACCESS) = | 127 | ASN1_ITEM_TEMPLATE(AUTHORITY_INFO_ACCESS) = |
104 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, | 128 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, |
105 | ACCESS_DESCRIPTION) | 129 | ACCESS_DESCRIPTION) |
106 | ASN1_ITEM_TEMPLATE_END(AUTHORITY_INFO_ACCESS) | 130 | ASN1_ITEM_TEMPLATE_END(AUTHORITY_INFO_ACCESS) |
107 | 131 | ||
108 | IMPLEMENT_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS) | 132 | |
133 | AUTHORITY_INFO_ACCESS * | ||
134 | d2i_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS **a, const unsigned char **in, long len) | ||
135 | { | ||
136 | return (AUTHORITY_INFO_ACCESS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
137 | &AUTHORITY_INFO_ACCESS_it); | ||
138 | } | ||
139 | |||
140 | int | ||
141 | i2d_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS *a, unsigned char **out) | ||
142 | { | ||
143 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &AUTHORITY_INFO_ACCESS_it); | ||
144 | } | ||
145 | |||
146 | AUTHORITY_INFO_ACCESS * | ||
147 | AUTHORITY_INFO_ACCESS_new(void) | ||
148 | { | ||
149 | return (AUTHORITY_INFO_ACCESS *)ASN1_item_new(&AUTHORITY_INFO_ACCESS_it); | ||
150 | } | ||
151 | |||
152 | void | ||
153 | AUTHORITY_INFO_ACCESS_free(AUTHORITY_INFO_ACCESS *a) | ||
154 | { | ||
155 | ASN1_item_free((ASN1_VALUE *)a, &AUTHORITY_INFO_ACCESS_it); | ||
156 | } | ||
109 | 157 | ||
110 | static STACK_OF(CONF_VALUE) * | 158 | static STACK_OF(CONF_VALUE) * |
111 | i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method, | 159 | i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method, |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_pcia.c b/src/lib/libssl/src/crypto/x509v3/v3_pcia.c index c7df225290..07e294e633 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_pcia.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_pcia.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_pcia.c,v 1.4 2014/06/12 15:49:31 deraadt Exp $ */ | 1 | /* $OpenBSD: v3_pcia.c,v 1.5 2015/02/09 16:03:11 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 | */ |
@@ -43,7 +43,31 @@ ASN1_SEQUENCE(PROXY_POLICY) = { | |||
43 | ASN1_OPT(PROXY_POLICY, policy, ASN1_OCTET_STRING) | 43 | ASN1_OPT(PROXY_POLICY, policy, ASN1_OCTET_STRING) |
44 | } ASN1_SEQUENCE_END(PROXY_POLICY) | 44 | } ASN1_SEQUENCE_END(PROXY_POLICY) |
45 | 45 | ||
46 | IMPLEMENT_ASN1_FUNCTIONS(PROXY_POLICY) | 46 | |
47 | PROXY_POLICY * | ||
48 | d2i_PROXY_POLICY(PROXY_POLICY **a, const unsigned char **in, long len) | ||
49 | { | ||
50 | return (PROXY_POLICY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
51 | &PROXY_POLICY_it); | ||
52 | } | ||
53 | |||
54 | int | ||
55 | i2d_PROXY_POLICY(PROXY_POLICY *a, unsigned char **out) | ||
56 | { | ||
57 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PROXY_POLICY_it); | ||
58 | } | ||
59 | |||
60 | PROXY_POLICY * | ||
61 | PROXY_POLICY_new(void) | ||
62 | { | ||
63 | return (PROXY_POLICY *)ASN1_item_new(&PROXY_POLICY_it); | ||
64 | } | ||
65 | |||
66 | void | ||
67 | PROXY_POLICY_free(PROXY_POLICY *a) | ||
68 | { | ||
69 | ASN1_item_free((ASN1_VALUE *)a, &PROXY_POLICY_it); | ||
70 | } | ||
47 | 71 | ||
48 | ASN1_SEQUENCE(PROXY_CERT_INFO_EXTENSION) = { | 72 | ASN1_SEQUENCE(PROXY_CERT_INFO_EXTENSION) = { |
49 | ASN1_OPT(PROXY_CERT_INFO_EXTENSION, pcPathLengthConstraint, | 73 | ASN1_OPT(PROXY_CERT_INFO_EXTENSION, pcPathLengthConstraint, |
@@ -51,4 +75,28 @@ ASN1_SEQUENCE(PROXY_CERT_INFO_EXTENSION) = { | |||
51 | ASN1_SIMPLE(PROXY_CERT_INFO_EXTENSION, proxyPolicy, PROXY_POLICY) | 75 | ASN1_SIMPLE(PROXY_CERT_INFO_EXTENSION, proxyPolicy, PROXY_POLICY) |
52 | } ASN1_SEQUENCE_END(PROXY_CERT_INFO_EXTENSION) | 76 | } ASN1_SEQUENCE_END(PROXY_CERT_INFO_EXTENSION) |
53 | 77 | ||
54 | IMPLEMENT_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION) | 78 | |
79 | PROXY_CERT_INFO_EXTENSION * | ||
80 | d2i_PROXY_CERT_INFO_EXTENSION(PROXY_CERT_INFO_EXTENSION **a, const unsigned char **in, long len) | ||
81 | { | ||
82 | return (PROXY_CERT_INFO_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
83 | &PROXY_CERT_INFO_EXTENSION_it); | ||
84 | } | ||
85 | |||
86 | int | ||
87 | i2d_PROXY_CERT_INFO_EXTENSION(PROXY_CERT_INFO_EXTENSION *a, unsigned char **out) | ||
88 | { | ||
89 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PROXY_CERT_INFO_EXTENSION_it); | ||
90 | } | ||
91 | |||
92 | PROXY_CERT_INFO_EXTENSION * | ||
93 | PROXY_CERT_INFO_EXTENSION_new(void) | ||
94 | { | ||
95 | return (PROXY_CERT_INFO_EXTENSION *)ASN1_item_new(&PROXY_CERT_INFO_EXTENSION_it); | ||
96 | } | ||
97 | |||
98 | void | ||
99 | PROXY_CERT_INFO_EXTENSION_free(PROXY_CERT_INFO_EXTENSION *a) | ||
100 | { | ||
101 | ASN1_item_free((ASN1_VALUE *)a, &PROXY_CERT_INFO_EXTENSION_it); | ||
102 | } | ||
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_pku.c b/src/lib/libssl/src/crypto/x509v3/v3_pku.c index 6cfbc3bd3e..4bce07f09c 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_pku.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_pku.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_pku.c,v 1.9 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_pku.c,v 1.10 2015/02/09 16:03:11 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 | */ |
@@ -80,7 +80,31 @@ ASN1_SEQUENCE(PKEY_USAGE_PERIOD) = { | |||
80 | ASN1_IMP_OPT(PKEY_USAGE_PERIOD, notAfter, ASN1_GENERALIZEDTIME, 1) | 80 | ASN1_IMP_OPT(PKEY_USAGE_PERIOD, notAfter, ASN1_GENERALIZEDTIME, 1) |
81 | } ASN1_SEQUENCE_END(PKEY_USAGE_PERIOD) | 81 | } ASN1_SEQUENCE_END(PKEY_USAGE_PERIOD) |
82 | 82 | ||
83 | IMPLEMENT_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) | 83 | |
84 | PKEY_USAGE_PERIOD * | ||
85 | d2i_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD **a, const unsigned char **in, long len) | ||
86 | { | ||
87 | return (PKEY_USAGE_PERIOD *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
88 | &PKEY_USAGE_PERIOD_it); | ||
89 | } | ||
90 | |||
91 | int | ||
92 | i2d_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD *a, unsigned char **out) | ||
93 | { | ||
94 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKEY_USAGE_PERIOD_it); | ||
95 | } | ||
96 | |||
97 | PKEY_USAGE_PERIOD * | ||
98 | PKEY_USAGE_PERIOD_new(void) | ||
99 | { | ||
100 | return (PKEY_USAGE_PERIOD *)ASN1_item_new(&PKEY_USAGE_PERIOD_it); | ||
101 | } | ||
102 | |||
103 | void | ||
104 | PKEY_USAGE_PERIOD_free(PKEY_USAGE_PERIOD *a) | ||
105 | { | ||
106 | ASN1_item_free((ASN1_VALUE *)a, &PKEY_USAGE_PERIOD_it); | ||
107 | } | ||
84 | 108 | ||
85 | static int | 109 | static int |
86 | i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, PKEY_USAGE_PERIOD *usage, | 110 | i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, PKEY_USAGE_PERIOD *usage, |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_sxnet.c b/src/lib/libssl/src/crypto/x509v3/v3_sxnet.c index 81e8ab67dd..dc8ee379c7 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_sxnet.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_sxnet.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_sxnet.c,v 1.11 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_sxnet.c,v 1.12 2015/02/09 16:03:11 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 | */ |
@@ -95,14 +95,62 @@ ASN1_SEQUENCE(SXNETID) = { | |||
95 | ASN1_SIMPLE(SXNETID, user, ASN1_OCTET_STRING) | 95 | ASN1_SIMPLE(SXNETID, user, ASN1_OCTET_STRING) |
96 | } ASN1_SEQUENCE_END(SXNETID) | 96 | } ASN1_SEQUENCE_END(SXNETID) |
97 | 97 | ||
98 | IMPLEMENT_ASN1_FUNCTIONS(SXNETID) | 98 | |
99 | SXNETID * | ||
100 | d2i_SXNETID(SXNETID **a, const unsigned char **in, long len) | ||
101 | { | ||
102 | return (SXNETID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
103 | &SXNETID_it); | ||
104 | } | ||
105 | |||
106 | int | ||
107 | i2d_SXNETID(SXNETID *a, unsigned char **out) | ||
108 | { | ||
109 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNETID_it); | ||
110 | } | ||
111 | |||
112 | SXNETID * | ||
113 | SXNETID_new(void) | ||
114 | { | ||
115 | return (SXNETID *)ASN1_item_new(&SXNETID_it); | ||
116 | } | ||
117 | |||
118 | void | ||
119 | SXNETID_free(SXNETID *a) | ||
120 | { | ||
121 | ASN1_item_free((ASN1_VALUE *)a, &SXNETID_it); | ||
122 | } | ||
99 | 123 | ||
100 | ASN1_SEQUENCE(SXNET) = { | 124 | ASN1_SEQUENCE(SXNET) = { |
101 | ASN1_SIMPLE(SXNET, version, ASN1_INTEGER), | 125 | ASN1_SIMPLE(SXNET, version, ASN1_INTEGER), |
102 | ASN1_SEQUENCE_OF(SXNET, ids, SXNETID) | 126 | ASN1_SEQUENCE_OF(SXNET, ids, SXNETID) |
103 | } ASN1_SEQUENCE_END(SXNET) | 127 | } ASN1_SEQUENCE_END(SXNET) |
104 | 128 | ||
105 | IMPLEMENT_ASN1_FUNCTIONS(SXNET) | 129 | |
130 | SXNET * | ||
131 | d2i_SXNET(SXNET **a, const unsigned char **in, long len) | ||
132 | { | ||
133 | return (SXNET *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
134 | &SXNET_it); | ||
135 | } | ||
136 | |||
137 | int | ||
138 | i2d_SXNET(SXNET *a, unsigned char **out) | ||
139 | { | ||
140 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNET_it); | ||
141 | } | ||
142 | |||
143 | SXNET * | ||
144 | SXNET_new(void) | ||
145 | { | ||
146 | return (SXNET *)ASN1_item_new(&SXNET_it); | ||
147 | } | ||
148 | |||
149 | void | ||
150 | SXNET_free(SXNET *a) | ||
151 | { | ||
152 | ASN1_item_free((ASN1_VALUE *)a, &SXNET_it); | ||
153 | } | ||
106 | 154 | ||
107 | static int | 155 | static int |
108 | sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out, int indent) | 156 | sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out, int indent) |