OpenCoverage

v3_genn.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/x509v3/v3_genn.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3static const ASN1_TEMPLATE OTHERNAME_seq_tt[] = {-
4 {-
5 .flags = 0,-
6 .tag = 0,-
7 .offset = -
8 __builtin_offsetof (-
9 OTHERNAME-
10 , -
11 type_id-
12 )-
13 ,-
14 .field_name = "type_id",-
15 .item = &ASN1_OBJECT_it,-
16 },-
17-
18 {-
19 .flags = (0x2 << 3)|(0x2<<6),-
20 .tag = 0,-
21 .offset = -
22 __builtin_offsetof (-
23 OTHERNAME-
24 , -
25 value-
26 )-
27 ,-
28 .field_name = "value",-
29 .item = &ASN1_ANY_it,-
30 },-
31};-
32-
33const ASN1_ITEM OTHERNAME_it = {-
34 .itype = 0x1,-
35 .utype = 16,-
36 .templates = OTHERNAME_seq_tt,-
37 .tcount = sizeof(OTHERNAME_seq_tt) / sizeof(ASN1_TEMPLATE),-
38 .funcs = -
39 ((void *)0)-
40 ,-
41 .size = sizeof(OTHERNAME),-
42 .sname = "OTHERNAME",-
43};-
44-
45-
46OTHERNAME *-
47d2i_OTHERNAME(OTHERNAME **a, const unsigned char **in, long len)-
48{-
49 return
never executed: return (OTHERNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &OTHERNAME_it);
(OTHERNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
never executed: return (OTHERNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &OTHERNAME_it);
0
50 &OTHERNAME_it);
never executed: return (OTHERNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &OTHERNAME_it);
0
51}-
52-
53int-
54i2d_OTHERNAME(OTHERNAME *a, unsigned char **out)-
55{-
56 return
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, &OTHERNAME_it);
ASN1_item_i2d((ASN1_VALUE *)a, out, &OTHERNAME_it);
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, &OTHERNAME_it);
0
57}-
58-
59OTHERNAME *-
60OTHERNAME_new(void)-
61{-
62 return
never executed: return (OTHERNAME *)ASN1_item_new(&OTHERNAME_it);
(OTHERNAME *)ASN1_item_new(&OTHERNAME_it);
never executed: return (OTHERNAME *)ASN1_item_new(&OTHERNAME_it);
0
63}-
64-
65void-
66OTHERNAME_free(OTHERNAME *a)-
67{-
68 ASN1_item_free((ASN1_VALUE *)a, &OTHERNAME_it);-
69}
executed 1 time by 1 test: end of block
Executed by:
  • freenull
1
70-
71static const ASN1_TEMPLATE EDIPARTYNAME_seq_tt[] = {-
72 {-
73 .flags = (0x1 << 3)|(0x2<<6) | (0x1),-
74 .tag = 0,-
75 .offset = -
76 __builtin_offsetof (-
77 EDIPARTYNAME-
78 , -
79 nameAssigner-
80 )-
81 ,-
82 .field_name = "nameAssigner",-
83 .item = &DIRECTORYSTRING_it,-
84 },-
85 {-
86 .flags = (0x1 << 3)|(0x2<<6) | (0x1),-
87 .tag = 1,-
88 .offset = -
89 __builtin_offsetof (-
90 EDIPARTYNAME-
91 , -
92 partyName-
93 )-
94 ,-
95 .field_name = "partyName",-
96 .item = &DIRECTORYSTRING_it,-
97 },-
98};-
99-
100const ASN1_ITEM EDIPARTYNAME_it = {-
101 .itype = 0x1,-
102 .utype = 16,-
103 .templates = EDIPARTYNAME_seq_tt,-
104 .tcount = sizeof(EDIPARTYNAME_seq_tt) / sizeof(ASN1_TEMPLATE),-
105 .funcs = -
106 ((void *)0)-
107 ,-
108 .size = sizeof(EDIPARTYNAME),-
109 .sname = "EDIPARTYNAME",-
110};-
111-
112-
113EDIPARTYNAME *-
114d2i_EDIPARTYNAME(EDIPARTYNAME **a, const unsigned char **in, long len)-
115{-
116 return
never executed: return (EDIPARTYNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &EDIPARTYNAME_it);
(EDIPARTYNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
never executed: return (EDIPARTYNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &EDIPARTYNAME_it);
0
117 &EDIPARTYNAME_it);
never executed: return (EDIPARTYNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &EDIPARTYNAME_it);
0
118}-
119-
120int-
121i2d_EDIPARTYNAME(EDIPARTYNAME *a, unsigned char **out)-
122{-
123 return
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, &EDIPARTYNAME_it);
ASN1_item_i2d((ASN1_VALUE *)a, out, &EDIPARTYNAME_it);
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, &EDIPARTYNAME_it);
0
124}-
125-
126EDIPARTYNAME *-
127EDIPARTYNAME_new(void)-
128{-
129 return
never executed: return (EDIPARTYNAME *)ASN1_item_new(&EDIPARTYNAME_it);
(EDIPARTYNAME *)ASN1_item_new(&EDIPARTYNAME_it);
never executed: return (EDIPARTYNAME *)ASN1_item_new(&EDIPARTYNAME_it);
0
130}-
131-
132void-
133EDIPARTYNAME_free(EDIPARTYNAME *a)-
134{-
135 ASN1_item_free((ASN1_VALUE *)a, &EDIPARTYNAME_it);-
136}
executed 1 time by 1 test: end of block
Executed by:
  • freenull
