Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/engine/tb_asnmth.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||
2 | static ENGINE_TABLE *pkey_asn1_meth_table = | - | ||||||||||||
3 | ((void *)0) | - | ||||||||||||
4 | ; | - | ||||||||||||
5 | - | |||||||||||||
6 | void ENGINE_unregister_pkey_asn1_meths(ENGINE *e) | - | ||||||||||||
7 | { | - | ||||||||||||
8 | engine_table_unregister(&pkey_asn1_meth_table, e); | - | ||||||||||||
9 | } never executed: end of block | 0 | ||||||||||||
10 | - | |||||||||||||
11 | static void engine_unregister_all_pkey_asn1_meths(void) | - | ||||||||||||
12 | { | - | ||||||||||||
13 | engine_table_cleanup(&pkey_asn1_meth_table); | - | ||||||||||||
14 | } never executed: end of block | 0 | ||||||||||||
15 | - | |||||||||||||
16 | int ENGINE_register_pkey_asn1_meths(ENGINE *e) | - | ||||||||||||
17 | { | - | ||||||||||||
18 | if (e->pkey_asn1_meths
| 0-3748 | ||||||||||||
19 | const int *nids; | - | ||||||||||||
20 | int num_nids = e->pkey_asn1_meths(e, | - | ||||||||||||
21 | ((void *)0) | - | ||||||||||||
22 | , &nids, 0); | - | ||||||||||||
23 | if (num_nids > 0
| 0 | ||||||||||||
24 | return never executed: engine_table_register(&pkey_asn1_meth_table,return engine_table_register(&pkey_asn1_meth_table, engine_unregister_all_pkey_asn1_meths, e, nids, num_nids, 0); never executed: return engine_table_register(&pkey_asn1_meth_table, engine_unregister_all_pkey_asn1_meths, e, nids, num_nids, 0); | 0 | ||||||||||||
25 | engine_unregister_all_pkey_asn1_meths, never executed: return engine_table_register(&pkey_asn1_meth_table, engine_unregister_all_pkey_asn1_meths, e, nids, num_nids, 0); | 0 | ||||||||||||
26 | e, nids, num_nids, 0); never executed: return engine_table_register(&pkey_asn1_meth_table, engine_unregister_all_pkey_asn1_meths, e, nids, num_nids, 0); | 0 | ||||||||||||
27 | } never executed: end of block | 0 | ||||||||||||
28 | return executed 3748 times by 1 test: 1;return 1; Executed by:
executed 3748 times by 1 test: return 1; Executed by:
| 3748 | ||||||||||||
29 | } | - | ||||||||||||
30 | - | |||||||||||||
31 | void ENGINE_register_all_pkey_asn1_meths(void) | - | ||||||||||||
32 | { | - | ||||||||||||
33 | ENGINE *e; | - | ||||||||||||
34 | - | |||||||||||||
35 | for (e = ENGINE_get_first(); e
| 0 | ||||||||||||
36 | ENGINE_register_pkey_asn1_meths(e); never executed: ENGINE_register_pkey_asn1_meths(e); | 0 | ||||||||||||
37 | } never executed: end of block | 0 | ||||||||||||
38 | - | |||||||||||||
39 | int ENGINE_set_default_pkey_asn1_meths(ENGINE *e) | - | ||||||||||||
40 | { | - | ||||||||||||
41 | if (e->pkey_asn1_meths
| 0-367 | ||||||||||||
42 | const int *nids; | - | ||||||||||||
43 | int num_nids = e->pkey_asn1_meths(e, | - | ||||||||||||
44 | ((void *)0) | - | ||||||||||||
45 | , &nids, 0); | - | ||||||||||||
46 | if (num_nids > 0
| 0 | ||||||||||||
47 | return never executed: engine_table_register(&pkey_asn1_meth_table,return engine_table_register(&pkey_asn1_meth_table, engine_unregister_all_pkey_asn1_meths, e, nids, num_nids, 1); never executed: return engine_table_register(&pkey_asn1_meth_table, engine_unregister_all_pkey_asn1_meths, e, nids, num_nids, 1); | 0 | ||||||||||||
48 | engine_unregister_all_pkey_asn1_meths, never executed: return engine_table_register(&pkey_asn1_meth_table, engine_unregister_all_pkey_asn1_meths, e, nids, num_nids, 1); | 0 | ||||||||||||
49 | e, nids, num_nids, 1); never executed: return engine_table_register(&pkey_asn1_meth_table, engine_unregister_all_pkey_asn1_meths, e, nids, num_nids, 1); | 0 | ||||||||||||
50 | } never executed: end of block | 0 | ||||||||||||
51 | return executed 367 times by 1 test: 1;return 1; Executed by:
executed 367 times by 1 test: return 1; Executed by:
| 367 | ||||||||||||
52 | } | - | ||||||||||||
53 | - | |||||||||||||
54 | - | |||||||||||||
55 | - | |||||||||||||
56 | - | |||||||||||||
57 | - | |||||||||||||
58 | - | |||||||||||||
59 | ENGINE *ENGINE_get_pkey_asn1_meth_engine(int nid) | - | ||||||||||||
60 | { | - | ||||||||||||
61 | return executed 100211 times by 1 test: engine_table_select(&pkey_asn1_meth_table, nid);return engine_table_select(&pkey_asn1_meth_table, nid); Executed by:
executed 100211 times by 1 test: return engine_table_select(&pkey_asn1_meth_table, nid); Executed by:
| 100211 | ||||||||||||
62 | } | - | ||||||||||||
63 | - | |||||||||||||
64 | - | |||||||||||||
65 | - | |||||||||||||
66 | - | |||||||||||||
67 | - | |||||||||||||
68 | const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth(ENGINE *e, int nid) | - | ||||||||||||
69 | { | - | ||||||||||||
70 | EVP_PKEY_ASN1_METHOD *ret; | - | ||||||||||||
71 | ENGINE_PKEY_ASN1_METHS_PTR fn = ENGINE_get_pkey_asn1_meths(e); | - | ||||||||||||
72 | if (!fn
| 0 | ||||||||||||
73 | ((void *)0)
| 0 | ||||||||||||
74 | , nid)
| 0 | ||||||||||||
75 | ERR_put_error(38,(193),(101),__FILE__,89) | - | ||||||||||||
76 | ; | - | ||||||||||||
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 | return never executed: ret;return ret; never executed: return ret; | 0 | ||||||||||||
82 | } | - | ||||||||||||
83 | - | |||||||||||||
84 | - | |||||||||||||
85 | ENGINE_PKEY_ASN1_METHS_PTR ENGINE_get_pkey_asn1_meths(const ENGINE *e) | - | ||||||||||||
86 | { | - | ||||||||||||
87 | return never executed: e->pkey_asn1_meths;return e->pkey_asn1_meths; never executed: return e->pkey_asn1_meths; | 0 | ||||||||||||
88 | } | - | ||||||||||||
89 | - | |||||||||||||
90 | - | |||||||||||||
91 | int ENGINE_set_pkey_asn1_meths(ENGINE *e, ENGINE_PKEY_ASN1_METHS_PTR f) | - | ||||||||||||
92 | { | - | ||||||||||||
93 | e->pkey_asn1_meths = f; | - | ||||||||||||
94 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||
95 | } | - | ||||||||||||
96 | - | |||||||||||||
97 | - | |||||||||||||
98 | - | |||||||||||||
99 | - | |||||||||||||
100 | - | |||||||||||||
101 | - | |||||||||||||
102 | void engine_pkey_asn1_meths_free(ENGINE *e) | - | ||||||||||||
103 | { | - | ||||||||||||
104 | int i; | - | ||||||||||||
105 | EVP_PKEY_ASN1_METHOD *pkm; | - | ||||||||||||
106 | if (e->pkey_asn1_meths
| 0-2844 | ||||||||||||
107 | const int *pknids; | - | ||||||||||||
108 | int npknids; | - | ||||||||||||
109 | npknids = e->pkey_asn1_meths(e, | - | ||||||||||||
110 | ((void *)0) | - | ||||||||||||
111 | , &pknids, 0); | - | ||||||||||||
112 | for (i = 0; i < npknids
| 0 | ||||||||||||
113 | if (e->pkey_asn1_meths(e, &pkm,
| 0 | ||||||||||||
114 | ((void *)0)
| 0 | ||||||||||||
115 | , pknids[i])
| 0 | ||||||||||||
116 | EVP_PKEY_asn1_free(pkm); | - | ||||||||||||
117 | } never executed: end of block | 0 | ||||||||||||
118 | } never executed: end of block | 0 | ||||||||||||
119 | } never executed: end of block | 0 | ||||||||||||
120 | } executed 2844 times by 1 test: end of block Executed by:
| 2844 | ||||||||||||
121 | const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth_str(ENGINE *e, | - | ||||||||||||
122 | const char *str, | - | ||||||||||||
123 | int len) | - | ||||||||||||
124 | { | - | ||||||||||||
125 | int i, nidcount; | - | ||||||||||||
126 | const int *nids; | - | ||||||||||||
127 | EVP_PKEY_ASN1_METHOD *ameth; | - | ||||||||||||
128 | if (!e->pkey_asn1_meths
| 0 | ||||||||||||
129 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||
130 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||
131 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||
132 | if (len == -1
| 0 | ||||||||||||
133 | len = strlen(str); never executed: len = strlen(str); | 0 | ||||||||||||
134 | nidcount = e->pkey_asn1_meths(e, | - | ||||||||||||
135 | ((void *)0) | - | ||||||||||||
136 | , &nids, 0); | - | ||||||||||||
137 | for (i = 0; i < nidcount
| 0 | ||||||||||||
138 | e->pkey_asn1_meths(e, &ameth, | - | ||||||||||||
139 | ((void *)0) | - | ||||||||||||
140 | , nids[i]); | - | ||||||||||||
141 | if (((
| 0 | ||||||||||||
142 | && strncasecmp(ameth->pem_str, str, len) == 0
| 0 | ||||||||||||
143 | return never executed: ameth;return ameth; never executed: return ameth; | 0 | ||||||||||||
144 | } never executed: end of block | 0 | ||||||||||||
145 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||
146 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||
147 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||
148 | } | - | ||||||||||||
149 | - | |||||||||||||
150 | typedef struct { | - | ||||||||||||
151 | ENGINE *e; | - | ||||||||||||
152 | const EVP_PKEY_ASN1_METHOD *ameth; | - | ||||||||||||
153 | const char *str; | - | ||||||||||||
154 | int len; | - | ||||||||||||
155 | } ENGINE_FIND_STR; | - | ||||||||||||
156 | - | |||||||||||||
157 | static void look_str_cb(int nid, struct stack_st_ENGINE *sk, ENGINE *def, void *arg) | - | ||||||||||||
158 | { | - | ||||||||||||
159 | ENGINE_FIND_STR *lk = arg; | - | ||||||||||||
160 | int i; | - | ||||||||||||
161 | if (lk->ameth
| 0 | ||||||||||||
162 | return; never executed: return; | 0 | ||||||||||||
163 | for (i = 0; i < sk_ENGINE_num(sk)
| 0 | ||||||||||||
164 | ENGINE *e = sk_ENGINE_value(sk, i); | - | ||||||||||||
165 | EVP_PKEY_ASN1_METHOD *ameth; | - | ||||||||||||
166 | e->pkey_asn1_meths(e, &ameth, | - | ||||||||||||
167 | ((void *)0) | - | ||||||||||||
168 | , nid); | - | ||||||||||||
169 | if (ameth !=
| 0 | ||||||||||||
170 | ((void *)0)
| 0 | ||||||||||||
171 | - | |||||||||||||
172 | && ((
| 0 | ||||||||||||
173 | && strncasecmp(ameth->pem_str, lk->str, lk->len) == 0
| 0 | ||||||||||||
174 | lk->e = e; | - | ||||||||||||
175 | lk->ameth = ameth; | - | ||||||||||||
176 | return; never executed: return; | 0 | ||||||||||||
177 | } | - | ||||||||||||
178 | } never executed: end of block | 0 | ||||||||||||
179 | } never executed: end of block | 0 | ||||||||||||
180 | - | |||||||||||||
181 | const EVP_PKEY_ASN1_METHOD *ENGINE_pkey_asn1_find_str(ENGINE **pe, | - | ||||||||||||
182 | const char *str, | - | ||||||||||||
183 | int len) | - | ||||||||||||
184 | { | - | ||||||||||||
185 | ENGINE_FIND_STR fstr; | - | ||||||||||||
186 | fstr.e = | - | ||||||||||||
187 | ((void *)0) | - | ||||||||||||
188 | ; | - | ||||||||||||
189 | fstr.ameth = | - | ||||||||||||
190 | ((void *)0) | - | ||||||||||||
191 | ; | - | ||||||||||||
192 | fstr.str = str; | - | ||||||||||||
193 | fstr.len = len; | - | ||||||||||||
194 | - | |||||||||||||
195 | if (!(CRYPTO_THREAD_run_once(&engine_lock_init, do_engine_lock_init_ossl_)
| 0-9796 | ||||||||||||
196 | ERR_put_error(38,(197),((1|64)),__FILE__,195); | - | ||||||||||||
197 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||
198 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||
199 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||
200 | } | - | ||||||||||||
201 | - | |||||||||||||
202 | CRYPTO_THREAD_write_lock(global_engine_lock); | - | ||||||||||||
203 | engine_table_doall(pkey_asn1_meth_table, look_str_cb, &fstr); | - | ||||||||||||
204 | - | |||||||||||||
205 | if (fstr.e
| 0-9796 | ||||||||||||
206 | fstr.e->struct_ref++; | - | ||||||||||||
207 | ; | - | ||||||||||||
208 | } never executed: end of block | 0 | ||||||||||||
209 | *pe = fstr.e; | - | ||||||||||||
210 | CRYPTO_THREAD_unlock(global_engine_lock); | - | ||||||||||||
211 | return executed 9796 times by 1 test: fstr.ameth;return fstr.ameth; Executed by:
executed 9796 times by 1 test: return fstr.ameth; Executed by:
| 9796 | ||||||||||||
212 | } | - | ||||||||||||
Switch to Source code | Preprocessed file |