OpenCoverage

v3_sxnet.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/x509v3/v3_sxnet.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7static int sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out,-
8 int indent);-
9-
10static SXNET * sxnet_v2i(X509V3_EXT_METHOD *method, X509V3_CTX *ctx,-
11 struct stack_st_CONF_VALUE *nval);-
12-
13-
14const X509V3_EXT_METHOD v3_sxnet = {-
15 .ext_nid = 143,-
16 .ext_flags = 0x4,-
17 .it = &SXNET_it,-
18 .ext_new = -
19 ((void *)0)-
20 ,-
21 .ext_free = -
22 ((void *)0)-
23 ,-
24 .d2i = -
25 ((void *)0)-
26 ,-
27 .i2d = -
28 ((void *)0)-
29 ,-
30 .i2s = -
31 ((void *)0)-
32 ,-
33 .s2i = -
34 ((void *)0)-
35 ,-
36 .i2v = -
37 ((void *)0)-
38 ,-
39-
40 .v2i = (X509V3_EXT_V2I)sxnet_v2i,-
41-
42-
43-
44 .i2r = (X509V3_EXT_I2R)sxnet_i2r,-
45 .r2i = -
46 ((void *)0)-
47 ,-
48 .usr_data = -
49 ((void *)0)-
50 ,-
51};-
52-
53static const ASN1_TEMPLATE SXNETID_seq_tt[] = {-
54 {-
55 .flags = 0,-
56 .tag = 0,-
57 .offset = -
58 __builtin_offsetof (-
59 SXNETID-
60 , -
61 zone-
62 )-
63 ,-
64 .field_name = "zone",-
65 .item = &ASN1_INTEGER_it,-
66 },-
67 {-
68 .flags = 0,-
69 .tag = 0,-
70 .offset = -
71 __builtin_offsetof (-
72 SXNETID-
73 , -
74 user-
75 )-
76 ,-
77 .field_name = "user",-
78 .item = &ASN1_OCTET_STRING_it,-
79 },-
80};-
81-
82const ASN1_ITEM SXNETID_it = {-
83 .itype = 0x1,-
84 .utype = 16,-
85 .templates = SXNETID_seq_tt,-
86 .tcount = sizeof(SXNETID_seq_tt) / sizeof(ASN1_TEMPLATE),-
87 .funcs = -
88 ((void *)0)-
89 ,-
90 .size = sizeof(SXNETID),-
91 .sname = "SXNETID",-
92};-
93-
94-
95SXNETID *-
96d2i_SXNETID(SXNETID **a, const unsigned char **in, long len)-
97{-
98 return
never executed: return (SXNETID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &SXNETID_it);
(SXNETID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
never executed: return (SXNETID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &SXNETID_it);
0
99 &SXNETID_it);
never executed: return (SXNETID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &SXNETID_it);
0
100}-
101-
102int-
103i2d_SXNETID(SXNETID *a, unsigned char **out)-
104{-
105 return
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNETID_it);
ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNETID_it);
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNETID_it);
0
106}-
107-
108SXNETID *-
109SXNETID_new(void)-
110{-
111 return
never executed: return (SXNETID *)ASN1_item_new(&SXNETID_it);
(SXNETID *)ASN1_item_new(&SXNETID_it);
never executed: return (SXNETID *)ASN1_item_new(&SXNETID_it);
0
112}-
113-
114void-
115SXNETID_free(SXNETID *a)-
116{-
117 ASN1_item_free((ASN1_VALUE *)a, &SXNETID_it);-
118}
executed 1 time by 1 test: end of block
Executed by:
  • freenull
