OpenCoverage

ocsp_srv.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/ocsp/ocsp_srv.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9int-
10OCSP_request_onereq_count(OCSP_REQUEST *req)-
11{-
12 return
never executed: return sk_num(((_STACK*) (1 ? (req->tbsRequest->requestList) : (struct stack_st_OCSP_ONEREQ*)0)));
sk_num(((_STACK*) (1 ? (req->tbsRequest->requestList) : (struct stack_st_OCSP_ONEREQ*)0)));
never executed: return sk_num(((_STACK*) (1 ? (req->tbsRequest->requestList) : (struct stack_st_OCSP_ONEREQ*)0)));
0
13}-
14-
15OCSP_ONEREQ *-
16OCSP_request_onereq_get0(OCSP_REQUEST *req, int i)-
17{-
18 return
never executed: return ((OCSP_ONEREQ *)sk_value(((_STACK*) (1 ? (req->tbsRequest->requestList) : (struct stack_st_OCSP_ONEREQ*)0)), (i)));
((OCSP_ONEREQ *)sk_value(((_STACK*) (1 ? (req->tbsRequest->requestList) : (struct stack_st_OCSP_ONEREQ*)0)), (i)));
never executed: return ((OCSP_ONEREQ *)sk_value(((_STACK*) (1 ? (req->tbsRequest->requestList) : (struct stack_st_OCSP_ONEREQ*)0)), (i)));
0
19}-
20-
21OCSP_CERTID *-
22OCSP_onereq_get0_id(OCSP_ONEREQ *one)-
23{-
24 return
never executed: return one->reqCert;
one->reqCert;
never executed: return one->reqCert;
0
25}-
26-
27int-
28OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash, ASN1_OBJECT **pmd,-
29 ASN1_OCTET_STRING **pikeyHash, ASN1_INTEGER **pserial, OCSP_CERTID *cid)-
30{-
31 if (!cid
!cidDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
32 return
never executed: return 0;
0;
never executed: return 0;
0
33 if (pmd
pmdDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
34 *
never executed: *pmd = cid->hashAlgorithm->algorithm;
pmd = cid->hashAlgorithm->algorithm;
never executed: *pmd = cid->hashAlgorithm->algorithm;
0
35 if (piNameHash
piNameHashDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
36 *
never executed: *piNameHash = cid->issuerNameHash;
piNameHash = cid->issuerNameHash;
never executed: *piNameHash = cid->issuerNameHash;
0
37 if (pikeyHash
pikeyHashDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
38 *
never executed: *pikeyHash = cid->issuerKeyHash;
pikeyHash = cid->issuerKeyHash;
never executed: *pikeyHash = cid->issuerKeyHash;
0
39 if (pserial
pserialDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
40 *
never executed: *pserial = cid->serialNumber;
pserial = cid->serialNumber;
never executed: *pserial = cid->serialNumber;
0
41 return
never executed: return 1;
1;
never executed: return 1;
0
42}-
43-
44int-
45OCSP_request_is_signed(OCSP_REQUEST *req)-
46{-
47 if (req->optionalSignature
req->optionalSignatureDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
48 return
never executed: return 1;
1;
never executed: return 1;
0
49 return
never executed: return 0;
0;
never executed: return 0;
0
50}-
51-
52-
53OCSP_RESPONSE *-
54OCSP_response_create(int status, OCSP_BASICRESP *bs)-
55{-
56 OCSP_RESPONSE *rsp = -
57 ((void *)0)-
58 ;-
59-
60 if (!(rsp = OCSP_RESPONSE_new())
!(rsp = OCSP_RESPONSE_new())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
61 goto
never executed: goto err;
err;
never executed: goto err;
0
62 if (!(ASN1_ENUMERATED_set(rsp->responseStatus, status))
!(ASN1_ENUMERA...atus, status))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
63 goto
never executed: goto err;
err;
never executed: goto err;
0
64 if (!bs
!bsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
65 return
never executed: return rsp;
rsp;
never executed: return rsp;
0
66 if (!(rsp->responseBytes = OCSP_RESPBYTES_new())
!(rsp->respons...SPBYTES_new())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
67 goto
never executed: goto err;
err;
never executed: goto err;
0
68 rsp->responseBytes->responseType = OBJ_nid2obj(365);-
69 if (!ASN1_item_pack(bs, &OCSP_BASICRESP_it,
!ASN1_item_pac...tes->response)Description
TRUEnever evaluated
FALSEnever evaluated
0
70 &rsp->responseBytes->response)
!ASN1_item_pac...tes->response)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
71 goto
never executed: goto err;
err;
never executed: goto err;
0
72 return
never executed: return rsp;
rsp;
never executed: return rsp;
0
73-
74err:-
75 if (rsp
rspDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
76 OCSP_RESPONSE_free(rsp);
never executed: OCSP_RESPONSE_free(rsp);
0
77 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
78 ((void *)0)
never executed: return ((void *)0) ;
0
79 ;
never executed: return ((void *)0) ;
0
80}-
81-
82OCSP_SINGLERESP *-
83OCSP_basic_add1_status(OCSP_BASICRESP *rsp, OCSP_CERTID *cid, int status,-
84 int reason, ASN1_TIME *revtime, ASN1_TIME *thisupd, ASN1_TIME *nextupd)-
85{-
86 OCSP_SINGLERESP *single = -
87 ((void *)0)-
88 ;-
89 OCSP_CERTSTATUS *cs;-
90 OCSP_REVOKEDINFO *ri;-
91-
92 if (!rsp->tbsResponseData->responses
!rsp->tbsRespo...ata->responsesDescription
TRUEnever evaluated
FALSEnever evaluated
&&
0
93 !(rsp->tbsResponseData->responses = ((struct stack_st_OCSP_SINGLERESP *)sk_new_null()))
!(rsp->tbsResp...k_new_null()))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
94 goto
never executed: goto err;
err;
never executed: goto err;
0
95-
96 if (!(single = OCSP_SINGLERESP_new())
!(single = OCS...GLERESP_new())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
97 goto
never executed: goto err;
err;
never executed: goto err;
0
98-
99 if (!ASN1_TIME_to_generalizedtime(thisupd, &single->thisUpdate)
!ASN1_TIME_to_...e->thisUpdate)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
100 goto
never executed: goto err;
err;
never executed: goto err;
0
101 if (nextupd
nextupdDescription
TRUEnever evaluated
FALSEnever evaluated
&&
0
102 !ASN1_TIME_to_generalizedtime(nextupd, &single->nextUpdate)
!ASN1_TIME_to_...e->nextUpdate)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
103 goto
never executed: goto err;
err;
never executed: goto err;
0
104-
105 OCSP_CERTID_free(single->certId);-
106-
107 if (!(single->certId = OCSP_CERTID_dup(cid))
!(single->cert...RTID_dup(cid))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
108 goto
never executed: goto err;
err;
never executed: goto err;
0
109-
110 cs = single->certStatus;-
111 switch (cs->type = status) {-
112 case
never executed: case 1:
1:
never executed: case 1:
0
113 if (!revtime
!revtimeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
114 ERR_put_error(39,(0xfff),(109),__FILE__,171);-
115 goto
never executed: goto err;
err;
never executed: goto err;
0
116 }-
117 if (!(cs->value.revoked = ri = OCSP_REVOKEDINFO_new())
!(cs->value.re...KEDINFO_new())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
118 goto
never executed: goto err;
err;
never executed: goto err;
0
119 if (!ASN1_TIME_to_generalizedtime(revtime, &ri->revocationTime)
!ASN1_TIME_to_...evocationTime)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
120 goto
never executed: goto err;
err;
never executed: goto err;
0
121 if (reason != -1
reason != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
122 if (!(ri->revocationReason = ASN1_ENUMERATED_new())
!(ri->revocati...MERATED_new())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
123 goto
never executed: goto err;
err;
never executed: goto err;
0
124 if (!(ASN1_ENUMERATED_set(ri->revocationReason,
!(ASN1_ENUMERA...ason, reason))Description
TRUEnever evaluated
FALSEnever evaluated
0
125 reason))
!(ASN1_ENUMERA...ason, reason))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
126 goto
never executed: goto err;
err;
never executed: goto err;
0
127 }
never executed: end of block
0
128 break;
never executed: break;
0
129-
130 case
never executed: case 0:
0:
never executed: case 0:
0
131 cs->value.good = ASN1_NULL_new();-
132 break;
never executed: break;
0
133-
134 case
never executed: case 2:
2:
never executed: case 2:
0
135 cs->value.unknown = ASN1_NULL_new();-
136 break;
never executed: break;
0
137-
138 default
never executed: default:
:
never executed: default:
0
139 goto
never executed: goto err;
err;
never executed: goto err;
0
140 }-
141 if (!(sk_push(((_STACK*) (1 ? (rsp->tbsResponseData->responses) : (struct stack_st_OCSP_SINGLERESP*)0)), ((void*) (1 ? (single) : (OCSP_SINGLERESP*)0))))
!(sk_push(((_S...GLERESP*)0))))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
142 goto
never executed: goto err;
err;
never executed: goto err;
0
143 return
never executed: return single;
single;
never executed: return single;
0
144-
145err:-
146 OCSP_SINGLERESP_free(single);-
147 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
148 ((void *)0)
never executed: return ((void *)0) ;
0
149 ;
never executed: return ((void *)0) ;
0
150}-
151-
152-
153int-
154OCSP_basic_add1_cert(OCSP_BASICRESP *resp, X509 *cert)-
155{-
156 if (!resp->certs
!resp->certsDescription
TRUEnever evaluated
FALSEnever evaluated
&& !(resp->certs = ((struct stack_st_X509 *)sk_new_null()))
!(resp->certs ...k_new_null()))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
157 return
never executed: return 0;
0;
never executed: return 0;
0
158-
159 if (!sk_push(((_STACK*) (1 ? (resp->certs) : (struct stack_st_X509*)0)), ((void*) (1 ? (cert) : (X509*)0)))
!sk_push(((_ST... : (X509*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
160 return
never executed: return 0;
0;
never executed: return 0;
0
161 CRYPTO_add_lock(&cert->references,1,3,__FILE__,216);-
162 return
never executed: return 1;
1;
never executed: return 1;
0
163}-
164-
165int-
166OCSP_basic_sign(OCSP_BASICRESP *brsp, X509 *signer, EVP_PKEY *key,-
167 const EVP_MD *dgst, struct stack_st_X509 *certs, unsigned long flags)-
168{-
169 int i;-
170 OCSP_RESPID *rid;-
171-
172 if (!X509_check_private_key(signer, key)
!X509_check_pr...y(signer, key)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
173 ERR_put_error(39,(0xfff),(110),__FILE__,228);-
174 goto
never executed: goto err;
err;
never executed: goto err;
0
175 }-
176-
177 if (!(flags & 0x1)
!(flags & 0x1)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
178 if (!OCSP_basic_add1_cert(brsp, signer)
!OCSP_basic_ad...(brsp, signer)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
179 goto
never executed: goto err;
err;
never executed: goto err;
0
180 for (i = 0; i < sk_num(((_STACK*) (1 ? (certs) : (struct stack_st_X509*)0)))
i < sk_num(((_..._st_X509*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
181 X509 *tmpcert = ((X509 *)sk_value(((_STACK*) (1 ? (certs) : (struct stack_st_X509*)0)), (i)));-
182 if (!OCSP_basic_add1_cert(brsp, tmpcert)
!OCSP_basic_ad...brsp, tmpcert)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
183 goto
never executed: goto err;
err;
never executed: goto err;
0
184 }
never executed: end of block
0
185 }
never executed: end of block
0
186-
187 rid = brsp->tbsResponseData->responderId;-
188 if (flags & 0x400
flags & 0x400Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
189 unsigned char md[20];-
190-
191 X509_pubkey_digest(signer, EVP_sha1(), md, -
192 ((void *)0)-
193 );-
194 if (!(rid->value.byKey = ASN1_OCTET_STRING_new())
!(rid->value.b..._STRING_new())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
195 goto
never executed: goto err;
err;
never executed: goto err;
0
196 if (!(ASN1_OCTET_STRING_set(rid->value.byKey, md,
!(ASN1_OCTET_S...yKey, md, 20))Description
TRUEnever evaluated
FALSEnever evaluated
0
197 20))
!(ASN1_OCTET_S...yKey, md, 20))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
198 goto
never executed: goto err;
err;
never executed: goto err;
0
199 rid->type = 1;-
200 }
never executed: end of block
else {
0
201 if (!X509_NAME_set(&rid->value.byName,
!X509_NAME_set..._name(signer))Description
TRUEnever evaluated
FALSEnever evaluated
0
202 X509_get_subject_name(signer))
!X509_NAME_set..._name(signer))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
203 goto
never executed: goto err;
err;
never executed: goto err;
0
204 rid->type = 0;-
205 }
never executed: end of block
0
206-
207 if (!(flags & 0x800)
!(flags & 0x800)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
208 !ASN1_GENERALIZEDTIME_set(brsp->tbsResponseData->producedAt, time(
!ASN1_GENERALI...((void *)0) ))Description
TRUEnever evaluated
FALSEnever evaluated
0
209 ((void *)0)
!ASN1_GENERALI...((void *)0) ))Description
TRUEnever evaluated
FALSEnever evaluated
0
210 ))
!ASN1_GENERALI...((void *)0) ))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
211 goto
never executed: goto err;
err;
never executed: goto err;
0
212-
213-
214-
215-
216 if (!ASN1_item_sign(&OCSP_RESPDATA_it,brsp->signatureAlgorithm,
!ASN1_item_sig...Data,key,dgst)Description
TRUEnever evaluated
FALSEnever evaluated
0
217 ((void *)0)
!ASN1_item_sig...Data,key,dgst)Description
TRUEnever evaluated
FALSEnever evaluated
0
218 , brsp->signature,brsp->tbsResponseData,key,dgst)
!ASN1_item_sig...Data,key,dgst)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
219 goto
never executed: goto err;
err;
never executed: goto err;
0
220-
221 return
never executed: return 1;
1;
never executed: return 1;
0
222-
223err:-
224 return
never executed: return 0;
0;
never executed: return 0;
0
225}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2