1
137-
138static const ASN1_TEMPLATE GENERAL_NAME_ch_tt[] = {-
139 {-
140 .flags = (0x1 << 3)|(0x2<<6),-
141 .tag = 0,-
142 .offset = -
143 __builtin_offsetof (-
144 GENERAL_NAME-
145 , -
146 d.otherName-
147 )-
148 ,-
149 .field_name = "d.otherName",-
150 .item = &OTHERNAME_it,-
151 },-
152 {-
153 .flags = (0x1 << 3)|(0x2<<6),-
154 .tag = 1,-
155 .offset = -
156 __builtin_offsetof (-
157 GENERAL_NAME-
158 , -
159 d.rfc822Name-
160 )-
161 ,-
162 .field_name = "d.rfc822Name",-
163 .item = &ASN1_IA5STRING_it,-
164 },-
165 {-
166 .flags = (0x1 << 3)|(0x2<<6),-
167 .tag = 2,-
168 .offset = -
169 __builtin_offsetof (-
170 GENERAL_NAME-
171 , -
172 d.dNSName-
173 )-
174 ,-
175 .field_name = "d.dNSName",-
176 .item = &ASN1_IA5STRING_it,-
177 },-
178-
179 {-
180 .flags = (0x1 << 3)|(0x2<<6),-
181 .tag = 3,-
182 .offset = -
183 __builtin_offsetof (-
184 GENERAL_NAME-
185 , -
186 d.x400Address-
187 )-
188 ,-
189 .field_name = "d.x400Address",-
190 .item = &ASN1_SEQUENCE_it,-
191 },-
192-
193 {-
194 .flags = (0x2 << 3)|(0x2<<6),-
195 .tag = 4,-
196 .offset = -
197 __builtin_offsetof (-
198 GENERAL_NAME-
199 , -
200 d.directoryName-
201 )-
202 ,-
203 .field_name = "d.directoryName",-
204 .item = &X509_NAME_it,-
205 },-
206 {-
207 .flags = (0x1 << 3)|(0x2<<6),-
208 .tag = 5,-
209 .offset = -
210 __builtin_offsetof (-
211 GENERAL_NAME-
212 , -
213 d.ediPartyName-
214 )-
215 ,-
216 .field_name = "d.ediPartyName",-
217 .item = &EDIPARTYNAME_it,-
218 },-
219 {-
220 .flags = (0x1 << 3)|(0x2<<6),-
221 .tag = 6,-
222 .offset = -
223 __builtin_offsetof (-
224 GENERAL_NAME-
225 , -
226 d.uniformResourceIdentifier-
227 )-
228 ,-
229 .field_name = "d.uniformResourceIdentifier",-
230 .item = &ASN1_IA5STRING_it,-
231 },-
232 {-
233 .flags = (0x1 << 3)|(0x2<<6),-
234 .tag = 7,-
235 .offset = -
236 __builtin_offsetof (-
237 GENERAL_NAME-
238 , -
239 d.iPAddress-
240 )-
241 ,-
242 .field_name = "d.iPAddress",-
243 .item = &ASN1_OCTET_STRING_it,-
244 },-
245 {-
246 .flags = (0x1 << 3)|(0x2<<6),-
247 .tag = 8,-
248 .offset = -
249 __builtin_offsetof (-
250 GENERAL_NAME-
251 , -
252 d.registeredID-
253 )-
254 ,-
255 .field_name = "d.registeredID",-
256 .item = &ASN1_OBJECT_it,-
257 },-
258};-
259-
260const ASN1_ITEM GENERAL_NAME_it = {-
261 .itype = 0x2,-
262 .utype = -
263 __builtin_offsetof (-
264 GENERAL_NAME-
265 , -
266 type-
267 )-
268 ,-
269 .templates = GENERAL_NAME_ch_tt,-
270 .tcount = sizeof(GENERAL_NAME_ch_tt) / sizeof(ASN1_TEMPLATE),-
271 .funcs = -
272 ((void *)0)-
273 ,-
274 .size = sizeof(GENERAL_NAME),-
275 .sname = "GENERAL_NAME",-
276};-
277-
278-
279GENERAL_NAME *-
280d2i_GENERAL_NAME(GENERAL_NAME **a, const unsigned char **in, long len)-
281{-
282 return
never executed: return (GENERAL_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &GENERAL_NAME_it);
(GENERAL_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
never executed: return (GENERAL_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &GENERAL_NAME_it);
0
283 &GENERAL_NAME_it);
never executed: return (GENERAL_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &GENERAL_NAME_it);
0
284}-
285-
286int-
287i2d_GENERAL_NAME(GENERAL_NAME *a, unsigned char **out)-
288{-
289 return
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAME_it);
ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAME_it);
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAME_it);
0
290}-
291-
292GENERAL_NAME *-
293GENERAL_NAME_new(void)-
294{-
295 return
executed 24 times by 1 test: return (GENERAL_NAME *)ASN1_item_new(&GENERAL_NAME_it);
Executed by:
  • verifytest
(GENERAL_NAME *)ASN1_item_new(&GENERAL_NAME_it);
executed 24 times by 1 test: return (GENERAL_NAME *)ASN1_item_new(&GENERAL_NAME_it);
Executed by:
  • verifytest
24
296}-
297-
298void-
299GENERAL_NAME_free(GENERAL_NAME *a)-
300{-
301 ASN1_item_free((ASN1_VALUE *)a, &GENERAL_NAME_it);-
302}
executed 49 times by 2 tests: end of block
Executed by:
  • freenull
  • verifytest
