OpenCoverage

ocsp_cl.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/ocsp/ocsp_cl.c
Switch to Source codePreprocessed file
LineSourceCount
1OCSP_ONEREQ *OCSP_request_add0_id(OCSP_REQUEST *req, OCSP_CERTID *cid)-
2{-
3 OCSP_ONEREQ *one = -
4 ((void *)0)-
5 ;-
6-
7 if ((
(one = OCSP_ON...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
one = OCSP_ONEREQ_new()) ==
(one = OCSP_ON...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
8 ((void *)0)
(one = OCSP_ON...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
9 )-
10 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
11 ((void *)0)
never executed: return ((void *)0) ;
0
12 ;
never executed: return ((void *)0) ;
0
13 OCSP_CERTID_free(one->reqCert);-
14 one->reqCert = cid;-
15 if (req
reqDescription
TRUEnever evaluated
FALSEnever evaluated
&& !sk_OCSP_ONEREQ_push(req->tbsRequest.requestList, one)
!sk_OCSP_ONERE...uestList, one)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
16 one->reqCert = -
17 ((void *)0)-
18 ;-
19 goto
never executed: goto err;
err;
never executed: goto err;
0
20 }-
21 return
never executed: return one;
one;
never executed: return one;
0
22 err:-
23 OCSP_ONEREQ_free(one);-
24 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
25 ((void *)0)
never executed: return ((void *)0) ;
0
26 ;
never executed: return ((void *)0) ;
0
27}-
28-
29-
30-
31int OCSP_request_set1_name(OCSP_REQUEST *req, X509_NAME *nm)-
32{-
33 GENERAL_NAME *gen;-
34-
35 gen = GENERAL_NAME_new();-
36 if (gen ==
gen == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
37 ((void *)0)
gen == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
38 )-
39 return
never executed: return 0;
0;
never executed: return 0;
0
40 if (!X509_NAME_set(&gen->d.directoryName, nm)
!X509_NAME_set...ctoryName, nm)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
41 GENERAL_NAME_free(gen);-
42 return
never executed: return 0;
0;
never executed: return 0;
0
43 }-
44 gen->type = 4;-
45 GENERAL_NAME_free(req->tbsRequest.requestorName);-
46 req->tbsRequest.requestorName = gen;-
47 return
never executed: return 1;
1;
never executed: return 1;
0
48}-
49-
50-
51-
52int OCSP_request_add1_cert(OCSP_REQUEST *req, X509 *cert)-
53{-
54 OCSP_SIGNATURE *sig;-
55 if (req->optionalSignature ==
req->optionalS...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
56 ((void *)0)
req->optionalS...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
57 )-
58 req->optionalSignature = OCSP_SIGNATURE_new();
never executed: req->optionalSignature = OCSP_SIGNATURE_new();
0
59 sig = req->optionalSignature;-
60 if (sig ==
sig == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
61 ((void *)0)
sig == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
62 )-
63 return
never executed: return 0;
0;
never executed: return 0;
0
64 if (cert ==
cert == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
65 ((void *)0)
cert == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
66 )-
67 return
never executed: return 1;
1;
never executed: return 1;
0
68 if (sig->certs ==
sig->certs == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
69 ((void *)0)
sig->certs == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
70 -
71 && (
(sig->certs = ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
sig->certs = sk_X509_new_null()) ==
(sig->certs = ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
72 ((void *)0)
(sig->certs = ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
73 )-
74 return
never executed: return 0;
0;
never executed: return 0;
0
75-
76 if (!sk_X509_push(sig->certs, cert)
!sk_X509_push(...->certs, cert)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
77 return
never executed: return 0;
0;
never executed: return 0;
0
78 X509_up_ref(cert);-
79 return
never executed: return 1;
1;
never executed: return 1;
0
80}-
81-
82-
83-
84-
85-
86-
87-
88int OCSP_request_sign(OCSP_REQUEST *req,-
89 X509 *signer,-
90 EVP_PKEY *key,-
91 const EVP_MD *dgst,-
92 struct stack_st_X509 *certs, unsigned long flags)-
93{-
94 int i;-
95 X509 *x;-
96-
97 if (!OCSP_request_set1_name(req, X509_get_subject_name(signer))
!OCSP_request_..._name(signer))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
98 goto
never executed: goto err;
err;
never executed: goto err;
0
99-
100 if ((
(req->optional...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
req->optionalSignature = OCSP_SIGNATURE_new()) ==
(req->optional...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
101 ((void *)0)
(req->optional...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
102 )-
103 goto
never executed: goto err;
err;
never executed: goto err;
0
104 if (key
keyDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
105 if (!X509_check_private_key(signer, key)
!X509_check_pr...y(signer, key)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
106 ERR_put_error(39,(110),(110),__FILE__,113)-
107 ;-
108 goto
never executed: goto err;
err;
never executed: goto err;
0
109 }-
110 if (!ASN1_item_sign((&(OCSP_REQINFO_it)), &(req)->optionalSignature->signatureAlgorithm,
!ASN1_item_sig...uest,key,dgst)Description
TRUEnever evaluated
FALSEnever evaluated
0
111 ((void *)0)
!ASN1_item_sig...uest,key,dgst)Description
TRUEnever evaluated
FALSEnever evaluated
0
112 , (req)->optionalSignature->signature,&(req)->tbsRequest,key,dgst)
!ASN1_item_sig...uest,key,dgst)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
113 goto
never executed: goto err;
err;
never executed: goto err;
0
114 }
never executed: end of block
0
115-
116 if (!(flags & 0x1)
!(flags & 0x1)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
117 if (!OCSP_request_add1_cert(req, signer)
!OCSP_request_...t(req, signer)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
118 goto
never executed: goto err;
err;
never executed: goto err;
0
119 for (i = 0; i < sk_X509_num(certs)
i < sk_X509_num(certs)Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
120 x = sk_X509_value(certs, i);-
121 if (!OCSP_request_add1_cert(req, x)
!OCSP_request_...1_cert(req, x)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
122 goto
never executed: goto err;
err;
never executed: goto err;
0
123 }
never executed: end of block
0
124 }
never executed: end of block
0
125-
126 return
never executed: return 1;
1;
never executed: return 1;
0
127 err:-
128 OCSP_SIGNATURE_free(req->optionalSignature);-
129 req->optionalSignature = -
130 ((void *)0)-
131 ;-
132 return
never executed: return 0;
0;
never executed: return 0;
0
133}-
134-
135-
136-
137int OCSP_response_status(OCSP_RESPONSE *resp)-
138{-
139 return
executed 55 times by 1 test: return ASN1_ENUMERATED_get(resp->responseStatus);
Executed by:
  • libcrypto.so.1.1
ASN1_ENUMERATED_get(resp->responseStatus);
executed 55 times by 1 test: return ASN1_ENUMERATED_get(resp->responseStatus);
Executed by:
  • libcrypto.so.1.1
55
140}-
141-
142-
143-
144-
145-
146-
147OCSP_BASICRESP *OCSP_response_get1_basic(OCSP_RESPONSE *resp)-
148{-
149 OCSP_RESPBYTES *rb;-
150 rb = resp->responseBytes;-
151 if (!rb
!rbDescription
TRUEnever evaluated
FALSEevaluated 60 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-60
152 ERR_put_error(39,(111),(108),__FILE__,154);-
153 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
154 ((void *)0)
never executed: return ((void *)0) ;
0
155 ;
never executed: return ((void *)0) ;
0
156 }-
157 if (OBJ_obj2nid(rb->responseType) != 365
OBJ_obj2nid(rb...seType) != 365Description
TRUEnever evaluated
FALSEevaluated 60 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-60
158 ERR_put_error(39,(111),(104),__FILE__,158);-
159 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
160 ((void *)0)
never executed: return ((void *)0) ;
0
161 ;
never executed: return ((void *)0) ;
0
162 }-
163-
164 return
executed 60 times by 1 test: return ASN1_item_unpack(rb->response, (&(OCSP_BASICRESP_it)));
Executed by:
  • libcrypto.so.1.1
ASN1_item_unpack(rb->response, (&(OCSP_BASICRESP_it)));
executed 60 times by 1 test: return ASN1_item_unpack(rb->response, (&(OCSP_BASICRESP_it)));
Executed by:
  • libcrypto.so.1.1
60
165}-
166-
167const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs)-
168{-
169 return
never executed: return bs->signature;
bs->signature;
never executed: return bs->signature;
0
170}-
171-
172const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs)-
173{-
174 return
never executed: return &bs->signatureAlgorithm;
&bs->signatureAlgorithm;
never executed: return &bs->signatureAlgorithm;
0
175}-
176-
177const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *bs)-
178{-
179 return
never executed: return &bs->tbsResponseData;
&bs->tbsResponseData;
never executed: return &bs->tbsResponseData;
0
180}-
181-
182-
183-
184-
185-
186int OCSP_resp_count(OCSP_BASICRESP *bs)-
187{-
188 if (!bs
!bsDescription
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-6
189 return
never executed: return -1;
-1;
never executed: return -1;
0
190 return
executed 6 times by 1 test: return sk_OCSP_SINGLERESP_num(bs->tbsResponseData.responses);
Executed by:
  • libcrypto.so.1.1
sk_OCSP_SINGLERESP_num(bs->tbsResponseData.responses);
executed 6 times by 1 test: return sk_OCSP_SINGLERESP_num(bs->tbsResponseData.responses);
Executed by:
  • libcrypto.so.1.1
6
191}-
192-
193-
194-
195OCSP_SINGLERESP *OCSP_resp_get0(OCSP_BASICRESP *bs, int idx)-
196{-
197 if (!bs
!bsDescription
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-3
198 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
199 ((void *)0)
never executed: return ((void *)0) ;
0
200 ;
never executed: return ((void *)0) ;
0
201 return
executed 3 times by 1 test: return sk_OCSP_SINGLERESP_value(bs->tbsResponseData.responses, idx);
Executed by:
  • libcrypto.so.1.1
sk_OCSP_SINGLERESP_value(bs->tbsResponseData.responses, idx);
executed 3 times by 1 test: return sk_OCSP_SINGLERESP_value(bs->tbsResponseData.responses, idx);
Executed by:
  • libcrypto.so.1.1
3
202}-
203-
204const ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at(const OCSP_BASICRESP* bs)-
205{-
206 return
never executed: return bs->tbsResponseData.producedAt;
bs->tbsResponseData.producedAt;
never executed: return bs->tbsResponseData.producedAt;
0
207}-
208-
209const struct stack_st_X509 *OCSP_resp_get0_certs(const OCSP_BASICRESP *bs)-
210{-
211 return
never executed: return bs->certs;
bs->certs;
never executed: return bs->certs;
0
212}-
213-
214int OCSP_resp_get0_id(const OCSP_BASICRESP *bs,-
215 const ASN1_OCTET_STRING **pid,-
216 const X509_NAME **pname)-
217{-
218 const OCSP_RESPID *rid = &bs->tbsResponseData.responderId;-
219-
220 if (rid->type == 0
rid->type == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
221 *pname = rid->value.byName;-
222 *pid = -
223 ((void *)0)-
224 ;-
225 }
never executed: end of block
else if (rid->type == 1
rid->type == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
226 *pid = rid->value.byKey;-
227 *pname = -
228 ((void *)0)-
229 ;-
230 }
never executed: end of block
else {
0
231 return
never executed: return 0;
0;
never executed: return 0;
0
232 }-
233 return
never executed: return 1;
1;
never executed: return 1;
0
234}-
235-
236int OCSP_resp_get1_id(const OCSP_BASICRESP *bs,-
237 ASN1_OCTET_STRING **pid,-
238 X509_NAME **pname)-
239{-
240 const OCSP_RESPID *rid = &bs->tbsResponseData.responderId;-
241-
242 if (rid->type == 0
rid->type == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
243 *pname = X509_NAME_dup(rid->value.byName);-
244 *pid = -
245 ((void *)0)-
246 ;-
247 }
never executed: end of block
else if (rid->type == 1
rid->type == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
248 *pid = ASN1_OCTET_STRING_dup(rid->value.byKey);-
249 *pname = -
250 ((void *)0)-
251 ;-
252 }
never executed: end of block
else {
0
253 return
never executed: return 0;
0;
never executed: return 0;
0
254 }-
255 if (*
*pname == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
pname ==
*pname == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
256 ((void *)0)
*pname == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
257 && *
*pid == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
pid ==
*pid == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
258 ((void *)0)
*pid == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
259 )-
260 return
never executed: return 0;
0;
never executed: return 0;
0
261 return
never executed: return 1;
1;
never executed: return 1;
0
262}-
263-
264-
265-
266int OCSP_resp_find(OCSP_BASICRESP *bs, OCSP_CERTID *id, int last)-
267{-
268 int i;-
269 struct stack_st_OCSP_SINGLERESP *sresp;-
270 OCSP_SINGLERESP *single;-
271 if (!bs
!bsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
272 return
never executed: return -1;
-1;
never executed: return -1;
0
273 if (last < 0
last < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
274 last = 0;
never executed: last = 0;
0
275 else-
276 last++;
never executed: last++;
0
277 sresp = bs->tbsResponseData.responses;-
278 for (i = last; i < sk_OCSP_SINGLERESP_num(sresp)
i < sk_OCSP_SI...ESP_num(sresp)Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
279 single = sk_OCSP_SINGLERESP_value(sresp, i);-
280 if (!OCSP_id_cmp(id, single->certId)
!OCSP_id_cmp(i...ingle->certId)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
281 return
never executed: return i;
i;
never executed: return i;
0
282 }
never executed: end of block
0
283 return
never executed: return -1;
-1;
never executed: return -1;
0
284}-
285-
286-
287-
288-
289-
290-
291-
292int OCSP_single_get0_status(OCSP_SINGLERESP *single, int *reason,-
293 ASN1_GENERALIZEDTIME **revtime,-
294 ASN1_GENERALIZEDTIME **thisupd,-
295 ASN1_GENERALIZEDTIME **nextupd)-
296{-
297 int ret;-
298 OCSP_CERTSTATUS *cst;-
299 if (!single
!singleDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
300 return
never executed: return -1;
-1;
never executed: return -1;
0
301 cst = single->certStatus;-
302 ret = cst->type;-
303 if (ret == 1
ret == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
304 OCSP_REVOKEDINFO *rev = cst->value.revoked;-
305 if (revtime
revtimeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
306 *
never executed: *revtime = rev->revocationTime;
revtime = rev->revocationTime;
never executed: *revtime = rev->revocationTime;
0
307 if (reason
reasonDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
308 if (rev->revocationReason
rev->revocationReasonDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
309 *
never executed: *reason = ASN1_ENUMERATED_get(rev->revocationReason);
reason = ASN1_ENUMERATED_get(rev->revocationReason);
never executed: *reason = ASN1_ENUMERATED_get(rev->revocationReason);
0
310 else-
311 *
never executed: *reason = -1;
reason = -1;
never executed: *reason = -1;
0
312 }-
313 }
never executed: end of block
0
314 if (thisupd
thisupdDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
315 *
never executed: *thisupd = single->thisUpdate;
thisupd = single->thisUpdate;
never executed: *thisupd = single->thisUpdate;
0
316 if (nextupd
nextupdDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
317 *
never executed: *nextupd = single->nextUpdate;
nextupd = single->nextUpdate;
never executed: *nextupd = single->nextUpdate;
0
318 return
never executed: return ret;
ret;
never executed: return ret;
0
319}-
320-
321-
322-
323-
324-
325-
326int OCSP_resp_find_status(OCSP_BASICRESP *bs, OCSP_CERTID *id, int *status,-
327 int *reason,-
328 ASN1_GENERALIZEDTIME **revtime,-
329 ASN1_GENERALIZEDTIME **thisupd,-
330 ASN1_GENERALIZEDTIME **nextupd)-
331{-
332 int i;-
333 OCSP_SINGLERESP *single;-
334 i = OCSP_resp_find(bs, id, -1);-
335-
336 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
337 return
never executed: return 0;
0;
never executed: return 0;
0
338 single = OCSP_resp_get0(bs, i);-
339 i = OCSP_single_get0_status(single, reason, revtime, thisupd, nextupd);-
340 if (status
statusDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
341 *
never executed: *status = i;
status = i;
never executed: *status = i;
0
342 return
never executed: return 1;
1;
never executed: return 1;
0
343}-
344int OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd,-
345 ASN1_GENERALIZEDTIME *nextupd, long nsec, long maxsec)-
346{-
347 int ret = 1;-
348 time_t t_now, t_tmp;-
349 time(&t_now);-
350-
351 if (!ASN1_GENERALIZEDTIME_check(thisupd)
!ASN1_GENERALI...check(thisupd)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
352 ERR_put_error(39,(115),(123),__FILE__,346);-
353 ret = 0;-
354 }
never executed: end of block
else {
0
355 t_tmp = t_now + nsec;-
356 if (X509_cmp_time(thisupd, &t_tmp) > 0
X509_cmp_time(...d, &t_tmp) > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
357 ERR_put_error(39,(115),(126),__FILE__,351);-
358 ret = 0;-
359 }
never executed: end of block
0
360-
361-
362-
363-
364-
365 if (maxsec >= 0
maxsec >= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
366 t_tmp = t_now - maxsec;-
367 if (X509_cmp_time(thisupd, &t_tmp) < 0
X509_cmp_time(...d, &t_tmp) < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
368 ERR_put_error(39,(115),(127),__FILE__,362);-
369 ret = 0;-
370 }
never executed: end of block
0
371 }
never executed: end of block
0
372 }
never executed: end of block
0
373-
374 if (!nextupd
!nextupdDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
375 return
never executed: return ret;
ret;
never executed: return ret;
0
376-
377-
378 if (!ASN1_GENERALIZEDTIME_check(nextupd)
!ASN1_GENERALI...check(nextupd)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
379 ERR_put_error(39,(115),(122),__FILE__,373);-
380 ret = 0;-
381 }
never executed: end of block
else {
0
382 t_tmp = t_now - nsec;-
383 if (X509_cmp_time(nextupd, &t_tmp) < 0
X509_cmp_time(...d, &t_tmp) < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
384 ERR_put_error(39,(115),(125),__FILE__,378);-
385 ret = 0;-
386 }
never executed: end of block
0
387 }
never executed: end of block
0
388-
389-
390 if (ASN1_STRING_cmp(nextupd, thisupd) < 0
ASN1_STRING_cm..., thisupd) < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
391 ERR_put_error(39,(115),(124),__FILE__,386)-
392 ;-
393 ret = 0;-
394 }
never executed: end of block
0
395-
396 return
never executed: return ret;
ret;
never executed: return ret;
0
397}-
398-
399const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *single)-
400{-
401 return
never executed: return single->certId;
single->certId;
never executed: return single->certId;
0
402}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2