Line | Source | Count |
1 | | - |
2 | | - |
3 | | - |
4 | | - |
5 | | - |
6 | | - |
7 | static int | - |
8 | pkey_cmac_init(EVP_PKEY_CTX *ctx) | - |
9 | { | - |
10 | ctx->data = CMAC_CTX_new(); | - |
11 | if (!ctx->dataTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
12 | return never executed: return 0; 0;never executed: return 0; | 0 |
13 | ctx->keygen_info_count = 0; | - |
14 | return never executed: return 1; 1;never executed: return 1; | 0 |
15 | } | - |
16 | | - |
17 | static int | - |
18 | pkey_cmac_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src) | - |
19 | { | - |
20 | if (!pkey_cmac_init(dst)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
21 | return never executed: return 0; 0;never executed: return 0; | 0 |
22 | if (!CMAC_CTX_copy(dst->data, src->data)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
23 | return never executed: return 0; 0;never executed: return 0; | 0 |
24 | return never executed: return 1; 1;never executed: return 1; | 0 |
25 | } | - |
26 | | - |
27 | static void | - |
28 | pkey_cmac_cleanup(EVP_PKEY_CTX *ctx) | - |
29 | { | - |
30 | CMAC_CTX_free(ctx->data); | - |
31 | } never executed: end of block | 0 |
32 | | - |
33 | static int | - |
34 | pkey_cmac_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) | - |
35 | { | - |
36 | CMAC_CTX *cmkey = CMAC_CTX_new(); | - |
37 | CMAC_CTX *cmctx = ctx->data; | - |
38 | | - |
39 | if (!cmkeyTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
40 | return never executed: return 0; 0;never executed: return 0; | 0 |
41 | if (!CMAC_CTX_copy(cmkey, cmctx)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
42 | CMAC_CTX_free(cmkey); | - |
43 | return never executed: return 0; 0;never executed: return 0; | 0 |
44 | } | - |
45 | EVP_PKEY_assign(pkey, 894, cmkey); | - |
46 | | - |
47 | return never executed: return 1; 1;never executed: return 1; | 0 |
48 | } | - |
49 | | - |
50 | static int | - |
51 | int_update(EVP_MD_CTX *ctx, const void *data, size_t count) | - |
52 | { | - |
53 | if (!CMAC_Update(ctx->pctx->data, data, count)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
54 | return never executed: return 0; 0;never executed: return 0; | 0 |
55 | return never executed: return 1; 1;never executed: return 1; | 0 |
56 | } | - |
57 | | - |
58 | static int | - |
59 | cmac_signctx_init(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx) | - |
60 | { | - |
61 | EVP_MD_CTX_set_flags(mctx, 0x0100); | - |
62 | mctx->update = int_update; | - |
63 | return never executed: return 1; 1;never executed: return 1; | 0 |
64 | } | - |
65 | | - |
66 | static int | - |
67 | cmac_signctx(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, | - |
68 | EVP_MD_CTX *mctx) | - |
69 | { | - |
70 | return never executed: return CMAC_Final(ctx->data, sig, siglen); CMAC_Final(ctx->data, sig, siglen);never executed: return CMAC_Final(ctx->data, sig, siglen); | 0 |
71 | } | - |
72 | | - |
73 | static int | - |
74 | pkey_cmac_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2) | - |
75 | { | - |
76 | CMAC_CTX *cmctx = ctx->data; | - |
77 | | - |
78 | switch (type) { | - |
79 | case never executed: case 6: 6:never executed: case 6: | 0 |
80 | if (!p2TRUE | never evaluated | FALSE | never evaluated |
|| p1 < 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
81 | return never executed: return 0; 0;never executed: return 0; | 0 |
82 | if (!CMAC_Init(cmctx, p2, p1, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
83 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
84 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
85 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
86 | )TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
87 | return never executed: return 0; 0;never executed: return 0; | 0 |
88 | break; never executed: break; | 0 |
89 | | - |
90 | case never executed: case 12: 12:never executed: case 12: | 0 |
91 | if (!CMAC_Init(cmctx, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
92 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
93 | , 0, p2, ctx->engine)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
94 | return never executed: return 0; 0;never executed: return 0; | 0 |
95 | break; never executed: break; | 0 |
96 | | - |
97 | case never executed: case 1: 1:never executed: case 1: | 0 |
98 | if (ctx->pkeyTRUE | never evaluated | FALSE | never evaluated |
&& !CMAC_CTX_copy(ctx->data,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
99 | (CMAC_CTX *)ctx->pkey->pkey.ptr)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
100 | return never executed: return 0; 0;never executed: return 0; | 0 |
101 | if (!CMAC_Init(cmctx, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
102 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
103 | , 0, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
104 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
105 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
106 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
107 | )TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
108 | return never executed: return 0; 0;never executed: return 0; | 0 |
109 | break; never executed: break; | 0 |
110 | | - |
111 | default never executed: default: :never executed: default: | 0 |
112 | return never executed: return -2; -2;never executed: return -2; | 0 |
113 | } | - |
114 | return never executed: return 1; 1;never executed: return 1; | 0 |
115 | } | - |
116 | | - |
117 | static int | - |
118 | pkey_cmac_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, const char *value) | - |
119 | { | - |
120 | if (!valueTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
121 | return never executed: return 0; 0;never executed: return 0; | 0 |
122 | if (!TRUE | never evaluated | FALSE | never evaluated |
| 0 |
123 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
124 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
125 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
126 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
127 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
128 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
129 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
130 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
131 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
132 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
133 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
134 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
135 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
136 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
137 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
138 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
139 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
140 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
141 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
142 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
143 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
144 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
145 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
146 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
147 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
148 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
149 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
150 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
151 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
152 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
153 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
154 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
155 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
156 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
157 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
158 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
159 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
160 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
161 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
162 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
163 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
164 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
165 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
166 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
167 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
168 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
169 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( type ))[3] - __s2[3]); | 0 |
170 | typeTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( type ))[3] - __s2[3]); | 0 |
171 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
172 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
173 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
174 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
175 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
176 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
177 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
178 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
179 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
180 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
181 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
182 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
183 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
184 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
185 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
186 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
187 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
188 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
189 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
190 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
191 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
192 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
193 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
194 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
195 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
196 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
197 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "key" ))[3] - __s2[3]); | 0 |
198 | "key"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "key" ))[3] - __s2[3]); | 0 |
199 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
200 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
201 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
202 | "key"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
203 | )))); })TRUE | never evaluated | FALSE | never evaluated |
| 0 |
204 | ) { | - |
205 | void *p = (void *)value; | - |
206 | return never executed: return pkey_cmac_ctrl(ctx, 6, strlen(p), p); pkey_cmac_ctrl(ctx, 6,never executed: return pkey_cmac_ctrl(ctx, 6, strlen(p), p); | 0 |
207 | strlen(p), p); never executed: return pkey_cmac_ctrl(ctx, 6, strlen(p), p); | 0 |
208 | } | - |
209 | if (!TRUE | never evaluated | FALSE | never evaluated |
| 0 |
210 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
211 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
212 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
213 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
214 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
215 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
216 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
217 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
218 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
219 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
220 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
221 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
222 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
223 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
224 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
225 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
226 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
227 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
228 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
229 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
230 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
231 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
232 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
233 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
234 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
235 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
236 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
237 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
238 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
239 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
240 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
241 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
242 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
243 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
244 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
245 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
246 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
247 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
248 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
249 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
250 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
251 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
252 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
253 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
254 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
255 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
256 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( type ))[3] - __s2[3]); | 0 |
257 | typeTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( type ))[3] - __s2[3]); | 0 |
258 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
259 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
260 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
261 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
262 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
263 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
264 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
265 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
266 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
267 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
268 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
269 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
270 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
271 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
272 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
273 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
274 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
275 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
276 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
277 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
278 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
279 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
280 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
281 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
282 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
283 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
284 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "cipher" ))[3] - __s2[3]); | 0 |
285 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "cipher" ))[3] - __s2[3]); | 0 |
286 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
287 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
288 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
289 | "cipher"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
290 | )))); })TRUE | never evaluated | FALSE | never evaluated |
| 0 |
291 | ) { | - |
292 | const EVP_CIPHER *c; | - |
293 | | - |
294 | c = EVP_get_cipherbyname(value); | - |
295 | if (!cTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
296 | return never executed: return 0; 0;never executed: return 0; | 0 |
297 | return never executed: return pkey_cmac_ctrl(ctx, 12, -1, (void *)c); pkey_cmac_ctrl(ctx, 12, -1, (void *)c);never executed: return pkey_cmac_ctrl(ctx, 12, -1, (void *)c); | 0 |
298 | } | - |
299 | if (!TRUE | never evaluated | FALSE | never evaluated |
| 0 |
300 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
301 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
302 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
303 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
304 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
305 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
306 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
307 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
308 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
309 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
310 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
311 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
312 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
313 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
314 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
315 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
316 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
317 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
318 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
319 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
320 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
321 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
322 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
323 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
324 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
325 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
326 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
327 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
328 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
329 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
330 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
331 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
332 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
333 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
334 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
335 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
336 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
337 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
338 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
339 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
340 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
341 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
342 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
343 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
344 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
345 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
346 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( type ))[3] - __s2[3]); | 0 |
347 | typeTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( type ))[3] - __s2[3]); | 0 |
348 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
349 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
350 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
351 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
352 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
353 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
354 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
355 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
356 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
357 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
358 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
359 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
360 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
361 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
362 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
363 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
364 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
365 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
366 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
367 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
368 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
369 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
370 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
371 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
372 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
373 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
374 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "hexkey" ))[3] - __s2[3]); | 0 |
375 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "hexkey" ))[3] - __s2[3]); | 0 |
376 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
377 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
378 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
379 | "hexkey"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
380 | )))); })TRUE | never evaluated | FALSE | never evaluated |
| 0 |
381 | ) { | - |
382 | unsigned char *key; | - |
383 | int r; | - |
384 | long keylen; | - |
385 | | - |
386 | key = string_to_hex(value, &keylen); | - |
387 | if (!keyTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
388 | return never executed: return 0; 0;never executed: return 0; | 0 |
389 | r = pkey_cmac_ctrl(ctx, 6, keylen, key); | - |
390 | free(key); | - |
391 | return never executed: return r; r;never executed: return r; | 0 |
392 | } | - |
393 | | - |
394 | return never executed: return -2; -2;never executed: return -2; | 0 |
395 | } | - |
396 | | - |
397 | const EVP_PKEY_METHOD cmac_pkey_meth = { | - |
398 | .pkey_id = 894, | - |
399 | .flags = 4, | - |
400 | | - |
401 | .init = pkey_cmac_init, | - |
402 | .copy = pkey_cmac_copy, | - |
403 | .cleanup = pkey_cmac_cleanup, | - |
404 | | - |
405 | .keygen = pkey_cmac_keygen, | - |
406 | | - |
407 | .signctx_init = cmac_signctx_init, | - |
408 | .signctx = cmac_signctx, | - |
409 | | - |
410 | .ctrl = pkey_cmac_ctrl, | - |
411 | .ctrl_str = pkey_cmac_ctrl_str | - |
412 | }; | - |
| | |