1
119-
120static const ASN1_TEMPLATE SXNET_seq_tt[] = {-
121 {-
122 .flags = 0,-
123 .tag = 0,-
124 .offset = -
125 __builtin_offsetof (-
126 SXNET-
127 , -
128 version-
129 )-
130 ,-
131 .field_name = "version",-
132 .item = &ASN1_INTEGER_it,-
133 },-
134 {-
135 .flags = (0x2 << 1),-
136 .tag = 0,-
137 .offset = -
138 __builtin_offsetof (-
139 SXNET-
140 , -
141 ids-
142 )-
143 ,-
144 .field_name = "ids",-
145 .item = &SXNETID_it,-
146 },-
147};-
148-
149const ASN1_ITEM SXNET_it = {-
150 .itype = 0x1,-
151 .utype = 16,-
152 .templates = SXNET_seq_tt,-
153 .tcount = sizeof(SXNET_seq_tt) / sizeof(ASN1_TEMPLATE),-
154 .funcs = -
155 ((void *)0)-
156 ,-
157 .size = sizeof(SXNET),-
158 .sname = "SXNET",-
159};-
160-
161-
162SXNET *-
163d2i_SXNET(SXNET **a, const unsigned char **in, long len)-
164{-
165 return
never executed: return (SXNET *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &SXNET_it);
(SXNET *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
never executed: return (SXNET *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &SXNET_it);
0
166 &SXNET_it);
never executed: return (SXNET *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &SXNET_it);
0
167}-
168-
169int-
170i2d_SXNET(SXNET *a, unsigned char **out)-
171{-
172 return
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNET_it);
ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNET_it);
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNET_it);
0
173}-
174-
175SXNET *-
176SXNET_new(void)-
177{-
178 return
never executed: return (SXNET *)ASN1_item_new(&SXNET_it);
(SXNET *)ASN1_item_new(&SXNET_it);
never executed: return (SXNET *)ASN1_item_new(&SXNET_it);
0
179}-
180-
181void-
182SXNET_free(SXNET *a)-
183{-
184 ASN1_item_free((ASN1_VALUE *)a, &SXNET_it);-
185}
executed 1 time by 1 test: end of block
Executed by:
  • freenull