49
303-
304static const ASN1_TEMPLATE GENERAL_NAMES_item_tt = {-
305 .flags = (0x2 << 1),-
306 .tag = 0,-
307 .offset = 0,-
308 .field_name = "GeneralNames",-
309 .item = &GENERAL_NAME_it,-
310};-
311-
312const ASN1_ITEM GENERAL_NAMES_it = {-
313 .itype = 0x0,-
314 .utype = -1,-
315 .templates = &GENERAL_NAMES_item_tt,-
316 .tcount = 0,-
317 .funcs = -
318 ((void *)0)-
319 ,-
320 .size = 0,-
321 .sname = "GENERAL_NAMES",-
322};-
323-
324-
325GENERAL_NAMES *-
326d2i_GENERAL_NAMES(GENERAL_NAMES **a, const unsigned char **in, long len)-
327{-
328 return
never executed: return (GENERAL_NAMES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &GENERAL_NAMES_it);
(GENERAL_NAMES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
never executed: return (GENERAL_NAMES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &GENERAL_NAMES_it);
0
329 &GENERAL_NAMES_it);
never executed: return (GENERAL_NAMES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &GENERAL_NAMES_it);
0
330}-
331-
332int-
333i2d_GENERAL_NAMES(GENERAL_NAMES *a, unsigned char **out)-
334{-
335 return
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAMES_it);
ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAMES_it);
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAMES_it);
0
336}-
337-
338GENERAL_NAMES *-
339GENERAL_NAMES_new(void)-
340{-
341 return
never executed: return (GENERAL_NAMES *)ASN1_item_new(&GENERAL_NAMES_it);
(GENERAL_NAMES *)ASN1_item_new(&GENERAL_NAMES_it);
never executed: return (GENERAL_NAMES *)ASN1_item_new(&GENERAL_NAMES_it);
0
342}-
343-
344void-
345GENERAL_NAMES_free(GENERAL_NAMES *a)-
346{-
347 ASN1_item_free((ASN1_VALUE *)a, &GENERAL_NAMES_it);-
348}
executed 245 times by 8 tests: end of block
Executed by:
  • asn1test
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • servertest
  • ssltest
  • tlstest
  • verifytest
