OpenCoverage

v3_ocsp.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/x509v3/v3_ocsp.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10static int i2r_ocsp_crlid(const X509V3_EXT_METHOD *method, void *nonce,-
11 BIO *out, int indent);-
12static int i2r_ocsp_acutoff(const X509V3_EXT_METHOD *method, void *nonce,-
13 BIO *out, int indent);-
14static int i2r_object(const X509V3_EXT_METHOD *method, void *obj, BIO *out,-
15 int indent);-
16-
17static void *ocsp_nonce_new(void);-
18static int i2d_ocsp_nonce(void *a, unsigned char **pp);-
19static void *d2i_ocsp_nonce(void *a, const unsigned char **pp, long length);-
20static void ocsp_nonce_free(void *a);-
21static int i2r_ocsp_nonce(const X509V3_EXT_METHOD *method, void *nonce,-
22 BIO *out, int indent);-
23-
24static int i2r_ocsp_nocheck(const X509V3_EXT_METHOD *method,-
25 void *nocheck, BIO *out, int indent);-
26static void *s2i_ocsp_nocheck(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,-
27 const char *str);-
28static int i2r_ocsp_serviceloc(const X509V3_EXT_METHOD *method, void *in,-
29 BIO *bp, int ind);-
30-
31const X509V3_EXT_METHOD v3_ocsp_crlid = {-
32 .ext_nid = 367,-
33 .ext_flags = 0,-
34 .it = &OCSP_CRLID_it,-
35 .ext_new = -
36 ((void *)0)-
37 ,-
38 .ext_free = -
39 ((void *)0)-
40 ,-
41 .d2i = -
42 ((void *)0)-
43 ,-
44 .i2d = -
45 ((void *)0)-
46 ,-
47 .i2s = -
48 ((void *)0)-
49 ,-
50 .s2i = -
51 ((void *)0)-
52 ,-
53 .i2v = -
54 ((void *)0)-
55 ,-
56 .v2i = -
57 ((void *)0)-
58 ,-
59 .i2r = i2r_ocsp_crlid,-
60 .r2i = -
61 ((void *)0)-
62 ,-
63 .usr_data = -
64 ((void *)0)-
65 ,-
66};-
67-
68const X509V3_EXT_METHOD v3_ocsp_acutoff = {-
69 .ext_nid = 370,-
70 .ext_flags = 0,-
71 .it = &ASN1_GENERALIZEDTIME_it,-
72 .ext_new = -
73 ((void *)0)-
74 ,-
75 .ext_free = -
76 ((void *)0)-
77 ,-
78 .d2i = -
79 ((void *)0)-
80 ,-
81 .i2d = -
82 ((void *)0)-
83 ,-
84 .i2s = -
85 ((void *)0)-
86 ,-
87 .s2i = -
88 ((void *)0)-
89 ,-
90 .i2v = -
91 ((void *)0)-
92 ,-
93 .v2i = -
94 ((void *)0)-
95 ,-
96 .i2r = i2r_ocsp_acutoff,-
97 .r2i = -
98 ((void *)0)-
99 ,-
100 .usr_data = -
101 ((void *)0)-
102 ,-
103};-
104-
105const X509V3_EXT_METHOD v3_crl_invdate = {-
106 .ext_nid = 142,-
107 .ext_flags = 0,-
108 .it = &ASN1_GENERALIZEDTIME_it,-
109 .ext_new = -
110 ((void *)0)-
111 ,-
112 .ext_free = -
113 ((void *)0)-
114 ,-
115 .d2i = -
116 ((void *)0)-
117 ,-
118 .i2d = -
119 ((void *)0)-
120 ,-
121 .i2s = -
122 ((void *)0)-
123 ,-
124 .s2i = -
125 ((void *)0)-
126 ,-
127 .i2v = -
128 ((void *)0)-
129 ,-
130 .v2i = -
131 ((void *)0)-
132 ,-
133 .i2r = i2r_ocsp_acutoff,-
134 .r2i = -
135 ((void *)0)-
136 ,-
137 .usr_data = -
138 ((void *)0)-
139 ,-
140};-
141-
142const X509V3_EXT_METHOD v3_crl_hold = {-
143 .ext_nid = 430,-
144 .ext_flags = 0,-
145 .it = &ASN1_OBJECT_it,-
146 .ext_new = -
147 ((void *)0)-
148 ,-
149 .ext_free = -
150 ((void *)0)-
151 ,-
152 .d2i = -
153 ((void *)0)-
154 ,-
155 .i2d = -
156 ((void *)0)-
157 ,-
158 .i2s = -
159 ((void *)0)-
160 ,-
161 .s2i = -
162 ((void *)0)-
163 ,-
164 .i2v = -
165 ((void *)0)-
166 ,-
167 .v2i = -
168 ((void *)0)-
169 ,-
170 .i2r = i2r_object,-
171 .r2i = -
172 ((void *)0)-
173 ,-
174 .usr_data = -
175 ((void *)0)-
176 ,-
177};-
178-
179const X509V3_EXT_METHOD v3_ocsp_nonce = {-
180 .ext_nid = 366,-
181 .ext_flags = 0,-
182 .it = -
183 ((void *)0)-
184 ,-
185 .ext_new = ocsp_nonce_new,-
186 .ext_free = ocsp_nonce_free,-
187 .d2i = d2i_ocsp_nonce,-
188 .i2d = i2d_ocsp_nonce,-
189 .i2s = -
190 ((void *)0)-
191 ,-
192 .s2i = -
193 ((void *)0)-
194 ,-
195 .i2v = -
196 ((void *)0)-
197 ,-
198 .v2i = -
199 ((void *)0)-
200 ,-
201 .i2r = i2r_ocsp_nonce,-
202 .r2i = -
203 ((void *)0)-
204 ,-
205 .usr_data = -
206 ((void *)0)-
207 ,-
208};-
209-
210const X509V3_EXT_METHOD v3_ocsp_nocheck = {-
211 .ext_nid = 369,-
212 .ext_flags = 0,-
213 .it = &ASN1_NULL_it,-
214 .ext_new = -
215 ((void *)0)-
216 ,-
217 .ext_free = -
218 ((void *)0)-
219 ,-
220 .d2i = -
221 ((void *)0)-
222 ,-
223 .i2d = -
224 ((void *)0)-
225 ,-
226 .i2s = -
227 ((void *)0)-
228 ,-
229 .s2i = s2i_ocsp_nocheck,-
230 .i2v = -
231 ((void *)0)-
232 ,-
233 .v2i = -
234 ((void *)0)-
235 ,-
236 .i2r = i2r_ocsp_nocheck,-
237 .r2i = -
238 ((void *)0)-
239 ,-
240 .usr_data = -
241 ((void *)0)-
242 ,-
243};-
244-
245const X509V3_EXT_METHOD v3_ocsp_serviceloc = {-
246 .ext_nid = 371,-
247 .ext_flags = 0,-
248 .it = &OCSP_SERVICELOC_it,-
249 .ext_new = -
250 ((void *)0)-
251 ,-
252 .ext_free = -
253 ((void *)0)-
254 ,-
255 .d2i = -
256 ((void *)0)-
257 ,-
258 .i2d = -
259 ((void *)0)-
260 ,-
261 .i2s = -
262 ((void *)0)-
263 ,-
264 .s2i = -
265 ((void *)0)-
266 ,-
267 .i2v = -
268 ((void *)0)-
269 ,-
270 .v2i = -
271 ((void *)0)-
272 ,-
273 .i2r = i2r_ocsp_serviceloc,-
274 .r2i = -
275 ((void *)0)-
276 ,-
277 .usr_data = -
278 ((void *)0)-
279 ,-
280};-
281-
282static int-
283i2r_ocsp_crlid(const X509V3_EXT_METHOD *method, void *in, BIO *bp, int ind)-
284{-
285 OCSP_CRLID *a = in;-
286 if (a->crlUrl
a->crlUrlDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
287 if (BIO_printf(bp, "%*scrlUrl: ", ind, "") <= 0
BIO_printf(bp,... ind, "") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
288 goto
never executed: goto err;
err;
never executed: goto err;
0
289 if (!ASN1_STRING_print(bp, (ASN1_STRING*)a->crlUrl)
!ASN1_STRING_p...NG*)a->crlUrl)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
290 goto
never executed: goto err;
err;
never executed: goto err;
0
291 if (BIO_write(bp, "\n", 1) <= 0
BIO_write(bp, "\n", 1) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
292 goto
never executed: goto err;
err;
never executed: goto err;
0
293 }
never executed: end of block
0
294 if (a->crlNum
a->crlNumDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
295 if (BIO_printf(bp, "%*scrlNum: ", ind, "") <= 0
BIO_printf(bp,... ind, "") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
296 goto
never executed: goto err;
err;
never executed: goto err;
0
297 if (i2a_ASN1_INTEGER(bp, a->crlNum) <= 0
i2a_ASN1_INTEG...->crlNum) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
298 goto
never executed: goto err;
err;
never executed: goto err;
0
299 if (BIO_write(bp, "\n", 1) <= 0
BIO_write(bp, "\n", 1) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
300 goto
never executed: goto err;
err;
never executed: goto err;
0
301 }
never executed: end of block
0
302 if (a->crlTime
a->crlTimeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
303 if (BIO_printf(bp, "%*scrlTime: ", ind, "") <= 0
BIO_printf(bp,... ind, "") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
304 goto
never executed: goto err;
err;
never executed: goto err;
0
305 if (!ASN1_GENERALIZEDTIME_print(bp, a->crlTime)
!ASN1_GENERALI...p, a->crlTime)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
306 goto
never executed: goto err;
err;
never executed: goto err;
0
307 if (BIO_write(bp, "\n", 1) <= 0
BIO_write(bp, "\n", 1) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
308 goto
never executed: goto err;
err;
never executed: goto err;
0
309 }
never executed: end of block
0
310 return
never executed: return 1;
1;
never executed: return 1;
0
311-
312err:-
313 return
never executed: return 0;
0;
never executed: return 0;
0
314}-
315-
316static int-
317i2r_ocsp_acutoff(const X509V3_EXT_METHOD *method, void *cutoff, BIO *bp,-
318 int ind)-
319{-
320 if (BIO_printf(bp, "%*s", ind, "") <= 0
BIO_printf(bp,... ind, "") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
321 return
never executed: return 0;
0;
never executed: return 0;
0
322 if (!ASN1_GENERALIZEDTIME_print(bp, cutoff)
!ASN1_GENERALI...nt(bp, cutoff)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
323 return
never executed: return 0;
0;
never executed: return 0;
0
324 return
never executed: return 1;
1;
never executed: return 1;
0
325}-
326-
327static int-
328i2r_object(const X509V3_EXT_METHOD *method, void *oid, BIO *bp, int ind)-
329{-
330 if (BIO_printf(bp, "%*s", ind, "") <= 0
BIO_printf(bp,... ind, "") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
331 return
never executed: return 0;
0;
never executed: return 0;
0
332 if (i2a_ASN1_OBJECT(bp, oid) <= 0
i2a_ASN1_OBJECT(bp, oid) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
333 return
never executed: return 0;
0;
never executed: return 0;
0
334 return
never executed: return 1;
1;
never executed: return 1;
0
335}-
336-
337-
338-
339-
340-
341static void *-
342ocsp_nonce_new(void)-
343{-
344 return
never executed: return ASN1_OCTET_STRING_new();
ASN1_OCTET_STRING_new();
never executed: return ASN1_OCTET_STRING_new();
0
345}-
346-
347static int-
348i2d_ocsp_nonce(void *a, unsigned char **pp)-
349{-
350 ASN1_OCTET_STRING *os = a;-
351-
352 if (pp
ppDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
353 memcpy(*pp, os->data, os->length);-
354 *pp += os->length;-
355 }
never executed: end of block
0
356 return
never executed: return os->length;
os->length;
never executed: return os->length;
0
357}-
358-
359static void *-
360d2i_ocsp_nonce(void *a, const unsigned char **pp, long length)-
361{-
362 ASN1_OCTET_STRING *os, **pos;-
363-
364 pos = a;-
365 if (pos ==
pos == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
366 ((void *)0)
pos == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
367 || *
*pos == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
pos ==
*pos == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
368 ((void *)0)
*pos == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
369 ) {-
370 os = ASN1_OCTET_STRING_new();-
371 if (os ==
os == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
372 ((void *)0)
os == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
373 )-
374 goto
never executed: goto err;
err;
never executed: goto err;
0
375 }
never executed: end of block
else
0
376 os = *pos;
never executed: os = *pos;
0
377 if (ASN1_OCTET_STRING_set(os, *pp, length) == 0
ASN1_OCTET_STR..., length) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
378 goto
never executed: goto err;
err;
never executed: goto err;
0
379-
380 *pp += length;-
381-
382 if (pos !=
pos != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
383 ((void *)0)
pos != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
384 )-
385 *
never executed: *pos = os;
pos = os;
never executed: *pos = os;
0
386 return
never executed: return os;
os;
never executed: return os;
0
387-
388err:-
389 if (pos ==
pos == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
390 ((void *)0)
pos == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
391 || *
*pos != osDescription
TRUEnever evaluated
FALSEnever evaluated
pos != os
*pos != osDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
392 ASN1_OCTET_STRING_free(os);
never executed: ASN1_OCTET_STRING_free(os);
0
393 ERR_put_error(39,(0xfff),((1|64)),__FILE__,316);-
394 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
395 ((void *)0)
never executed: return ((void *)0) ;
0
396 ;
never executed: return ((void *)0) ;
0
397}-
398-
399static void-
400ocsp_nonce_free(void *a)-
401{-
402 ASN1_OCTET_STRING_free(a);-
403}
never executed: end of block
0
404-
405static int-
406i2r_ocsp_nonce(const X509V3_EXT_METHOD *method, void *nonce, BIO *out,-
407 int indent)-
408{-
409 if (BIO_printf(out, "%*s", indent, "") <= 0
BIO_printf(out...dent, "") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
410 return
never executed: return 0;
0;
never executed: return 0;
0
411 if (i2a_ASN1_STRING(out, nonce, 4) <= 0
i2a_ASN1_STRIN...nonce, 4) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
412 return
never executed: return 0;
0;
never executed: return 0;
0
413 return
never executed: return 1;
1;
never executed: return 1;
0
414}-
415-
416-
417-
418static int-
419i2r_ocsp_nocheck(const X509V3_EXT_METHOD *method, void *nocheck, BIO *out,-
420 int indent)-
421{-
422 return
never executed: return 1;
1;
never executed: return 1;
0
423}-
424-
425static void *-
426s2i_ocsp_nocheck(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,-
427 const char *str)-
428{-
429 return
never executed: return ASN1_NULL_new();
ASN1_NULL_new();
never executed: return ASN1_NULL_new();
0
430}-
431-
432static int-
433i2r_ocsp_serviceloc(const X509V3_EXT_METHOD *method, void *in, BIO *bp, int ind)-
434{-
435 int i;-
436 OCSP_SERVICELOC *a = in;-
437 ACCESS_DESCRIPTION *ad;-
438-
439 if (BIO_printf(bp, "%*sIssuer: ", ind, "") <= 0
BIO_printf(bp,... ind, "") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
440 goto
never executed: goto err;
err;
never executed: goto err;
0
441 if (X509_NAME_print_ex(bp, a->issuer, 0, ((1 | 2 | 4 | 0x10 | 0x100 | 0x200) | 8 | (2 << 16) | (1 << 23) | 0)) <= 0
X509_NAME_prin...23) | 0)) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
442 goto
never executed: goto err;
err;
never executed: goto err;
0
443 for (i = 0; i < sk_num(((_STACK*) (1 ? (a->locator) : (struct stack_st_ACCESS_DESCRIPTION*)0)))
i < sk_num(((_...CRIPTION*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
444 ad = ((ACCESS_DESCRIPTION *)sk_value(((_STACK*) (1 ? (a->locator) : (struct stack_st_ACCESS_DESCRIPTION*)0)), (i)));-
445 if (BIO_printf(bp, "\n%*s", (2 * ind), "") <= 0
BIO_printf(bp,...ind), "") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
446 goto
never executed: goto err;
err;
never executed: goto err;
0
447 if (i2a_ASN1_OBJECT(bp, ad->method) <= 0
i2a_ASN1_OBJEC...->method) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
448 goto
never executed: goto err;
err;
never executed: goto err;
0
449 if (BIO_puts(bp, " - ") <= 0
BIO_puts(bp, " - ") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
450 goto
never executed: goto err;
err;
never executed: goto err;
0
451 if (GENERAL_NAME_print(bp, ad->location) <= 0
GENERAL_NAME_p...location) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
452 goto
never executed: goto err;
err;
never executed: goto err;
0
453 }
never executed: end of block
0
454 return
never executed: return 1;
1;
never executed: return 1;
0
455-
456err:-
457 return
never executed: return 0;
0;
never executed: return 0;
0
458}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2