Line | Source | Count |
1 | | - |
2 | | - |
3 | static void x509v3_cache_extensions(X509 *x); | - |
4 | | - |
5 | static int check_ssl_ca(const X509 *x); | - |
6 | static int check_purpose_ssl_client(const X509_PURPOSE *xp, const X509 *x, | - |
7 | int ca); | - |
8 | static int check_purpose_ssl_server(const X509_PURPOSE *xp, const X509 *x, | - |
9 | int ca); | - |
10 | static int check_purpose_ns_ssl_server(const X509_PURPOSE *xp, const X509 *x, | - |
11 | int ca); | - |
12 | static int purpose_smime(const X509 *x, int ca); | - |
13 | static int check_purpose_smime_sign(const X509_PURPOSE *xp, const X509 *x, | - |
14 | int ca); | - |
15 | static int check_purpose_smime_encrypt(const X509_PURPOSE *xp, const X509 *x, | - |
16 | int ca); | - |
17 | static int check_purpose_crl_sign(const X509_PURPOSE *xp, const X509 *x, | - |
18 | int ca); | - |
19 | static int check_purpose_timestamp_sign(const X509_PURPOSE *xp, const X509 *x, | - |
20 | int ca); | - |
21 | static int no_check(const X509_PURPOSE *xp, const X509 *x, int ca); | - |
22 | static int ocsp_helper(const X509_PURPOSE *xp, const X509 *x, int ca); | - |
23 | | - |
24 | static int xp_cmp(const X509_PURPOSE * const *a, const X509_PURPOSE * const *b); | - |
25 | static void xptable_free(X509_PURPOSE *p); | - |
26 | | - |
27 | static 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 | | - |
59 | static struct stack_st_X509_PURPOSE *xptable = | - |
60 | ((void *)0) | - |
61 | ; | - |
62 | | - |
63 | static int | - |
64 | xp_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 | | - |
72 | int | - |
73 | X509_check_purpose(X509 *x, int id, int ca) | - |
74 | { | - |
75 | int idx; | - |
76 | const X509_PURPOSE *pt; | - |
77 | | - |
78 | if (!(x->ex_flags & 0x0100)TRUE | evaluated 123 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 425 times by 4 testsEvaluated 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 == -1TRUE | evaluated 512 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 36 times by 3 tests |
) | 36-512 |
84 | returnexecuted 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 == -1TRUE | never evaluated | FALSE | evaluated 36 times by 3 tests |
) | 0-36 |
87 | return never executed: return -1; -1;never executed: return -1; | 0 |
88 | pt = X509_PURPOSE_get0(idx); | - |
89 | returnexecuted 36 times by 3 tests: return pt->check_purpose(pt, x, ca); pt->check_purpose(pt, x, ca);executed 36 times by 3 tests: return pt->check_purpose(pt, x, ca); | 36 |
90 | } | - |
91 | | - |
92 | int | - |
93 | X509_PURPOSE_set(int *p, int purpose) | - |
94 | { | - |
95 | if (X509_PURPOSE_get_by_id(purpose) == -1TRUE | never evaluated | FALSE | never 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 | | - |
103 | int | - |
104 | X509_PURPOSE_get_count(void) | - |
105 | { | - |
106 | if (!xptableTRUE | never evaluated | FALSE | never 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 | | - |
111 | X509_PURPOSE * | - |
112 | X509_PURPOSE_get0(int idx) | - |
113 | { | - |
114 | if (idx < 0TRUE | never evaluated | FALSE | evaluated 36 times by 3 tests |
) | 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))TRUE | evaluated 36 times by 3 tests | FALSE | never evaluated |
) | 0-36 |
119 | returnexecuted 36 times by 3 tests: return xstandard + idx; xstandard + idx;executed 36 times by 3 tests: return xstandard + idx; | 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 | | - |
123 | int | - |
124 | X509_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()TRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
130 | xptmp = X509_PURPOSE_get0(i); | - |
131 | if (!TRUE | never evaluated | FALSE | never evaluated |
| 0 |
132 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
133 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
134 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
135 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
136 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
137 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
138 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
139 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
140 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
141 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
142 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
143 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
144 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
145 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
146 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
147 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
148 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
149 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
150 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
151 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
152 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
153 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
154 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
155 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
156 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
157 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
158 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
159 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
160 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
161 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
162 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
163 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
164 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
165 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
166 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
167 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
168 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
169 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
170 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
171 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
172 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
173 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
174 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
175 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
176 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
177 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
178 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( xptmp->sname ))[3] - __s2[3]); | 0 |
179 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( xptmp->sname ))[3] - __s2[3]); | 0 |
180 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
181 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
182 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
183 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
184 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
185 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
186 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
187 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
188 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
189 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
190 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
191 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
192 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
193 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
194 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
195 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
196 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
197 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
198 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
199 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
200 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
201 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
202 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
203 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
204 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
205 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
206 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( sname ))[3] - __s2[3]); | 0 |
207 | snameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( sname ))[3] - __s2[3]); | 0 |
208 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
209 | xptmp->snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
210 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
211 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
212 | )))); })TRUE | never evaluated | FALSE | never 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 | | - |
219 | int | - |
220 | X509_PURPOSE_get_by_id(int purpose) | - |
221 | { | - |
222 | X509_PURPOSE tmp; | - |
223 | int idx; | - |
224 | | - |
225 | if ((TRUE | evaluated 36 times by 3 tests | FALSE | never evaluated |
purpose >= 1)TRUE | evaluated 36 times by 3 tests | FALSE | never evaluated |
&& (TRUE | evaluated 36 times by 3 tests | FALSE | never evaluated |
purpose <= 9)TRUE | evaluated 36 times by 3 tests | FALSE | never evaluated |
) | 0-36 |
226 | returnexecuted 36 times by 3 tests: return purpose - 1; purpose - 1;executed 36 times by 3 tests: return purpose - 1; | 36 |
227 | tmp.purpose = purpose; | - |
228 | if (!xptableTRUE | never evaluated | FALSE | never 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 == -1TRUE | never evaluated | FALSE | never 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 | | - |
236 | int | - |
237 | X509_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 == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
250 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
251 | || sname == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
252 | ((void *)0)TRUE | never evaluated | FALSE | never 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 == -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
266 | if ((TRUE | never evaluated | FALSE | never evaluated |
ptmp = malloc(sizeof(X509_PURPOSE))) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
267 | ((void *)0)TRUE | never evaluated | FALSE | never 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 ((TRUE | never evaluated | FALSE | never evaluated |
name_dup = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
277 | (__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
278 | nameTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
279 | )TRUE | never evaluated | FALSE | never evaluated |
&& ((TRUE | never evaluated | FALSE | never evaluated |
size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
280 | nameTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
281 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
282 | nameTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
283 | ) == 1)TRUE | never evaluated | FALSE | never evaluated |
? (((constTRUE | never evaluated | FALSE | never evaluated |
char *) (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
284 | nameTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
285 | ))[0] == '\0'TRUE | never evaluated | FALSE | never evaluated |
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
286 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
287 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, name , __len); | 0 |
288 | nameTRUE | never evaluated | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, name , __len); | 0 |
289 | , __len); __retval; })) : __strdup (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
290 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
291 | )))TRUE | never evaluated | FALSE | never evaluated |
| 0 |
292 | ) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
293 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
294 | ) | - |
295 | goto never executed: goto err; err;never executed: goto err; | 0 |
296 | if ((TRUE | never evaluated | FALSE | never evaluated |
sname_dup = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
297 | (__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
298 | snameTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
299 | )TRUE | never evaluated | FALSE | never evaluated |
&& ((TRUE | never evaluated | FALSE | never evaluated |
size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
300 | snameTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
301 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
302 | snameTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
303 | ) == 1)TRUE | never evaluated | FALSE | never evaluated |
? (((constTRUE | never evaluated | FALSE | never evaluated |
char *) (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
304 | snameTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
305 | ))[0] == '\0'TRUE | never evaluated | FALSE | never evaluated |
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
306 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
307 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, sname , __len); | 0 |
308 | snameTRUE | never evaluated | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, sname , __len); | 0 |
309 | , __len); __retval; })) : __strdup (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
310 | snameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
311 | )))TRUE | never evaluated | FALSE | never evaluated |
| 0 |
312 | ) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
313 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
314 | ) | - |
315 | goto never executed: goto err; err;never executed: goto err; | 0 |
316 | | - |
317 | | - |
318 | if (ptmp->flags & 0x2TRUE | never evaluated | FALSE | never 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 == -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
337 | if (xptable == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
338 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
339 | && | - |
340 | (TRUE | never evaluated | FALSE | never 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)))))) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
341 | ((void *)0)TRUE | never evaluated | FALSE | never 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))) == 0TRUE | never evaluated | FALSE | never 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 | | - |
349 | err: | - |
350 | free(name_dup); | - |
351 | free(sname_dup); | - |
352 | if (idx == -1TRUE | never evaluated | FALSE | never 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 | | - |
358 | static void | - |
359 | xptable_free(X509_PURPOSE *p) | - |
360 | { | - |
361 | if (!pTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
362 | return; never executed: return; | 0 |
363 | if (p->flags & 0x1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
364 | if (p->flags & 0x2TRUE | never evaluated | FALSE | never 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 | | - |
372 | void | - |
373 | X509_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))TRUE | never evaluated | FALSE | never 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 | | - |
385 | int | - |
386 | X509_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 | | - |
391 | char * | - |
392 | X509_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 | | - |
397 | char * | - |
398 | X509_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 | | - |
403 | int | - |
404 | X509_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 | | - |
409 | static int | - |
410 | nid_cmp(const int *a, const int *b) | - |
411 | { | - |
412 | returnexecuted 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 | | - |
415 | static int nid_cmp_BSEARCH_CMP_FN(const void *, const void *); | - |
416 | static int nid_cmp(int const *, int const *); | - |
417 | static int *OBJ_bsearch_nid(int *key, int const *base, int num); | - |
418 | | - |
419 | static int | - |
420 | nid_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) | - |
421 | { | - |
422 | int const *a = a_; | - |
423 | int const *b = b_; | - |
424 | returnexecuted 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 | | - |
427 | static int * | - |
428 | OBJ_bsearch_nid(int *key, int const *base, int num) | - |
429 | { | - |
430 | returnexecuted 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 | | - |
434 | int | - |
435 | X509_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 == 0TRUE | never evaluated | FALSE | evaluated 392 times by 4 testsEvaluated 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,TRUE | evaluated 392 times by 4 testsEvaluated by:- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | never evaluated |
| 0-392 |
457 | sizeof(supported_nids) / sizeof(int))TRUE | evaluated 392 times by 4 testsEvaluated by:- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | never evaluated |
) | 0-392 |
458 | returnexecuted 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 | | - |
462 | static void | - |
463 | setup_dp(X509 *x, DIST_POINT *dp) | - |
464 | { | - |
465 | X509_NAME *iname = | - |
466 | ((void *)0) | - |
467 | ; | - |
468 | int i; | - |
469 | | - |
470 | if (dp->reasonsTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
471 | if (dp->reasons->length > 0TRUE | never evaluated | FALSE | never 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 > 1TRUE | never evaluated | FALSE | never 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->distpointTRUE | never evaluated | FALSE | never evaluated |
|| (TRUE | never evaluated | FALSE | never evaluated |
dp->distpoint->type != 1)TRUE | never evaluated | FALSE | never 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)))TRUE | never evaluated | FALSE | never 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 == 4TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
483 | iname = gen->d.directoryName; | - |
484 | break; never executed: break; | 0 |
485 | } | - |
486 | } never executed: end of block | 0 |
487 | if (!inameTRUE | never evaluated | FALSE | never 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 | | - |
494 | static void | - |
495 | setup_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)))TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated 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 | | - |
508 | static void | - |
509 | x509v3_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 & 0x0100TRUE | evaluated 171 times by 2 tests | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
) | 171-198 |
520 | return;executed 171 times by 2 tests: return; | 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)TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
) | 0-198 |
530 | x->ex_flags |= 0x0040; never executed: x->ex_flags |= 0x0040; | 0 |
531 | | - |
532 | | - |
533 | if ((TRUE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | never evaluated |
bs = X509_get_ext_d2i(x, 87, TRUE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | never evaluated |
| 0-198 |
534 | ((void *)0)TRUE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | never evaluated |
| 0-198 |
535 | , TRUE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | never evaluated |
| 0-198 |
536 | ((void *)0)TRUE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | never evaluated |
| 0-198 |
537 | ))TRUE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | never evaluated |
) { | 0-198 |
538 | if (bs->caTRUE | evaluated 77 times by 3 tests | FALSE | evaluated 121 times by 4 testsEvaluated by:- pkcs7test
- servertest
- ssltest
- tlstest
|
) | 77-121 |
539 | x->ex_flags |= 0x0010;executed 77 times by 3 tests: x->ex_flags |= 0x0010; | 77 |
540 | if (bs->pathlenTRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
) { | 0-198 |
541 | if ((TRUE | never evaluated | FALSE | never evaluated |
bs->pathlen->type == (2 | 0x100))TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
542 | !bs->caTRUE | never evaluated | FALSE | never 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 ((TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
pci = X509_get_ext_d2i(x, 663, TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
| 0-198 |
555 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
| 0-198 |
556 | , TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
| 0-198 |
557 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
| 0-198 |
558 | ))TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
) { | 0-198 |
559 | if (x->ex_flags & 0x0010TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
560 | X509_get_ext_by_NID(x, 85, -1) >= 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
561 | X509_get_ext_by_NID(x, 86, -1) >= 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
562 | x->ex_flags |= 0x0080; | - |
563 | } never executed: end of block | 0 |
564 | if (pci->pcPathLengthConstraintTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
565 | if (pci->pcPathLengthConstraint->type ==TRUE | never evaluated | FALSE | never evaluated |
| 0 |
566 | (2 | 0x100)TRUE | never evaluated | FALSE | never 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 ((TRUE | evaluated 196 times by 4 testsEvaluated by:- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 2 times by 1 test |
usage = X509_get_ext_d2i(x, 83, TRUE | evaluated 196 times by 4 testsEvaluated by:- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 2 times by 1 test |
| 2-196 |
581 | ((void *)0)TRUE | evaluated 196 times by 4 testsEvaluated by:- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 2 times by 1 test |
| 2-196 |
582 | , TRUE | evaluated 196 times by 4 testsEvaluated by:- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 2 times by 1 test |
| 2-196 |
583 | ((void *)0)TRUE | evaluated 196 times by 4 testsEvaluated by:- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 2 times by 1 test |
| 2-196 |
584 | ))TRUE | evaluated 196 times by 4 testsEvaluated by:- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 2 times by 1 test |
) { | 2-196 |
585 | if (usage->length > 0TRUE | evaluated 196 times by 4 testsEvaluated by:- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | never evaluated |
) { | 0-196 |
586 | x->ex_kusage = usage->data[0]; | - |
587 | if (usage->length > 1TRUE | never evaluated | FALSE | evaluated 196 times by 4 testsEvaluated 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 ((TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
extusage = X509_get_ext_d2i(x, 126, TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
| 0-198 |
596 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
| 0-198 |
597 | , TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
| 0-198 |
598 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
| 0-198 |
599 | ))TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated 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)))TRUE | never evaluated | FALSE | never 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 ((TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
ns = X509_get_ext_d2i(x, 71, TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
| 0-198 |
641 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
| 0-198 |
642 | , TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
| 0-198 |
643 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
| 0-198 |
644 | ))TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
) { | 0-198 |
645 | if (ns->length > 0TRUE | never evaluated | FALSE | never 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))TRUE | evaluated 41 times by 3 tests | FALSE | evaluated 157 times by 4 testsEvaluated by:- pkcs7test
- servertest
- ssltest
- tlstest
|
) { | 41-157 |
666 | x->ex_flags |= 0x0020; | - |
667 | | - |
668 | if (X509_check_akid(x, x->akid) == 0TRUE | evaluated 41 times by 3 tests | FALSE | never evaluated |
&& | 0-41 |
669 | !(((TRUE | evaluated 39 times by 2 tests | FALSE | evaluated 2 times by 1 test |
x)->ex_flags & 0x0002)TRUE | evaluated 39 times by 2 tests | FALSE | evaluated 2 times by 1 test |
&& !((x)->ex_kusage & (0x0004))TRUE | never evaluated | FALSE | evaluated 39 times by 2 tests |
)) | 0-39 |
670 | x->ex_flags |= 0x2000;executed 41 times by 3 tests: x->ex_flags |= 0x2000; | 41 |
671 | }executed 41 times by 3 tests: end of block | 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->ncTRUE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
i != -1)TRUE | never evaluated | FALSE | evaluated 198 times by 5 testsEvaluated 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)TRUE | evaluated 669 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 198 times by 5 testsEvaluated 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)) ==TRUE | never evaluated | FALSE | evaluated 669 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
|
| 0-669 |
688 | 857TRUE | never evaluated | FALSE | evaluated 669 times by 5 testsEvaluated 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)TRUE | evaluated 277 times by 5 testsEvaluated by:- asn1test
- pkcs7test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 392 times by 4 testsEvaluated 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)TRUE | never evaluated | FALSE | evaluated 392 times by 4 testsEvaluated 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 |
699 | static int | - |
700 | check_ca(const X509 *x) | - |
701 | { | - |
702 | | - |
703 | if ((((TRUE | evaluated 68 times by 3 tests | FALSE | never evaluated |
x)->ex_flags & 0x0002)TRUE | evaluated 68 times by 3 tests | FALSE | never evaluated |
&& !((x)->ex_kusage & (0x0004))TRUE | evaluated 38 times by 3 tests | FALSE | evaluated 30 times by 1 test |
)) | 0-68 |
704 | returnexecuted 38 times by 3 tests: return 0; 0;executed 38 times by 3 tests: return 0; | 38 |
705 | if (x->ex_flags & 0x0001TRUE | evaluated 30 times by 1 test | FALSE | never evaluated |
) { | 0-30 |
706 | if (x->ex_flags & 0x0010TRUE | evaluated 30 times by 1 test | FALSE | never evaluated |
) | 0-30 |
707 | returnexecuted 30 times by 1 test: return 1; 1;executed 30 times by 1 test: return 1; | 30 |
708 | | - |
709 | else | - |
710 | return never executed: return 0; 0;never executed: return 0; | 0 |
711 | } else { | - |
712 | | - |
713 | if ((TRUE | never evaluated | FALSE | never evaluated |
x->ex_flags & (0x0040|0x2000)) == (0x0040|0x2000)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
714 | return never executed: return 3; 3;never executed: return 3; | 0 |
715 | | - |
716 | else if (x->ex_flags & 0x0002TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
717 | return never executed: return 4; 4;never executed: return 4; | 0 |
718 | | - |
719 | else if (x->ex_flags & 0x0008TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
720 | x->ex_nscert & (0x04|0x02|0x01)TRUE | never evaluated | FALSE | never 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 | | - |
727 | int | - |
728 | X509_check_ca(X509 *x) | - |
729 | { | - |
730 | if (!(x->ex_flags & 0x0100)TRUE | never evaluated | FALSE | evaluated 53 times by 3 tests |
) { | 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 | returnexecuted 53 times by 3 tests: return check_ca(x); check_ca(x);executed 53 times by 3 tests: return check_ca(x); | 53 |
737 | } | - |
738 | | - |
739 | | - |
740 | static int | - |
741 | check_ssl_ca(const X509 *x) | - |
742 | { | - |
743 | int ca_ret; | - |
744 | | - |
745 | ca_ret = check_ca(x); | - |
746 | if (!ca_retTRUE | never evaluated | FALSE | evaluated 15 times by 1 test |
) | 0-15 |
747 | return never executed: return 0; 0;never executed: return 0; | 0 |
748 | | - |
749 | if (ca_ret != 5TRUE | evaluated 15 times by 1 test | FALSE | never evaluated |
|| x->ex_nscert & 0x04TRUE | never evaluated | FALSE | never evaluated |
) | 0-15 |
750 | returnexecuted 15 times by 1 test: return ca_ret; ca_ret;executed 15 times by 1 test: return ca_ret; | 15 |
751 | else | - |
752 | return never executed: return 0; 0;never executed: return 0; | 0 |
753 | } | - |
754 | | - |
755 | static int | - |
756 | check_purpose_ssl_client(const X509_PURPOSE *xp, const X509 *x, int ca) | - |
757 | { | - |
758 | if ((((TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
x)->ex_flags & 0x0004)TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
&& !((x)->ex_xkusage & (0x2))TRUE | never evaluated | FALSE | never evaluated |
)) | 0-12 |
759 | return never executed: return 0; 0;never executed: return 0; | 0 |
760 | if (caTRUE | evaluated 6 times by 1 test | FALSE | evaluated 6 times by 1 test |
) | 6 |
761 | returnexecuted 6 times by 1 test: return check_ssl_ca(x); check_ssl_ca(x);executed 6 times by 1 test: return check_ssl_ca(x); | 6 |
762 | | - |
763 | if ((((TRUE | evaluated 6 times by 1 test | FALSE | never evaluated |
x)->ex_flags & 0x0002)TRUE | evaluated 6 times by 1 test | FALSE | never evaluated |
&& !((x)->ex_kusage & (0x0080))TRUE | never evaluated | FALSE | evaluated 6 times by 1 test |
)) | 0-6 |
764 | return never executed: return 0; 0;never executed: return 0; | 0 |
765 | | - |
766 | if ((((TRUE | never evaluated | FALSE | evaluated 6 times by 1 test |
x)->ex_flags & 0x0008)TRUE | never evaluated | FALSE | evaluated 6 times by 1 test |
&& !((x)->ex_nscert & (0x80))TRUE | never evaluated | FALSE | never evaluated |
)) | 0-6 |
767 | return never executed: return 0; 0;never executed: return 0; | 0 |
768 | returnexecuted 6 times by 1 test: return 1; 1;executed 6 times by 1 test: return 1; | 6 |
769 | } | - |
770 | | - |
771 | static int | - |
772 | check_purpose_ssl_server(const X509_PURPOSE *xp, const X509 *x, int ca) | - |
773 | { | - |
774 | if ((((TRUE | never evaluated | FALSE | evaluated 22 times by 2 tests |
x)->ex_flags & 0x0004)TRUE | never evaluated | FALSE | evaluated 22 times by 2 tests |
&& !((x)->ex_xkusage & (0x1|0x10))TRUE | never evaluated | FALSE | never evaluated |
)) | 0-22 |
775 | return never executed: return 0; 0;never executed: return 0; | 0 |
776 | if (caTRUE | evaluated 9 times by 1 test | FALSE | evaluated 13 times by 2 tests |
) | 9-13 |
777 | returnexecuted 9 times by 1 test: return check_ssl_ca(x); check_ssl_ca(x);executed 9 times by 1 test: return check_ssl_ca(x); | 9 |
778 | | - |
779 | if ((((TRUE | never evaluated | FALSE | evaluated 13 times by 2 tests |
x)->ex_flags & 0x0008)TRUE | never evaluated | FALSE | evaluated 13 times by 2 tests |
&& !((x)->ex_nscert & (0x40))TRUE | never evaluated | FALSE | never evaluated |
)) | 0-13 |
780 | return never executed: return 0; 0;never executed: return 0; | 0 |
781 | | - |
782 | if ((((TRUE | evaluated 13 times by 2 tests | FALSE | never evaluated |
x)->ex_flags & 0x0002)TRUE | evaluated 13 times by 2 tests | FALSE | never evaluated |
&& !((x)->ex_kusage & (0x0080|0x0020))TRUE | never evaluated | FALSE | evaluated 13 times by 2 tests |
)) | 0-13 |
783 | return never executed: return 0; 0;never executed: return 0; | 0 |
784 | | - |
785 | returnexecuted 13 times by 2 tests: return 1; 1;executed 13 times by 2 tests: return 1; | 13 |
786 | } | - |
787 | | - |
788 | static int | - |
789 | check_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 (!retTRUE | never evaluated | FALSE | never evaluated |
|| caTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
795 | return never executed: return ret; ret;never executed: return ret; | 0 |
796 | | - |
797 | if ((((TRUE | never evaluated | FALSE | never evaluated |
x)->ex_flags & 0x0002)TRUE | never evaluated | FALSE | never evaluated |
&& !((x)->ex_kusage & (0x0020))TRUE | never evaluated | FALSE | never 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 | | - |
803 | static int | - |
804 | purpose_smime(const X509 *x, int ca) | - |
805 | { | - |
806 | if ((((TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
x)->ex_flags & 0x0004)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
&& !((x)->ex_xkusage & (0x4))TRUE | never evaluated | FALSE | never evaluated |
)) | 0-2 |
807 | return never executed: return 0; 0;never executed: return 0; | 0 |
808 | if (caTRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) { | 0-2 |
809 | int ca_ret; | - |
810 | ca_ret = check_ca(x); | - |
811 | if (!ca_retTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
812 | return never executed: return 0; 0;never executed: return 0; | 0 |
813 | | - |
814 | if (ca_ret != 5TRUE | never evaluated | FALSE | never evaluated |
|| x->ex_nscert & 0x02TRUE | never evaluated | FALSE | never 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 & 0x0008TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) { | 0-2 |
820 | if (x->ex_nscert & 0x20TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
821 | return never executed: return 1; 1;never executed: return 1; | 0 |
822 | | - |
823 | if (x->ex_nscert & 0x80TRUE | never evaluated | FALSE | never 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 | returnexecuted 2 times by 1 test: return 1; 1;executed 2 times by 1 test: return 1; | 2 |
828 | } | - |
829 | | - |
830 | static int | - |
831 | check_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 (!retTRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
|| caTRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) | 0-2 |
837 | return never executed: return ret; ret;never executed: return ret; | 0 |
838 | if ((((TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
x)->ex_flags & 0x0002)TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
&& !((x)->ex_kusage & (0x0080|0x0040))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
)) | 0-2 |
839 | return never executed: return 0; 0;never executed: return 0; | 0 |
840 | returnexecuted 2 times by 1 test: return ret; ret;executed 2 times by 1 test: return ret; | 2 |
841 | } | - |
842 | | - |
843 | static int | - |
844 | check_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 (!retTRUE | never evaluated | FALSE | never evaluated |
|| caTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
850 | return never executed: return ret; ret;never executed: return ret; | 0 |
851 | if ((((TRUE | never evaluated | FALSE | never evaluated |
x)->ex_flags & 0x0002)TRUE | never evaluated | FALSE | never evaluated |
&& !((x)->ex_kusage & (0x0020))TRUE | never evaluated | FALSE | never 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 | | - |
856 | static int | - |
857 | check_purpose_crl_sign(const X509_PURPOSE *xp, const X509 *x, int ca) | - |
858 | { | - |
859 | if (caTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
860 | int ca_ret; | - |
861 | if ((TRUE | never evaluated | FALSE | never evaluated |
ca_ret = check_ca(x)) != 2TRUE | never evaluated | FALSE | never 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 ((((TRUE | never evaluated | FALSE | never evaluated |
x)->ex_flags & 0x0002)TRUE | never evaluated | FALSE | never evaluated |
&& !((x)->ex_kusage & (0x0002))TRUE | never evaluated | FALSE | never 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 | | - |
874 | static int | - |
875 | ocsp_helper(const X509_PURPOSE *xp, const X509 *x, int ca) | - |
876 | { | - |
877 | | - |
878 | | - |
879 | if (caTRUE | never evaluated | FALSE | never 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 | | - |
885 | static int | - |
886 | check_purpose_timestamp_sign(const X509_PURPOSE *xp, const X509 *x, int ca) | - |
887 | { | - |
888 | int i_ext; | - |
889 | | - |
890 | | - |
891 | if (caTRUE | never evaluated | FALSE | never 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 ((TRUE | never evaluated | FALSE | never evaluated |
x->ex_flags & 0x0002)TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
901 | ((TRUE | never evaluated | FALSE | never evaluated |
x->ex_kusage & ~(0x0040 | 0x0080))TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
902 | !(x->ex_kusage & (0x0040 | 0x0080))TRUE | never evaluated | FALSE | never evaluated |
)) | 0 |
903 | return never executed: return 0; 0;never executed: return 0; | 0 |
904 | | - |
905 | | - |
906 | if (!(x->ex_flags & 0x0004)TRUE | never evaluated | FALSE | never evaluated |
|| x->ex_xkusage != 0x40TRUE | never evaluated | FALSE | never 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 >= 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
912 | X509_EXTENSION *ext = X509_get_ext((X509 *) x, i_ext); | - |
913 | if (!X509_EXTENSION_get_critical(ext)TRUE | never evaluated | FALSE | never 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 | | - |
920 | static int | - |
921 | no_check(const X509_PURPOSE *xp, const X509 *x, int ca) | - |
922 | { | - |
923 | return never executed: return 1; 1;never executed: return 1; | 0 |
924 | } | - |
925 | int | - |
926 | X509_check_issued(X509 *issuer, X509 *subject) | - |
927 | { | - |
928 | if (X509_NAME_cmp(X509_get_subject_name(issuer),TRUE | evaluated 78 times by 3 tests | FALSE | evaluated 123 times by 2 tests |
| 78-123 |
929 | X509_get_issuer_name(subject))TRUE | evaluated 78 times by 3 tests | FALSE | evaluated 123 times by 2 tests |
) | 78-123 |
930 | returnexecuted 78 times by 3 tests: return 29; 29;executed 78 times by 3 tests: return 29; | 78 |
931 | x509v3_cache_extensions(issuer); | - |
932 | x509v3_cache_extensions(subject); | - |
933 | | - |
934 | if (subject->akidTRUE | evaluated 87 times by 2 tests | FALSE | evaluated 36 times by 2 tests |
) { | 36-87 |
935 | int ret = X509_check_akid(issuer, subject->akid); | - |
936 | if (ret != 0TRUE | never evaluated | FALSE | evaluated 87 times by 2 tests |
) | 0-87 |
937 | return never executed: return ret; ret;never executed: return ret; | 0 |
938 | }executed 87 times by 2 tests: end of block | 87 |
939 | | - |
940 | if (subject->ex_flags & 0x0400TRUE | never evaluated | FALSE | evaluated 123 times by 2 tests |
) { | 0-123 |
941 | if ((((TRUE | never evaluated | FALSE | never evaluated |
issuer)->ex_flags & 0x0002)TRUE | never evaluated | FALSE | never evaluated |
&& !((issuer)->ex_kusage & (0x0080))TRUE | never evaluated | FALSE | never evaluated |
)) | 0 |
942 | return never executed: return 39; 39;never executed: return 39; | 0 |
943 | } never executed: end of block else if ((((TRUE | evaluated 123 times by 2 tests | FALSE | never evaluated |
issuer)->ex_flags & 0x0002)TRUE | evaluated 123 times by 2 tests | FALSE | never evaluated |
&& !((issuer)->ex_kusage & (0x0004))TRUE | never evaluated | FALSE | evaluated 123 times by 2 tests |
)) | 0-123 |
944 | return never executed: return 32; 32;never executed: return 32; | 0 |
945 | returnexecuted 123 times by 2 tests: return 0; 0;executed 123 times by 2 tests: return 0; | 123 |
946 | } | - |
947 | | - |
948 | int | - |
949 | X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid) | - |
950 | { | - |
951 | if (!akidTRUE | never evaluated | FALSE | evaluated 128 times by 3 tests |
) | 0-128 |
952 | return never executed: return 0; 0;never executed: return 0; | 0 |
953 | | - |
954 | | - |
955 | if (akid->keyidTRUE | evaluated 128 times by 3 tests | FALSE | never evaluated |
&& issuer->skidTRUE | evaluated 128 times by 3 tests | FALSE | never evaluated |
&& | 0-128 |
956 | ASN1_OCTET_STRING_cmp(akid->keyid, issuer->skid)TRUE | never evaluated | FALSE | evaluated 128 times by 3 tests |
) | 0-128 |
957 | return never executed: return 30; 30;never executed: return 30; | 0 |
958 | | - |
959 | if (akid->serialTRUE | never evaluated | FALSE | evaluated 128 times by 3 tests |
&& | 0-128 |
960 | ASN1_INTEGER_cmp(X509_get_serialNumber(issuer), akid->serial)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
961 | return never executed: return 31; 31;never executed: return 31; | 0 |
962 | | - |
963 | if (akid->issuerTRUE | never evaluated | FALSE | evaluated 128 times by 3 tests |
) { | 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)))TRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
977 | gen = ((GENERAL_NAME *)sk_value(((_STACK*) (1 ? (gens) : (struct stack_st_GENERAL_NAME*)0)), (i))); | - |
978 | if (gen->type == 4TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
979 | nm = gen->d.dirn; | - |
980 | break; never executed: break; | 0 |
981 | } | - |
982 | } never executed: end of block | 0 |
983 | if (nmTRUE | never evaluated | FALSE | never evaluated |
&& X509_NAME_cmp(nm, X509_get_issuer_name(issuer))TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
984 | return never executed: return 31; 31;never executed: return 31; | 0 |
985 | } never executed: end of block | 0 |
986 | returnexecuted 128 times by 3 tests: return 0; 0;executed 128 times by 3 tests: return 0; | 128 |
987 | } | - |
| | |