| 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 blockExecuted 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 |