Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/cms/cms_lib.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||||||||
2 | - | |||||||||||||||||||||||||
3 | - | |||||||||||||||||||||||||
4 | CMS_ContentInfo *d2i_CMS_ContentInfo(CMS_ContentInfo **a, const unsigned char **in, long len) { return executed 11 times by 1 test: (CMS_ContentInfo *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(CMS_ContentInfo_it)));return (CMS_ContentInfo *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(CMS_ContentInfo_it))); Executed by:
executed 11 times by 1 test: } int i2d_CMS_ContentInfo(CMS_ContentInfo *a, unsigned char **out) { returnreturn (CMS_ContentInfo *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(CMS_ContentInfo_it))); Executed by:
never executed: ASN1_item_i2d((ASN1_VALUE *)a, out, (&(CMS_ContentInfo_it)));return ASN1_item_i2d((ASN1_VALUE *)a, out, (&(CMS_ContentInfo_it))); never executed: } CMS_ContentInfo *CMS_ContentInfo_new(void) { returnreturn ASN1_item_i2d((ASN1_VALUE *)a, out, (&(CMS_ContentInfo_it))); executed 54 times by 1 test: (CMS_ContentInfo *)ASN1_item_new((&(CMS_ContentInfo_it)));return (CMS_ContentInfo *)ASN1_item_new((&(CMS_ContentInfo_it))); Executed by:
executed 54 times by 1 test: } void CMS_ContentInfo_free(CMS_ContentInfo *a) { ASN1_item_free((ASN1_VALUE *)a, (&(CMS_ContentInfo_it))); }return (CMS_ContentInfo *)ASN1_item_new((&(CMS_ContentInfo_it))); Executed by:
executed 502 times by 1 test: end of block Executed by:
| 0-502 | ||||||||||||||||||||||||
5 | int CMS_ContentInfo_print_ctx(BIO *out, CMS_ContentInfo *x, int indent, const ASN1_PCTX *pctx) { return never executed: ASN1_item_print(out, (ASN1_VALUE *)x, indent, (&(CMS_ContentInfo_it)), pctx);return ASN1_item_print(out, (ASN1_VALUE *)x, indent, (&(CMS_ContentInfo_it)), pctx); never executed: }return ASN1_item_print(out, (ASN1_VALUE *)x, indent, (&(CMS_ContentInfo_it)), pctx); | 0 | ||||||||||||||||||||||||
6 | - | |||||||||||||||||||||||||
7 | const ASN1_OBJECT *CMS_get0_type(const CMS_ContentInfo *cms) | - | ||||||||||||||||||||||||
8 | { | - | ||||||||||||||||||||||||
9 | return executed 25 times by 1 test: cms->contentType;return cms->contentType; Executed by:
executed 25 times by 1 test: return cms->contentType; Executed by:
| 25 | ||||||||||||||||||||||||
10 | } | - | ||||||||||||||||||||||||
11 | - | |||||||||||||||||||||||||
12 | CMS_ContentInfo *cms_Data_create(void) | - | ||||||||||||||||||||||||
13 | { | - | ||||||||||||||||||||||||
14 | CMS_ContentInfo *cms; | - | ||||||||||||||||||||||||
15 | cms = CMS_ContentInfo_new(); | - | ||||||||||||||||||||||||
16 | if (cms !=
| 0-1 | ||||||||||||||||||||||||
17 | ((void *)0)
| 0-1 | ||||||||||||||||||||||||
18 | ) { | - | ||||||||||||||||||||||||
19 | cms->contentType = OBJ_nid2obj(21); | - | ||||||||||||||||||||||||
20 | - | |||||||||||||||||||||||||
21 | CMS_set_detached(cms, 0); | - | ||||||||||||||||||||||||
22 | } executed 1 time by 1 test: end of block Executed by:
| 1 | ||||||||||||||||||||||||
23 | return executed 1 time by 1 test: cms;return cms; Executed by:
executed 1 time by 1 test: return cms; Executed by:
| 1 | ||||||||||||||||||||||||
24 | } | - | ||||||||||||||||||||||||
25 | - | |||||||||||||||||||||||||
26 | BIO *cms_content_bio(CMS_ContentInfo *cms) | - | ||||||||||||||||||||||||
27 | { | - | ||||||||||||||||||||||||
28 | ASN1_OCTET_STRING **pos = CMS_get0_content(cms); | - | ||||||||||||||||||||||||
29 | if (!pos
| 0-60 | ||||||||||||||||||||||||
30 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
31 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
32 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
33 | - | |||||||||||||||||||||||||
34 | if (!*pos
| 5-55 | ||||||||||||||||||||||||
35 | return executed 5 times by 1 test: BIO_new(BIO_s_null());return BIO_new(BIO_s_null()); Executed by:
executed 5 times by 1 test: return BIO_new(BIO_s_null()); Executed by:
| 5 | ||||||||||||||||||||||||
36 | - | |||||||||||||||||||||||||
37 | - | |||||||||||||||||||||||||
38 | - | |||||||||||||||||||||||||
39 | if (!*pos
| 0-55 | ||||||||||||||||||||||||
40 | return executed 9 times by 1 test: BIO_new(BIO_s_mem());return BIO_new(BIO_s_mem()); Executed by:
executed 9 times by 1 test: return BIO_new(BIO_s_mem()); Executed by:
| 9 | ||||||||||||||||||||||||
41 | - | |||||||||||||||||||||||||
42 | return executed 46 times by 1 test: BIO_new_mem_buf((*pos)->data, (*pos)->length);return BIO_new_mem_buf((*pos)->data, (*pos)->length); Executed by:
executed 46 times by 1 test: return BIO_new_mem_buf((*pos)->data, (*pos)->length); Executed by:
| 46 | ||||||||||||||||||||||||
43 | } | - | ||||||||||||||||||||||||
44 | - | |||||||||||||||||||||||||
45 | BIO *CMS_dataInit(CMS_ContentInfo *cms, BIO *icont) | - | ||||||||||||||||||||||||
46 | { | - | ||||||||||||||||||||||||
47 | BIO *cmsbio, *cont; | - | ||||||||||||||||||||||||
48 | if (icont
| 50-60 | ||||||||||||||||||||||||
49 | cont = icont; executed 50 times by 1 test: cont = icont; Executed by:
| 50 | ||||||||||||||||||||||||
50 | else | - | ||||||||||||||||||||||||
51 | cont = cms_content_bio(cms); executed 60 times by 1 test: cont = cms_content_bio(cms); Executed by:
| 60 | ||||||||||||||||||||||||
52 | if (!cont
| 0-110 | ||||||||||||||||||||||||
53 | ERR_put_error(46,(111),(127),__FILE__,64); | - | ||||||||||||||||||||||||
54 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
55 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
56 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
57 | } | - | ||||||||||||||||||||||||
58 | switch (OBJ_obj2nid(cms->contentType)) { | - | ||||||||||||||||||||||||
59 | - | |||||||||||||||||||||||||
60 | case executed 2 times by 1 test: 21:case 21: Executed by:
executed 2 times by 1 test: case 21: Executed by:
| 2 | ||||||||||||||||||||||||
61 | return executed 2 times by 1 test: cont;return cont; Executed by:
executed 2 times by 1 test: return cont; Executed by:
| 2 | ||||||||||||||||||||||||
62 | - | |||||||||||||||||||||||||
63 | case executed 60 times by 1 test: 22:case 22: Executed by:
executed 60 times by 1 test: case 22: Executed by:
| 60 | ||||||||||||||||||||||||
64 | cmsbio = cms_SignedData_init_bio(cms); | - | ||||||||||||||||||||||||
65 | break; executed 60 times by 1 test: break; Executed by:
| 60 | ||||||||||||||||||||||||
66 | - | |||||||||||||||||||||||||
67 | case never executed: 25:case 25: never executed: case 25: | 0 | ||||||||||||||||||||||||
68 | cmsbio = cms_DigestedData_init_bio(cms); | - | ||||||||||||||||||||||||
69 | break; never executed: break; | 0 | ||||||||||||||||||||||||
70 | - | |||||||||||||||||||||||||
71 | - | |||||||||||||||||||||||||
72 | - | |||||||||||||||||||||||||
73 | - | |||||||||||||||||||||||||
74 | - | |||||||||||||||||||||||||
75 | - | |||||||||||||||||||||||||
76 | case executed 8 times by 1 test: 26:case 26: Executed by:
executed 8 times by 1 test: case 26: Executed by:
| 8 | ||||||||||||||||||||||||
77 | cmsbio = cms_EncryptedData_init_bio(cms); | - | ||||||||||||||||||||||||
78 | break; executed 8 times by 1 test: break; Executed by:
| 8 | ||||||||||||||||||||||||
79 | - | |||||||||||||||||||||||||
80 | case executed 40 times by 1 test: 23:case 23: Executed by:
executed 40 times by 1 test: case 23: Executed by:
| 40 | ||||||||||||||||||||||||
81 | cmsbio = cms_EnvelopedData_init_bio(cms); | - | ||||||||||||||||||||||||
82 | break; executed 40 times by 1 test: break; Executed by:
| 40 | ||||||||||||||||||||||||
83 | - | |||||||||||||||||||||||||
84 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||
85 | ERR_put_error(46,(111),(156),__FILE__,94); | - | ||||||||||||||||||||||||
86 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
87 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
88 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
89 | } | - | ||||||||||||||||||||||||
90 | - | |||||||||||||||||||||||||
91 | if (cmsbio
| 0-108 | ||||||||||||||||||||||||
92 | return executed 108 times by 1 test: BIO_push(cmsbio, cont);return BIO_push(cmsbio, cont); Executed by:
executed 108 times by 1 test: return BIO_push(cmsbio, cont); Executed by:
| 108 | ||||||||||||||||||||||||
93 | - | |||||||||||||||||||||||||
94 | if (!icont
| 0 | ||||||||||||||||||||||||
95 | BIO_free(cont); never executed: BIO_free(cont); | 0 | ||||||||||||||||||||||||
96 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
97 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
98 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
99 | - | |||||||||||||||||||||||||
100 | } | - | ||||||||||||||||||||||||
101 | - | |||||||||||||||||||||||||
102 | int CMS_dataFinal(CMS_ContentInfo *cms, BIO *cmsbio) | - | ||||||||||||||||||||||||
103 | { | - | ||||||||||||||||||||||||
104 | ASN1_OCTET_STRING **pos = CMS_get0_content(cms); | - | ||||||||||||||||||||||||
105 | if (!pos
| 0-54 | ||||||||||||||||||||||||
106 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
107 | - | |||||||||||||||||||||||||
108 | if (*
| 9-45 | ||||||||||||||||||||||||
109 | BIO *mbio; | - | ||||||||||||||||||||||||
110 | unsigned char *cont; | - | ||||||||||||||||||||||||
111 | long contlen; | - | ||||||||||||||||||||||||
112 | mbio = BIO_find_type(cmsbio, ( 1|0x0400)); | - | ||||||||||||||||||||||||
113 | if (!mbio
| 0-9 | ||||||||||||||||||||||||
114 | ERR_put_error(46,(110),(105),__FILE__,119); | - | ||||||||||||||||||||||||
115 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
116 | } | - | ||||||||||||||||||||||||
117 | contlen = BIO_ctrl(mbio,3,0,(char *)(&cont)); | - | ||||||||||||||||||||||||
118 | - | |||||||||||||||||||||||||
119 | BIO_set_flags(mbio, 0x200); | - | ||||||||||||||||||||||||
120 | BIO_ctrl(mbio,130,0, | - | ||||||||||||||||||||||||
121 | ((void *)0) | - | ||||||||||||||||||||||||
122 | ); | - | ||||||||||||||||||||||||
123 | ASN1_STRING_set0(*pos, cont, contlen); | - | ||||||||||||||||||||||||
124 | (*pos)->flags &= ~0x020; | - | ||||||||||||||||||||||||
125 | } executed 9 times by 1 test: end of block Executed by:
| 9 | ||||||||||||||||||||||||
126 | - | |||||||||||||||||||||||||
127 | switch (OBJ_obj2nid(cms->contentType)) { | - | ||||||||||||||||||||||||
128 | - | |||||||||||||||||||||||||
129 | case executed 1 time by 1 test: 21:case 21: Executed by:
executed 1 time by 1 test: case 21: Executed by:
| 1 | ||||||||||||||||||||||||
130 | case executed 20 times by 1 test: 23:case 23: Executed by:
executed 20 times by 1 test: case 23: Executed by:
| 20 | ||||||||||||||||||||||||
131 | case executed 4 times by 1 test: 26:case 26: Executed by:
executed 4 times by 1 test: case 26: Executed by:
| 4 | ||||||||||||||||||||||||
132 | case never executed: 786:case 786: never executed: case 786: | 0 | ||||||||||||||||||||||||
133 | - | |||||||||||||||||||||||||
134 | return executed 25 times by 1 test: 1;return 1; Executed by:
executed 25 times by 1 test: return 1; Executed by:
| 25 | ||||||||||||||||||||||||
135 | - | |||||||||||||||||||||||||
136 | case executed 29 times by 1 test: 22:case 22: Executed by:
executed 29 times by 1 test: case 22: Executed by:
| 29 | ||||||||||||||||||||||||
137 | return executed 29 times by 1 test: cms_SignedData_final(cms, cmsbio);return cms_SignedData_final(cms, cmsbio); Executed by:
executed 29 times by 1 test: return cms_SignedData_final(cms, cmsbio); Executed by:
| 29 | ||||||||||||||||||||||||
138 | - | |||||||||||||||||||||||||
139 | case never executed: 25:case 25: never executed: case 25: | 0 | ||||||||||||||||||||||||
140 | return never executed: cms_DigestedData_do_final(cms, cmsbio, 0);return cms_DigestedData_do_final(cms, cmsbio, 0); never executed: return cms_DigestedData_do_final(cms, cmsbio, 0); | 0 | ||||||||||||||||||||||||
141 | - | |||||||||||||||||||||||||
142 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||
143 | ERR_put_error(46,(110),(156),__FILE__,146); | - | ||||||||||||||||||||||||
144 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
145 | } | - | ||||||||||||||||||||||||
146 | } | - | ||||||||||||||||||||||||
147 | - | |||||||||||||||||||||||||
148 | - | |||||||||||||||||||||||||
149 | - | |||||||||||||||||||||||||
150 | - | |||||||||||||||||||||||||
151 | - | |||||||||||||||||||||||||
152 | - | |||||||||||||||||||||||||
153 | ASN1_OCTET_STRING **CMS_get0_content(CMS_ContentInfo *cms) | - | ||||||||||||||||||||||||
154 | { | - | ||||||||||||||||||||||||
155 | switch (OBJ_obj2nid(cms->contentType)) { | - | ||||||||||||||||||||||||
156 | - | |||||||||||||||||||||||||
157 | case executed 4 times by 1 test: 21:case 21: Executed by:
executed 4 times by 1 test: case 21: Executed by:
| 4 | ||||||||||||||||||||||||
158 | return executed 4 times by 1 test: &cms->d.data;return &cms->d.data; Executed by:
executed 4 times by 1 test: return &cms->d.data; Executed by:
| 4 | ||||||||||||||||||||||||
159 | - | |||||||||||||||||||||||||
160 | case executed 118 times by 1 test: 22:case 22: Executed by:
executed 118 times by 1 test: case 22: Executed by:
| 118 | ||||||||||||||||||||||||
161 | return executed 118 times by 1 test: &cms->d.signedData->encapContentInfo->eContent;return &cms->d.signedData->encapContentInfo->eContent; Executed by:
executed 118 times by 1 test: return &cms->d.signedData->encapContentInfo->eContent; Executed by:
| 118 | ||||||||||||||||||||||||
162 | - | |||||||||||||||||||||||||
163 | case executed 100 times by 1 test: 23:case 23: Executed by:
executed 100 times by 1 test: case 23: Executed by:
| 100 | ||||||||||||||||||||||||
164 | return executed 100 times by 1 test: &cms->d.envelopedData->encryptedContentInfo->encryptedContent;return &cms->d.envelopedData->encryptedContentInfo->encryptedContent; Executed by:
executed 100 times by 1 test: return &cms->d.envelopedData->encryptedContentInfo->encryptedContent; Executed by:
| 100 | ||||||||||||||||||||||||
165 | - | |||||||||||||||||||||||||
166 | case never executed: 25:case 25: never executed: case 25: | 0 | ||||||||||||||||||||||||
167 | return never executed: &cms->d.digestedData->encapContentInfo->eContent;return &cms->d.digestedData->encapContentInfo->eContent; never executed: return &cms->d.digestedData->encapContentInfo->eContent; | 0 | ||||||||||||||||||||||||
168 | - | |||||||||||||||||||||||||
169 | case executed 20 times by 1 test: 26:case 26: Executed by:
executed 20 times by 1 test: case 26: Executed by:
| 20 | ||||||||||||||||||||||||
170 | return executed 20 times by 1 test: &cms->d.encryptedData->encryptedContentInfo->encryptedContent;return &cms->d.encryptedData->encryptedContentInfo->encryptedContent; Executed by:
executed 20 times by 1 test: return &cms->d.encryptedData->encryptedContentInfo->encryptedContent; Executed by:
| 20 | ||||||||||||||||||||||||
171 | - | |||||||||||||||||||||||||
172 | case never executed: 205:case 205: never executed: case 205: | 0 | ||||||||||||||||||||||||
173 | return never executed: &cms->d.authenticatedData->encapContentInfo->eContent;return &cms->d.authenticatedData->encapContentInfo->eContent; never executed: return &cms->d.authenticatedData->encapContentInfo->eContent; | 0 | ||||||||||||||||||||||||
174 | - | |||||||||||||||||||||||||
175 | case never executed: 786:case 786: never executed: case 786: | 0 | ||||||||||||||||||||||||
176 | return never executed: &cms->d.compressedData->encapContentInfo->eContent;return &cms->d.compressedData->encapContentInfo->eContent; never executed: return &cms->d.compressedData->encapContentInfo->eContent; | 0 | ||||||||||||||||||||||||
177 | - | |||||||||||||||||||||||||
178 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||
179 | if (cms->d.other->type == 4
| 0 | ||||||||||||||||||||||||
180 | return never executed: &cms->d.other->value.octet_string;return &cms->d.other->value.octet_string; never executed: return &cms->d.other->value.octet_string; | 0 | ||||||||||||||||||||||||
181 | ERR_put_error(46,(129),(152),__FILE__,184); | - | ||||||||||||||||||||||||
182 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
183 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
184 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
185 | - | |||||||||||||||||||||||||
186 | } | - | ||||||||||||||||||||||||
187 | } | - | ||||||||||||||||||||||||
188 | - | |||||||||||||||||||||||||
189 | - | |||||||||||||||||||||||||
190 | - | |||||||||||||||||||||||||
191 | - | |||||||||||||||||||||||||
192 | - | |||||||||||||||||||||||||
193 | - | |||||||||||||||||||||||||
194 | static ASN1_OBJECT **cms_get0_econtent_type(CMS_ContentInfo *cms) | - | ||||||||||||||||||||||||
195 | { | - | ||||||||||||||||||||||||
196 | switch (OBJ_obj2nid(cms->contentType)) { | - | ||||||||||||||||||||||||
197 | - | |||||||||||||||||||||||||
198 | case executed 20 times by 1 test: 22:case 22: Executed by:
executed 20 times by 1 test: case 22: Executed by:
| 20 | ||||||||||||||||||||||||
199 | return executed 20 times by 1 test: &cms->d.signedData->encapContentInfo->eContentType;return &cms->d.signedData->encapContentInfo->eContentType; Executed by:
executed 20 times by 1 test: return &cms->d.signedData->encapContentInfo->eContentType; Executed by:
| 20 | ||||||||||||||||||||||||
200 | - | |||||||||||||||||||||||||
201 | case executed 17 times by 1 test: 23:case 23: Executed by:
executed 17 times by 1 test: case 23: Executed by:
| 17 | ||||||||||||||||||||||||
202 | return executed 17 times by 1 test: &cms->d.envelopedData->encryptedContentInfo->contentType;return &cms->d.envelopedData->encryptedContentInfo->contentType; Executed by:
executed 17 times by 1 test: return &cms->d.envelopedData->encryptedContentInfo->contentType; Executed by:
| 17 | ||||||||||||||||||||||||
203 | - | |||||||||||||||||||||||||
204 | case never executed: 25:case 25: never executed: case 25: | 0 | ||||||||||||||||||||||||
205 | return never executed: &cms->d.digestedData->encapContentInfo->eContentType;return &cms->d.digestedData->encapContentInfo->eContentType; never executed: return &cms->d.digestedData->encapContentInfo->eContentType; | 0 | ||||||||||||||||||||||||
206 | - | |||||||||||||||||||||||||
207 | case never executed: 26:case 26: never executed: case 26: | 0 | ||||||||||||||||||||||||
208 | return never executed: &cms->d.encryptedData->encryptedContentInfo->contentType;return &cms->d.encryptedData->encryptedContentInfo->contentType; never executed: return &cms->d.encryptedData->encryptedContentInfo->contentType; | 0 | ||||||||||||||||||||||||
209 | - | |||||||||||||||||||||||||
210 | case never executed: 205:case 205: never executed: case 205: | 0 | ||||||||||||||||||||||||
211 | return never executed: &cms->d.authenticatedData->encapContentInfo->eContentType;return &cms->d.authenticatedData->encapContentInfo->eContentType; never executed: return &cms->d.authenticatedData->encapContentInfo->eContentType; | 0 | ||||||||||||||||||||||||
212 | - | |||||||||||||||||||||||||
213 | case never executed: 786:case 786: never executed: case 786: | 0 | ||||||||||||||||||||||||
214 | return never executed: &cms->d.compressedData->encapContentInfo->eContentType;return &cms->d.compressedData->encapContentInfo->eContentType; never executed: return &cms->d.compressedData->encapContentInfo->eContentType; | 0 | ||||||||||||||||||||||||
215 | - | |||||||||||||||||||||||||
216 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||
217 | ERR_put_error(46,(130),(152),__FILE__,218); | - | ||||||||||||||||||||||||
218 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
219 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
220 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
221 | - | |||||||||||||||||||||||||
222 | } | - | ||||||||||||||||||||||||
223 | } | - | ||||||||||||||||||||||||
224 | - | |||||||||||||||||||||||||
225 | const ASN1_OBJECT *CMS_get0_eContentType(CMS_ContentInfo *cms) | - | ||||||||||||||||||||||||
226 | { | - | ||||||||||||||||||||||||
227 | ASN1_OBJECT **petype; | - | ||||||||||||||||||||||||
228 | petype = cms_get0_econtent_type(cms); | - | ||||||||||||||||||||||||
229 | if (petype
| 0-36 | ||||||||||||||||||||||||
230 | return executed 36 times by 1 test: *petype;return *petype; Executed by:
executed 36 times by 1 test: return *petype; Executed by:
| 36 | ||||||||||||||||||||||||
231 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
232 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
233 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
234 | } | - | ||||||||||||||||||||||||
235 | - | |||||||||||||||||||||||||
236 | int CMS_set1_eContentType(CMS_ContentInfo *cms, const ASN1_OBJECT *oid) | - | ||||||||||||||||||||||||
237 | { | - | ||||||||||||||||||||||||
238 | ASN1_OBJECT **petype, *etype; | - | ||||||||||||||||||||||||
239 | petype = cms_get0_econtent_type(cms); | - | ||||||||||||||||||||||||
240 | if (!petype
| 0-1 | ||||||||||||||||||||||||
241 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
242 | if (!oid
| 0-1 | ||||||||||||||||||||||||
243 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||||||||||||||
244 | etype = OBJ_dup(oid); | - | ||||||||||||||||||||||||
245 | if (!etype
| 0-1 | ||||||||||||||||||||||||
246 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
247 | ASN1_OBJECT_free(*petype); | - | ||||||||||||||||||||||||
248 | *petype = etype; | - | ||||||||||||||||||||||||
249 | return executed 1 time by 1 test: 1;return 1; Executed by:
executed 1 time by 1 test: return 1; Executed by:
| 1 | ||||||||||||||||||||||||
250 | } | - | ||||||||||||||||||||||||
251 | - | |||||||||||||||||||||||||
252 | int CMS_is_detached(CMS_ContentInfo *cms) | - | ||||||||||||||||||||||||
253 | { | - | ||||||||||||||||||||||||
254 | ASN1_OCTET_STRING **pos; | - | ||||||||||||||||||||||||
255 | pos = CMS_get0_content(cms); | - | ||||||||||||||||||||||||
256 | if (!pos
| 0 | ||||||||||||||||||||||||
257 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||||||||||||||
258 | if (*
| 0 | ||||||||||||||||||||||||
259 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
260 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||||||||||||||
261 | } | - | ||||||||||||||||||||||||
262 | - | |||||||||||||||||||||||||
263 | int CMS_set_detached(CMS_ContentInfo *cms, int detached) | - | ||||||||||||||||||||||||
264 | { | - | ||||||||||||||||||||||||
265 | ASN1_OCTET_STRING **pos; | - | ||||||||||||||||||||||||
266 | pos = CMS_get0_content(cms); | - | ||||||||||||||||||||||||
267 | if (!pos
| 0-45 | ||||||||||||||||||||||||
268 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
269 | if (detached
| 0-45 | ||||||||||||||||||||||||
270 | ASN1_OCTET_STRING_free(*pos); | - | ||||||||||||||||||||||||
271 | *pos = | - | ||||||||||||||||||||||||
272 | ((void *)0) | - | ||||||||||||||||||||||||
273 | ; | - | ||||||||||||||||||||||||
274 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||||||||||||||
275 | } | - | ||||||||||||||||||||||||
276 | if (*
| 0-45 | ||||||||||||||||||||||||
277 | ((void *)0)
| 0-45 | ||||||||||||||||||||||||
278 | ) | - | ||||||||||||||||||||||||
279 | * executed 45 times by 1 test: pos = ASN1_OCTET_STRING_new();*pos = ASN1_OCTET_STRING_new(); Executed by:
executed 45 times by 1 test: *pos = ASN1_OCTET_STRING_new(); Executed by:
| 45 | ||||||||||||||||||||||||
280 | if (*
| 0-45 | ||||||||||||||||||||||||
281 | ((void *)0)
| 0-45 | ||||||||||||||||||||||||
282 | ) { | - | ||||||||||||||||||||||||
283 | - | |||||||||||||||||||||||||
284 | - | |||||||||||||||||||||||||
285 | - | |||||||||||||||||||||||||
286 | (*pos)->flags |= 0x020; | - | ||||||||||||||||||||||||
287 | return executed 45 times by 1 test: 1;return 1; Executed by:
executed 45 times by 1 test: return 1; Executed by:
| 45 | ||||||||||||||||||||||||
288 | } | - | ||||||||||||||||||||||||
289 | ERR_put_error(46,(147),((1|64)),__FILE__,280); | - | ||||||||||||||||||||||||
290 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
291 | } | - | ||||||||||||||||||||||||
292 | - | |||||||||||||||||||||||||
293 | - | |||||||||||||||||||||||||
294 | - | |||||||||||||||||||||||||
295 | BIO *cms_DigestAlgorithm_init_bio(X509_ALGOR *digestAlgorithm) | - | ||||||||||||||||||||||||
296 | { | - | ||||||||||||||||||||||||
297 | BIO *mdbio = | - | ||||||||||||||||||||||||
298 | ((void *)0) | - | ||||||||||||||||||||||||
299 | ; | - | ||||||||||||||||||||||||
300 | const ASN1_OBJECT *digestoid; | - | ||||||||||||||||||||||||
301 | const EVP_MD *digest; | - | ||||||||||||||||||||||||
302 | X509_ALGOR_get0(&digestoid, | - | ||||||||||||||||||||||||
303 | ((void *)0) | - | ||||||||||||||||||||||||
304 | , | - | ||||||||||||||||||||||||
305 | ((void *)0) | - | ||||||||||||||||||||||||
306 | , digestAlgorithm); | - | ||||||||||||||||||||||||
307 | digest = EVP_get_digestbyname(OBJ_nid2sn(OBJ_obj2nid(digestoid))); | - | ||||||||||||||||||||||||
308 | if (!digest
| 0-60 | ||||||||||||||||||||||||
309 | ERR_put_error(46,(116),(149),__FILE__,295) | - | ||||||||||||||||||||||||
310 | ; | - | ||||||||||||||||||||||||
311 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
312 | } | - | ||||||||||||||||||||||||
313 | mdbio = BIO_new(BIO_f_md()); | - | ||||||||||||||||||||||||
314 | if (mdbio ==
| 0-60 | ||||||||||||||||||||||||
315 | ((void *)0)
| 0-60 | ||||||||||||||||||||||||
316 | || !BIO_ctrl(mdbio,111,0,(char *)(digest))
| 0-60 | ||||||||||||||||||||||||
317 | ERR_put_error(46,(116),(119),__FILE__,300); | - | ||||||||||||||||||||||||
318 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
319 | } | - | ||||||||||||||||||||||||
320 | return executed 60 times by 1 test: mdbio;return mdbio; Executed by:
executed 60 times by 1 test: return mdbio; Executed by:
| 60 | ||||||||||||||||||||||||
321 | err: | - | ||||||||||||||||||||||||
322 | BIO_free(mdbio); | - | ||||||||||||||||||||||||
323 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
324 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
325 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
326 | } | - | ||||||||||||||||||||||||
327 | - | |||||||||||||||||||||||||
328 | - | |||||||||||||||||||||||||
329 | - | |||||||||||||||||||||||||
330 | int cms_DigestAlgorithm_find_ctx(EVP_MD_CTX *mctx, BIO *chain, | - | ||||||||||||||||||||||||
331 | X509_ALGOR *mdalg) | - | ||||||||||||||||||||||||
332 | { | - | ||||||||||||||||||||||||
333 | int nid; | - | ||||||||||||||||||||||||
334 | const ASN1_OBJECT *mdoid; | - | ||||||||||||||||||||||||
335 | X509_ALGOR_get0(&mdoid, | - | ||||||||||||||||||||||||
336 | ((void *)0) | - | ||||||||||||||||||||||||
337 | , | - | ||||||||||||||||||||||||
338 | ((void *)0) | - | ||||||||||||||||||||||||
339 | , mdalg); | - | ||||||||||||||||||||||||
340 | nid = OBJ_obj2nid(mdoid); | - | ||||||||||||||||||||||||
341 | - | |||||||||||||||||||||||||
342 | for (;;) { | - | ||||||||||||||||||||||||
343 | EVP_MD_CTX *mtmp; | - | ||||||||||||||||||||||||
344 | chain = BIO_find_type(chain, ( 8|0x0200)); | - | ||||||||||||||||||||||||
345 | if (chain ==
| 0-122 | ||||||||||||||||||||||||
346 | ((void *)0)
| 0-122 | ||||||||||||||||||||||||
347 | ) { | - | ||||||||||||||||||||||||
348 | ERR_put_error(46,(115),(131),__FILE__,324) | - | ||||||||||||||||||||||||
349 | ; | - | ||||||||||||||||||||||||
350 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
351 | } | - | ||||||||||||||||||||||||
352 | BIO_ctrl(chain,120,0, (char *)(&mtmp)); | - | ||||||||||||||||||||||||
353 | if (EVP_MD_type(EVP_MD_CTX_md(mtmp)) == nid
| 0-122 | ||||||||||||||||||||||||
354 | - | |||||||||||||||||||||||||
355 | - | |||||||||||||||||||||||||
356 | - | |||||||||||||||||||||||||
357 | - | |||||||||||||||||||||||||
358 | || EVP_MD_pkey_type(EVP_MD_CTX_md(mtmp)) == nid
| 0 | ||||||||||||||||||||||||
359 | return executed 122 times by 1 test: EVP_MD_CTX_copy_ex(mctx, mtmp);return EVP_MD_CTX_copy_ex(mctx, mtmp); Executed by:
executed 122 times by 1 test: return EVP_MD_CTX_copy_ex(mctx, mtmp); Executed by:
| 122 | ||||||||||||||||||||||||
360 | chain = BIO_next(chain); | - | ||||||||||||||||||||||||
361 | } never executed: end of block | 0 | ||||||||||||||||||||||||
362 | } never executed: end of block | 0 | ||||||||||||||||||||||||
363 | - | |||||||||||||||||||||||||
364 | static struct stack_st_CMS_CertificateChoices | - | ||||||||||||||||||||||||
365 | **cms_get0_certificate_choices(CMS_ContentInfo *cms) | - | ||||||||||||||||||||||||
366 | { | - | ||||||||||||||||||||||||
367 | switch (OBJ_obj2nid(cms->contentType)) { | - | ||||||||||||||||||||||||
368 | - | |||||||||||||||||||||||||
369 | case executed 161 times by 1 test: 22:case 22: Executed by:
executed 161 times by 1 test: case 22: Executed by:
| 161 | ||||||||||||||||||||||||
370 | return executed 161 times by 1 test: &cms->d.signedData->certificates;return &cms->d.signedData->certificates; Executed by:
executed 161 times by 1 test: return &cms->d.signedData->certificates; Executed by:
| 161 | ||||||||||||||||||||||||
371 | - | |||||||||||||||||||||||||
372 | case never executed: 23:case 23: never executed: case 23: | 0 | ||||||||||||||||||||||||
373 | if (cms->d.envelopedData->originatorInfo ==
| 0 | ||||||||||||||||||||||||
374 | ((void *)0)
| 0 | ||||||||||||||||||||||||
375 | ) | - | ||||||||||||||||||||||||
376 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
377 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
378 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
379 | return never executed: &cms->d.envelopedData->originatorInfo->certificates;return &cms->d.envelopedData->originatorInfo->certificates; never executed: return &cms->d.envelopedData->originatorInfo->certificates; | 0 | ||||||||||||||||||||||||
380 | - | |||||||||||||||||||||||||
381 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||
382 | ERR_put_error(46,(128),(152),__FILE__,354) | - | ||||||||||||||||||||||||
383 | ; | - | ||||||||||||||||||||||||
384 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
385 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
386 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
387 | - | |||||||||||||||||||||||||
388 | } | - | ||||||||||||||||||||||||
389 | } | - | ||||||||||||||||||||||||
390 | - | |||||||||||||||||||||||||
391 | CMS_CertificateChoices *CMS_add0_CertificateChoices(CMS_ContentInfo *cms) | - | ||||||||||||||||||||||||
392 | { | - | ||||||||||||||||||||||||
393 | struct stack_st_CMS_CertificateChoices **pcerts; | - | ||||||||||||||||||||||||
394 | CMS_CertificateChoices *cch; | - | ||||||||||||||||||||||||
395 | pcerts = cms_get0_certificate_choices(cms); | - | ||||||||||||||||||||||||
396 | if (!pcerts
| 0-65 | ||||||||||||||||||||||||
397 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
398 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
399 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
400 | if (!*pcerts
| 29-36 | ||||||||||||||||||||||||
401 | * executed 29 times by 1 test: pcerts = sk_CMS_CertificateChoices_new_null();*pcerts = sk_CMS_CertificateChoices_new_null(); Executed by:
executed 29 times by 1 test: *pcerts = sk_CMS_CertificateChoices_new_null(); Executed by:
| 29 | ||||||||||||||||||||||||
402 | if (!*pcerts
| 0-65 | ||||||||||||||||||||||||
403 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
404 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
405 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
406 | cch = (CMS_CertificateChoices *)ASN1_item_new((&(CMS_CertificateChoices_it))); | - | ||||||||||||||||||||||||
407 | if (!cch
| 0-65 | ||||||||||||||||||||||||
408 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
409 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
410 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
411 | if (!sk_CMS_CertificateChoices_push(*pcerts, cch)
| 0-65 | ||||||||||||||||||||||||
412 | ASN1_item_free(((void*) (1 ? cch : (CMS_CertificateChoices*)0)), (&(CMS_CertificateChoices_it))); | - | ||||||||||||||||||||||||
413 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
414 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
415 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
416 | } | - | ||||||||||||||||||||||||
417 | return executed 65 times by 1 test: cch;return cch; Executed by:
executed 65 times by 1 test: return cch; Executed by:
| 65 | ||||||||||||||||||||||||
418 | } | - | ||||||||||||||||||||||||
419 | - | |||||||||||||||||||||||||
420 | int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert) | - | ||||||||||||||||||||||||
421 | { | - | ||||||||||||||||||||||||
422 | CMS_CertificateChoices *cch; | - | ||||||||||||||||||||||||
423 | struct stack_st_CMS_CertificateChoices **pcerts; | - | ||||||||||||||||||||||||
424 | int i; | - | ||||||||||||||||||||||||
425 | pcerts = cms_get0_certificate_choices(cms); | - | ||||||||||||||||||||||||
426 | if (!pcerts
| 0-65 | ||||||||||||||||||||||||
427 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
428 | for (i = 0; i < sk_CMS_CertificateChoices_num(*pcerts)
| 65-66 | ||||||||||||||||||||||||
429 | cch = sk_CMS_CertificateChoices_value(*pcerts, i); | - | ||||||||||||||||||||||||
430 | if (cch->type == 0
| 0-66 | ||||||||||||||||||||||||
431 | if (!X509_cmp(cch->d.certificate, cert)
| 0-66 | ||||||||||||||||||||||||
432 | ERR_put_error(46,(164),(175),__FILE__,394) | - | ||||||||||||||||||||||||
433 | ; | - | ||||||||||||||||||||||||
434 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
435 | } | - | ||||||||||||||||||||||||
436 | } executed 66 times by 1 test: end of block Executed by:
| 66 | ||||||||||||||||||||||||
437 | } executed 66 times by 1 test: end of block Executed by:
| 66 | ||||||||||||||||||||||||
438 | cch = CMS_add0_CertificateChoices(cms); | - | ||||||||||||||||||||||||
439 | if (!cch
| 0-65 | ||||||||||||||||||||||||
440 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
441 | cch->type = 0; | - | ||||||||||||||||||||||||
442 | cch->d.certificate = cert; | - | ||||||||||||||||||||||||
443 | return executed 65 times by 1 test: 1;return 1; Executed by:
executed 65 times by 1 test: return 1; Executed by:
| 65 | ||||||||||||||||||||||||
444 | } | - | ||||||||||||||||||||||||
445 | - | |||||||||||||||||||||||||
446 | int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert) | - | ||||||||||||||||||||||||
447 | { | - | ||||||||||||||||||||||||
448 | int r; | - | ||||||||||||||||||||||||
449 | r = CMS_add0_cert(cms, cert); | - | ||||||||||||||||||||||||
450 | if (r > 0
| 0-65 | ||||||||||||||||||||||||
451 | X509_up_ref(cert); executed 65 times by 1 test: X509_up_ref(cert); Executed by:
| 65 | ||||||||||||||||||||||||
452 | return executed 65 times by 1 test: r;return r; Executed by:
executed 65 times by 1 test: return r; Executed by:
| 65 | ||||||||||||||||||||||||
453 | } | - | ||||||||||||||||||||||||
454 | - | |||||||||||||||||||||||||
455 | static struct stack_st_CMS_RevocationInfoChoice | - | ||||||||||||||||||||||||
456 | **cms_get0_revocation_choices(CMS_ContentInfo *cms) | - | ||||||||||||||||||||||||
457 | { | - | ||||||||||||||||||||||||
458 | switch (OBJ_obj2nid(cms->contentType)) { | - | ||||||||||||||||||||||||
459 | - | |||||||||||||||||||||||||
460 | case executed 31 times by 1 test: 22:case 22: Executed by:
executed 31 times by 1 test: case 22: Executed by:
| 31 | ||||||||||||||||||||||||
461 | return executed 31 times by 1 test: &cms->d.signedData->crls;return &cms->d.signedData->crls; Executed by:
executed 31 times by 1 test: return &cms->d.signedData->crls; Executed by:
| 31 | ||||||||||||||||||||||||
462 | - | |||||||||||||||||||||||||
463 | case never executed: 23:case 23: never executed: case 23: | 0 | ||||||||||||||||||||||||
464 | if (cms->d.envelopedData->originatorInfo ==
| 0 | ||||||||||||||||||||||||
465 | ((void *)0)
| 0 | ||||||||||||||||||||||||
466 | ) | - | ||||||||||||||||||||||||
467 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
468 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
469 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
470 | return never executed: &cms->d.envelopedData->originatorInfo->crls;return &cms->d.envelopedData->originatorInfo->crls; never executed: return &cms->d.envelopedData->originatorInfo->crls; | 0 | ||||||||||||||||||||||||
471 | - | |||||||||||||||||||||||||
472 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||
473 | ERR_put_error(46,(132),(152),__FILE__,431) | - | ||||||||||||||||||||||||
474 | ; | - | ||||||||||||||||||||||||
475 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
476 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
477 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
478 | - | |||||||||||||||||||||||||
479 | } | - | ||||||||||||||||||||||||
480 | } | - | ||||||||||||||||||||||||
481 | - | |||||||||||||||||||||||||
482 | CMS_RevocationInfoChoice *CMS_add0_RevocationInfoChoice(CMS_ContentInfo *cms) | - | ||||||||||||||||||||||||
483 | { | - | ||||||||||||||||||||||||
484 | struct stack_st_CMS_RevocationInfoChoice **pcrls; | - | ||||||||||||||||||||||||
485 | CMS_RevocationInfoChoice *rch; | - | ||||||||||||||||||||||||
486 | pcrls = cms_get0_revocation_choices(cms); | - | ||||||||||||||||||||||||
487 | if (!pcrls
| 0 | ||||||||||||||||||||||||
488 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
489 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
490 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
491 | if (!*pcrls
| 0 | ||||||||||||||||||||||||
492 | * never executed: pcrls = sk_CMS_RevocationInfoChoice_new_null();*pcrls = sk_CMS_RevocationInfoChoice_new_null(); never executed: *pcrls = sk_CMS_RevocationInfoChoice_new_null(); | 0 | ||||||||||||||||||||||||
493 | if (!*pcrls
| 0 | ||||||||||||||||||||||||
494 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
495 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
496 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
497 | rch = (CMS_RevocationInfoChoice *)ASN1_item_new((&(CMS_RevocationInfoChoice_it))); | - | ||||||||||||||||||||||||
498 | if (!rch
| 0 | ||||||||||||||||||||||||
499 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
500 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
501 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
502 | if (!sk_CMS_RevocationInfoChoice_push(*pcrls, rch)
| 0 | ||||||||||||||||||||||||
503 | ASN1_item_free(((void*) (1 ? rch : (CMS_RevocationInfoChoice*)0)), (&(CMS_RevocationInfoChoice_it))); | - | ||||||||||||||||||||||||
504 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
505 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
506 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
507 | } | - | ||||||||||||||||||||||||
508 | return never executed: rch;return rch; never executed: return rch; | 0 | ||||||||||||||||||||||||
509 | } | - | ||||||||||||||||||||||||
510 | - | |||||||||||||||||||||||||
511 | int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl) | - | ||||||||||||||||||||||||
512 | { | - | ||||||||||||||||||||||||
513 | CMS_RevocationInfoChoice *rch; | - | ||||||||||||||||||||||||
514 | rch = CMS_add0_RevocationInfoChoice(cms); | - | ||||||||||||||||||||||||
515 | if (!rch
| 0 | ||||||||||||||||||||||||
516 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
517 | rch->type = 0; | - | ||||||||||||||||||||||||
518 | rch->d.crl = crl; | - | ||||||||||||||||||||||||
519 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||||||||||||||
520 | } | - | ||||||||||||||||||||||||
521 | - | |||||||||||||||||||||||||
522 | int CMS_add1_crl(CMS_ContentInfo *cms, X509_CRL *crl) | - | ||||||||||||||||||||||||
523 | { | - | ||||||||||||||||||||||||
524 | int r; | - | ||||||||||||||||||||||||
525 | r = CMS_add0_crl(cms, crl); | - | ||||||||||||||||||||||||
526 | if (r > 0
| 0 | ||||||||||||||||||||||||
527 | X509_CRL_up_ref(crl); never executed: X509_CRL_up_ref(crl); | 0 | ||||||||||||||||||||||||
528 | return never executed: r;return r; never executed: return r; | 0 | ||||||||||||||||||||||||
529 | } | - | ||||||||||||||||||||||||
530 | - | |||||||||||||||||||||||||
531 | struct stack_st_X509 *CMS_get1_certs(CMS_ContentInfo *cms) | - | ||||||||||||||||||||||||
532 | { | - | ||||||||||||||||||||||||
533 | struct stack_st_X509 *certs = | - | ||||||||||||||||||||||||
534 | ((void *)0) | - | ||||||||||||||||||||||||
535 | ; | - | ||||||||||||||||||||||||
536 | CMS_CertificateChoices *cch; | - | ||||||||||||||||||||||||
537 | struct stack_st_CMS_CertificateChoices **pcerts; | - | ||||||||||||||||||||||||
538 | int i; | - | ||||||||||||||||||||||||
539 | pcerts = cms_get0_certificate_choices(cms); | - | ||||||||||||||||||||||||
540 | if (!pcerts
| 0-31 | ||||||||||||||||||||||||
541 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
542 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
543 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
544 | for (i = 0; i < sk_CMS_CertificateChoices_num(*pcerts)
| 31-67 | ||||||||||||||||||||||||
545 | cch = sk_CMS_CertificateChoices_value(*pcerts, i); | - | ||||||||||||||||||||||||
546 | if (cch->type == 0
| 0-67 | ||||||||||||||||||||||||
547 | if (!certs
| 31-36 | ||||||||||||||||||||||||
548 | certs = sk_X509_new_null(); | - | ||||||||||||||||||||||||
549 | if (!certs
| 0-31 | ||||||||||||||||||||||||
550 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
551 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
552 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
553 | } executed 31 times by 1 test: end of block Executed by:
| 31 | ||||||||||||||||||||||||
554 | if (!sk_X509_push(certs, cch->d.certificate)
| 0-67 | ||||||||||||||||||||||||
555 | sk_X509_pop_free(certs, X509_free); | - | ||||||||||||||||||||||||
556 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
557 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
558 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
559 | } | - | ||||||||||||||||||||||||
560 | X509_up_ref(cch->d.certificate); | - | ||||||||||||||||||||||||
561 | } executed 67 times by 1 test: end of block Executed by:
| 67 | ||||||||||||||||||||||||
562 | } executed 67 times by 1 test: end of block Executed by:
| 67 | ||||||||||||||||||||||||
563 | return executed 31 times by 1 test: certs;return certs; Executed by:
executed 31 times by 1 test: return certs; Executed by:
| 31 | ||||||||||||||||||||||||
564 | - | |||||||||||||||||||||||||
565 | } | - | ||||||||||||||||||||||||
566 | - | |||||||||||||||||||||||||
567 | struct stack_st_X509_CRL *CMS_get1_crls(CMS_ContentInfo *cms) | - | ||||||||||||||||||||||||
568 | { | - | ||||||||||||||||||||||||
569 | struct stack_st_X509_CRL *crls = | - | ||||||||||||||||||||||||
570 | ((void *)0) | - | ||||||||||||||||||||||||
571 | ; | - | ||||||||||||||||||||||||
572 | struct stack_st_CMS_RevocationInfoChoice **pcrls; | - | ||||||||||||||||||||||||
573 | CMS_RevocationInfoChoice *rch; | - | ||||||||||||||||||||||||
574 | int i; | - | ||||||||||||||||||||||||
575 | pcrls = cms_get0_revocation_choices(cms); | - | ||||||||||||||||||||||||
576 | if (!pcrls
| 0-31 | ||||||||||||||||||||||||
577 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
578 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
579 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
580 | for (i = 0; i < sk_CMS_RevocationInfoChoice_num(*pcrls)
| 0-31 | ||||||||||||||||||||||||
581 | rch = sk_CMS_RevocationInfoChoice_value(*pcrls, i); | - | ||||||||||||||||||||||||
582 | if (rch->type == 0
| 0 | ||||||||||||||||||||||||
583 | if (!crls
| 0 | ||||||||||||||||||||||||
584 | crls = sk_X509_CRL_new_null(); | - | ||||||||||||||||||||||||
585 | if (!crls
| 0 | ||||||||||||||||||||||||
586 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
587 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
588 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
589 | } never executed: end of block | 0 | ||||||||||||||||||||||||
590 | if (!sk_X509_CRL_push(crls, rch->d.crl)
| 0 | ||||||||||||||||||||||||
591 | sk_X509_CRL_pop_free(crls, X509_CRL_free); | - | ||||||||||||||||||||||||
592 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
593 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
594 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||
595 | } | - | ||||||||||||||||||||||||
596 | X509_CRL_up_ref(rch->d.crl); | - | ||||||||||||||||||||||||
597 | } never executed: end of block | 0 | ||||||||||||||||||||||||
598 | } never executed: end of block | 0 | ||||||||||||||||||||||||
599 | return executed 31 times by 1 test: crls;return crls; Executed by:
executed 31 times by 1 test: return crls; Executed by:
| 31 | ||||||||||||||||||||||||
600 | } | - | ||||||||||||||||||||||||
601 | - | |||||||||||||||||||||||||
602 | int cms_ias_cert_cmp(CMS_IssuerAndSerialNumber *ias, X509 *cert) | - | ||||||||||||||||||||||||
603 | { | - | ||||||||||||||||||||||||
604 | int ret; | - | ||||||||||||||||||||||||
605 | ret = X509_NAME_cmp(ias->issuer, X509_get_issuer_name(cert)); | - | ||||||||||||||||||||||||
606 | if (ret
| 0-134 | ||||||||||||||||||||||||
607 | return never executed: ret;return ret; never executed: return ret; | 0 | ||||||||||||||||||||||||
608 | return executed 134 times by 1 test: ASN1_INTEGER_cmp(ias->serialNumber, X509_get_serialNumber(cert));return ASN1_INTEGER_cmp(ias->serialNumber, X509_get_serialNumber(cert)); Executed by:
executed 134 times by 1 test: return ASN1_INTEGER_cmp(ias->serialNumber, X509_get_serialNumber(cert)); Executed by:
| 134 | ||||||||||||||||||||||||
609 | } | - | ||||||||||||||||||||||||
610 | - | |||||||||||||||||||||||||
611 | int cms_keyid_cert_cmp(ASN1_OCTET_STRING *keyid, X509 *cert) | - | ||||||||||||||||||||||||
612 | { | - | ||||||||||||||||||||||||
613 | const ASN1_OCTET_STRING *cert_keyid = X509_get0_subject_key_id(cert); | - | ||||||||||||||||||||||||
614 | - | |||||||||||||||||||||||||
615 | if (cert_keyid ==
| 0-13 | ||||||||||||||||||||||||
616 | ((void *)0)
| 0-13 | ||||||||||||||||||||||||
617 | ) | - | ||||||||||||||||||||||||
618 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||||||||||||||
619 | return executed 13 times by 1 test: ASN1_OCTET_STRING_cmp(keyid, cert_keyid);return ASN1_OCTET_STRING_cmp(keyid, cert_keyid); Executed by:
executed 13 times by 1 test: return ASN1_OCTET_STRING_cmp(keyid, cert_keyid); Executed by:
| 13 | ||||||||||||||||||||||||
620 | } | - | ||||||||||||||||||||||||
621 | - | |||||||||||||||||||||||||
622 | int cms_set1_ias(CMS_IssuerAndSerialNumber **pias, X509 *cert) | - | ||||||||||||||||||||||||
623 | { | - | ||||||||||||||||||||||||
624 | CMS_IssuerAndSerialNumber *ias; | - | ||||||||||||||||||||||||
625 | ias = (CMS_IssuerAndSerialNumber *)ASN1_item_new((&(CMS_IssuerAndSerialNumber_it))); | - | ||||||||||||||||||||||||
626 | if (!ias
| 0-90 | ||||||||||||||||||||||||
627 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
628 | if (!X509_NAME_set(&ias->issuer, X509_get_issuer_name(cert))
| 0-90 | ||||||||||||||||||||||||
629 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
630 | if (!ASN1_STRING_copy(ias->serialNumber, X509_get_serialNumber(cert))
| 0-90 | ||||||||||||||||||||||||
631 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
632 | ASN1_item_free(((void*) (1 ? *pias : (CMS_IssuerAndSerialNumber*)0)), (&(CMS_IssuerAndSerialNumber_it))); | - | ||||||||||||||||||||||||
633 | *pias = ias; | - | ||||||||||||||||||||||||
634 | return executed 90 times by 1 test: 1;return 1; Executed by:
executed 90 times by 1 test: return 1; Executed by:
| 90 | ||||||||||||||||||||||||
635 | err: | - | ||||||||||||||||||||||||
636 | ASN1_item_free(((void*) (1 ? ias : (CMS_IssuerAndSerialNumber*)0)), (&(CMS_IssuerAndSerialNumber_it))); | - | ||||||||||||||||||||||||
637 | ERR_put_error(46,(176),((1|64)),__FILE__,566); | - | ||||||||||||||||||||||||
638 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
639 | } | - | ||||||||||||||||||||||||
640 | - | |||||||||||||||||||||||||
641 | int cms_set1_keyid(ASN1_OCTET_STRING **pkeyid, X509 *cert) | - | ||||||||||||||||||||||||
642 | { | - | ||||||||||||||||||||||||
643 | ASN1_OCTET_STRING *keyid = | - | ||||||||||||||||||||||||
644 | ((void *)0) | - | ||||||||||||||||||||||||
645 | ; | - | ||||||||||||||||||||||||
646 | const ASN1_OCTET_STRING *cert_keyid; | - | ||||||||||||||||||||||||
647 | cert_keyid = X509_get0_subject_key_id(cert); | - | ||||||||||||||||||||||||
648 | if (cert_keyid ==
| 0-8 | ||||||||||||||||||||||||
649 | ((void *)0)
| 0-8 | ||||||||||||||||||||||||
650 | ) { | - | ||||||||||||||||||||||||
651 | ERR_put_error(46,(177),(160),__FILE__,576); | - | ||||||||||||||||||||||||
652 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
653 | } | - | ||||||||||||||||||||||||
654 | keyid = ASN1_STRING_dup(cert_keyid); | - | ||||||||||||||||||||||||
655 | if (!keyid
| 0-8 | ||||||||||||||||||||||||
656 | ERR_put_error(46,(177),((1|64)),__FILE__,581); | - | ||||||||||||||||||||||||
657 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
658 | } | - | ||||||||||||||||||||||||
659 | ASN1_OCTET_STRING_free(*pkeyid); | - | ||||||||||||||||||||||||
660 | *pkeyid = keyid; | - | ||||||||||||||||||||||||
661 | return executed 8 times by 1 test: 1;return 1; Executed by:
executed 8 times by 1 test: return 1; Executed by:
| 8 | ||||||||||||||||||||||||
662 | } | - | ||||||||||||||||||||||||
Switch to Source code | Preprocessed file |