summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/x509v3/v3_cpols.c
diff options
context:
space:
mode:
authorjsing <>2015-02-09 16:03:11 +0000
committerjsing <>2015-02-09 16:03:11 +0000
commitc67b08b466720c73bce5f5a0ee6d8ccf43683ae6 (patch)
tree450aac9231a21230a1a136407055b6264089d1b8 /src/lib/libcrypto/x509v3/v3_cpols.c
parent16f790d01f7a6fc6c94e2a033a67b80c8ec5291c (diff)
downloadopenbsd-c67b08b466720c73bce5f5a0ee6d8ccf43683ae6.tar.gz
openbsd-c67b08b466720c73bce5f5a0ee6d8ccf43683ae6.tar.bz2
openbsd-c67b08b466720c73bce5f5a0ee6d8ccf43683ae6.zip
Expand the IMPLEMENT_ASN1_FUNCTIONS macro so that the code is visible and
functions can be readily located. Change has been scripted and the generated assembly only differs by changes to line numbers. Discussed with beck@ miod@ tedu@
Diffstat (limited to 'src/lib/libcrypto/x509v3/v3_cpols.c')
-rw-r--r--src/lib/libcrypto/x509v3/v3_cpols.c132
1 files changed, 126 insertions, 6 deletions
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)
98ASN1_ITEM_TEMPLATE_END(CERTIFICATEPOLICIES) 98ASN1_ITEM_TEMPLATE_END(CERTIFICATEPOLICIES)
99 99
100IMPLEMENT_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) 100
101CERTIFICATEPOLICIES *
102d2i_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
108int
109i2d_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES *a, unsigned char **out)
110{
111 return ASN1_item_i2d((ASN1_VALUE *)a, out, &CERTIFICATEPOLICIES_it);
112}
113
114CERTIFICATEPOLICIES *
115CERTIFICATEPOLICIES_new(void)
116{
117 return (CERTIFICATEPOLICIES *)ASN1_item_new(&CERTIFICATEPOLICIES_it);
118}
119
120void
121CERTIFICATEPOLICIES_free(CERTIFICATEPOLICIES *a)
122{
123 ASN1_item_free((ASN1_VALUE *)a, &CERTIFICATEPOLICIES_it);
124}
101 125
102ASN1_SEQUENCE(POLICYINFO) = { 126ASN1_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
107IMPLEMENT_ASN1_FUNCTIONS(POLICYINFO) 131
132POLICYINFO *
133d2i_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
139int
140i2d_POLICYINFO(POLICYINFO *a, unsigned char **out)
141{
142 return ASN1_item_i2d((ASN1_VALUE *)a, out, &POLICYINFO_it);
143}
144
145POLICYINFO *
146POLICYINFO_new(void)
147{
148 return (POLICYINFO *)ASN1_item_new(&POLICYINFO_it);
149}
150
151void
152POLICYINFO_free(POLICYINFO *a)
153{
154 ASN1_item_free((ASN1_VALUE *)a, &POLICYINFO_it);
155}
108 156
109ASN1_ADB_TEMPLATE(policydefault) = 157ASN1_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
122IMPLEMENT_ASN1_FUNCTIONS(POLICYQUALINFO) 170
171POLICYQUALINFO *
172d2i_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
178int
179i2d_POLICYQUALINFO(POLICYQUALINFO *a, unsigned char **out)
180{
181 return ASN1_item_i2d((ASN1_VALUE *)a, out, &POLICYQUALINFO_it);
182}
183
184POLICYQUALINFO *
185POLICYQUALINFO_new(void)
186{
187 return (POLICYQUALINFO *)ASN1_item_new(&POLICYQUALINFO_it);
188}
189
190void
191POLICYQUALINFO_free(POLICYQUALINFO *a)
192{
193 ASN1_item_free((ASN1_VALUE *)a, &POLICYQUALINFO_it);
194}
123 195
124ASN1_SEQUENCE(USERNOTICE) = { 196ASN1_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
129IMPLEMENT_ASN1_FUNCTIONS(USERNOTICE) 201
202USERNOTICE *
203d2i_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
209int
210i2d_USERNOTICE(USERNOTICE *a, unsigned char **out)
211{
212 return ASN1_item_i2d((ASN1_VALUE *)a, out, &USERNOTICE_it);
213}
214
215USERNOTICE *
216USERNOTICE_new(void)
217{
218 return (USERNOTICE *)ASN1_item_new(&USERNOTICE_it);
219}
220
221void
222USERNOTICE_free(USERNOTICE *a)
223{
224 ASN1_item_free((ASN1_VALUE *)a, &USERNOTICE_it);
225}
130 226
131ASN1_SEQUENCE(NOTICEREF) = { 227ASN1_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
136IMPLEMENT_ASN1_FUNCTIONS(NOTICEREF) 232
233NOTICEREF *
234d2i_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
240int
241i2d_NOTICEREF(NOTICEREF *a, unsigned char **out)
242{
243 return ASN1_item_i2d((ASN1_VALUE *)a, out, &NOTICEREF_it);
244}
245
246NOTICEREF *
247NOTICEREF_new(void)
248{
249 return (NOTICEREF *)ASN1_item_new(&NOTICEREF_it);
250}
251
252void
253NOTICEREF_free(NOTICEREF *a)
254{
255 ASN1_item_free((ASN1_VALUE *)a, &NOTICEREF_it);
256}
137 257
138static 258static
139STACK_OF(POLICYINFO) *r2i_certpol(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, 259STACK_OF(POLICYINFO) *r2i_certpol(X509V3_EXT_METHOD *method, X509V3_CTX *ctx,