245
349-
350GENERAL_NAME *-
351GENERAL_NAME_dup(GENERAL_NAME *a)-
352{-
353 return
never executed: return ASN1_item_dup(&GENERAL_NAME_it, a);
ASN1_item_dup(&GENERAL_NAME_it, a);
never executed: return ASN1_item_dup(&GENERAL_NAME_it, a);
0
354}-
355-
356-
357int-
358GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b)-
359{-
360 int result = -1;-
361-
362 if (!a
!aDescription
TRUEnever evaluated
FALSEnever evaluated
|| !b
!bDescription
TRUEnever evaluated
FALSEnever evaluated
|| a->type != b->type
a->type != b->typeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
363 return
never executed: return -1;
-1;
never executed: return -1;
0
364 switch (a->type) {-
365 case
never executed: case 3:
3:
never executed: case 3:
0
366 case
never executed: case 5:
5:
never executed: case 5:
0
367 result = ASN1_TYPE_cmp(a->d.other, b->d.other);-
368 break;
never executed: break;
0
369-
370 case
never executed: case 0:
0:
never executed: case 0:
0
371 result = OTHERNAME_cmp(a->d.otherName, b->d.otherName);-
372 break;
never executed: break;
0
373-
374 case
never executed: case 1:
1:
never executed: case 1:
0
375 case
never executed: case 2:
2:
never executed: case 2:
0
376 case
never executed: case 6:
6:
never executed: case 6:
0
377 result = ASN1_STRING_cmp(a->d.ia5, b->d.ia5);-
378 break;
never executed: break;
0
379-
380 case
never executed: case 4:
4:
never executed: case 4:
0
381 result = X509_NAME_cmp(a->d.dirn, b->d.dirn);-
382 break;
never executed: break;
0
383-
384 case
never executed: case 7:
7:
never executed: case 7:
0
385 result = ASN1_OCTET_STRING_cmp(a->d.ip, b->d.ip);-
386 break;
never executed: break;
0
387-
388 case
never executed: case 8:
8:
never executed: case 8:
0
389 result = OBJ_cmp(a->d.rid, b->d.rid);-
390 break;
never executed: break;
0
391 }-
392 return
never executed: return result;
result;
never executed: return result;
0
393}-
394-
395-
396int-
397OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b)-
398{-
399 int result = -1;-
400-
401 if (!a
!aDescription
TRUEnever evaluated
FALSEnever evaluated
|| !b
!bDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
402 return
never executed: return -1;
-1;
never executed: return -1;
0
403-
404 if ((
(result = OBJ_...type_id)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
result = OBJ_cmp(a->type_id, b->type_id)) != 0
(result = OBJ_...type_id)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
405 return
never executed: return result;
result;
never executed: return result;
0
406-
407 result = ASN1_TYPE_cmp(a->value, b->value);-
408 return
never executed: return result;
result;
never executed: return result;
0
409}-
410-
411void-
412GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value)-
413{-
414 switch (type) {-
415 case
never executed: case 3:
3:
never executed: case 3:
0
416 case
never executed: case 5:
5:
never executed: case 5:
0
417 a->d.other = value;-
418 break;
never executed: break;
0
419-
420 case
never executed: case 0:
0:
never executed: case 0:
0
421 a->d.otherName = value;-
422 break;
never executed: break;
0
423-
424 case
never executed: case 1:
1:
never executed: case 1:
0
425 case
never executed: case 2:
2:
never executed: case 2:
0
426 case
never executed: case 6:
6:
never executed: case 6:
0
427 a->d.ia5 = value;-
428 break;
never executed: break;
0
429-
430 case
never executed: case 4:
4:
never executed: case 4:
0
431 a->d.dirn = value;-
432 break;
never executed: break;
0
433-
434 case
never executed: case 7:
7:
never executed: case 7:
0
435 a->d.ip = value;-
436 break;
never executed: break;
0
437-
438 case
never executed: case 8:
8:
never executed: case 8:
0
439 a->d.rid = value;-
440 break;
never executed: break;
0
441 }-
442 a->type = type;-
443}
never executed: end of block
0
444-
445void *-
446GENERAL_NAME_get0_value(GENERAL_NAME *a, int *ptype)-
447{-
448 if (ptype
ptypeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
449 *
never executed: *ptype = a->type;
ptype = a->type;
never executed: *ptype = a->type;
0
450 switch (a->type) {-
451 case
never executed: case 3:
3:
never executed: case 3:
0
452 case
never executed: case 5:
5:
never executed: case 5:
0
453 return
never executed: return a->d.other;
a->d.other;
never executed: return a->d.other;
0
454-
455 case
never executed: case 0:
0:
never executed: case 0:
0
456 return
never executed: return a->d.otherName;
a->d.otherName;
never executed: return a->d.otherName;
0
457-
458 case
never executed: case 1:
1:
never executed: case 1:
0
459 case
never executed: case 2:
2:
never executed: case 2:
0
460 case
never executed: case 6:
6:
never executed: case 6:
0
461 return
never executed: return a->d.ia5;
a->d.ia5;
never executed: return a->d.ia5;
0
462-
463 case
never executed: case 4:
4:
never executed: case 4:
0
464 return
never executed: return a->d.dirn;
a->d.dirn;
never executed: return a->d.dirn;
0
465-
466 case
never executed: case 7:
7:
never executed: case 7:
0
467 return
never executed: return a->d.ip;
a->d.ip;
never executed: return a->d.ip;
0
468-
469 case
never executed: case 8:
8:
never executed: case 8:
0
470 return
never executed: return a->d.rid;
a->d.rid;
never executed: return a->d.rid;
0
471-
472 default
never executed: default:
:
never executed: default:
0
473 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
474 ((void *)0)
never executed: return ((void *)0) ;
0
475 ;
never executed: return ((void *)0) ;
0
476 }-
477}-
478-
479int-
480GENERAL_NAME_set0_othername(GENERAL_NAME *gen, ASN1_OBJECT *oid,-
481 ASN1_TYPE *value)-
482{-
483 OTHERNAME *oth;-
484-
485 oth = OTHERNAME_new();-
486 if (!oth
!othDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
487 return
never executed: return 0;
0;
never executed: return 0;
0
488 oth->type_id = oid;-
489 oth->value = value;-
490 GENERAL_NAME_set0_value(gen, 0, oth);-
491 return
never executed: return 1;
1;
never executed: return 1;
0
492}-
493-
494int-
495GENERAL_NAME_get0_otherName(GENERAL_NAME *gen, ASN1_OBJECT **poid,-
496 ASN1_TYPE **pvalue)-
497{-
498 if (gen->type != 0
gen->type != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
499 return
never executed: return 0;
0;
never executed: return 0;
0
500 if (poid
poidDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
501 *
never executed: *poid = gen->d.otherName->type_id;
poid = gen->d.otherName->type_id;
never executed: *poid = gen->d.otherName->type_id;
0
502 if (pvalue
pvalueDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
503 *
never executed: *pvalue = gen->d.otherName->value;
pvalue = gen->d.otherName->value;
never executed: *pvalue = gen->d.otherName->value;
0
504 return
never executed: return 1;
1;
never executed: return 1;
0
505}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2