1
186-
187static int-
188sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out, int indent)-
189{-
190 long v;-
191 char *tmp;-
192 SXNETID *id;-
193 int i;-
194-
195 v = ASN1_INTEGER_get(sx->version);-
196 BIO_printf(out, "%*sVersion: %ld (0x%lX)", indent, "", v + 1, v);-
197 for (i = 0; i < sk_num(((_STACK*) (1 ? (sx->ids) : (struct stack_st_SXNETID*)0)))
i < sk_num(((_..._SXNETID*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
198 id = ((SXNETID *)sk_value(((_STACK*) (1 ? (sx->ids) : (struct stack_st_SXNETID*)0)), (i)));-
199 tmp = i2s_ASN1_INTEGER(-
200 ((void *)0)-
201 , id->zone);-
202 BIO_printf(out, "\n%*sZone: %s, User: ", indent, "", tmp);-
203 free(tmp);-
204 ASN1_STRING_print(out, id->user);-
205 }
never executed: end of block
0
206 return
never executed: return 1;
1;
never executed: return 1;
0
207}-
208static SXNET *-
209sxnet_v2i(X509V3_EXT_METHOD *method, X509V3_CTX *ctx,-
210 struct stack_st_CONF_VALUE *nval)-
211{-
212 CONF_VALUE *cnf;-
213 SXNET *sx = -
214 ((void *)0)-
215 ;-
216 int i;-
217-
218 for (i = 0; i < sk_num(((_STACK*) (1 ? (nval) : (struct stack_st_CONF_VALUE*)0)))
i < sk_num(((_...NF_VALUE*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
219 cnf = ((CONF_VALUE *)sk_value(((_STACK*) (1 ? (nval) : (struct stack_st_CONF_VALUE*)0)), (i)));-
220 if (!SXNET_add_id_asc(&sx, cnf->name, cnf->value, -1)
!SXNET_add_id_...nf->value, -1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
221 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
222 ((void *)0)
never executed: return ((void *)0) ;
0
223 ;
never executed: return ((void *)0) ;
0
224 }
never executed: end of block
0
225 return
never executed: return sx;
sx;
never executed: return sx;
0
226}-
227-
228-
229-
230-
231-
232-
233-
234int-
235SXNET_add_id_asc(SXNET **psx, const char *zone, const char *user, int userlen)-
236{-
237 ASN1_INTEGER *izone = -
238 ((void *)0)-
239 ;-
240-
241 if (!(izone = s2i_ASN1_INTEGER(
!(izone = s2i_... *)0) , zone))Description
TRUEnever evaluated
FALSEnever evaluated
0
242 ((void *)0)
!(izone = s2i_... *)0) , zone))Description
TRUEnever evaluated
FALSEnever evaluated
0
243 , zone))
!(izone = s2i_... *)0) , zone))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
244 ERR_put_error(34,(0xfff),(131),__FILE__,261);-
245 return
never executed: return 0;
0;
never executed: return 0;
0
246 }-
247 return
never executed: return SXNET_add_id_INTEGER(psx, izone, user, userlen);
SXNET_add_id_INTEGER(psx, izone, user, userlen);
never executed: return SXNET_add_id_INTEGER(psx, izone, user, userlen);
0
248}-
249-
250-
251-
252int-
253SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, const char *user,-
254 int userlen)-
255{-
256 ASN1_INTEGER *izone = -
257 ((void *)0)-
258 ;-
259-
260 if (!(izone = ASN1_INTEGER_new())
!(izone = ASN1_INTEGER_new())Description
TRUEnever evaluated
FALSEnever evaluated
||
0
261 !ASN1_INTEGER_set(izone, lzone)
!ASN1_INTEGER_...(izone, lzone)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
262 ERR_put_error(34,(0xfff),((1|64)),__FILE__,277);-
263 ASN1_INTEGER_free(izone);-
264 return
never executed: return 0;
0;
never executed: return 0;
0
265 }-
266 return
never executed: return SXNET_add_id_INTEGER(psx, izone, user, userlen);
SXNET_add_id_INTEGER(psx, izone, user, userlen);
never executed: return SXNET_add_id_INTEGER(psx, izone, user, userlen);
0
267}-
268-
269-
270-
271-
272-
273-
274int-
275SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *zone, const char *user,-
276 int userlen)-
277{-
278 SXNET *sx = -
279 ((void *)0)-
280 ;-
281 SXNETID *id = -
282 ((void *)0)-
283 ;-
284-
285 if (!psx
!psxDescription
TRUEnever evaluated
FALSEnever evaluated
|| !zone
!zoneDescription
TRUEnever evaluated
FALSEnever evaluated
|| !user
!userDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
286 ERR_put_error(34,(0xfff),(107),__FILE__,297);-
287 return
never executed: return 0;
0;
never executed: return 0;
0
288 }-
289 if (userlen == -1
userlen == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
290 userlen = strlen(user);
never executed: userlen = strlen(user);
0
291 if (userlen > 64
userlen > 64Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
292 ERR_put_error(34,(0xfff),(132),__FILE__,303);-
293 return
never executed: return 0;
0;
never executed: return 0;
0
294 }-
295 if (!*psx
!*psxDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
296 if (!(sx = SXNET_new())
!(sx = SXNET_new())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
297 goto
never executed: goto err;
err;
never executed: goto err;
0
298 if (!ASN1_INTEGER_set(sx->version, 0)
!ASN1_INTEGER_...x->version, 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
299 goto
never executed: goto err;
err;
never executed: goto err;
0
300 *psx = sx;-
301 }
never executed: end of block
else
0
302 sx = *psx;
never executed: sx = *psx;
0
303 if (SXNET_get_id_INTEGER(sx, zone)
SXNET_get_id_INTEGER(sx, zone)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
304 ERR_put_error(34,(0xfff),(133),__FILE__,315);-
305 return
never executed: return 0;
0;
never executed: return 0;
0
306 }-
307-
308 if (!(id = SXNETID_new())
!(id = SXNETID_new())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
309 goto
never executed: goto err;
err;
never executed: goto err;
0
310 if (userlen == -1
userlen == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
311 userlen = strlen(user);
never executed: userlen = strlen(user);
0
312-
313 if (!ASN1_STRING_set(id->user, user, userlen)
!ASN1_STRING_s...user, userlen)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
314 goto
never executed: goto err;
err;
never executed: goto err;
0
315 if (!sk_push(((_STACK*) (1 ? (sx->ids) : (struct stack_st_SXNETID*)0)), ((void*) (1 ? (id) : (SXNETID*)0)))
!sk_push(((_ST...(SXNETID*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
316 goto
never executed: goto err;
err;
never executed: goto err;
0
317 id->zone = zone;-
318 return
never executed: return 1;
1;
never executed: return 1;
0
319-
320err:-
321 ERR_put_error(34,(0xfff),((1|64)),__FILE__,332);-
322 SXNETID_free(id);-
323 SXNET_free(sx);-
324 *psx = -
325 ((void *)0)-
326 ;-
327 return
never executed: return 0;
0;
never executed: return 0;
0
328}-
329-
330ASN1_OCTET_STRING *-
331SXNET_get_id_asc(SXNET *sx, const char *zone)-
332{-
333 ASN1_INTEGER *izone = -
334 ((void *)0)-
335 ;-
336 ASN1_OCTET_STRING *oct;-
337-
338 if (!(izone = s2i_ASN1_INTEGER(
!(izone = s2i_... *)0) , zone))Description
TRUEnever evaluated
FALSEnever evaluated
0
339 ((void *)0)
!(izone = s2i_... *)0) , zone))Description
TRUEnever evaluated
FALSEnever evaluated
0
340 , zone))
!(izone = s2i_... *)0) , zone))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
341 ERR_put_error(34,(0xfff),(131),__FILE__,346);-
342 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
343 ((void *)0)
never executed: return ((void *)0) ;
0
344 ;
never executed: return ((void *)0) ;
0
345 }-
346 oct = SXNET_get_id_INTEGER(sx, izone);-
347 ASN1_INTEGER_free(izone);-
348 return
never executed: return oct;
oct;
never executed: return oct;
0
349}-
350-
351ASN1_OCTET_STRING *-
352SXNET_get_id_ulong(SXNET *sx, unsigned long lzone)-
353{-
354 ASN1_INTEGER *izone = -
355 ((void *)0)-
356 ;-
357 ASN1_OCTET_STRING *oct;-
358-
359 if (!(izone = ASN1_INTEGER_new())
!(izone = ASN1_INTEGER_new())Description
TRUEnever evaluated
FALSEnever evaluated
||
0
360 !ASN1_INTEGER_set(izone, lzone)
!ASN1_INTEGER_...(izone, lzone)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
361 ERR_put_error(34,(0xfff),((1|64)),__FILE__,362);-
362 ASN1_INTEGER_free(izone);-
363 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
364 ((void *)0)
never executed: return ((void *)0) ;
0
365 ;
never executed: return ((void *)0) ;
0
366 }-
367 oct = SXNET_get_id_INTEGER(sx, izone);-
368 ASN1_INTEGER_free(izone);-
369 return
never executed: return oct;
oct;
never executed: return oct;
0
370}-
371-
372ASN1_OCTET_STRING *-
373SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone)-
374{-
375 SXNETID *id;-
376 int i;-
377-
378 for (i = 0; i < sk_num(((_STACK*) (1 ? (sx->ids) : (struct stack_st_SXNETID*)0)))
i < sk_num(((_..._SXNETID*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
379 id = ((SXNETID *)sk_value(((_STACK*) (1 ? (sx->ids) : (struct stack_st_SXNETID*)0)), (i)));-
380 if (!ASN1_STRING_cmp(id->zone, zone)
!ASN1_STRING_c...d->zone, zone)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
381 return
never executed: return id->user;
id->user;
never executed: return id->user;
0
382 }
never executed: end of block
0
383 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
384 ((void *)0)
never executed: return ((void *)0) ;
0
385 ;
never executed: return ((void *)0) ;
0
386}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2