OpenCoverage

v3_purp.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/x509v3/v3_purp.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3static void x509v3_cache_extensions(X509 *x);-
4-
5static int check_ssl_ca(const X509 *x);-
6static int check_purpose_ssl_client(const X509_PURPOSE *xp, const X509 *x,-
7 int ca);-
8static int check_purpose_ssl_server(const X509_PURPOSE *xp, const X509 *x,-
9 int ca);-
10static int check_purpose_ns_ssl_server(const X509_PURPOSE *xp, const X509 *x,-
11 int ca);-
12static int purpose_smime(const X509 *x, int ca);-
13static int check_purpose_smime_sign(const X509_PURPOSE *xp, const X509 *x,-
14 int ca);-
15static int check_purpose_smime_encrypt(const X509_PURPOSE *xp, const X509 *x,-
16 int ca);-
17static int check_purpose_crl_sign(const X509_PURPOSE *xp, const X509 *x,-
18 int ca);-
19static int check_purpose_timestamp_sign(const X509_PURPOSE *xp, const X509 *x,-
20 int ca);-
21static int no_check(const X509_PURPOSE *xp, const X509 *x, int ca);-
22static int ocsp_helper(const X509_PURPOSE *xp, const X509 *x, int ca);-
23-
24static int xp_cmp(const X509_PURPOSE * const *a, const X509_PURPOSE * const *b);-
25static void xptable_free(X509_PURPOSE *p);-
26-
27static X509_PURPOSE xstandard[] = {-
28 {1, 2, 0, check_purpose_ssl_client, "SSL client", "sslclient", -
29 ((void *)0)-
30 },-
31 {2, 3, 0, check_purpose_ssl_server, "SSL server", "sslserver", -
32 ((void *)0)-
33 },-
34 {3, 3, 0, check_purpose_ns_ssl_server, "Netscape SSL server", "nssslserver", -
35 ((void *)0)-
36 },-
37 {4, 4, 0, check_purpose_smime_sign, "S/MIME signing", "smimesign", -
38 ((void *)0)-
39 },-
40 {5, 4, 0, check_purpose_smime_encrypt, "S/MIME encryption", "smimeencrypt", -
41 ((void *)0)-
42 },-
43 {6, 1, 0, check_purpose_crl_sign, "CRL signing", "crlsign", -
44 ((void *)0)-
45 },-
46 {7, -1, 0, no_check, "Any Purpose", "any", -
47 ((void *)0)-
48 },-
49 {8, 1, 0, ocsp_helper, "OCSP helper", "ocsphelper", -
50 ((void *)0)-
51 },-
52 {9, 8, 0, check_purpose_timestamp_sign, "Time Stamp signing", "timestampsign", -
53 ((void *)0)-
54 },-
55};-
56-
57-
58-
59static struct stack_st_X509_PURPOSE *xptable = -
60 ((void *)0)-
61 ;-
62-
63static int-
64xp_cmp(const X509_PURPOSE * const *a, const X509_PURPOSE * const *b)-
65{-
66 return
never executed: return (*a)->purpose - (*b)->purpose;
(*a)->purpose - (*b)->purpose;
never executed: return (*a)->purpose - (*b)->purpose;
0
67}-
68-
69-
70-
71-
72int-
73X509_check_purpose(X509 *x, int id, int ca)-
74{-
75 int idx;-
76 const X509_PURPOSE *pt;-
77-
78 if (!(x->ex_flags & 0x0100)
!(x->ex_flags & 0x0100)Description
TRUEevaluated 123 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 425 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
123-425
79 CRYPTO_lock(1|8,3,__FILE__,132);-
80 x509v3_cache_extensions(x);-
81 CRYPTO_lock(2|8,3,__FILE__,134);-
82 }
executed 123 times by 5 tests: end of block
Executed by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
123
83 if (id == -1
id == -1Description
TRUEevaluated 512 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 36 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
)
36-512
84 return
executed 512 times by 5 tests: return 1;
Executed by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
1;
executed 512 times by 5 tests: return 1;
Executed by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
512
85 idx = X509_PURPOSE_get_by_id(id);-
86 if (idx == -1
idx == -1Description
TRUEnever evaluated
FALSEevaluated 36 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
)
0-36
87 return
never executed: return -1;
-1;
never executed: return -1;
0
88 pt = X509_PURPOSE_get0(idx);-
89 return
executed 36 times by 3 tests: return pt->check_purpose(pt, x, ca);
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
pt->check_purpose(pt, x, ca);
executed 36 times by 3 tests: return pt->check_purpose(pt, x, ca);
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
36
90}-
91-
92int-
93X509_PURPOSE_set(int *p, int purpose)-
94{-
95 if (X509_PURPOSE_get_by_id(purpose) == -1
X509_PURPOSE_g...purpose) == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
96 ERR_put_error(34,(0xfff),(146),__FILE__,149);-
97 return
never executed: return 0;
0;
never executed: return 0;
0
98 }-
99 *p = purpose;-
100 return
never executed: return 1;
1;
never executed: return 1;
0
101}-
102-
103int-
104X509_PURPOSE_get_count(void)-
105{-
106 if (!xptable
!xptableDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
107 return
never executed: return (sizeof(xstandard)/sizeof(X509_PURPOSE));
(sizeof(xstandard)/sizeof(X509_PURPOSE));
never executed: return (sizeof(xstandard)/sizeof(X509_PURPOSE));
0
108 return
never executed: return sk_num(((_STACK*) (1 ? (xptable) : (struct stack_st_X509_PURPOSE*)0))) + (sizeof(xstandard)/sizeof(X509_PURPOSE));
sk_num(((_STACK*) (1 ? (xptable) : (struct stack_st_X509_PURPOSE*)0))) + (sizeof(xstandard)/sizeof(X509_PURPOSE));
never executed: return sk_num(((_STACK*) (1 ? (xptable) : (struct stack_st_X509_PURPOSE*)0))) + (sizeof(xstandard)/sizeof(X509_PURPOSE));
0
109}-
110-
111X509_PURPOSE *-
112X509_PURPOSE_get0(int idx)-
113{-
114 if (idx < 0
idx < 0Description
TRUEnever evaluated
FALSEevaluated 36 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
)
0-36
115 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
116 ((void *)0)
never executed: return ((void *)0) ;
0
117 ;
never executed: return ((void *)0) ;
0
118 if (idx < (int)(sizeof(xstandard)/sizeof(X509_PURPOSE))
idx < (int)(si...X509_PURPOSE))Description
TRUEevaluated 36 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
FALSEnever evaluated
)
0-36
119 return
executed 36 times by 3 tests: return xstandard + idx;
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
xstandard + idx;
executed 36 times by 3 tests: return xstandard + idx;
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
36
120 return
never executed: return ((X509_PURPOSE *)sk_value(((_STACK*) (1 ? (xptable) : (struct stack_st_X509_PURPOSE*)0)), (idx - (sizeof(xstandard)/sizeof(X509_PURPOSE)))));
((X509_PURPOSE *)sk_value(((_STACK*) (1 ? (xptable) : (struct stack_st_X509_PURPOSE*)0)), (idx - (sizeof(xstandard)/sizeof(X509_PURPOSE)))));
never executed: return ((X509_PURPOSE *)sk_value(((_STACK*) (1 ? (xptable) : (struct stack_st_X509_PURPOSE*)0)), (idx - (sizeof(xstandard)/sizeof(X509_PURPOSE)))));
0
121}-
122-
123int-
124X509_PURPOSE_get_by_sname(const char *sname)-
125{-
126 int i;-
127 X509_PURPOSE *xptmp;-
128-
129 for (i = 0; i < X509_PURPOSE_get_count()
i < X509_PURPOSE_get_count()Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
130 xptmp = X509_PURPOSE_get0(i);-
131 if (!
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
132 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
133 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
134 ) && __builtin_constant_p (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
135 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
136 ) && (__s1_len = __builtin_strlen (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
137 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
138 ), __s2_len = __builtin_strlen (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
139 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
140 ), (!((size_t)(const void *)((
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
141 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
142 ) + 1) - (size_t)(const void *)(
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
143 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
144 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
145 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
146 ) + 1) - (size_t)(const void *)(
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
147 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
148 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
149 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
150 ,
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
151 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
152 ) : (__builtin_constant_p (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
153 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
154 ) && ((size_t)(const void *)((
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
155 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
156 ) + 1) - (size_t)(const void *)(
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
157 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
158 ) == 1) && (__s1_len = __builtin_strlen (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
159 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
160 ), __s1_len < 4) ? (__builtin_constant_p (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
161 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
162 ) && ((size_t)(const void *)((
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
163 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
164 ) + 1) - (size_t)(const void *)(
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
165 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
166 ) == 1) ? __builtin_strcmp (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
167 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
168 ,
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
169 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
170 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
171 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
172 ); int __result = (((const unsigned char *) (const char *) (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
173 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
174 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
175 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
176 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
177 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
178 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( xptmp->sname ))[3] - __s2[3]);
0
179 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( xptmp->sname ))[3] - __s2[3]);
0
180 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
181 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
182 ) && ((size_t)(const void *)((
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
183 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
184 ) + 1) - (size_t)(const void *)(
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
185 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
186 ) == 1) && (__s2_len = __builtin_strlen (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
187 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
188 ), __s2_len < 4) ? (__builtin_constant_p (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
189 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
190 ) && ((size_t)(const void *)((
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
191 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
192 ) + 1) - (size_t)(const void *)(
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
193 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
194 ) == 1) ? __builtin_strcmp (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
195 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
196 ,
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
197 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
198 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
199 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
200 ); int __result = (((const unsigned char *) (const char *) (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
201 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
202 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
203 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
204 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
205 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
206 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( sname ))[3] - __s2[3]);
0
207 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( sname ))[3] - __s2[3]);
0
208 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
209 xptmp->sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
210 ,
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
211 sname
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
212 )))); })
! __extension_...sname )))); })Description
TRUEnever evaluated
FALSEnever evaluated
0
213 )-
214 return
never executed: return i;
i;
never executed: return i;
0
215 }
never executed: end of block
0
216 return
never executed: return -1;
-1;
never executed: return -1;
0
217}-
218-
219int-
220X509_PURPOSE_get_by_id(int purpose)-
221{-
222 X509_PURPOSE tmp;-
223 int idx;-
224-
225 if ((
(purpose >= 1)Description
TRUEevaluated 36 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
FALSEnever evaluated
purpose >= 1)
(purpose >= 1)Description
TRUEevaluated 36 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
FALSEnever evaluated
&& (
(purpose <= 9)Description
TRUEevaluated 36 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
FALSEnever evaluated
purpose <= 9)
(purpose <= 9)Description
TRUEevaluated 36 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
FALSEnever evaluated
)
0-36
226 return
executed 36 times by 3 tests: return purpose - 1;
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
purpose - 1;
executed 36 times by 3 tests: return purpose - 1;
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
36
227 tmp.purpose = purpose;-
228 if (!xptable
!xptableDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
229 return
never executed: return -1;
-1;
never executed: return -1;
0
230 idx = sk_find(((_STACK*) (1 ? (xptable) : (struct stack_st_X509_PURPOSE*)0)), ((void*) (1 ? (&tmp) : (X509_PURPOSE*)0)));-
231 if (idx == -1
idx == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
232 return
never executed: return -1;
-1;
never executed: return -1;
0
233 return
never executed: return idx + (sizeof(xstandard)/sizeof(X509_PURPOSE));
idx + (sizeof(xstandard)/sizeof(X509_PURPOSE));
never executed: return idx + (sizeof(xstandard)/sizeof(X509_PURPOSE));
0
234}-
235-
236int-
237X509_PURPOSE_add(int id, int trust, int flags,-
238 int (*ck)(const X509_PURPOSE *, const X509 *, int), const char *name,-
239 const char *sname, void *arg)-
240{-
241 int idx;-
242 X509_PURPOSE *ptmp;-
243 char *name_dup, *sname_dup;-
244-
245 name_dup = sname_dup = -
246 ((void *)0)-
247 ;-
248-
249 if (name ==
name == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
250 ((void *)0)
name == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
251 || sname ==
sname == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
252 ((void *)0)
sname == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
253 ) {-
254 ERR_put_error(34,(0xfff),(107),__FILE__,217);-
255 return
never executed: return 0;
0;
never executed: return 0;
0
256 }-
257-
258-
259 flags &= ~0x1;-
260-
261 flags |= 0x2;-
262-
263 idx = X509_PURPOSE_get_by_id(id);-
264-
265 if (idx == -1
idx == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
266 if ((
(ptmp = malloc...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
ptmp = malloc(sizeof(X509_PURPOSE))) ==
(ptmp = malloc...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
267 ((void *)0)
(ptmp = malloc...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
268 ) {-
269 ERR_put_error(34,(0xfff),((1|64)),__FILE__,230);-
270 return
never executed: return 0;
0;
never executed: return 0;
0
271 }-
272 ptmp->flags = 0x1;-
273 }
never executed: end of block
else
0
274 ptmp = X509_PURPOSE_get0(idx);
never executed: ptmp = X509_PURPOSE_get0(idx);
0
275-
276 if ((
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
name_dup =
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
277 (__extension__ (__builtin_constant_p (
__builtin_constant_p ( name )Description
TRUEnever evaluated
FALSEnever evaluated
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
278 name
__builtin_constant_p ( name )Description
TRUEnever evaluated
FALSEnever evaluated
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
279 )
__builtin_constant_p ( name )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((size_t)(cons...( name ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)(const void *)((
((size_t)(cons...( name ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
280 name
((size_t)(cons...( name ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
281 ) + 1) - (size_t)(const void *)(
((size_t)(cons...( name ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
282 name
((size_t)(cons...( name ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
283 ) == 1)
((size_t)(cons...( name ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
? (((const
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
char *) (
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
284 name
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
285 ))[0] == '\0'
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
286 name
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
287 ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)
__retval != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
) __retval = (char *) memcpy (__retval,
never executed: __retval = (char *) memcpy (__retval, name , __len);
0
288 name
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __retval = (char *) memcpy (__retval, name , __len);
0
289 , __len); __retval; })) : __strdup (
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
290 name
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
291 )))
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
292 ) ==
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
293 ((void *)0)
(name_dup = (_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
294 )-
295 goto
never executed: goto err;
err;
never executed: goto err;
0
296 if ((
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
sname_dup =
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
297 (__extension__ (__builtin_constant_p (
__builtin_constant_p ( sname )Description
TRUEnever evaluated
FALSEnever evaluated
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
298 sname
__builtin_constant_p ( sname )Description
TRUEnever evaluated
FALSEnever evaluated
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
299 )
__builtin_constant_p ( sname )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((size_t)(cons... sname ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)(const void *)((
((size_t)(cons... sname ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
300 sname
((size_t)(cons... sname ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
301 ) + 1) - (size_t)(const void *)(
((size_t)(cons... sname ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
302 sname
((size_t)(cons... sname ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
303 ) == 1)
((size_t)(cons... sname ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
? (((const
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
char *) (
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
304 sname
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
305 ))[0] == '\0'
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
306 sname
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
307 ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)
__retval != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
) __retval = (char *) memcpy (__retval,
never executed: __retval = (char *) memcpy (__retval, sname , __len);
0
308 sname
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __retval = (char *) memcpy (__retval, sname , __len);
0
309 , __len); __retval; })) : __strdup (
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
310 sname
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
311 )))
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
312 ) ==
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
313 ((void *)0)
(sname_dup = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
314 )-
315 goto
never executed: goto err;
err;
never executed: goto err;
0
316-
317-
318 if (ptmp->flags & 0x2
ptmp->flags & 0x2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
319 free(ptmp->name);-
320 free(ptmp->sname);-
321 }
never executed: end of block
0
322-
323 ptmp->name = name_dup;-
324 ptmp->sname = sname_dup;-
325-
326 ptmp->flags &= 0x1;-
327-
328 ptmp->flags |= flags;-
329-
330 ptmp->purpose = id;-
331 ptmp->trust = trust;-
332 ptmp->check_purpose = ck;-
333 ptmp->usr_data = arg;-
334-
335-
336 if (idx == -1
idx == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
337 if (xptable ==
xptable == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
338 ((void *)0)
xptable == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
339 &&-
340 (
(xptable = ((s...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
xptable = ((struct stack_st_X509_PURPOSE *)sk_new(((int (*)(const void *, const void *)) ((1 ? (xp_cmp) : (int (*)(const X509_PURPOSE * const *, const X509_PURPOSE * const *))0)))))) ==
(xptable = ((s...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
341 ((void *)0)
(xptable = ((s...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
342 )-
343 goto
never executed: goto err;
err;
never executed: goto err;
0
344 if (sk_push(((_STACK*) (1 ? (xptable) : (struct stack_st_X509_PURPOSE*)0)), ((void*) (1 ? (ptmp) : (X509_PURPOSE*)0))) == 0
sk_push(((_STA...OSE*)0))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
345 goto
never executed: goto err;
err;
never executed: goto err;
0
346 }
never executed: end of block
0
347 return
never executed: return 1;
1;
never executed: return 1;
0
348-
349err:-
350 free(name_dup);-
351 free(sname_dup);-
352 if (idx == -1
idx == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
353 free(ptmp);
never executed: free(ptmp);
0
354 ERR_put_error(34,(0xfff),((1|64)),__FILE__,275);-
355 return
never executed: return 0;
0;
never executed: return 0;
0
356}-
357-
358static void-
359xptable_free(X509_PURPOSE *p)-
360{-
361 if (!p
!pDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
362 return;
never executed: return;
0
363 if (p->flags & 0x1
p->flags & 0x1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
364 if (p->flags & 0x2
p->flags & 0x2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
365 free(p->name);-
366 free(p->sname);-
367 }
never executed: end of block
0
368 free(p);-
369 }
never executed: end of block
0
370}
never executed: end of block
0
371-
372void-
373X509_PURPOSE_cleanup(void)-
374{-
375 unsigned int i;-
376-
377 sk_pop_free(((_STACK*) (1 ? (xptable) : (struct stack_st_X509_PURPOSE*)0)), ((void (*)(void *)) ((1 ? (xptable_free) : (void (*)(X509_PURPOSE *))0))));-
378 for(i = 0; i < (sizeof(xstandard)/sizeof(X509_PURPOSE))
i < (sizeof(xs...X509_PURPOSE))Description
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
379 xptable_free(xstandard + i);
never executed: xptable_free(xstandard + i);
0
380 xptable = -
381 ((void *)0)-
382 ;-
383}
never executed: end of block
0
384-
385int-
386X509_PURPOSE_get_id(const X509_PURPOSE *xp)-
387{-
388 return
never executed: return xp->purpose;
xp->purpose;
never executed: return xp->purpose;
0
389}-
390-
391char *-
392X509_PURPOSE_get0_name(const X509_PURPOSE *xp)-
393{-
394 return
never executed: return xp->name;
xp->name;
never executed: return xp->name;
0
395}-
396-
397char *-
398X509_PURPOSE_get0_sname(const X509_PURPOSE *xp)-
399{-
400 return
never executed: return xp->sname;
xp->sname;
never executed: return xp->sname;
0
401}-
402-
403int-
404X509_PURPOSE_get_trust(const X509_PURPOSE *xp)-
405{-
406 return
never executed: return xp->trust;
xp->trust;
never executed: return xp->trust;
0
407}-
408-
409static int-
410nid_cmp(const int *a, const int *b)-
411{-
412 return
executed 1372 times by 4 tests: return *a - *b;
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
*a - *b;
executed 1372 times by 4 tests: return *a - *b;
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
1372
413}-
414-
415static int nid_cmp_BSEARCH_CMP_FN(const void *, const void *);-
416static int nid_cmp(int const *, int const *);-
417static int *OBJ_bsearch_nid(int *key, int const *base, int num);-
418-
419static int-
420nid_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_)-
421{-
422 int const *a = a_;-
423 int const *b = b_;-
424 return
executed 1372 times by 4 tests: return nid_cmp(a, b);
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
nid_cmp(a, b);
executed 1372 times by 4 tests: return nid_cmp(a, b);
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
1372
425}-
426-
427static int *-
428OBJ_bsearch_nid(int *key, int const *base, int num)-
429{-
430 return
executed 392 times by 4 tests: return (int *)OBJ_bsearch_(key, base, num, sizeof(int), nid_cmp_BSEARCH_CMP_FN);
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
(int *)OBJ_bsearch_(key, base, num, sizeof(int),
executed 392 times by 4 tests: return (int *)OBJ_bsearch_(key, base, num, sizeof(int), nid_cmp_BSEARCH_CMP_FN);
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
392
431 nid_cmp_BSEARCH_CMP_FN);
executed 392 times by 4 tests: return (int *)OBJ_bsearch_(key, base, num, sizeof(int), nid_cmp_BSEARCH_CMP_FN);
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
392
432}-
433-
434int-
435X509_supported_extension(X509_EXTENSION *ex)-
436{-
437 static const int supported_nids[] = {-
438 71,-
439 83,-
440 85,-
441 87,-
442 89,-
443 126,-
444 401,-
445 663,-
446 666,-
447 747,-
448 748-
449 };-
450-
451 int ex_nid = OBJ_obj2nid(X509_EXTENSION_get_object(ex));-
452-
453 if (ex_nid == 0
ex_nid == 0Description
TRUEnever evaluated
FALSEevaluated 392 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
0-392
454 return
never executed: return 0;
0;
never executed: return 0;
0
455-
456 if (OBJ_bsearch_nid(&ex_nid, supported_nids,
OBJ_bsearch_ni.../ sizeof(int))Description
TRUEevaluated 392 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-392
457 sizeof(supported_nids) / sizeof(int))
OBJ_bsearch_ni.../ sizeof(int))Description
TRUEevaluated 392 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
)
0-392
458 return
executed 392 times by 4 tests: return 1;
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
1;
executed 392 times by 4 tests: return 1;
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
392
459 return
never executed: return 0;
0;
never executed: return 0;
0
460}-
461-
462static void-
463setup_dp(X509 *x, DIST_POINT *dp)-
464{-
465 X509_NAME *iname = -
466 ((void *)0)-
467 ;-
468 int i;-
469-
470 if (dp->reasons
dp->reasonsDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
471 if (dp->reasons->length > 0
dp->reasons->length > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
472 dp->dp_reasons = dp->reasons->data[0];
never executed: dp->dp_reasons = dp->reasons->data[0];
0
473 if (dp->reasons->length > 1
dp->reasons->length > 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
474 dp->dp_reasons |= (dp->reasons->data[1] << 8);
never executed: dp->dp_reasons |= (dp->reasons->data[1] << 8);
0
475 dp->dp_reasons &= 0x807f;-
476 }
never executed: end of block
else
0
477 dp->dp_reasons = 0x807f;
never executed: dp->dp_reasons = 0x807f;
0
478 if (!dp->distpoint
!dp->distpointDescription
TRUEnever evaluated
FALSEnever evaluated
|| (
(dp->distpoint->type != 1)Description
TRUEnever evaluated
FALSEnever evaluated
dp->distpoint->type != 1)
(dp->distpoint->type != 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
479 return;
never executed: return;
0
480 for (i = 0; i < sk_num(((_STACK*) (1 ? (dp->CRLissuer) : (struct stack_st_GENERAL_NAME*)0)))
i < sk_num(((_...RAL_NAME*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
481 GENERAL_NAME *gen = ((GENERAL_NAME *)sk_value(((_STACK*) (1 ? (dp->CRLissuer) : (struct stack_st_GENERAL_NAME*)0)), (i)));-
482 if (gen->type == 4
gen->type == 4Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
483 iname = gen->d.directoryName;-
484 break;
never executed: break;
0
485 }-
486 }
never executed: end of block
0
487 if (!iname
!inameDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
488 iname = X509_get_issuer_name(x);
never executed: iname = X509_get_issuer_name(x);
0
489-
490 DIST_POINT_set_dpname(dp->distpoint, iname);-
491-
492}
never executed: end of block
0
493-
494static void-
495setup_crldp(X509 *x)-
496{-
497 int i;-
498-
499 x->crldp = X509_get_ext_d2i(x, 103, -
500 ((void *)0)-
501 , -
502 ((void *)0)-
503 );-
504 for (i = 0; i < sk_num(((_STACK*) (1 ? (x->crldp) : (struct stack_st_DIST_POINT*)0)))
i < sk_num(((_...ST_POINT*)0)))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
; i++)
0-198
505 setup_dp(x, ((DIST_POINT *)sk_value(((_STACK*) (1 ? (x->crldp) : (struct stack_st_DIST_POINT*)0)), (i))));
never executed: setup_dp(x, ((DIST_POINT *)sk_value(((_STACK*) (1 ? (x->crldp) : (struct stack_st_DIST_POINT*)0)), (i))));
0
506}
executed 198 times by 5 tests: end of block
Executed by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
198
507-
508static void-
509x509v3_cache_extensions(X509 *x)-
510{-
511 BASIC_CONSTRAINTS *bs;-
512 PROXY_CERT_INFO_EXTENSION *pci;-
513 ASN1_BIT_STRING *usage;-
514 ASN1_BIT_STRING *ns;-
515 EXTENDED_KEY_USAGE *extusage;-
516 X509_EXTENSION *ex;-
517 int i;-
518-
519 if (x->ex_flags & 0x0100
x->ex_flags & 0x0100Description
TRUEevaluated 171 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
171-198
520 return;
executed 171 times by 2 tests: return;
Executed by:
  • ssltest
  • tlstest
171
521-
522-
523 X509_digest(x, EVP_sha1(), x->sha1_hash, -
524 ((void *)0)-
525 );-
526-
527-
528-
529 if (!X509_get_version(x)
!X509_get_version(x)Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
0-198
530 x->ex_flags |= 0x0040;
never executed: x->ex_flags |= 0x0040;
0
531-
532-
533 if ((
(bs = X509_get...((void *)0) ))Description
TRUEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
bs = X509_get_ext_d2i(x, 87,
(bs = X509_get...((void *)0) ))Description
TRUEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-198
534 ((void *)0)
(bs = X509_get...((void *)0) ))Description
TRUEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-198
535 ,
(bs = X509_get...((void *)0) ))Description
TRUEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-198
536 ((void *)0)
(bs = X509_get...((void *)0) ))Description
TRUEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-198
537 ))
(bs = X509_get...((void *)0) ))Description
TRUEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
) {
0-198
538 if (bs->ca
bs->caDescription
TRUEevaluated 77 times by 3 tests
Evaluated by:
  • asn1test
  • ssltest
  • tlstest
FALSEevaluated 121 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
77-121
539 x->ex_flags |= 0x0010;
executed 77 times by 3 tests: x->ex_flags |= 0x0010;
Executed by:
  • asn1test
  • ssltest
  • tlstest
77
540 if (bs->pathlen
bs->pathlenDescription
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
0-198
541 if ((
(bs->pathlen->...= (2 | 0x100))Description
TRUEnever evaluated
FALSEnever evaluated
bs->pathlen->type == (2 | 0x100))
(bs->pathlen->...= (2 | 0x100))Description
TRUEnever evaluated
FALSEnever evaluated
||
0
542 !bs->ca
!bs->caDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
543 x->ex_flags |= 0x0080;-
544 x->ex_pathlen = 0;-
545 }
never executed: end of block
else
0
546 x->ex_pathlen = ASN1_INTEGER_get(bs->pathlen);
never executed: x->ex_pathlen = ASN1_INTEGER_get(bs->pathlen);
0
547 } else-
548 x->ex_pathlen = -1;
executed 198 times by 5 tests: x->ex_pathlen = -1;
Executed by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
198
549 BASIC_CONSTRAINTS_free(bs);-
550 x->ex_flags |= 0x0001;-
551 }
executed 198 times by 5 tests: end of block
Executed by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
198
552-
553-
554 if ((
(pci = X509_ge...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
pci = X509_get_ext_d2i(x, 663,
(pci = X509_ge...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-198
555 ((void *)0)
(pci = X509_ge...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-198
556 ,
(pci = X509_ge...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-198
557 ((void *)0)
(pci = X509_ge...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-198
558 ))
(pci = X509_ge...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
0-198
559 if (x->ex_flags & 0x0010
x->ex_flags & 0x0010Description
TRUEnever evaluated
FALSEnever evaluated
||
0
560 X509_get_ext_by_NID(x, 85, -1) >= 0
X509_get_ext_b..., 85, -1) >= 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
561 X509_get_ext_by_NID(x, 86, -1) >= 0
X509_get_ext_b..., 86, -1) >= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
562 x->ex_flags |= 0x0080;-
563 }
never executed: end of block
0
564 if (pci->pcPathLengthConstraint
pci->pcPathLengthConstraintDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
565 if (pci->pcPathLengthConstraint->type ==
pci->pcPathLen...== (2 | 0x100)Description
TRUEnever evaluated
FALSEnever evaluated
0
566 (2 | 0x100)
pci->pcPathLen...== (2 | 0x100)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
567 x->ex_flags |= 0x0080;-
568 x->ex_pcpathlen = 0;-
569 }
never executed: end of block
else
0
570 x->ex_pcpathlen =
never executed: x->ex_pcpathlen = ASN1_INTEGER_get(pci-> pcPathLengthConstraint);
0
571 ASN1_INTEGER_get(pci->
never executed: x->ex_pcpathlen = ASN1_INTEGER_get(pci-> pcPathLengthConstraint);
0
572 pcPathLengthConstraint);
never executed: x->ex_pcpathlen = ASN1_INTEGER_get(pci-> pcPathLengthConstraint);
0
573 } else-
574 x->ex_pcpathlen = -1;
never executed: x->ex_pcpathlen = -1;
0
575 PROXY_CERT_INFO_EXTENSION_free(pci);-
576 x->ex_flags |= 0x0400;-
577 }
never executed: end of block
0
578-
579-
580 if ((
(usage = X509_...((void *)0) ))Description
TRUEevaluated 196 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
usage = X509_get_ext_d2i(x, 83,
(usage = X509_...((void *)0) ))Description
TRUEevaluated 196 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
2-196
581 ((void *)0)
(usage = X509_...((void *)0) ))Description
TRUEevaluated 196 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
2-196
582 ,
(usage = X509_...((void *)0) ))Description
TRUEevaluated 196 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
2-196
583 ((void *)0)
(usage = X509_...((void *)0) ))Description
TRUEevaluated 196 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
2-196
584 ))
(usage = X509_...((void *)0) ))Description
TRUEevaluated 196 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
) {
2-196
585 if (usage->length > 0
usage->length > 0Description
TRUEevaluated 196 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
) {
0-196
586 x->ex_kusage = usage->data[0];-
587 if (usage->length > 1
usage->length > 1Description
TRUEnever evaluated
FALSEevaluated 196 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
0-196
588 x->ex_kusage |= usage->data[1] << 8;
never executed: x->ex_kusage |= usage->data[1] << 8;
0
589 }
executed 196 times by 4 tests: end of block
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
else
196
590 x->ex_kusage = 0;
never executed: x->ex_kusage = 0;
0
591 x->ex_flags |= 0x0002;-
592 ASN1_BIT_STRING_free(usage);-
593 }
executed 196 times by 4 tests: end of block
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
196
594 x->ex_xkusage = 0;-
595 if ((
(extusage = X5...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
extusage = X509_get_ext_d2i(x, 126,
(extusage = X5...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-198
596 ((void *)0)
(extusage = X5...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-198
597 ,
(extusage = X5...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-198
598 ((void *)0)
(extusage = X5...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-198
599 ))
(extusage = X5...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
0-198
600 x->ex_flags |= 0x0004;-
601 for (i = 0; i < sk_num(((_STACK*) (1 ? (extusage) : (struct stack_st_ASN1_OBJECT*)0)))
i < sk_num(((_...1_OBJECT*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
602 switch (OBJ_obj2nid(((ASN1_OBJECT *)sk_value(((_STACK*) (1 ? (extusage) : (struct stack_st_ASN1_OBJECT*)0)), (i))))) {-
603 case
never executed: case 129:
129:
never executed: case 129:
0
604 x->ex_xkusage |= 0x1;-
605 break;
never executed: break;
0
606-
607 case
never executed: case 130:
130:
never executed: case 130:
0
608 x->ex_xkusage |= 0x2;-
609 break;
never executed: break;
0
610-
611 case
never executed: case 132:
132:
never executed: case 132:
0
612 x->ex_xkusage |= 0x4;-
613 break;
never executed: break;
0
614-
615 case
never executed: case 131:
131:
never executed: case 131:
0
616 x->ex_xkusage |= 0x8;-
617 break;
never executed: break;
0
618-
619 case
never executed: case 137:
137:
never executed: case 137:
0
620 case
never executed: case 139:
139:
never executed: case 139:
0
621 x->ex_xkusage |= 0x10;-
622 break;
never executed: break;
0
623-
624 case
never executed: case 180:
180:
never executed: case 180:
0
625 x->ex_xkusage |= 0x20;-
626 break;
never executed: break;
0
627-
628 case
never executed: case 133:
133:
never executed: case 133:
0
629 x->ex_xkusage |= 0x40;-
630 break;
never executed: break;
0
631-
632 case
never executed: case 297:
297:
never executed: case 297:
0
633 x->ex_xkusage |= 0x80;-
634 break;
never executed: break;
0
635 }-
636 }
never executed: end of block
0
637 sk_pop_free(((_STACK*) (1 ? (extusage) : (struct stack_st_ASN1_OBJECT*)0)), ((void (*)(void *)) ((1 ? (ASN1_OBJECT_free) : (void (*)(ASN1_OBJECT *))0))));-
638 }
never executed: end of block
0
639-
640 if ((
(ns = X509_get...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
ns = X509_get_ext_d2i(x, 71,
(ns = X509_get...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-198
641 ((void *)0)
(ns = X509_get...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-198
642 ,
(ns = X509_get...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-198
643 ((void *)0)
(ns = X509_get...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-198
644 ))
(ns = X509_get...((void *)0) ))Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
0-198
645 if (ns->length > 0
ns->length > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
646 x->ex_nscert = ns->data[0];
never executed: x->ex_nscert = ns->data[0];
0
647 else-
648 x->ex_nscert = 0;
never executed: x->ex_nscert = 0;
0
649 x->ex_flags |= 0x0008;-
650 ASN1_BIT_STRING_free(ns);-
651 }
never executed: end of block
0
652-
653 x->skid = X509_get_ext_d2i(x, 82, -
654 ((void *)0)-
655 , -
656 ((void *)0)-
657 );-
658 x->akid = X509_get_ext_d2i(x, 90, -
659 ((void *)0)-
660 , -
661 ((void *)0)-
662 );-
663-
664-
665 if (!X509_NAME_cmp(X509_get_subject_name(x), X509_get_issuer_name(x))
!X509_NAME_cmp...ssuer_name(x))Description
TRUEevaluated 41 times by 3 tests
Evaluated by:
  • asn1test
  • ssltest
  • tlstest
FALSEevaluated 157 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
41-157
666 x->ex_flags |= 0x0020;-
667-
668 if (X509_check_akid(x, x->akid) == 0
X509_check_aki... x->akid) == 0Description
TRUEevaluated 41 times by 3 tests
Evaluated by:
  • asn1test
  • ssltest
  • tlstest
FALSEnever evaluated
&&
0-41
669 !(((
((x)->ex_flags & 0x0002)Description
TRUEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
x)->ex_flags & 0x0002)
((x)->ex_flags & 0x0002)Description
TRUEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
&& !((x)->ex_kusage & (0x0004))
!((x)->ex_kusage & (0x0004))Description
TRUEnever evaluated
FALSEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
))
0-39
670 x->ex_flags |= 0x2000;
executed 41 times by 3 tests: x->ex_flags |= 0x2000;
Executed by:
  • asn1test
  • ssltest
  • tlstest
41
671 }
executed 41 times by 3 tests: end of block
Executed by:
  • asn1test
  • ssltest
  • tlstest
41
672-
673 x->altname = X509_get_ext_d2i(x, 85, -
674 ((void *)0)-
675 , -
676 ((void *)0)-
677 );-
678 x->nc = X509_get_ext_d2i(x, 666, &i, -
679 ((void *)0)-
680 );-
681 if (!x->nc
!x->ncDescription
TRUEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
&& (
(i != -1)Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
i != -1)
(i != -1)Description
TRUEnever evaluated
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
0-198
682 x->ex_flags |= 0x0080;
never executed: x->ex_flags |= 0x0080;
0
683 setup_crldp(x);-
684-
685 for (i = 0; i < X509_get_ext_count(x)
i < X509_get_ext_count(x)Description
TRUEevaluated 669 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 198 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
; i++) {
198-669
686 ex = X509_get_ext(x, i);-
687 if (OBJ_obj2nid(X509_EXTENSION_get_object(ex)) ==
OBJ_obj2nid(X5...ct(ex)) == 857Description
TRUEnever evaluated
FALSEevaluated 669 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-669
688 857
OBJ_obj2nid(X5...ct(ex)) == 857Description
TRUEnever evaluated
FALSEevaluated 669 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
0-669
689 x->ex_flags |= 0x1000;
never executed: x->ex_flags |= 0x1000;
0
690 if (!X509_EXTENSION_get_critical(ex)
!X509_EXTENSIO...t_critical(ex)Description
TRUEevaluated 277 times by 5 tests
Evaluated by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 392 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
277-392
691 continue;
executed 277 times by 5 tests: continue;
Executed by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
277
692 if (!X509_supported_extension(ex)
!X509_supported_extension(ex)Description
TRUEnever evaluated
FALSEevaluated 392 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
0-392
693 x->ex_flags |= 0x0200;-
694 break;
never executed: break;
0
695 }-
696 }
executed 392 times by 4 tests: end of block
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
392
697 x->ex_flags |= 0x0100;-
698}
executed 198 times by 5 tests: end of block
Executed by:
  • asn1test
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
198
699static int-
700check_ca(const X509 *x)-
701{-
702-
703 if ((((
((x)->ex_flags & 0x0002)Description
TRUEevaluated 68 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
FALSEnever evaluated
x)->ex_flags & 0x0002)
((x)->ex_flags & 0x0002)Description
TRUEevaluated 68 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
FALSEnever evaluated
&& !((x)->ex_kusage & (0x0004))
!((x)->ex_kusage & (0x0004))Description
TRUEevaluated 38 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
FALSEevaluated 30 times by 1 test
Evaluated by:
  • ssltest
))
0-68
704 return
executed 38 times by 3 tests: return 0;
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
0;
executed 38 times by 3 tests: return 0;
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
38
705 if (x->ex_flags & 0x0001
x->ex_flags & 0x0001Description
TRUEevaluated 30 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
) {
0-30
706 if (x->ex_flags & 0x0010
x->ex_flags & 0x0010Description
TRUEevaluated 30 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
)
0-30
707 return
executed 30 times by 1 test: return 1;
Executed by:
  • ssltest
1;
executed 30 times by 1 test: return 1;
Executed by:
  • ssltest
30
708-
709 else-
710 return
never executed: return 0;
0;
never executed: return 0;
0
711 } else {-
712-
713 if ((
(x->ex_flags &...0x0040|0x2000)Description
TRUEnever evaluated
FALSEnever evaluated
x->ex_flags & (0x0040|0x2000)) == (0x0040|0x2000)
(x->ex_flags &...0x0040|0x2000)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
714 return
never executed: return 3;
3;
never executed: return 3;
0
715-
716 else if (x->ex_flags & 0x0002
x->ex_flags & 0x0002Description
TRUEnever evaluated
FALSEnever evaluated
)
0
717 return
never executed: return 4;
4;
never executed: return 4;
0
718-
719 else if (x->ex_flags & 0x0008
x->ex_flags & 0x0008Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
720 x->ex_nscert & (0x04|0x02|0x01)
x->ex_nscert &...x04|0x02|0x01)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
721 return
never executed: return 5;
5;
never executed: return 5;
0
722-
723 return
never executed: return 0;
0;
never executed: return 0;
0
724 }-
725}-
726-
727int-
728X509_check_ca(X509 *x)-
729{-
730 if (!(x->ex_flags & 0x0100)
!(x->ex_flags & 0x0100)Description
TRUEnever evaluated
FALSEevaluated 53 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
) {
0-53
731 CRYPTO_lock(1|8,3,__FILE__,626);-
732 x509v3_cache_extensions(x);-
733 CRYPTO_lock(2|8,3,__FILE__,628);-
734 }
never executed: end of block
0
735-
736 return
executed 53 times by 3 tests: return check_ca(x);
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
check_ca(x);
executed 53 times by 3 tests: return check_ca(x);
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
53
737}-
738-
739-
740static int-
741check_ssl_ca(const X509 *x)-
742{-
743 int ca_ret;-
744-
745 ca_ret = check_ca(x);-
746 if (!ca_ret
!ca_retDescription
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • ssltest
)
0-15
747 return
never executed: return 0;
0;
never executed: return 0;
0
748-
749 if (ca_ret != 5
ca_ret != 5Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
|| x->ex_nscert & 0x04
x->ex_nscert & 0x04Description
TRUEnever evaluated
FALSEnever evaluated
)
0-15
750 return
executed 15 times by 1 test: return ca_ret;
Executed by:
  • ssltest
ca_ret;
executed 15 times by 1 test: return ca_ret;
Executed by:
  • ssltest
15
751 else-
752 return
never executed: return 0;
0;
never executed: return 0;
0
753}-
754-
755static int-
756check_purpose_ssl_client(const X509_PURPOSE *xp, const X509 *x, int ca)-
757{-
758 if ((((
((x)->ex_flags & 0x0004)Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • ssltest
x)->ex_flags & 0x0004)
((x)->ex_flags & 0x0004)Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • ssltest
&& !((x)->ex_xkusage & (0x2))
!((x)->ex_xkusage & (0x2))Description
TRUEnever evaluated
FALSEnever evaluated
))
0-12
759 return
never executed: return 0;
0;
never executed: return 0;
0
760 if (ca
caDescription
TRUEevaluated 6 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 6 times by 1 test
Evaluated by:
  • ssltest
)
6
761 return
executed 6 times by 1 test: return check_ssl_ca(x);
Executed by:
  • ssltest
check_ssl_ca(x);
executed 6 times by 1 test: return check_ssl_ca(x);
Executed by:
  • ssltest
6
762-
763 if ((((
((x)->ex_flags & 0x0002)Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
x)->ex_flags & 0x0002)
((x)->ex_flags & 0x0002)Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
&& !((x)->ex_kusage & (0x0080))
!((x)->ex_kusage & (0x0080))Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • ssltest
))
0-6
764 return
never executed: return 0;
0;
never executed: return 0;
0
765-
766 if ((((
((x)->ex_flags & 0x0008)Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • ssltest
x)->ex_flags & 0x0008)
((x)->ex_flags & 0x0008)Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • ssltest
&& !((x)->ex_nscert & (0x80))
!((x)->ex_nscert & (0x80))Description
TRUEnever evaluated
FALSEnever evaluated
))
0-6
767 return
never executed: return 0;
0;
never executed: return 0;
0
768 return
executed 6 times by 1 test: return 1;
Executed by:
  • ssltest
1;
executed 6 times by 1 test: return 1;
Executed by:
  • ssltest
6
769}-
770-
771static int-
772check_purpose_ssl_server(const X509_PURPOSE *xp, const X509 *x, int ca)-
773{-
774 if ((((
((x)->ex_flags & 0x0004)Description
TRUEnever evaluated
FALSEevaluated 22 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
x)->ex_flags & 0x0004)
((x)->ex_flags & 0x0004)Description
TRUEnever evaluated
FALSEevaluated 22 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&& !((x)->ex_xkusage & (0x1|0x10))
!((x)->ex_xkus... & (0x1|0x10))Description
TRUEnever evaluated
FALSEnever evaluated
))
0-22
775 return
never executed: return 0;
0;
never executed: return 0;
0
776 if (ca
caDescription
TRUEevaluated 9 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 13 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
9-13
777 return
executed 9 times by 1 test: return check_ssl_ca(x);
Executed by:
  • ssltest
check_ssl_ca(x);
executed 9 times by 1 test: return check_ssl_ca(x);
Executed by:
  • ssltest
9
778-
779 if ((((
((x)->ex_flags & 0x0008)Description
TRUEnever evaluated
FALSEevaluated 13 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
x)->ex_flags & 0x0008)
((x)->ex_flags & 0x0008)Description
TRUEnever evaluated
FALSEevaluated 13 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&& !((x)->ex_nscert & (0x40))
!((x)->ex_nscert & (0x40))Description
TRUEnever evaluated
FALSEnever evaluated
))
0-13
780 return
never executed: return 0;
0;
never executed: return 0;
0
781-
782 if ((((
((x)->ex_flags & 0x0002)Description
TRUEevaluated 13 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
x)->ex_flags & 0x0002)
((x)->ex_flags & 0x0002)Description
TRUEevaluated 13 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
&& !((x)->ex_kusage & (0x0080|0x0020))
!((x)->ex_kusa...x0080|0x0020))Description
TRUEnever evaluated
FALSEevaluated 13 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
))
0-13
783 return
never executed: return 0;
0;
never executed: return 0;
0
784-
785 return
executed 13 times by 2 tests: return 1;
Executed by:
  • ssltest
  • tlstest
1;
executed 13 times by 2 tests: return 1;
Executed by:
  • ssltest
  • tlstest
13
786}-
787-
788static int-
789check_purpose_ns_ssl_server(const X509_PURPOSE *xp, const X509 *x, int ca)-
790{-
791 int ret;-
792-
793 ret = check_purpose_ssl_server(xp, x, ca);-
794 if (!ret
!retDescription
TRUEnever evaluated
FALSEnever evaluated
|| ca
caDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
795 return
never executed: return ret;
ret;
never executed: return ret;
0
796-
797 if ((((
((x)->ex_flags & 0x0002)Description
TRUEnever evaluated
FALSEnever evaluated
x)->ex_flags & 0x0002)
((x)->ex_flags & 0x0002)Description
TRUEnever evaluated
FALSEnever evaluated
&& !((x)->ex_kusage & (0x0020))
!((x)->ex_kusage & (0x0020))Description
TRUEnever evaluated
FALSEnever evaluated
))
0
798 return
never executed: return 0;
0;
never executed: return 0;
0
799 return
never executed: return ret;
ret;
never executed: return ret;
0
800}-
801-
802-
803static int-
804purpose_smime(const X509 *x, int ca)-
805{-
806 if ((((
((x)->ex_flags & 0x0004)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
x)->ex_flags & 0x0004)
((x)->ex_flags & 0x0004)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
&& !((x)->ex_xkusage & (0x4))
!((x)->ex_xkusage & (0x4))Description
TRUEnever evaluated
FALSEnever evaluated
))
0-2
807 return
never executed: return 0;
0;
never executed: return 0;
0
808 if (ca
caDescription
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
) {
0-2
809 int ca_ret;-
810 ca_ret = check_ca(x);-
811 if (!ca_ret
!ca_retDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
812 return
never executed: return 0;
0;
never executed: return 0;
0
813-
814 if (ca_ret != 5
ca_ret != 5Description
TRUEnever evaluated
FALSEnever evaluated
|| x->ex_nscert & 0x02
x->ex_nscert & 0x02Description
TRUEnever evaluated
FALSEnever evaluated
)
0
815 return
never executed: return ca_ret;
ca_ret;
never executed: return ca_ret;
0
816 else-
817 return
never executed: return 0;
0;
never executed: return 0;
0
818 }-
819 if (x->ex_flags & 0x0008
x->ex_flags & 0x0008Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
) {
0-2
820 if (x->ex_nscert & 0x20
x->ex_nscert & 0x20Description
TRUEnever evaluated
FALSEnever evaluated
)
0
821 return
never executed: return 1;
1;
never executed: return 1;
0
822-
823 if (x->ex_nscert & 0x80
x->ex_nscert & 0x80Description
TRUEnever evaluated
FALSEnever evaluated
)
0
824 return
never executed: return 2;
2;
never executed: return 2;
0
825 return
never executed: return 0;
0;
never executed: return 0;
0
826 }-
827 return
executed 2 times by 1 test: return 1;
Executed by:
  • pkcs7test
1;
executed 2 times by 1 test: return 1;
Executed by:
  • pkcs7test
2
828}-
829-
830static int-
831check_purpose_smime_sign(const X509_PURPOSE *xp, const X509 *x, int ca)-
832{-
833 int ret;-
834-
835 ret = purpose_smime(x, ca);-
836 if (!ret
!retDescription
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
|| ca
caDescription
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
)
0-2
837 return
never executed: return ret;
ret;
never executed: return ret;
0
838 if ((((
((x)->ex_flags & 0x0002)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
FALSEnever evaluated
x)->ex_flags & 0x0002)
((x)->ex_flags & 0x0002)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
FALSEnever evaluated
&& !((x)->ex_kusage & (0x0080|0x0040))
!((x)->ex_kusa...x0080|0x0040))Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
))
0-2
839 return
never executed: return 0;
0;
never executed: return 0;
0
840 return
executed 2 times by 1 test: return ret;
Executed by:
  • pkcs7test
ret;
executed 2 times by 1 test: return ret;
Executed by:
  • pkcs7test
2
841}-
842-
843static int-
844check_purpose_smime_encrypt(const X509_PURPOSE *xp, const X509 *x, int ca)-
845{-
846 int ret;-
847-
848 ret = purpose_smime(x, ca);-
849 if (!ret
!retDescription
TRUEnever evaluated
FALSEnever evaluated
|| ca
caDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
850 return
never executed: return ret;
ret;
never executed: return ret;
0
851 if ((((
((x)->ex_flags & 0x0002)Description
TRUEnever evaluated
FALSEnever evaluated
x)->ex_flags & 0x0002)
((x)->ex_flags & 0x0002)Description
TRUEnever evaluated
FALSEnever evaluated
&& !((x)->ex_kusage & (0x0020))
!((x)->ex_kusage & (0x0020))Description
TRUEnever evaluated
FALSEnever evaluated
))
0
852 return
never executed: return 0;
0;
never executed: return 0;
0
853 return
never executed: return ret;
ret;
never executed: return ret;
0
854}-
855-
856static int-
857check_purpose_crl_sign(const X509_PURPOSE *xp, const X509 *x, int ca)-
858{-
859 if (ca
caDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
860 int ca_ret;-
861 if ((
(ca_ret = check_ca(x)) != 2Description
TRUEnever evaluated
FALSEnever evaluated
ca_ret = check_ca(x)) != 2
(ca_ret = check_ca(x)) != 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
862 return
never executed: return ca_ret;
ca_ret;
never executed: return ca_ret;
0
863 else-
864 return
never executed: return 0;
0;
never executed: return 0;
0
865 }-
866 if ((((
((x)->ex_flags & 0x0002)Description
TRUEnever evaluated
FALSEnever evaluated
x)->ex_flags & 0x0002)
((x)->ex_flags & 0x0002)Description
TRUEnever evaluated
FALSEnever evaluated
&& !((x)->ex_kusage & (0x0002))
!((x)->ex_kusage & (0x0002))Description
TRUEnever evaluated
FALSEnever evaluated
))
0
867 return
never executed: return 0;
0;
never executed: return 0;
0
868 return
never executed: return 1;
1;
never executed: return 1;
0
869}-
870-
871-
872-
873-
874static int-
875ocsp_helper(const X509_PURPOSE *xp, const X509 *x, int ca)-
876{-
877-
878-
879 if (ca
caDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
880 return
never executed: return check_ca(x);
check_ca(x);
never executed: return check_ca(x);
0
881-
882 return
never executed: return 1;
1;
never executed: return 1;
0
883}-
884-
885static int-
886check_purpose_timestamp_sign(const X509_PURPOSE *xp, const X509 *x, int ca)-
887{-
888 int i_ext;-
889-
890-
891 if (ca
caDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
892 return
never executed: return check_ca(x);
check_ca(x);
never executed: return check_ca(x);
0
893-
894-
895-
896-
897-
898-
899-
900 if ((
(x->ex_flags & 0x0002)Description
TRUEnever evaluated
FALSEnever evaluated
x->ex_flags & 0x0002)
(x->ex_flags & 0x0002)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
901 ((
(x->ex_kusage ...040 | 0x0080))Description
TRUEnever evaluated
FALSEnever evaluated
x->ex_kusage & ~(0x0040 | 0x0080))
(x->ex_kusage ...040 | 0x0080))Description
TRUEnever evaluated
FALSEnever evaluated
||
0
902 !(x->ex_kusage & (0x0040 | 0x0080))
!(x->ex_kusage...040 | 0x0080))Description
TRUEnever evaluated
FALSEnever evaluated
))
0
903 return
never executed: return 0;
0;
never executed: return 0;
0
904-
905-
906 if (!(x->ex_flags & 0x0004)
!(x->ex_flags & 0x0004)Description
TRUEnever evaluated
FALSEnever evaluated
|| x->ex_xkusage != 0x40
x->ex_xkusage != 0x40Description
TRUEnever evaluated
FALSEnever evaluated
)
0
907 return
never executed: return 0;
0;
never executed: return 0;
0
908-
909-
910 i_ext = X509_get_ext_by_NID((X509 *) x, 126, -1);-
911 if (i_ext >= 0
i_ext >= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
912 X509_EXTENSION *ext = X509_get_ext((X509 *) x, i_ext);-
913 if (!X509_EXTENSION_get_critical(ext)
!X509_EXTENSIO..._critical(ext)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
914 return
never executed: return 0;
0;
never executed: return 0;
0
915 }
never executed: end of block
0
916-
917 return
never executed: return 1;
1;
never executed: return 1;
0
918}-
919-
920static int-
921no_check(const X509_PURPOSE *xp, const X509 *x, int ca)-
922{-
923 return
never executed: return 1;
1;
never executed: return 1;
0
924}-
925int-
926X509_check_issued(X509 *issuer, X509 *subject)-
927{-
928 if (X509_NAME_cmp(X509_get_subject_name(issuer),
X509_NAME_cmp(...name(subject))Description
TRUEevaluated 78 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
FALSEevaluated 123 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
78-123
929 X509_get_issuer_name(subject))
X509_NAME_cmp(...name(subject))Description
TRUEevaluated 78 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
FALSEevaluated 123 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
78-123
930 return
executed 78 times by 3 tests: return 29;
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
29;
executed 78 times by 3 tests: return 29;
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
78
931 x509v3_cache_extensions(issuer);-
932 x509v3_cache_extensions(subject);-
933-
934 if (subject->akid
subject->akidDescription
TRUEevaluated 87 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 36 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
36-87
935 int ret = X509_check_akid(issuer, subject->akid);-
936 if (ret != 0
ret != 0Description
TRUEnever evaluated
FALSEevaluated 87 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-87
937 return
never executed: return ret;
ret;
never executed: return ret;
0
938 }
executed 87 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
87
939-
940 if (subject->ex_flags & 0x0400
subject->ex_flags & 0x0400Description
TRUEnever evaluated
FALSEevaluated 123 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-123
941 if ((((
((issuer)->ex_flags & 0x0002)Description
TRUEnever evaluated
FALSEnever evaluated
issuer)->ex_flags & 0x0002)
((issuer)->ex_flags & 0x0002)Description
TRUEnever evaluated
FALSEnever evaluated
&& !((issuer)->ex_kusage & (0x0080))
!((issuer)->ex...ge & (0x0080))Description
TRUEnever evaluated
FALSEnever evaluated
))
0
942 return
never executed: return 39;
39;
never executed: return 39;
0
943 }
never executed: end of block
else if ((((
((issuer)->ex_flags & 0x0002)Description
TRUEevaluated 123 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
issuer)->ex_flags & 0x0002)
((issuer)->ex_flags & 0x0002)Description
TRUEevaluated 123 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
&& !((issuer)->ex_kusage & (0x0004))
!((issuer)->ex...ge & (0x0004))Description
TRUEnever evaluated
FALSEevaluated 123 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
))
0-123
944 return
never executed: return 32;
32;
never executed: return 32;
0
945 return
executed 123 times by 2 tests: return 0;
Executed by:
  • ssltest
  • tlstest
0;
executed 123 times by 2 tests: return 0;
Executed by:
  • ssltest
  • tlstest
123
946}-
947-
948int-
949X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid)-
950{-
951 if (!akid
!akidDescription
TRUEnever evaluated
FALSEevaluated 128 times by 3 tests
Evaluated by:
  • asn1test
  • ssltest
  • tlstest
)
0-128
952 return
never executed: return 0;
0;
never executed: return 0;
0
953-
954-
955 if (akid->keyid
akid->keyidDescription
TRUEevaluated 128 times by 3 tests
Evaluated by:
  • asn1test
  • ssltest
  • tlstest
FALSEnever evaluated
&& issuer->skid
issuer->skidDescription
TRUEevaluated 128 times by 3 tests
Evaluated by:
  • asn1test
  • ssltest
  • tlstest
FALSEnever evaluated
&&
0-128
956 ASN1_OCTET_STRING_cmp(akid->keyid, issuer->skid)
ASN1_OCTET_STR... issuer->skid)Description
TRUEnever evaluated
FALSEevaluated 128 times by 3 tests
Evaluated by:
  • asn1test
  • ssltest
  • tlstest
)
0-128
957 return
never executed: return 30;
30;
never executed: return 30;
0
958-
959 if (akid->serial
akid->serialDescription
TRUEnever evaluated
FALSEevaluated 128 times by 3 tests
Evaluated by:
  • asn1test
  • ssltest
  • tlstest
&&
0-128
960 ASN1_INTEGER_cmp(X509_get_serialNumber(issuer), akid->serial)
ASN1_INTEGER_c... akid->serial)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
961 return
never executed: return 31;
31;
never executed: return 31;
0
962-
963 if (akid->issuer
akid->issuerDescription
TRUEnever evaluated
FALSEevaluated 128 times by 3 tests
Evaluated by:
  • asn1test
  • ssltest
  • tlstest
) {
0-128
964-
965-
966-
967-
968-
969 GENERAL_NAMES *gens;-
970 GENERAL_NAME *gen;-
971 X509_NAME *nm = -
972 ((void *)0)-
973 ;-
974 int i;-
975 gens = akid->issuer;-
976 for (i = 0; i < sk_num(((_STACK*) (1 ? (gens) : (struct stack_st_GENERAL_NAME*)0)))
i < sk_num(((_...RAL_NAME*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
977 gen = ((GENERAL_NAME *)sk_value(((_STACK*) (1 ? (gens) : (struct stack_st_GENERAL_NAME*)0)), (i)));-
978 if (gen->type == 4
gen->type == 4Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
979 nm = gen->d.dirn;-
980 break;
never executed: break;
0
981 }-
982 }
never executed: end of block
0
983 if (nm
nmDescription
TRUEnever evaluated
FALSEnever evaluated
&& X509_NAME_cmp(nm, X509_get_issuer_name(issuer))
X509_NAME_cmp(..._name(issuer))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
984 return
never executed: return 31;
31;
never executed: return 31;
0
985 }
never executed: end of block
0
986 return
executed 128 times by 3 tests: return 0;
Executed by:
  • asn1test
  • ssltest
  • tlstest
0;
executed 128 times by 3 tests: return 0;
Executed by:
  • asn1test
  • ssltest
  • tlstest
128
987}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2