Line | Source | Count |
1 | | - |
2 | | - |
3 | | - |
4 | | - |
5 | | - |
6 | | - |
7 | | - |
8 | | - |
9 | | - |
10 | | - |
11 | u_int32_t bits = 0; | - |
12 | | - |
13 | | - |
14 | | - |
15 | | - |
16 | | - |
17 | int change_passphrase = 0; | - |
18 | | - |
19 | | - |
20 | | - |
21 | | - |
22 | | - |
23 | int change_comment = 0; | - |
24 | | - |
25 | int quiet = 0; | - |
26 | | - |
27 | int log_level = SYSLOG_LEVEL_INFO; | - |
28 | | - |
29 | | - |
30 | int hash_hosts = 0; | - |
31 | | - |
32 | int find_host = 0; | - |
33 | | - |
34 | int delete_host = 0; | - |
35 | | - |
36 | | - |
37 | int show_cert = 0; | - |
38 | | - |
39 | | - |
40 | int print_fingerprint = 0; | - |
41 | int print_bubblebabble = 0; | - |
42 | | - |
43 | | - |
44 | int fingerprint_hash = 2; | - |
45 | | - |
46 | | - |
47 | char identity_file[1024]; | - |
48 | int have_identity = 0; | - |
49 | | - |
50 | | - |
51 | char *identity_passphrase = | - |
52 | ((void *)0) | - |
53 | ; | - |
54 | | - |
55 | | - |
56 | char *identity_new_passphrase = | - |
57 | ((void *)0) | - |
58 | ; | - |
59 | | - |
60 | | - |
61 | char *identity_comment = | - |
62 | ((void *)0) | - |
63 | ; | - |
64 | | - |
65 | | - |
66 | char *ca_key_path = | - |
67 | ((void *)0) | - |
68 | ; | - |
69 | | - |
70 | | - |
71 | int prefer_agent = 0; | - |
72 | | - |
73 | | - |
74 | unsigned long long cert_serial = 0; | - |
75 | | - |
76 | | - |
77 | u_int cert_key_type = 1; | - |
78 | | - |
79 | | - |
80 | char *cert_key_id = | - |
81 | ((void *)0) | - |
82 | ; | - |
83 | | - |
84 | | - |
85 | char *cert_principals = | - |
86 | ((void *)0) | - |
87 | ; | - |
88 | | - |
89 | | - |
90 | u_int64_t cert_valid_from = 0; | - |
91 | u_int64_t cert_valid_to = ~0ULL; | - |
92 | u_int32_t certflags_flags = ((1)|(1<<1)| (1<<2)|(1<<3)|(1<<4)); | - |
93 | char *certflags_command = | - |
94 | ((void *)0) | - |
95 | ; | - |
96 | char *certflags_src_addr = | - |
97 | ((void *)0) | - |
98 | ; | - |
99 | | - |
100 | | - |
101 | struct cert_userext { | - |
102 | char *key; | - |
103 | char *val; | - |
104 | int crit; | - |
105 | }; | - |
106 | struct cert_userext *cert_userext; | - |
107 | size_t ncert_userext; | - |
108 | | - |
109 | | - |
110 | int convert_to = 0; | - |
111 | int convert_from = 0; | - |
112 | enum { | - |
113 | FMT_RFC4716, | - |
114 | FMT_PKCS8, | - |
115 | FMT_PEM | - |
116 | } convert_format = FMT_RFC4716; | - |
117 | int print_public = 0; | - |
118 | int print_generic = 0; | - |
119 | | - |
120 | char *key_type_name = | - |
121 | ((void *)0) | - |
122 | ; | - |
123 | | - |
124 | | - |
125 | char *pkcs11provider = | - |
126 | ((void *)0) | - |
127 | ; | - |
128 | | - |
129 | | - |
130 | int use_new_format = 1; | - |
131 | | - |
132 | | - |
133 | char *new_format_cipher = | - |
134 | ((void *)0) | - |
135 | ; | - |
136 | | - |
137 | | - |
138 | | - |
139 | | - |
140 | | - |
141 | int rounds = 0; | - |
142 | | - |
143 | | - |
144 | extern char *__progname; | - |
145 | | - |
146 | char hostname[ | - |
147 | 1025 | - |
148 | ]; | - |
149 | | - |
150 | | - |
151 | | - |
152 | int gen_candidates(FILE *, u_int32_t, u_int32_t, BIGNUM *); | - |
153 | int prime_test(FILE *, FILE *, u_int32_t, u_int32_t, char *, unsigned long, | - |
154 | unsigned long); | - |
155 | | - |
156 | | - |
157 | static void | - |
158 | type_bits_valid(int type, const char *name, u_int32_t *bitsp) | - |
159 | { | - |
160 | | - |
161 | u_int maxbits, nid; | - |
162 | | - |
163 | | - |
164 | if (type == KEY_UNSPECTRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) | 0-7 |
165 | fatal("unknown key type %s", key_type_name); never executed: fatal("unknown key type %s", key_type_name); | 0 |
166 | if (*TRUE | evaluated 7 times by 1 test | FALSE | never evaluated |
bitsp == 0TRUE | evaluated 7 times by 1 test | FALSE | never evaluated |
) { | 0-7 |
167 | | - |
168 | if (type == KEY_DSATRUE | evaluated 1 time by 1 test | FALSE | evaluated 6 times by 1 test |
) | 1-6 |
169 | *executed 1 time by 1 test: *bitsp = 1024; bitsp = 1024;executed 1 time by 1 test: *bitsp = 1024; | 1 |
170 | else if (type == KEY_ECDSATRUE | evaluated 1 time by 1 test | FALSE | evaluated 5 times by 1 test |
) { | 1-5 |
171 | if (name != TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
172 | ((void *)0)TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
173 | && | - |
174 | (TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
nid = sshkey_ecdsa_nid_from_name(name)) > 0TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
) | 0-1 |
175 | *executed 1 time by 1 test: *bitsp = sshkey_curve_nid_to_bits(nid); bitsp = sshkey_curve_nid_to_bits(nid);executed 1 time by 1 test: *bitsp = sshkey_curve_nid_to_bits(nid); | 1 |
176 | if (*TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
bitsp == 0TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
) | 0-1 |
177 | *executed 1 time by 1 test: *bitsp = 256; bitsp = 256;executed 1 time by 1 test: *bitsp = 256; | 1 |
178 | }executed 1 time by 1 test: end of block else | 1 |
179 | | - |
180 | *executed 5 times by 1 test: *bitsp = 2048; bitsp = 2048;executed 5 times by 1 test: *bitsp = 2048; | 5 |
181 | } | - |
182 | | - |
183 | maxbits = (TRUE | evaluated 1 time by 1 test | FALSE | evaluated 6 times by 1 test |
type == KEY_DSA)TRUE | evaluated 1 time by 1 test | FALSE | evaluated 6 times by 1 test |
? | 1-6 |
184 | | - |
185 | 10000 | - |
186 | : | - |
187 | 16384 | - |
188 | ; | - |
189 | if (*TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
bitsp > maxbitsTRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) | 0-7 |
190 | fatal("key bits exceeds maximum %d", maxbits); never executed: fatal("key bits exceeds maximum %d", maxbits); | 0 |
191 | switch (type) { | - |
192 | caseexecuted 1 time by 1 test: case KEY_DSA: KEY_DSA:executed 1 time by 1 test: case KEY_DSA: | 1 |
193 | if (*TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
bitsp != 1024TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
) | 0-1 |
194 | fatal("Invalid DSA key length: must be 1024 bits"); never executed: fatal("Invalid DSA key length: must be 1024 bits"); | 0 |
195 | break;executed 1 time by 1 test: break; | 1 |
196 | caseexecuted 2 times by 1 test: case KEY_RSA: KEY_RSA:executed 2 times by 1 test: case KEY_RSA: | 2 |
197 | if (*TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
bitsp < 1024TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) | 0-2 |
198 | fatal("Invalid RSA key length: minimum is %d bits", never executed: fatal("Invalid RSA key length: minimum is %d bits", 1024); | 0 |
199 | 1024); never executed: fatal("Invalid RSA key length: minimum is %d bits", 1024); | 0 |
200 | break;executed 2 times by 1 test: break; | 2 |
201 | caseexecuted 1 time by 1 test: case KEY_ECDSA: KEY_ECDSA:executed 1 time by 1 test: case KEY_ECDSA: | 1 |
202 | if (sshkey_ecdsa_bits_to_nid(*bitsp) == -1TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
) | 0-1 |
203 | fatal("Invalid ECDSA key length: valid lengths are " never executed: fatal("Invalid ECDSA key length: valid lengths are " "256, 384 or 521 bits"); | 0 |
204 | "256, 384 or 521 bits"); never executed: fatal("Invalid ECDSA key length: valid lengths are " "256, 384 or 521 bits"); | 0 |
205 | }executed 1 time by 1 test: end of block | 1 |
206 | | - |
207 | }executed 7 times by 1 test: end of block | 7 |
208 | | - |
209 | static void | - |
210 | ask_filename(struct passwd *pw, const char *prompt) | - |
211 | { | - |
212 | char buf[1024]; | - |
213 | char *name = | - |
214 | ((void *)0) | - |
215 | ; | - |
216 | | - |
217 | if (key_type_name == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
218 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
219 | ) | - |
220 | name = ".ssh" "/id_rsa"; never executed: name = ".ssh" "/id_rsa"; | 0 |
221 | else { | - |
222 | switch (sshkey_type_from_name(key_type_name)) { | - |
223 | case never executed: case KEY_DSA_CERT: KEY_DSA_CERT:never executed: case KEY_DSA_CERT: | 0 |
224 | case never executed: case KEY_DSA: KEY_DSA:never executed: case KEY_DSA: | 0 |
225 | name = ".ssh" "/id_dsa"; | - |
226 | break; never executed: break; | 0 |
227 | | - |
228 | case never executed: case KEY_ECDSA_CERT: KEY_ECDSA_CERT:never executed: case KEY_ECDSA_CERT: | 0 |
229 | case never executed: case KEY_ECDSA: KEY_ECDSA:never executed: case KEY_ECDSA: | 0 |
230 | name = ".ssh" "/id_ecdsa"; | - |
231 | break; never executed: break; | 0 |
232 | | - |
233 | case never executed: case KEY_RSA_CERT: KEY_RSA_CERT:never executed: case KEY_RSA_CERT: | 0 |
234 | case never executed: case KEY_RSA: KEY_RSA:never executed: case KEY_RSA: | 0 |
235 | name = ".ssh" "/id_rsa"; | - |
236 | break; never executed: break; | 0 |
237 | case never executed: case KEY_ED25519: KEY_ED25519:never executed: case KEY_ED25519: | 0 |
238 | case never executed: case KEY_ED25519_CERT: KEY_ED25519_CERT:never executed: case KEY_ED25519_CERT: | 0 |
239 | name = ".ssh" "/id_ed25519"; | - |
240 | break; never executed: break; | 0 |
241 | case never executed: case KEY_XMSS: KEY_XMSS:never executed: case KEY_XMSS: | 0 |
242 | case never executed: case KEY_XMSS_CERT: KEY_XMSS_CERT:never executed: case KEY_XMSS_CERT: | 0 |
243 | name = ".ssh" "/id_xmss"; | - |
244 | break; never executed: break; | 0 |
245 | default never executed: default: :never executed: default: | 0 |
246 | fatal("bad key type"); | - |
247 | } never executed: end of block | 0 |
248 | } | - |
249 | snprintf(identity_file, sizeof(identity_file), | - |
250 | "%s/%s", pw->pw_dir, name); | - |
251 | printf("%s (%s): ", prompt, identity_file); | - |
252 | fflush( | - |
253 | stdout | - |
254 | ); | - |
255 | if (fgets(buf, sizeof(buf), TRUE | never evaluated | FALSE | never evaluated |
| 0 |
256 | stdinTRUE | never evaluated | FALSE | never evaluated |
| 0 |
257 | ) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
258 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
259 | ) | - |
260 | exit(1); never executed: exit(1); | 0 |
261 | buf[ | - |
262 | __builtin_strcspn ( | - |
263 | buf | - |
264 | , | - |
265 | "\n" | - |
266 | ) | - |
267 | ] = '\0'; | - |
268 | if ( | - |
269 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
270 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
271 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
272 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
273 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
274 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
275 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
276 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
277 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
278 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
279 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
280 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
281 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
282 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
283 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
284 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
285 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
286 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
287 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
288 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
289 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
290 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
291 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
292 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
293 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
294 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
295 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
296 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
297 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
298 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
299 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
300 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
301 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
302 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
303 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
304 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
305 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
306 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
307 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
308 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
309 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
310 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
311 | ))[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 |
312 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
313 | ))[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 |
314 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
315 | ))[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 *) ( buf ))[3] - __s2[3]); | 0 |
316 | bufTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( buf ))[3] - __s2[3]); | 0 |
317 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
318 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
319 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
320 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
321 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
322 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
323 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
324 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
325 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
326 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
327 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
328 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
329 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
330 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
331 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
332 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
333 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
334 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
335 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
336 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
337 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
338 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
339 | ))[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 |
340 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
341 | ))[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 |
342 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
343 | ))[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 *) ( "" ))[3] - __s2[3]); | 0 |
344 | ""TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "" ))[3] - __s2[3]); | 0 |
345 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
346 | bufTRUE | never evaluated | FALSE | never evaluated |
| 0 |
347 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
348 | ""TRUE | never evaluated | FALSE | never evaluated |
| 0 |
349 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
350 | != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
351 | strlcpy(identity_file, buf, sizeof(identity_file)); never executed: strlcpy(identity_file, buf, sizeof(identity_file)); | 0 |
352 | have_identity = 1; | - |
353 | } never executed: end of block | 0 |
354 | | - |
355 | static struct sshkey * | - |
356 | load_identity(char *filename) | - |
357 | { | - |
358 | char *pass; | - |
359 | struct sshkey *prv; | - |
360 | int r; | - |
361 | | - |
362 | if ((TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
r = sshkey_load_private(filename, "", &prv, TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
| 0-2 |
363 | ((void *)0)TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
| 0-2 |
364 | )) == 0TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
) | 0-2 |
365 | returnexecuted 2 times by 1 test: return prv; prv;executed 2 times by 1 test: return prv; | 2 |
366 | if (r != -43TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
367 | fatal("Load key \"%s\": %s", filename, ssh_err(r)); never executed: fatal("Load key \"%s\": %s", filename, ssh_err(r)); | 0 |
368 | if (identity_passphraseTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
369 | pass = xstrdup(identity_passphrase); never executed: pass = xstrdup(identity_passphrase); | 0 |
370 | else | - |
371 | pass = read_passphrase("Enter passphrase: ", 0x0002); never executed: pass = read_passphrase("Enter passphrase: ", 0x0002); | 0 |
372 | r = sshkey_load_private(filename, pass, &prv, | - |
373 | ((void *)0) | - |
374 | ); | - |
375 | explicit_bzero(pass, strlen(pass)); | - |
376 | free(pass); | - |
377 | if (r != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
378 | fatal("Load key \"%s\": %s", filename, ssh_err(r)); never executed: fatal("Load key \"%s\": %s", filename, ssh_err(r)); | 0 |
379 | return never executed: return prv; prv;never executed: return prv; | 0 |
380 | } | - |
381 | | - |
382 | | - |
383 | | - |
384 | | - |
385 | | - |
386 | | - |
387 | | - |
388 | static void | - |
389 | do_convert_to_ssh2(struct passwd *pw, struct sshkey *k) | - |
390 | { | - |
391 | size_t len; | - |
392 | u_char *blob; | - |
393 | char comment[61]; | - |
394 | int r; | - |
395 | | - |
396 | if ((TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
r = sshkey_to_blob(k, &blob, &len)) != 0TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
) | 0-1 |
397 | fatal("key_to_blob failed: %s", ssh_err(r)); never executed: fatal("key_to_blob failed: %s", ssh_err(r)); | 0 |
398 | | - |
399 | snprintf(comment, sizeof(comment), | - |
400 | "%u-bit %s, converted by %s@%s from OpenSSH", | - |
401 | sshkey_size(k), sshkey_type(k), | - |
402 | pw->pw_name, hostname); | - |
403 | | - |
404 | fprintf( | - |
405 | stdout | - |
406 | , "%s\n", "---- BEGIN SSH2 PUBLIC KEY ----"); | - |
407 | fprintf( | - |
408 | stdout | - |
409 | , "Comment: \"%s\"\n", comment); | - |
410 | dump_base64( | - |
411 | stdout | - |
412 | , blob, len); | - |
413 | fprintf( | - |
414 | stdout | - |
415 | , "%s\n", "---- END SSH2 PUBLIC KEY ----"); | - |
416 | sshkey_free(k); | - |
417 | free(blob); | - |
418 | exit(0);executed 1 time by 1 test: exit(0); | 1 |
419 | } | - |
420 | | - |
421 | static void | - |
422 | do_convert_to_pkcs8(struct sshkey *k) | - |
423 | { | - |
424 | switch (sshkey_type_plain(k->type)) { | - |
425 | case never executed: case KEY_RSA: KEY_RSA:never executed: case KEY_RSA: | 0 |
426 | if (!PEM_write_RSA_PUBKEY(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
427 | stdoutTRUE | never evaluated | FALSE | never evaluated |
| 0 |
428 | , k->rsa)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
429 | fatal("PEM_write_RSA_PUBKEY failed"); never executed: fatal("PEM_write_RSA_PUBKEY failed"); | 0 |
430 | break; never executed: break; | 0 |
431 | case never executed: case KEY_DSA: KEY_DSA:never executed: case KEY_DSA: | 0 |
432 | if (!PEM_write_DSA_PUBKEY(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
433 | stdoutTRUE | never evaluated | FALSE | never evaluated |
| 0 |
434 | , k->dsa)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
435 | fatal("PEM_write_DSA_PUBKEY failed"); never executed: fatal("PEM_write_DSA_PUBKEY failed"); | 0 |
436 | break; never executed: break; | 0 |
437 | | - |
438 | case never executed: case KEY_ECDSA: KEY_ECDSA:never executed: case KEY_ECDSA: | 0 |
439 | if (!PEM_write_EC_PUBKEY(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
440 | stdoutTRUE | never evaluated | FALSE | never evaluated |
| 0 |
441 | , k->ecdsa)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
442 | fatal("PEM_write_EC_PUBKEY failed"); never executed: fatal("PEM_write_EC_PUBKEY failed"); | 0 |
443 | break; never executed: break; | 0 |
444 | | - |
445 | default never executed: default: :never executed: default: | 0 |
446 | fatal("%s: unsupported key type %s", __func__, sshkey_type(k)); | - |
447 | } never executed: end of block | 0 |
448 | exit(0); never executed: exit(0); | 0 |
449 | } | - |
450 | | - |
451 | static void | - |
452 | do_convert_to_pem(struct sshkey *k) | - |
453 | { | - |
454 | switch (sshkey_type_plain(k->type)) { | - |
455 | case never executed: case KEY_RSA: KEY_RSA:never executed: case KEY_RSA: | 0 |
456 | if (!PEM_write_RSAPublicKey(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
457 | stdoutTRUE | never evaluated | FALSE | never evaluated |
| 0 |
458 | , k->rsa)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
459 | fatal("PEM_write_RSAPublicKey failed"); never executed: fatal("PEM_write_RSAPublicKey failed"); | 0 |
460 | break; never executed: break; | 0 |
461 | default never executed: default: :never executed: default: | 0 |
462 | fatal("%s: unsupported key type %s", __func__, sshkey_type(k)); | - |
463 | } never executed: end of block | 0 |
464 | exit(0); never executed: exit(0); | 0 |
465 | } | - |
466 | | - |
467 | static void | - |
468 | do_convert_to(struct passwd *pw) | - |
469 | { | - |
470 | struct sshkey *k; | - |
471 | struct stat st; | - |
472 | int r; | - |
473 | | - |
474 | if (!have_identityTRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
) | 0-1 |
475 | ask_filename(pw, "Enter file in which the key is"); never executed: ask_filename(pw, "Enter file in which the key is"); | 0 |
476 | if (stat(identity_file, &st) < 0TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
) | 0-1 |
477 | fatal("%s: %s: %s", __progname, identity_file, strerror( never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
478 | (*__errno_location ()) never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
479 | )); never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
480 | if ((TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
r = sshkey_load_public(identity_file, &k, TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
| 0-1 |
481 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
| 0-1 |
482 | )) != 0TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
) | 0-1 |
483 | k = load_identity(identity_file); never executed: k = load_identity(identity_file); | 0 |
484 | switch (convert_format) { | - |
485 | caseexecuted 1 time by 1 test: case FMT_RFC4716: FMT_RFC4716:executed 1 time by 1 test: case FMT_RFC4716: | 1 |
486 | do_convert_to_ssh2(pw, k); | - |
487 | break; never executed: break; | 0 |
488 | case never executed: case FMT_PKCS8: FMT_PKCS8:never executed: case FMT_PKCS8: | 0 |
489 | do_convert_to_pkcs8(k); | - |
490 | break; never executed: break; | 0 |
491 | case never executed: case FMT_PEM: FMT_PEM:never executed: case FMT_PEM: | 0 |
492 | do_convert_to_pem(k); | - |
493 | break; never executed: break; | 0 |
494 | default never executed: default: :never executed: default: | 0 |
495 | fatal("%s: unknown key format %d", __func__, convert_format); | - |
496 | } never executed: end of block | 0 |
497 | exit(0); never executed: exit(0); | 0 |
498 | } | - |
499 | | - |
500 | | - |
501 | | - |
502 | | - |
503 | | - |
504 | static void | - |
505 | buffer_get_bignum_bits(struct sshbuf *b, BIGNUM *value) | - |
506 | { | - |
507 | u_int bytes, bignum_bits; | - |
508 | int r; | - |
509 | | - |
510 | if ((TRUE | never evaluated | FALSE | evaluated 20 times by 1 test |
r = sshbuf_get_u32(b, &bignum_bits)) != 0TRUE | never evaluated | FALSE | evaluated 20 times by 1 test |
) | 0-20 |
511 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 0 |
512 | bytes = (bignum_bits + 7) / 8; | - |
513 | if (sshbuf_len(b) < bytesTRUE | never evaluated | FALSE | evaluated 20 times by 1 test |
) | 0-20 |
514 | fatal("%s: input buffer too small: need %d have %zu", never executed: fatal("%s: input buffer too small: need %d have %zu", __func__, bytes, sshbuf_len(b)); | 0 |
515 | __func__, bytes, sshbuf_len(b)); never executed: fatal("%s: input buffer too small: need %d have %zu", __func__, bytes, sshbuf_len(b)); | 0 |
516 | if (BN_bin2bn(sshbuf_ptr(b), bytes, value) == TRUE | never evaluated | FALSE | evaluated 20 times by 1 test |
| 0-20 |
517 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 20 times by 1 test |
| 0-20 |
518 | ) | - |
519 | fatal("%s: BN_bin2bn failed", __func__); never executed: fatal("%s: BN_bin2bn failed", __func__); | 0 |
520 | if ((TRUE | never evaluated | FALSE | evaluated 20 times by 1 test |
r = sshbuf_consume(b, bytes)) != 0TRUE | never evaluated | FALSE | evaluated 20 times by 1 test |
) | 0-20 |
521 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 0 |
522 | }executed 20 times by 1 test: end of block | 20 |
523 | | - |
524 | static struct sshkey * | - |
525 | do_convert_private_ssh2_from_blob(u_char *blob, u_int blen) | - |
526 | { | - |
527 | struct sshbuf *b; | - |
528 | struct sshkey *key = | - |
529 | ((void *)0) | - |
530 | ; | - |
531 | char *type, *cipher; | - |
532 | u_char e1, e2, e3, *sig = | - |
533 | ((void *)0) | - |
534 | , data[] = "abcde12345"; | - |
535 | int r, rlen, ktype; | - |
536 | u_int magic, i1, i2, i3, i4; | - |
537 | size_t slen; | - |
538 | u_long e; | - |
539 | BIGNUM *dsa_p = | - |
540 | ((void *)0) | - |
541 | , *dsa_q = | - |
542 | ((void *)0) | - |
543 | , *dsa_g = | - |
544 | ((void *)0) | - |
545 | ; | - |
546 | BIGNUM *dsa_pub_key = | - |
547 | ((void *)0) | - |
548 | , *dsa_priv_key = | - |
549 | ((void *)0) | - |
550 | ; | - |
551 | BIGNUM *rsa_n = | - |
552 | ((void *)0) | - |
553 | , *rsa_e = | - |
554 | ((void *)0) | - |
555 | , *rsa_d = | - |
556 | ((void *)0) | - |
557 | ; | - |
558 | BIGNUM *rsa_p = | - |
559 | ((void *)0) | - |
560 | , *rsa_q = | - |
561 | ((void *)0) | - |
562 | , *rsa_iqmp = | - |
563 | ((void *)0) | - |
564 | ; | - |
565 | if ((TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
b = sshbuf_from(blob, blen)) == TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
566 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
567 | ) | - |
568 | fatal("%s: sshbuf_from failed", __func__); never executed: fatal("%s: sshbuf_from failed", __func__); | 0 |
569 | if ((TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
r = sshbuf_get_u32(b, &magic)) != 0TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
) | 0-4 |
570 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 0 |
571 | | - |
572 | if (magic != 0x3f6ff9ebTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
) { | 0-4 |
573 | error("bad magic 0x%x != 0x%x", magic, | - |
574 | 0x3f6ff9eb); | - |
575 | sshbuf_free(b); | - |
576 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
577 | ((void *)0) never executed: return ((void *)0) ; | 0 |
578 | ; never executed: return ((void *)0) ; | 0 |
579 | } | - |
580 | if ((TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
r = sshbuf_get_u32(b, &i1)) != 0TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
|| | 0-4 |
581 | (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
r = sshbuf_get_cstring(b, &type, TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
582 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
583 | )) != 0TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
|| | 0-4 |
584 | (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
r = sshbuf_get_cstring(b, &cipher, TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
585 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
586 | )) != 0TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
|| | 0-4 |
587 | (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
r = sshbuf_get_u32(b, &i2)) != 0TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
|| | 0-4 |
588 | (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
r = sshbuf_get_u32(b, &i3)) != 0TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
|| | 0-4 |
589 | (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
r = sshbuf_get_u32(b, &i4)) != 0TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
) | 0-4 |
590 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 0 |
591 | debug("ignore (%d %d %d %d)", i1, i2, i3, i4); | - |
592 | if ( | - |
593 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
594 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
595 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
596 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
597 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
598 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
599 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
600 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
601 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
602 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
603 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
604 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
605 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
606 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
607 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
608 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
609 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
610 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
611 | , TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
612 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
613 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
614 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
615 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
616 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
617 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
618 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
619 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
620 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
621 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
622 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
623 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
624 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
625 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
626 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
627 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
628 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
629 | , TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
630 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
631 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
632 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
633 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
634 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
635 | ))[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 | evaluated 4 times by 1 test |
| 0-4 |
636 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
637 | ))[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 | evaluated 4 times by 1 test |
| 0-4 |
638 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
639 | ))[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 *) ( cipher ))[3] - __s2[3]); TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
640 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( cipher ))[3] - __s2[3]); | 0-4 |
641 | ))[3] - __s2[3]);TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( cipher ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
642 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
643 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
644 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
645 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
646 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
647 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
648 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
649 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
650 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
651 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
652 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
653 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
654 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
655 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
656 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
657 | , TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
658 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
659 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
660 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
661 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
662 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
663 | ))[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 | evaluated 4 times by 1 test |
| 0-4 |
664 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
665 | ))[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 | evaluated 4 times by 1 test |
| 0-4 |
666 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
667 | ))[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 *) ( "none" ))[3] - __s2[3]); TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
668 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( "none" ))[3] - __s2[3]); | 0-4 |
669 | ))[3] - __s2[3]);TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( "none" ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
670 | cipherTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
671 | , TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
672 | "none"TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
673 | )))); }) TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
674 | != 0TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
) { | 0-4 |
675 | error("unsupported cipher %s", cipher); | - |
676 | free(cipher); | - |
677 | sshbuf_free(b); | - |
678 | free(type); | - |
679 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
680 | ((void *)0) never executed: return ((void *)0) ; | 0 |
681 | ; never executed: return ((void *)0) ; | 0 |
682 | } | - |
683 | free(cipher); | - |
684 | | - |
685 | if (strstr(type, "dsa")TRUE | evaluated 1 time by 1 test | FALSE | evaluated 3 times by 1 test |
) { | 1-3 |
686 | ktype = KEY_DSA; | - |
687 | }executed 1 time by 1 test: end of block else if (strstr(type, "rsa")TRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
) { | 0-3 |
688 | ktype = KEY_RSA; | - |
689 | }executed 3 times by 1 test: end of block else { | 3 |
690 | sshbuf_free(b); | - |
691 | free(type); | - |
692 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
693 | ((void *)0) never executed: return ((void *)0) ; | 0 |
694 | ; never executed: return ((void *)0) ; | 0 |
695 | } | - |
696 | if ((TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
key = sshkey_new(ktype)) == TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
697 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
698 | ) | - |
699 | fatal("sshkey_new failed"); never executed: fatal("sshkey_new failed"); | 0 |
700 | free(type); | - |
701 | | - |
702 | switch (key->type) { | - |
703 | caseexecuted 1 time by 1 test: case KEY_DSA: KEY_DSA:executed 1 time by 1 test: case KEY_DSA: | 1 |
704 | if ((TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
dsa_p = BN_new()) == TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
| 0-1 |
705 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
| 0-1 |
706 | || | - |
707 | (TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
dsa_q = BN_new()) == TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
| 0-1 |
708 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
| 0-1 |
709 | || | - |
710 | (TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
dsa_g = BN_new()) == TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
| 0-1 |
711 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
| 0-1 |
712 | || | - |
713 | (TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
dsa_pub_key = BN_new()) == TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
| 0-1 |
714 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
| 0-1 |
715 | || | - |
716 | (TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
dsa_priv_key = BN_new()) == TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
| 0-1 |
717 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
| 0-1 |
718 | ) | - |
719 | fatal("%s: BN_new", __func__); never executed: fatal("%s: BN_new", __func__); | 0 |
720 | buffer_get_bignum_bits(b, dsa_p); | - |
721 | buffer_get_bignum_bits(b, dsa_g); | - |
722 | buffer_get_bignum_bits(b, dsa_q); | - |
723 | buffer_get_bignum_bits(b, dsa_pub_key); | - |
724 | buffer_get_bignum_bits(b, dsa_priv_key); | - |
725 | if (!DSA_set0_pqg(key->dsa, dsa_p, dsa_q, dsa_g)TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
) | 0-1 |
726 | fatal("%s: DSA_set0_pqg failed", __func__); never executed: fatal("%s: DSA_set0_pqg failed", __func__); | 0 |
727 | dsa_p = dsa_q = dsa_g = | - |
728 | ((void *)0) | - |
729 | ; | - |
730 | if (!DSA_set0_key(key->dsa, dsa_pub_key, dsa_priv_key)TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
) | 0-1 |
731 | fatal("%s: DSA_set0_key failed", __func__); never executed: fatal("%s: DSA_set0_key failed", __func__); | 0 |
732 | dsa_pub_key = dsa_priv_key = | - |
733 | ((void *)0) | - |
734 | ; | - |
735 | break;executed 1 time by 1 test: break; | 1 |
736 | caseexecuted 3 times by 1 test: case KEY_RSA: KEY_RSA:executed 3 times by 1 test: case KEY_RSA: | 3 |
737 | if ((TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
r = sshbuf_get_u8(b, &e1)) != 0TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
|| | 0-3 |
738 | (e1 < 30TRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
r = sshbuf_get_u8(b, &e2)) != 0TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
) || | 0-3 |
739 | (e1 < 30TRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
r = sshbuf_get_u8(b, &e3)) != 0TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
)) | 0-3 |
740 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 0 |
741 | e = e1; | - |
742 | debug("e %lx", e); | - |
743 | if (e < 30TRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
) { | 0-3 |
744 | e <<= 8; | - |
745 | e += e2; | - |
746 | debug("e %lx", e); | - |
747 | e <<= 8; | - |
748 | e += e3; | - |
749 | debug("e %lx", e); | - |
750 | }executed 3 times by 1 test: end of block | 3 |
751 | if ((TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
rsa_e = BN_new()) == TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
752 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
753 | ) | - |
754 | fatal("%s: BN_new", __func__); never executed: fatal("%s: BN_new", __func__); | 0 |
755 | if (!BN_set_word(rsa_e, e)TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
) { | 0-3 |
756 | BN_clear_free(rsa_e); | - |
757 | sshbuf_free(b); | - |
758 | sshkey_free(key); | - |
759 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
760 | ((void *)0) never executed: return ((void *)0) ; | 0 |
761 | ; never executed: return ((void *)0) ; | 0 |
762 | } | - |
763 | if ((TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
rsa_n = BN_new()) == TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
764 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
765 | || | - |
766 | (TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
rsa_d = BN_new()) == TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
767 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
768 | || | - |
769 | (TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
rsa_p = BN_new()) == TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
770 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
771 | || | - |
772 | (TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
rsa_q = BN_new()) == TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
773 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
774 | || | - |
775 | (TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
rsa_iqmp = BN_new()) == TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
776 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
777 | ) | - |
778 | fatal("%s: BN_new", __func__); never executed: fatal("%s: BN_new", __func__); | 0 |
779 | buffer_get_bignum_bits(b, rsa_d); | - |
780 | buffer_get_bignum_bits(b, rsa_n); | - |
781 | buffer_get_bignum_bits(b, rsa_iqmp); | - |
782 | buffer_get_bignum_bits(b, rsa_q); | - |
783 | buffer_get_bignum_bits(b, rsa_p); | - |
784 | if (!RSA_set0_key(key->rsa, rsa_n, rsa_e, rsa_d)TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
) | 0-3 |
785 | fatal("%s: RSA_set0_key failed", __func__); never executed: fatal("%s: RSA_set0_key failed", __func__); | 0 |
786 | rsa_n = rsa_e = rsa_d = | - |
787 | ((void *)0) | - |
788 | ; | - |
789 | if (!RSA_set0_factors(key->rsa, rsa_p, rsa_q)TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
) | 0-3 |
790 | fatal("%s: RSA_set0_factors failed", __func__); never executed: fatal("%s: RSA_set0_factors failed", __func__); | 0 |
791 | rsa_p = rsa_q = | - |
792 | ((void *)0) | - |
793 | ; | - |
794 | if ((TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
r = ssh_rsa_complete_crt_parameters(key, rsa_iqmp)) != 0TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
) | 0-3 |
795 | fatal("generate RSA parameters failed: %s", ssh_err(r)); never executed: fatal("generate RSA parameters failed: %s", ssh_err(r)); | 0 |
796 | BN_clear_free(rsa_iqmp); | - |
797 | break;executed 3 times by 1 test: break; | 3 |
798 | } | - |
799 | rlen = sshbuf_len(b); | - |
800 | if (rlen != 0TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
) | 0-4 |
801 | error("do_convert_private_ssh2_from_blob: " never executed: error("do_convert_private_ssh2_from_blob: " "remaining bytes in key blob %d", rlen); | 0 |
802 | "remaining bytes in key blob %d", rlen); never executed: error("do_convert_private_ssh2_from_blob: " "remaining bytes in key blob %d", rlen); | 0 |
803 | sshbuf_free(b); | - |
804 | | - |
805 | | - |
806 | if (sshkey_sign(key, &sig, &slen, data, sizeof(data), TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
807 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
808 | , 0) != 0TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
|| | 0-4 |
809 | sshkey_verify(key, sig, slen, data, sizeof(data), TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
810 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
811 | , 0) != 0TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
) { | 0-4 |
812 | sshkey_free(key); | - |
813 | free(sig); | - |
814 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
815 | ((void *)0) never executed: return ((void *)0) ; | 0 |
816 | ; never executed: return ((void *)0) ; | 0 |
817 | } | - |
818 | free(sig); | - |
819 | returnexecuted 4 times by 1 test: return key; key;executed 4 times by 1 test: return key; | 4 |
820 | } | - |
821 | | - |
822 | static int | - |
823 | get_line(FILE *fp, char *line, size_t len) | - |
824 | { | - |
825 | int c; | - |
826 | size_t pos = 0; | - |
827 | | - |
828 | line[0] = '\0'; | - |
829 | while ((TRUE | evaluated 4696 times by 1 test | FALSE | never evaluated |
c = fgetc(fp)) != TRUE | evaluated 4696 times by 1 test | FALSE | never evaluated |
| 0-4696 |
830 | (-1)TRUE | evaluated 4696 times by 1 test | FALSE | never evaluated |
| 0-4696 |
831 | ) { | - |
832 | if (pos >= len - 1TRUE | never evaluated | FALSE | evaluated 4696 times by 1 test |
) | 0-4696 |
833 | fatal("input line too long."); never executed: fatal("input line too long."); | 0 |
834 | switch (c) { | - |
835 | caseexecuted 30 times by 1 test: case '\r': '\r':executed 30 times by 1 test: case '\r': | 30 |
836 | c = fgetc(fp); | - |
837 | if (c != TRUE | evaluated 30 times by 1 test | FALSE | never evaluated |
| 0-30 |
838 | (-1)TRUE | evaluated 30 times by 1 test | FALSE | never evaluated |
| 0-30 |
839 | && c != '\n'TRUE | evaluated 15 times by 1 test | FALSE | evaluated 15 times by 1 test |
&& ungetc(c, fp) == TRUE | never evaluated | FALSE | evaluated 15 times by 1 test |
| 0-15 |
840 | (-1)TRUE | never evaluated | FALSE | evaluated 15 times by 1 test |
| 0-15 |
841 | ) | - |
842 | fatal("unget: %s", strerror( never executed: fatal("unget: %s", strerror( (*__errno_location ()) )); | 0 |
843 | (*__errno_location ()) never executed: fatal("unget: %s", strerror( (*__errno_location ()) )); | 0 |
844 | )); never executed: fatal("unget: %s", strerror( (*__errno_location ()) )); | 0 |
845 | returnexecuted 30 times by 1 test: return pos; pos;executed 30 times by 1 test: return pos; | 30 |
846 | caseexecuted 48 times by 1 test: case '\n': '\n':executed 48 times by 1 test: case '\n': | 48 |
847 | returnexecuted 48 times by 1 test: return pos; pos;executed 48 times by 1 test: return pos; | 48 |
848 | } | - |
849 | line[pos++] = c; | - |
850 | line[pos] = '\0'; | - |
851 | }executed 4618 times by 1 test: end of block | 4618 |
852 | | - |
853 | return never executed: return -1; -1;never executed: return -1; | 0 |
854 | } | - |
855 | | - |
856 | static void | - |
857 | do_convert_from_ssh2(struct passwd *pw, struct sshkey **k, int *private) | - |
858 | { | - |
859 | int r, blen, escaped = 0; | - |
860 | u_int len; | - |
861 | char line[1024]; | - |
862 | u_char blob[8096]; | - |
863 | char encoded[8096]; | - |
864 | FILE *fp; | - |
865 | | - |
866 | if ((TRUE | never evaluated | FALSE | evaluated 6 times by 1 test |
fp = fopen(identity_file, "r")) == TRUE | never evaluated | FALSE | evaluated 6 times by 1 test |
| 0-6 |
867 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 6 times by 1 test |
| 0-6 |
868 | ) | - |
869 | fatal("%s: %s: %s", __progname, identity_file, strerror( never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
870 | (*__errno_location ()) never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
871 | )); never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
872 | encoded[0] = '\0'; | - |
873 | while ((TRUE | evaluated 78 times by 1 test | FALSE | never evaluated |
blen = get_line(fp, line, sizeof(line))) != -1TRUE | evaluated 78 times by 1 test | FALSE | never evaluated |
) { | 0-78 |
874 | if (blen > 0TRUE | evaluated 78 times by 1 test | FALSE | never evaluated |
&& line[blen - 1] == '\\'TRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
) | 0-78 |
875 | escaped++; never executed: escaped++; | 0 |
876 | if ( | - |
877 | (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
__extension__ (__builtin_constant_p (TRUE | evaluated 78 times by 1 test | FALSE | never evaluated |
TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-78 |
878 | 4TRUE | evaluated 78 times by 1 test | FALSE | never evaluated |
TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-78 |
879 | )TRUE | evaluated 78 times by 1 test | FALSE | never evaluated |
&& ((__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-78 |
880 | lineTRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-78 |
881 | )TRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
&& strlen (TRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-78 |
882 | lineTRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-66 |
883 | ) < ((size_t) (TRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-66 |
884 | 4TRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-66 |
885 | ))TRUE | never evaluated | FALSE | never evaluated |
) || (__builtin_constant_p (TRUE | evaluated 78 times by 1 test | FALSE | never evaluated |
TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-78 |
886 | "----"TRUE | evaluated 78 times by 1 test | FALSE | never evaluated |
TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-78 |
887 | )TRUE | evaluated 78 times by 1 test | FALSE | never evaluated |
&& strlen (TRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-78 |
888 | "----"TRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-78 |
889 | ) < ((size_t) (TRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-78 |
890 | 4TRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-78 |
891 | ))TRUE | never evaluated | FALSE | evaluated 78 times by 1 test |
)) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-78 |
892 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
893 | ) && __builtin_constant_p (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
894 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
895 | ) && (__s1_len = __builtin_strlen (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
896 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
897 | ), __s2_len = __builtin_strlen (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
898 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
899 | ), (!((size_t)(const void *)((TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
900 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
901 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
902 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
903 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
904 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
905 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
906 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
907 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
908 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
909 | , TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
910 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
911 | ) : (__builtin_constant_p (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
912 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
913 | ) && ((size_t)(const void *)((TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
914 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
915 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
916 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
917 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
918 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
919 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
920 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
921 | ) && ((size_t)(const void *)((TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
922 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
923 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
924 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
925 | ) == 1) ? __builtin_strcmp (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
926 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
927 | , TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
928 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
929 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
930 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
931 | ); int __result = (((const unsigned char *) (const char *) (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
932 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
933 | ))[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 | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-66 |
934 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
935 | ))[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 | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-66 |
936 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
937 | ))[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 *) ( line ))[3] - __s2[3]); TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-66 |
938 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( line ))[3] - __s2[3]); | 0-66 |
939 | ))[3] - __s2[3]);TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( line ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : (__builtin_constant_p (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-66 |
940 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
941 | ) && ((size_t)(const void *)((TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
942 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
943 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
944 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
945 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
946 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
947 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
948 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
949 | ) && ((size_t)(const void *)((TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
950 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
951 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
952 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
953 | ) == 1) ? __builtin_strcmp (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
954 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
955 | , TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
956 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
957 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
958 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
959 | ); int __result = (((const unsigned char *) (const char *) (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
960 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
961 | ))[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 | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-66 |
962 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
963 | ))[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 | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-66 |
964 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
965 | ))[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 *) ( "----" ))[3] - __s2[3]); TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-66 |
966 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( "----" ))[3] - __s2[3]); | 0-66 |
967 | ))[3] - __s2[3]);TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( "----" ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : __builtin_strcmp (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 0-66 |
968 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
969 | , TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
970 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
971 | )))); }) : strncmp (TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
972 | lineTRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
973 | , TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
974 | "----"TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
975 | , TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
976 | 4TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
977 | ))) TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
| 12-66 |
978 | == 0TRUE | evaluated 12 times by 1 test | FALSE | evaluated 66 times by 1 test |
|| | 12-66 |
979 | strstr(line, ": ") != TRUE | evaluated 11 times by 1 test | FALSE | evaluated 55 times by 1 test |
| 11-55 |
980 | ((void *)0)TRUE | evaluated 11 times by 1 test | FALSE | evaluated 55 times by 1 test |
| 11-55 |
981 | ) { | - |
982 | if (strstr(line, "---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----") != TRUE | evaluated 4 times by 1 test | FALSE | evaluated 19 times by 1 test |
| 4-19 |
983 | ((void *)0)TRUE | evaluated 4 times by 1 test | FALSE | evaluated 19 times by 1 test |
| 4-19 |
984 | ) | - |
985 | *privateexecuted 4 times by 1 test: *private = 1; = 1;executed 4 times by 1 test: *private = 1; | 4 |
986 | if (strstr(line, " END ") != TRUE | evaluated 6 times by 1 test | FALSE | evaluated 17 times by 1 test |
| 6-17 |
987 | ((void *)0)TRUE | evaluated 6 times by 1 test | FALSE | evaluated 17 times by 1 test |
| 6-17 |
988 | ) { | - |
989 | break;executed 6 times by 1 test: break; | 6 |
990 | } | - |
991 | | - |
992 | continue;executed 17 times by 1 test: continue; | 17 |
993 | } | - |
994 | if (escapedTRUE | never evaluated | FALSE | evaluated 55 times by 1 test |
) { | 0-55 |
995 | escaped--; | - |
996 | | - |
997 | continue; never executed: continue; | 0 |
998 | } | - |
999 | strlcat(encoded, line, sizeof(encoded)); | - |
1000 | }executed 55 times by 1 test: end of block | 55 |
1001 | len = strlen(encoded); | - |
1002 | if (((TRUE | never evaluated | FALSE | evaluated 6 times by 1 test |
len % 4) == 3)TRUE | never evaluated | FALSE | evaluated 6 times by 1 test |
&& | 0-6 |
1003 | (TRUE | never evaluated | FALSE | never evaluated |
encoded[len-1] == '=')TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
1004 | (TRUE | never evaluated | FALSE | never evaluated |
encoded[len-2] == '=')TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
1005 | (TRUE | never evaluated | FALSE | never evaluated |
encoded[len-3] == '=')TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1006 | encoded[len-3] = '\0'; never executed: encoded[len-3] = '\0'; | 0 |
1007 | blen = uudecode(encoded, blob, sizeof(blob)); | - |
1008 | if (blen < 0TRUE | never evaluated | FALSE | evaluated 6 times by 1 test |
) | 0-6 |
1009 | fatal("uudecode failed."); never executed: fatal("uudecode failed."); | 0 |
1010 | if (*privateTRUE | evaluated 4 times by 1 test | FALSE | evaluated 2 times by 1 test |
) | 2-4 |
1011 | *executed 4 times by 1 test: *k = do_convert_private_ssh2_from_blob(blob, blen); k = do_convert_private_ssh2_from_blob(blob, blen);executed 4 times by 1 test: *k = do_convert_private_ssh2_from_blob(blob, blen); | 4 |
1012 | else if ((TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
r = sshkey_from_blob(blob, blen, k)) != 0TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) | 0-2 |
1013 | fatal("decode blob failed: %s", ssh_err(r)); never executed: fatal("decode blob failed: %s", ssh_err(r)); | 0 |
1014 | fclose(fp); | - |
1015 | }executed 6 times by 1 test: end of block | 6 |
1016 | | - |
1017 | static void | - |
1018 | do_convert_from_pkcs8(struct sshkey **k, int *private) | - |
1019 | { | - |
1020 | EVP_PKEY *pubkey; | - |
1021 | FILE *fp; | - |
1022 | | - |
1023 | if ((TRUE | never evaluated | FALSE | never evaluated |
fp = fopen(identity_file, "r")) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1024 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1025 | ) | - |
1026 | fatal("%s: %s: %s", __progname, identity_file, strerror( never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
1027 | (*__errno_location ()) never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
1028 | )); never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
1029 | if ((TRUE | never evaluated | FALSE | never evaluated |
pubkey = PEM_read_PUBKEY(fp, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1030 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1031 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1032 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1033 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1034 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1035 | )) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1036 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1037 | ) { | - |
1038 | fatal("%s: %s is not a recognised public key format", __func__, | - |
1039 | identity_file); | - |
1040 | } never executed: end of block | 0 |
1041 | fclose(fp); | - |
1042 | switch (EVP_PKEY_base_id(pubkey)) { | - |
1043 | case never executed: case 6 : never executed: case 6 : | 0 |
1044 | 6 never executed: case 6 : | 0 |
1045 | : never executed: case 6 : | 0 |
1046 | if ((*TRUE | never evaluated | FALSE | never evaluated |
k = sshkey_new(KEY_UNSPEC)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1047 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1048 | ) | - |
1049 | fatal("sshkey_new failed"); never executed: fatal("sshkey_new failed"); | 0 |
1050 | (*k)->type = KEY_RSA; | - |
1051 | (*k)->rsa = EVP_PKEY_get1_RSA(pubkey); | - |
1052 | break; never executed: break; | 0 |
1053 | case never executed: case 116 : never executed: case 116 : | 0 |
1054 | 116 never executed: case 116 : | 0 |
1055 | : never executed: case 116 : | 0 |
1056 | if ((*TRUE | never evaluated | FALSE | never evaluated |
k = sshkey_new(KEY_UNSPEC)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1057 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1058 | ) | - |
1059 | fatal("sshkey_new failed"); never executed: fatal("sshkey_new failed"); | 0 |
1060 | (*k)->type = KEY_DSA; | - |
1061 | (*k)->dsa = EVP_PKEY_get1_DSA(pubkey); | - |
1062 | break; never executed: break; | 0 |
1063 | | - |
1064 | case never executed: case 408 : never executed: case 408 : | 0 |
1065 | 408 never executed: case 408 : | 0 |
1066 | : never executed: case 408 : | 0 |
1067 | if ((*TRUE | never evaluated | FALSE | never evaluated |
k = sshkey_new(KEY_UNSPEC)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1068 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1069 | ) | - |
1070 | fatal("sshkey_new failed"); never executed: fatal("sshkey_new failed"); | 0 |
1071 | (*k)->type = KEY_ECDSA; | - |
1072 | (*k)->ecdsa = EVP_PKEY_get1_EC_KEY(pubkey); | - |
1073 | (*k)->ecdsa_nid = sshkey_ecdsa_key_to_nid((*k)->ecdsa); | - |
1074 | break; never executed: break; | 0 |
1075 | | - |
1076 | default never executed: default: :never executed: default: | 0 |
1077 | fatal("%s: unsupported pubkey type %d", __func__, | - |
1078 | EVP_PKEY_base_id(pubkey)); | - |
1079 | } never executed: end of block | 0 |
1080 | EVP_PKEY_free(pubkey); | - |
1081 | return; never executed: return; | 0 |
1082 | } | - |
1083 | | - |
1084 | static void | - |
1085 | do_convert_from_pem(struct sshkey **k, int *private) | - |
1086 | { | - |
1087 | FILE *fp; | - |
1088 | RSA *rsa; | - |
1089 | | - |
1090 | if ((TRUE | never evaluated | FALSE | never evaluated |
fp = fopen(identity_file, "r")) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1091 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1092 | ) | - |
1093 | fatal("%s: %s: %s", __progname, identity_file, strerror( never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
1094 | (*__errno_location ()) never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
1095 | )); never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
1096 | if ((TRUE | never evaluated | FALSE | never evaluated |
rsa = PEM_read_RSAPublicKey(fp, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1097 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1098 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1099 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1100 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1101 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1102 | )) != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1103 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1104 | ) { | - |
1105 | if ((*TRUE | never evaluated | FALSE | never evaluated |
k = sshkey_new(KEY_UNSPEC)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1106 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1107 | ) | - |
1108 | fatal("sshkey_new failed"); never executed: fatal("sshkey_new failed"); | 0 |
1109 | (*k)->type = KEY_RSA; | - |
1110 | (*k)->rsa = rsa; | - |
1111 | fclose(fp); | - |
1112 | return; never executed: return; | 0 |
1113 | } | - |
1114 | fatal("%s: unrecognised raw private key format", __func__); | - |
1115 | } never executed: end of block | 0 |
1116 | | - |
1117 | static void | - |
1118 | do_convert_from(struct passwd *pw) | - |
1119 | { | - |
1120 | struct sshkey *k = | - |
1121 | ((void *)0) | - |
1122 | ; | - |
1123 | int r, private = 0, ok = 0; | - |
1124 | struct stat st; | - |
1125 | | - |
1126 | if (!have_identityTRUE | never evaluated | FALSE | evaluated 6 times by 1 test |
) | 0-6 |
1127 | ask_filename(pw, "Enter file in which the key is"); never executed: ask_filename(pw, "Enter file in which the key is"); | 0 |
1128 | if (stat(identity_file, &st) < 0TRUE | never evaluated | FALSE | evaluated 6 times by 1 test |
) | 0-6 |
1129 | fatal("%s: %s: %s", __progname, identity_file, strerror( never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
1130 | (*__errno_location ()) never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
1131 | )); never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
1132 | | - |
1133 | switch (convert_format) { | - |
1134 | caseexecuted 6 times by 1 test: case FMT_RFC4716: FMT_RFC4716:executed 6 times by 1 test: case FMT_RFC4716: | 6 |
1135 | do_convert_from_ssh2(pw, &k, &private); | - |
1136 | break;executed 6 times by 1 test: break; | 6 |
1137 | case never executed: case FMT_PKCS8: FMT_PKCS8:never executed: case FMT_PKCS8: | 0 |
1138 | do_convert_from_pkcs8(&k, &private); | - |
1139 | break; never executed: break; | 0 |
1140 | case never executed: case FMT_PEM: FMT_PEM:never executed: case FMT_PEM: | 0 |
1141 | do_convert_from_pem(&k, &private); | - |
1142 | break; never executed: break; | 0 |
1143 | default never executed: default: :never executed: default: | 0 |
1144 | fatal("%s: unknown key format %d", __func__, convert_format); | - |
1145 | } never executed: end of block | 0 |
1146 | | - |
1147 | if (!privateTRUE | evaluated 2 times by 1 test | FALSE | evaluated 4 times by 1 test |
) { | 2-4 |
1148 | if ((TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
r = sshkey_write(k, TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
| 0-2 |
1149 | stdoutTRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
| 0-2 |
1150 | )) == 0TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
) | 0-2 |
1151 | ok = 1;executed 2 times by 1 test: ok = 1; | 2 |
1152 | if (okTRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
) | 0-2 |
1153 | fprintf(executed 2 times by 1 test: fprintf( stdout , "\n"); | 2 |
1154 | stdoutexecuted 2 times by 1 test: fprintf( stdout , "\n"); | 2 |
1155 | , "\n");executed 2 times by 1 test: fprintf( stdout , "\n"); | 2 |
1156 | }executed 2 times by 1 test: end of block else { | 2 |
1157 | switch (k->type) { | - |
1158 | caseexecuted 1 time by 1 test: case KEY_DSA: KEY_DSA:executed 1 time by 1 test: case KEY_DSA: | 1 |
1159 | ok = PEM_write_DSAPrivateKey( | - |
1160 | stdout | - |
1161 | , k->dsa, | - |
1162 | ((void *)0) | - |
1163 | , | - |
1164 | | - |
1165 | ((void *)0) | - |
1166 | , 0, | - |
1167 | ((void *)0) | - |
1168 | , | - |
1169 | ((void *)0) | - |
1170 | ); | - |
1171 | break;executed 1 time by 1 test: break; | 1 |
1172 | | - |
1173 | case never executed: case KEY_ECDSA: KEY_ECDSA:never executed: case KEY_ECDSA: | 0 |
1174 | ok = PEM_write_ECPrivateKey( | - |
1175 | stdout | - |
1176 | , k->ecdsa, | - |
1177 | ((void *)0) | - |
1178 | , | - |
1179 | | - |
1180 | ((void *)0) | - |
1181 | , 0, | - |
1182 | ((void *)0) | - |
1183 | , | - |
1184 | ((void *)0) | - |
1185 | ); | - |
1186 | break; never executed: break; | 0 |
1187 | | - |
1188 | caseexecuted 3 times by 1 test: case KEY_RSA: KEY_RSA:executed 3 times by 1 test: case KEY_RSA: | 3 |
1189 | ok = PEM_write_RSAPrivateKey( | - |
1190 | stdout | - |
1191 | , k->rsa, | - |
1192 | ((void *)0) | - |
1193 | , | - |
1194 | | - |
1195 | ((void *)0) | - |
1196 | , 0, | - |
1197 | ((void *)0) | - |
1198 | , | - |
1199 | ((void *)0) | - |
1200 | ); | - |
1201 | break;executed 3 times by 1 test: break; | 3 |
1202 | default never executed: default: :never executed: default: | 0 |
1203 | fatal("%s: unsupported key type %s", __func__, | - |
1204 | sshkey_type(k)); | - |
1205 | } never executed: end of block | 0 |
1206 | } | - |
1207 | | - |
1208 | if (!okTRUE | never evaluated | FALSE | evaluated 6 times by 1 test |
) | 0-6 |
1209 | fatal("key write failed"); never executed: fatal("key write failed"); | 0 |
1210 | sshkey_free(k); | - |
1211 | exit(0);executed 6 times by 1 test: exit(0); | 6 |
1212 | } | - |
1213 | | - |
1214 | | - |
1215 | static void | - |
1216 | do_print_public(struct passwd *pw) | - |
1217 | { | - |
1218 | struct sshkey *prv; | - |
1219 | struct stat st; | - |
1220 | int r; | - |
1221 | | - |
1222 | if (!have_identityTRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) | 0-2 |
1223 | ask_filename(pw, "Enter file in which the key is"); never executed: ask_filename(pw, "Enter file in which the key is"); | 0 |
1224 | if (stat(identity_file, &st) < 0TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) | 0-2 |
1225 | fatal("%s: %s", identity_file, strerror( never executed: fatal("%s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
1226 | (*__errno_location ()) never executed: fatal("%s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
1227 | )); never executed: fatal("%s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
1228 | prv = load_identity(identity_file); | - |
1229 | if ((TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
r = sshkey_write(prv, TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
1230 | stdoutTRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
1231 | )) != 0TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) | 0-2 |
1232 | error("sshkey_write failed: %s", ssh_err(r)); never executed: error("sshkey_write failed: %s", ssh_err(r)); | 0 |
1233 | sshkey_free(prv); | - |
1234 | fprintf( | - |
1235 | stdout | - |
1236 | , "\n"); | - |
1237 | exit(0);executed 2 times by 1 test: exit(0); | 2 |
1238 | } | - |
1239 | | - |
1240 | static void | - |
1241 | do_download(struct passwd *pw) | - |
1242 | { | - |
1243 | | - |
1244 | struct sshkey **keys = | - |
1245 | ((void *)0) | - |
1246 | ; | - |
1247 | int i, nkeys; | - |
1248 | enum sshkey_fp_rep rep; | - |
1249 | int fptype; | - |
1250 | char *fp, *ra; | - |
1251 | | - |
1252 | fptype = print_bubblebabbleTRUE | never evaluated | FALSE | never evaluated |
? 1 : fingerprint_hash; | 0 |
1253 | rep = print_bubblebabbleTRUE | never evaluated | FALSE | never evaluated |
? SSH_FP_BUBBLEBABBLE : SSH_FP_DEFAULT; | 0 |
1254 | | - |
1255 | pkcs11_init(0); | - |
1256 | nkeys = pkcs11_add_provider(pkcs11provider, | - |
1257 | ((void *)0) | - |
1258 | , &keys); | - |
1259 | if (nkeys <= 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1260 | fatal("cannot read public key from pkcs11"); never executed: fatal("cannot read public key from pkcs11"); | 0 |
1261 | for (i = 0; i < nkeysTRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
1262 | if (print_fingerprintTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1263 | fp = sshkey_fingerprint(keys[i], fptype, rep); | - |
1264 | ra = sshkey_fingerprint(keys[i], fingerprint_hash, | - |
1265 | SSH_FP_RANDOMART); | - |
1266 | if (fp == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1267 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1268 | || ra == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1269 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1270 | ) | - |
1271 | fatal("%s: sshkey_fingerprint fail", __func__); never executed: fatal("%s: sshkey_fingerprint fail", __func__); | 0 |
1272 | printf("%u %s %s (PKCS11 key)\n", sshkey_size(keys[i]), | - |
1273 | fp, sshkey_type(keys[i])); | - |
1274 | if (log_level >= SYSLOG_LEVEL_VERBOSETRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1275 | printf("%s\n", ra); never executed: printf("%s\n", ra); | 0 |
1276 | free(ra); | - |
1277 | free(fp); | - |
1278 | } never executed: end of block else { | 0 |
1279 | (void) sshkey_write(keys[i], | - |
1280 | stdout | - |
1281 | ); | - |
1282 | fprintf( | - |
1283 | stdout | - |
1284 | , "\n"); | - |
1285 | } never executed: end of block | 0 |
1286 | sshkey_free(keys[i]); | - |
1287 | } never executed: end of block | 0 |
1288 | free(keys); | - |
1289 | pkcs11_terminate(); | - |
1290 | exit(0); never executed: exit(0); | 0 |
1291 | | - |
1292 | | - |
1293 | | - |
1294 | } | - |
1295 | | - |
1296 | static struct sshkey * | - |
1297 | try_read_key(char **cpp) | - |
1298 | { | - |
1299 | struct sshkey *ret; | - |
1300 | int r; | - |
1301 | | - |
1302 | if ((TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
ret = sshkey_new(KEY_UNSPEC)) == TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
1303 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
1304 | ) | - |
1305 | fatal("sshkey_new failed"); never executed: fatal("sshkey_new failed"); | 0 |
1306 | if ((TRUE | evaluated 4 times by 1 test | FALSE | never evaluated |
r = sshkey_read(ret, cpp)) == 0TRUE | evaluated 4 times by 1 test | FALSE | never evaluated |
) | 0-4 |
1307 | returnexecuted 4 times by 1 test: return ret; ret;executed 4 times by 1 test: return ret; | 4 |
1308 | | - |
1309 | sshkey_free(ret); | - |
1310 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
1311 | ((void *)0) never executed: return ((void *)0) ; | 0 |
1312 | ; never executed: return ((void *)0) ; | 0 |
1313 | } | - |
1314 | | - |
1315 | static void | - |
1316 | fingerprint_one_key(const struct sshkey *public, const char *comment) | - |
1317 | { | - |
1318 | char *fp = | - |
1319 | ((void *)0) | - |
1320 | , *ra = | - |
1321 | ((void *)0) | - |
1322 | ; | - |
1323 | enum sshkey_fp_rep rep; | - |
1324 | int fptype; | - |
1325 | | - |
1326 | fptype = print_bubblebabbleTRUE | evaluated 5 times by 1 test | FALSE | evaluated 7 times by 1 test |
? 1 : fingerprint_hash; | 5-7 |
1327 | rep = print_bubblebabbleTRUE | evaluated 5 times by 1 test | FALSE | evaluated 7 times by 1 test |
? SSH_FP_BUBBLEBABBLE : SSH_FP_DEFAULT; | 5-7 |
1328 | fp = sshkey_fingerprint(public, fptype, rep); | - |
1329 | ra = sshkey_fingerprint(public, fingerprint_hash, SSH_FP_RANDOMART); | - |
1330 | if (fp == TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1331 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1332 | || ra == TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1333 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1334 | ) | - |
1335 | fatal("%s: sshkey_fingerprint failed", __func__); never executed: fatal("%s: sshkey_fingerprint failed", __func__); | 0 |
1336 | mprintf("%u %s %s (%s)\n", sshkey_size(public), fp, | - |
1337 | comment ? comment : "no comment", sshkey_type(public)); | - |
1338 | if (log_level >= SYSLOG_LEVEL_VERBOSETRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
) | 0-12 |
1339 | printf("%s\n", ra); never executed: printf("%s\n", ra); | 0 |
1340 | free(ra); | - |
1341 | free(fp); | - |
1342 | }executed 12 times by 1 test: end of block | 12 |
1343 | | - |
1344 | static void | - |
1345 | fingerprint_private(const char *path) | - |
1346 | { | - |
1347 | struct stat st; | - |
1348 | char *comment = | - |
1349 | ((void *)0) | - |
1350 | ; | - |
1351 | struct sshkey *public = | - |
1352 | ((void *)0) | - |
1353 | ; | - |
1354 | int r; | - |
1355 | | - |
1356 | if (stat(identity_file, &st) < 0TRUE | never evaluated | FALSE | evaluated 8 times by 1 test |
) | 0-8 |
1357 | fatal("%s: %s", path, strerror( never executed: fatal("%s: %s", path, strerror( (*__errno_location ()) )); | 0 |
1358 | (*__errno_location ()) never executed: fatal("%s: %s", path, strerror( (*__errno_location ()) )); | 0 |
1359 | )); never executed: fatal("%s: %s", path, strerror( (*__errno_location ()) )); | 0 |
1360 | if ((TRUE | never evaluated | FALSE | evaluated 8 times by 1 test |
r = sshkey_load_public(path, &public, &comment)) != 0TRUE | never evaluated | FALSE | evaluated 8 times by 1 test |
) { | 0-8 |
1361 | debug("load public \"%s\": %s", path, ssh_err(r)); | - |
1362 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_load_private(path, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1363 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1364 | ,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1365 | &public, &comment)) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1366 | debug("load private \"%s\": %s", path, ssh_err(r)); | - |
1367 | fatal("%s is not a key file.", path); | - |
1368 | } never executed: end of block | 0 |
1369 | } never executed: end of block | 0 |
1370 | | - |
1371 | fingerprint_one_key(public, comment); | - |
1372 | sshkey_free(public); | - |
1373 | free(comment); | - |
1374 | }executed 8 times by 1 test: end of block | 8 |
1375 | | - |
1376 | static void | - |
1377 | do_fingerprint(struct passwd *pw) | - |
1378 | { | - |
1379 | FILE *f; | - |
1380 | struct sshkey *public = | - |
1381 | ((void *)0) | - |
1382 | ; | - |
1383 | char *comment = | - |
1384 | ((void *)0) | - |
1385 | , *cp, *ep, *line = | - |
1386 | ((void *)0) | - |
1387 | ; | - |
1388 | size_t linesize = 0; | - |
1389 | int i, invalid = 1; | - |
1390 | const char *path; | - |
1391 | u_long lnum = 0; | - |
1392 | | - |
1393 | if (!have_identityTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
) | 0-12 |
1394 | ask_filename(pw, "Enter file in which the key is"); never executed: ask_filename(pw, "Enter file in which the key is"); | 0 |
1395 | path = identity_file; | - |
1396 | | - |
1397 | if ( | - |
1398 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1399 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1400 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1401 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1402 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1403 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1404 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1405 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1406 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1407 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1408 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1409 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1410 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1411 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1412 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1413 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1414 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1415 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1416 | , TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1417 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1418 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1419 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1420 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1421 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1422 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1423 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1424 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1425 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1426 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1427 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1428 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1429 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1430 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1431 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1432 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1433 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1434 | , TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1435 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1436 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1437 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1438 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1439 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1440 | ))[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 | evaluated 12 times by 1 test |
| 0-12 |
1441 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1442 | ))[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 | evaluated 12 times by 1 test |
| 0-12 |
1443 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1444 | ))[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 *) ( identity_file ))[3] - __s2[3]); TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1445 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( identity_file ))[3] - __s2[3]); | 0-12 |
1446 | ))[3] - __s2[3]);TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( identity_file ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1447 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1448 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1449 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1450 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1451 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1452 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1453 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1454 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1455 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1456 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1457 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1458 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1459 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1460 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1461 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1462 | , TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1463 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1464 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1465 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1466 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1467 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1468 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1469 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1470 | ))[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 | evaluated 12 times by 1 test |
| 0-12 |
1471 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1472 | ))[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 *) ( "-" ))[3] - __s2[3]); TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1473 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( "-" ))[3] - __s2[3]); | 0-12 |
1474 | ))[3] - __s2[3]);TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( "-" ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1475 | identity_fileTRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1476 | , TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1477 | "-"TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1478 | )))); }) TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1479 | == 0TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
) { | 0-12 |
1480 | f = | - |
1481 | stdin | - |
1482 | ; | - |
1483 | path = "(stdin)"; | - |
1484 | } never executed: end of block else if ((TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
f = fopen(path, "r")) == TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1485 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
| 0-12 |
1486 | ) | - |
1487 | fatal("%s: %s: %s", __progname, path, strerror( never executed: fatal("%s: %s: %s", __progname, path, strerror( (*__errno_location ()) )); | 0 |
1488 | (*__errno_location ()) never executed: fatal("%s: %s: %s", __progname, path, strerror( (*__errno_location ()) )); | 0 |
1489 | )); never executed: fatal("%s: %s: %s", __progname, path, strerror( (*__errno_location ()) )); | 0 |
1490 | | - |
1491 | while (getline(&line, &linesize, f) != -1TRUE | evaluated 12 times by 1 test | FALSE | evaluated 4 times by 1 test |
) { | 4-12 |
1492 | lnum++; | - |
1493 | cp = line; | - |
1494 | cp[ | - |
1495 | __builtin_strcspn ( | - |
1496 | cp | - |
1497 | , | - |
1498 | "\n" | - |
1499 | ) | - |
1500 | ] = '\0'; | - |
1501 | | - |
1502 | cp = line + | - |
1503 | __builtin_strspn ( | - |
1504 | line | - |
1505 | , | - |
1506 | " \t" | - |
1507 | ) | - |
1508 | ; | - |
1509 | if (*TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
cp == '#'TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
|| *TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
cp == '\0'TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
) | 0-12 |
1510 | continue; never executed: continue; | 0 |
1511 | if (lnum == 1TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
&& | 0-12 |
1512 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1513 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1514 | ) && __builtin_constant_p (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1515 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1516 | ) && (__s1_len = __builtin_strlen (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1517 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1518 | ), __s2_len = __builtin_strlen (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1519 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1520 | ), (!((size_t)(const void *)((TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1521 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1522 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1523 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1524 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1525 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1526 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1527 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1528 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1529 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1530 | , TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1531 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1532 | ) : (__builtin_constant_p (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1533 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1534 | ) && ((size_t)(const void *)((TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1535 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1536 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1537 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1538 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1539 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1540 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1541 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1542 | ) && ((size_t)(const void *)((TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1543 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1544 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1545 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1546 | ) == 1) ? __builtin_strcmp (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1547 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1548 | , TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1549 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1550 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1551 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1552 | ); int __result = (((const unsigned char *) (const char *) (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1553 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1554 | ))[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 | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1555 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1556 | ))[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 | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1557 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1558 | ))[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 *) ( identity_file ))[3] - __s2[3]); TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1559 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( identity_file ))[3] - __s2[3]); | 0-12 |
1560 | ))[3] - __s2[3]);TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( identity_file ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : (__builtin_constant_p (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1561 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1562 | ) && ((size_t)(const void *)((TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1563 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1564 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1565 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1566 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1567 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1568 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1569 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1570 | ) && ((size_t)(const void *)((TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1571 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1572 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1573 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1574 | ) == 1) ? __builtin_strcmp (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1575 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1576 | , TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1577 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1578 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1579 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1580 | ); int __result = (((const unsigned char *) (const char *) (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1581 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1582 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | evaluated 12 times by 1 test |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1583 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1584 | ))[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 | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1585 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1586 | ))[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 *) ( "-" ))[3] - __s2[3]); TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1587 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "-" ))[3] - __s2[3]); | 0-12 |
1588 | ))[3] - __s2[3]);TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "-" ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : __builtin_strcmp (TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1589 | identity_fileTRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1590 | , TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1591 | "-"TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1592 | )))); }) TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
| 0-12 |
1593 | != 0TRUE | evaluated 12 times by 1 test | FALSE | never evaluated |
&& | 0-12 |
1594 | strstr(cp, "PRIVATE KEY") != TRUE | evaluated 8 times by 1 test | FALSE | evaluated 4 times by 1 test |
| 4-8 |
1595 | ((void *)0)TRUE | evaluated 8 times by 1 test | FALSE | evaluated 4 times by 1 test |
| 4-8 |
1596 | ) { | - |
1597 | free(line); | - |
1598 | fclose(f); | - |
1599 | fingerprint_private(path); | - |
1600 | exit(0);executed 8 times by 1 test: exit(0); | 8 |
1601 | } | - |
1602 | | - |
1603 | | - |
1604 | | - |
1605 | | - |
1606 | | - |
1607 | | - |
1608 | if ((publicTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
= try_read_key(&cp)) == TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
1609 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
1610 | ) { | - |
1611 | i = strtol(cp, &ep, 10); | - |
1612 | if (i == 0TRUE | never evaluated | FALSE | never evaluated |
|| ep == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1613 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1614 | || | - |
1615 | (*TRUE | never evaluated | FALSE | never evaluated |
ep != ' 'TRUE | never evaluated | FALSE | never evaluated |
&& *TRUE | never evaluated | FALSE | never evaluated |
ep != '\t'TRUE | never evaluated | FALSE | never evaluated |
)) { | 0 |
1616 | int quoted = 0; | - |
1617 | | - |
1618 | comment = cp; | - |
1619 | for (; *TRUE | never evaluated | FALSE | never evaluated |
cpTRUE | never evaluated | FALSE | never evaluated |
&& (quotedTRUE | never evaluated | FALSE | never evaluated |
|| (*TRUE | never evaluated | FALSE | never evaluated |
cp != ' 'TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
1620 | *TRUE | never evaluated | FALSE | never evaluated |
cp != '\t'TRUE | never evaluated | FALSE | never evaluated |
)); cp++) { | 0 |
1621 | if (*TRUE | never evaluated | FALSE | never evaluated |
cp == '\\'TRUE | never evaluated | FALSE | never evaluated |
&& cp[1] == '"'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1622 | cp++; never executed: cp++; | 0 |
1623 | else if (*TRUE | never evaluated | FALSE | never evaluated |
cp == '"'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1624 | quoted = !quoted; never executed: quoted = !quoted; | 0 |
1625 | } never executed: end of block | 0 |
1626 | if (!*cpTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1627 | continue; never executed: continue; | 0 |
1628 | *cp++ = '\0'; | - |
1629 | } never executed: end of block | 0 |
1630 | } never executed: end of block | 0 |
1631 | | - |
1632 | if (publicTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
== TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
1633 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
| 0-4 |
1634 | && (publicTRUE | never evaluated | FALSE | never evaluated |
= try_read_key(&cp)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1635 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1636 | ) { | - |
1637 | debug("%s:%lu: not a public key", path, lnum); | - |
1638 | continue; never executed: continue; | 0 |
1639 | } | - |
1640 | | - |
1641 | | - |
1642 | for (; *TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
cp == ' 'TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
|| *TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
cp == '\t'TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
; cp++) | 0-4 |
1643 | ; never executed: ; | 0 |
1644 | if (*TRUE | evaluated 1 time by 1 test | FALSE | evaluated 3 times by 1 test |
cp != '\0'TRUE | evaluated 1 time by 1 test | FALSE | evaluated 3 times by 1 test |
&& *TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
cp != '#'TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
) | 0-3 |
1645 | comment = cp;executed 1 time by 1 test: comment = cp; | 1 |
1646 | | - |
1647 | fingerprint_one_key(public, comment); | - |
1648 | sshkey_free(public); | - |
1649 | invalid = 0; | - |
1650 | }executed 4 times by 1 test: end of block | 4 |
1651 | fclose(f); | - |
1652 | free(line); | - |
1653 | | - |
1654 | if (invalidTRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
) | 0-4 |
1655 | fatal("%s is not a public key file.", path); never executed: fatal("%s is not a public key file.", path); | 0 |
1656 | exit(0);executed 4 times by 1 test: exit(0); | 4 |
1657 | } | - |
1658 | | - |
1659 | static void | - |
1660 | do_gen_all_hostkeys(struct passwd *pw) | - |
1661 | { | - |
1662 | struct { | - |
1663 | char *key_type; | - |
1664 | char *key_type_display; | - |
1665 | char *path; | - |
1666 | } key_types[] = { | - |
1667 | | - |
1668 | { "rsa", "RSA" ,"/var/tmp/openssh-test/etc" "/ssh_host_rsa_key" }, | - |
1669 | { "dsa", "DSA", "/var/tmp/openssh-test/etc" "/ssh_host_dsa_key" }, | - |
1670 | | - |
1671 | { "ecdsa", "ECDSA","/var/tmp/openssh-test/etc" "/ssh_host_ecdsa_key" }, | - |
1672 | | - |
1673 | | - |
1674 | { "ed25519", "ED25519","/var/tmp/openssh-test/etc" "/ssh_host_ed25519_key" }, | - |
1675 | | - |
1676 | | - |
1677 | | - |
1678 | { | - |
1679 | ((void *)0) | - |
1680 | , | - |
1681 | ((void *)0) | - |
1682 | , | - |
1683 | ((void *)0) | - |
1684 | } | - |
1685 | }; | - |
1686 | | - |
1687 | int first = 0; | - |
1688 | struct stat st; | - |
1689 | struct sshkey *private, *public; | - |
1690 | char comment[1024], *prv_tmp, *pub_tmp, *prv_file, *pub_file; | - |
1691 | int i, type, fd, r; | - |
1692 | FILE *f; | - |
1693 | | - |
1694 | for (i = 0; key_types[i].key_typeTRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
1695 | public = private = | - |
1696 | ((void *)0) | - |
1697 | ; | - |
1698 | prv_tmp = pub_tmp = prv_file = pub_file = | - |
1699 | ((void *)0) | - |
1700 | ; | - |
1701 | | - |
1702 | xasprintf(&prv_file, "%s%s", | - |
1703 | identity_file, key_types[i].path); | - |
1704 | | - |
1705 | | - |
1706 | if (stat(prv_file, &st) == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1707 | if (st.st_size != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1708 | goto never executed: goto next; next;never executed: goto next; | 0 |
1709 | } never executed: end of block else if ( | 0 |
1710 | (*TRUE | never evaluated | FALSE | never evaluated |
__errno_location ()) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1711 | != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1712 | 2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1713 | ) { | - |
1714 | error("Could not stat %s: %s", key_types[i].path, | - |
1715 | strerror( | - |
1716 | (*__errno_location ()) | - |
1717 | )); | - |
1718 | goto never executed: goto failnext; failnext;never executed: goto failnext; | 0 |
1719 | } | - |
1720 | | - |
1721 | | - |
1722 | | - |
1723 | | - |
1724 | | - |
1725 | xasprintf(&prv_tmp, "%s%s.XXXXXXXXXX", | - |
1726 | identity_file, key_types[i].path); | - |
1727 | xasprintf(&pub_tmp, "%s%s.pub.XXXXXXXXXX", | - |
1728 | identity_file, key_types[i].path); | - |
1729 | xasprintf(&pub_file, "%s%s.pub", | - |
1730 | identity_file, key_types[i].path); | - |
1731 | | - |
1732 | if (first == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1733 | first = 1; | - |
1734 | printf("%s: generating new host keys: ", __progname); | - |
1735 | } never executed: end of block | 0 |
1736 | printf("%s ", key_types[i].key_type_display); | - |
1737 | fflush( | - |
1738 | stdout | - |
1739 | ); | - |
1740 | type = sshkey_type_from_name(key_types[i].key_type); | - |
1741 | if ((TRUE | never evaluated | FALSE | never evaluated |
fd = mkstemp(prv_tmp)) == -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1742 | error("Could not save your public key in %s: %s", | - |
1743 | prv_tmp, strerror( | - |
1744 | (*__errno_location ()) | - |
1745 | )); | - |
1746 | goto never executed: goto failnext; failnext;never executed: goto failnext; | 0 |
1747 | } | - |
1748 | close(fd); | - |
1749 | bits = 0; | - |
1750 | type_bits_valid(type, | - |
1751 | ((void *)0) | - |
1752 | , &bits); | - |
1753 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_generate(type, bits, &private)) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1754 | error("sshkey_generate failed: %s", ssh_err(r)); | - |
1755 | goto never executed: goto failnext; failnext;never executed: goto failnext; | 0 |
1756 | } | - |
1757 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_from_private(private, &public)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1758 | fatal("sshkey_from_private failed: %s", ssh_err(r)); never executed: fatal("sshkey_from_private failed: %s", ssh_err(r)); | 0 |
1759 | snprintf(comment, sizeof comment, "%s@%s", pw->pw_name, | - |
1760 | hostname); | - |
1761 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_save_private(private, prv_tmp, "",TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1762 | comment, use_new_format, new_format_cipher, rounds)) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1763 | error("Saving key \"%s\" failed: %s", | - |
1764 | prv_tmp, ssh_err(r)); | - |
1765 | goto never executed: goto failnext; failnext;never executed: goto failnext; | 0 |
1766 | } | - |
1767 | if ((TRUE | never evaluated | FALSE | never evaluated |
fd = mkstemp(pub_tmp)) == -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1768 | error("Could not save your public key in %s: %s", | - |
1769 | pub_tmp, strerror( | - |
1770 | (*__errno_location ()) | - |
1771 | )); | - |
1772 | goto never executed: goto failnext; failnext;never executed: goto failnext; | 0 |
1773 | } | - |
1774 | (void)fchmod(fd, 0644); | - |
1775 | f = fdopen(fd, "w"); | - |
1776 | if (f == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1777 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1778 | ) { | - |
1779 | error("fdopen %s failed: %s", pub_tmp, strerror( | - |
1780 | (*__errno_location ()) | - |
1781 | )); | - |
1782 | close(fd); | - |
1783 | goto never executed: goto failnext; failnext;never executed: goto failnext; | 0 |
1784 | } | - |
1785 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_write(public, f)) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1786 | error("write key failed: %s", ssh_err(r)); | - |
1787 | fclose(f); | - |
1788 | goto never executed: goto failnext; failnext;never executed: goto failnext; | 0 |
1789 | } | - |
1790 | fprintf(f, " %s\n", comment); | - |
1791 | if (ferror(f) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1792 | error("write key failed: %s", strerror( | - |
1793 | (*__errno_location ()) | - |
1794 | )); | - |
1795 | fclose(f); | - |
1796 | goto never executed: goto failnext; failnext;never executed: goto failnext; | 0 |
1797 | } | - |
1798 | if (fclose(f) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1799 | error("key close failed: %s", strerror( | - |
1800 | (*__errno_location ()) | - |
1801 | )); | - |
1802 | goto never executed: goto failnext; failnext;never executed: goto failnext; | 0 |
1803 | } | - |
1804 | | - |
1805 | | - |
1806 | if (rename(pub_tmp, pub_file) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1807 | error("Unable to move %s into position: %s", | - |
1808 | pub_file, strerror( | - |
1809 | (*__errno_location ()) | - |
1810 | )); | - |
1811 | goto never executed: goto failnext; failnext;never executed: goto failnext; | 0 |
1812 | } | - |
1813 | if (rename(prv_tmp, prv_file) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1814 | error("Unable to move %s into position: %s", | - |
1815 | key_types[i].path, strerror( | - |
1816 | (*__errno_location ()) | - |
1817 | )); | - |
1818 | failnext: code before this statement never executed: failnext: | 0 |
1819 | first = 0; | - |
1820 | goto never executed: goto next; next;never executed: goto next; | 0 |
1821 | } | - |
1822 | next: code before this statement never executed: next: | 0 |
1823 | sshkey_free(private); | - |
1824 | sshkey_free(public); | - |
1825 | free(prv_tmp); | - |
1826 | free(pub_tmp); | - |
1827 | free(prv_file); | - |
1828 | free(pub_file); | - |
1829 | } never executed: end of block | 0 |
1830 | if (first != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1831 | printf("\n"); never executed: printf("\n"); | 0 |
1832 | } never executed: end of block | 0 |
1833 | | - |
1834 | struct known_hosts_ctx { | - |
1835 | const char *host; | - |
1836 | FILE *out; | - |
1837 | int has_unhashed; | - |
1838 | int found_key; | - |
1839 | int invalid; | - |
1840 | }; | - |
1841 | | - |
1842 | static int | - |
1843 | known_hosts_hash(struct hostkey_foreach_line *l, void *_ctx) | - |
1844 | { | - |
1845 | struct known_hosts_ctx *ctx = (struct known_hosts_ctx *)_ctx; | - |
1846 | char *hashed, *cp, *hosts, *ohosts; | - |
1847 | int has_wild = l->hostsTRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
1848 | __builtin_strcspn (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1849 | l->hostsTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1850 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1851 | "*?!"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1852 | ) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1853 | != strlen(l->hosts)TRUE | never evaluated | FALSE | never evaluated |
; | 0 |
1854 | int was_hashed = l->hostsTRUE | never evaluated | FALSE | never evaluated |
&& l->hosts[0] == '|'TRUE | never evaluated | FALSE | never evaluated |
; | 0 |
1855 | | - |
1856 | switch (l->status) { | - |
1857 | case never executed: case 0: 0:never executed: case 0: | 0 |
1858 | case never executed: case 3: 3:never executed: case 3: | 0 |
1859 | | - |
1860 | | - |
1861 | | - |
1862 | | - |
1863 | if (was_hashedTRUE | never evaluated | FALSE | never evaluated |
|| has_wildTRUE | never evaluated | FALSE | never evaluated |
|| l->marker != MRK_NONETRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1864 | fprintf(ctx->out, "%s\n", l->line); | - |
1865 | if (has_wildTRUE | never evaluated | FALSE | never evaluated |
&& !find_hostTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1866 | logit("%s:%lu: ignoring host name " | - |
1867 | "with wildcard: %.64s", l->path, | - |
1868 | l->linenum, l->hosts); | - |
1869 | } never executed: end of block | 0 |
1870 | return never executed: return 0; 0;never executed: return 0; | 0 |
1871 | } | - |
1872 | | - |
1873 | | - |
1874 | | - |
1875 | | - |
1876 | ohosts = hosts = xstrdup(l->hosts); | - |
1877 | while ((TRUE | never evaluated | FALSE | never evaluated |
cp = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1878 | __extension__ ({ char __r0, __r1, __r2; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1879 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1880 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1881 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1882 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1883 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1884 | ) == 1) && (__r0 = ((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1885 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1886 | ))[0], ((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1887 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1888 | ))[0] != '\0') ? ((__r1 = ((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1889 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1890 | ))[1], ((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1891 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1892 | ))[1] == '\0') ? __strsep_1c (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1893 | &hostsTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1894 | , __r0) : ((__r2 = ((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1895 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1896 | ))[2], __r2 == '\0') ? __strsep_2c (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1897 | &hostsTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1898 | , __r0, __r1) : (((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1899 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1900 | ))[3] == '\0' ? __strsep_3c (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1901 | &hostsTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1902 | , __r0, __r1, __r2) : __strsep_g (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1903 | &hostsTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1904 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1905 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1906 | )))) : __strsep_g (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1907 | &hostsTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1908 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1909 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1910 | )); })TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1911 | ) != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1912 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1913 | && *TRUE | never evaluated | FALSE | never evaluated |
cp != '\0'TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1914 | lowercase(cp); | - |
1915 | if ((TRUE | never evaluated | FALSE | never evaluated |
hashed = host_hash(cp, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1916 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1917 | , 0)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1918 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1919 | ) | - |
1920 | fatal("hash_host failed"); never executed: fatal("hash_host failed"); | 0 |
1921 | fprintf(ctx->out, "%s %s\n", hashed, l->rawkey); | - |
1922 | ctx->has_unhashed = 1; | - |
1923 | } never executed: end of block | 0 |
1924 | free(ohosts); | - |
1925 | return never executed: return 0; 0;never executed: return 0; | 0 |
1926 | case never executed: case 1: 1:never executed: case 1: | 0 |
1927 | | - |
1928 | ctx->invalid = 1; | - |
1929 | logit("%s:%lu: invalid line", l->path, l->linenum); | - |
1930 | | - |
1931 | default never executed: default: :never executed: default: code before this statement never executed: default: | 0 |
1932 | fprintf(ctx->out, "%s\n", l->line); | - |
1933 | return never executed: return 0; 0;never executed: return 0; | 0 |
1934 | } | - |
1935 | | - |
1936 | return never executed: return -1; -1;never executed: return -1; | 0 |
1937 | } | - |
1938 | | - |
1939 | static int | - |
1940 | known_hosts_find_delete(struct hostkey_foreach_line *l, void *_ctx) | - |
1941 | { | - |
1942 | struct known_hosts_ctx *ctx = (struct known_hosts_ctx *)_ctx; | - |
1943 | enum sshkey_fp_rep rep; | - |
1944 | int fptype; | - |
1945 | char *fp; | - |
1946 | | - |
1947 | fptype = print_bubblebabbleTRUE | never evaluated | FALSE | never evaluated |
? 1 : fingerprint_hash; | 0 |
1948 | rep = print_bubblebabbleTRUE | never evaluated | FALSE | never evaluated |
? SSH_FP_BUBBLEBABBLE : SSH_FP_DEFAULT; | 0 |
1949 | | - |
1950 | if (l->status == 3TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1951 | if (delete_hostTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1952 | if (l->marker != MRK_NONETRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1953 | | - |
1954 | fprintf(ctx->out, "%s\n", l->line); | - |
1955 | } never executed: end of block else { | 0 |
1956 | | - |
1957 | | - |
1958 | | - |
1959 | | - |
1960 | | - |
1961 | ctx->found_key = 1; | - |
1962 | if (!quietTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1963 | printf("# Host %s found: line %lu\n", never executed: printf("# Host %s found: line %lu\n", ctx->host, l->linenum); | 0 |
1964 | ctx->host, l->linenum); never executed: printf("# Host %s found: line %lu\n", ctx->host, l->linenum); | 0 |
1965 | } never executed: end of block | 0 |
1966 | return never executed: return 0; 0;never executed: return 0; | 0 |
1967 | } else if (find_hostTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1968 | ctx->found_key = 1; | - |
1969 | if (!quietTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1970 | printf("# Host %s found: line %lu %s\n", | - |
1971 | ctx->host, | - |
1972 | l->linenum, l->marker == MRK_CA ? "CA" : | - |
1973 | (l->marker == MRK_REVOKE ? "REVOKED" : "")); | - |
1974 | } never executed: end of block | 0 |
1975 | if (hash_hostsTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1976 | known_hosts_hash(l, ctx); never executed: known_hosts_hash(l, ctx); | 0 |
1977 | else if (print_fingerprintTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1978 | fp = sshkey_fingerprint(l->key, fptype, rep); | - |
1979 | mprintf("%s %s %s %s\n", ctx->host, | - |
1980 | sshkey_type(l->key), fp, l->comment); | - |
1981 | free(fp); | - |
1982 | } never executed: end of block else | 0 |
1983 | fprintf(ctx->out, "%s\n", l->line); never executed: fprintf(ctx->out, "%s\n", l->line); | 0 |
1984 | return never executed: return 0; 0;never executed: return 0; | 0 |
1985 | } | - |
1986 | } never executed: end of block else if (delete_hostTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1987 | | - |
1988 | if (l->status == 1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1989 | ctx->invalid = 1; | - |
1990 | logit("%s:%lu: invalid line", l->path, l->linenum); | - |
1991 | } never executed: end of block | 0 |
1992 | fprintf(ctx->out, "%s\n", l->line); | - |
1993 | } never executed: end of block | 0 |
1994 | return never executed: return 0; 0;never executed: return 0; | 0 |
1995 | } | - |
1996 | | - |
1997 | static void | - |
1998 | do_known_hosts(struct passwd *pw, const char *name) | - |
1999 | { | - |
2000 | char *cp, tmp[ | - |
2001 | 4096 | - |
2002 | ], old[ | - |
2003 | 4096 | - |
2004 | ]; | - |
2005 | int r, fd, oerrno, inplace = 0; | - |
2006 | struct known_hosts_ctx ctx; | - |
2007 | u_int foreach_options; | - |
2008 | | - |
2009 | if (!have_identityTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2010 | cp = tilde_expand_filename("~/" ".ssh" "/known_hosts", pw->pw_uid); | - |
2011 | if (strlcpy(identity_file, cp, sizeof(identity_file)) >=TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2012 | sizeof(identity_file)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2013 | fatal("Specified known hosts path too long"); never executed: fatal("Specified known hosts path too long"); | 0 |
2014 | free(cp); | - |
2015 | have_identity = 1; | - |
2016 | } never executed: end of block | 0 |
2017 | | - |
2018 | memset(&ctx, 0, sizeof(ctx)); | - |
2019 | ctx.out = | - |
2020 | stdout | - |
2021 | ; | - |
2022 | ctx.host = name; | - |
2023 | | - |
2024 | | - |
2025 | | - |
2026 | | - |
2027 | | - |
2028 | if (!find_hostTRUE | never evaluated | FALSE | never evaluated |
&& (hash_hostsTRUE | never evaluated | FALSE | never evaluated |
|| delete_hostTRUE | never evaluated | FALSE | never evaluated |
)) { | 0 |
2029 | if (strlcpy(tmp, identity_file, sizeof(tmp)) >= sizeof(tmp)TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
2030 | strlcat(tmp, ".XXXXXXXXXX", sizeof(tmp)) >= sizeof(tmp)TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
2031 | strlcpy(old, identity_file, sizeof(old)) >= sizeof(old)TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
2032 | strlcat(old, ".old", sizeof(old)) >= sizeof(old)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2033 | fatal("known_hosts path too long"); never executed: fatal("known_hosts path too long"); | 0 |
2034 | umask(077); | - |
2035 | if ((TRUE | never evaluated | FALSE | never evaluated |
fd = mkstemp(tmp)) == -1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2036 | fatal("mkstemp: %s", strerror( never executed: fatal("mkstemp: %s", strerror( (*__errno_location ()) )); | 0 |
2037 | (*__errno_location ()) never executed: fatal("mkstemp: %s", strerror( (*__errno_location ()) )); | 0 |
2038 | )); never executed: fatal("mkstemp: %s", strerror( (*__errno_location ()) )); | 0 |
2039 | if ((TRUE | never evaluated | FALSE | never evaluated |
ctx.out = fdopen(fd, "w")) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2040 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2041 | ) { | - |
2042 | oerrno = | - |
2043 | (*__errno_location ()) | - |
2044 | ; | - |
2045 | unlink(tmp); | - |
2046 | fatal("fdopen: %s", strerror(oerrno)); | - |
2047 | } never executed: end of block | 0 |
2048 | inplace = 1; | - |
2049 | } never executed: end of block | 0 |
2050 | | - |
2051 | foreach_options = find_hostTRUE | never evaluated | FALSE | never evaluated |
? (1) : 0; | 0 |
2052 | foreach_options |= print_fingerprintTRUE | never evaluated | FALSE | never evaluated |
? (1<<1) : 0; | 0 |
2053 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = hostkeys_foreach(identity_file, (find_host || !hash_hosts) ?TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2054 | known_hosts_find_delete : known_hosts_hash, &ctx, name, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2055 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2056 | ,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2057 | foreach_options)) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2058 | if (inplaceTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2059 | unlink(tmp); never executed: unlink(tmp); | 0 |
2060 | fatal("%s: hostkeys_foreach failed: %s", __func__, ssh_err(r)); | - |
2061 | } never executed: end of block | 0 |
2062 | | - |
2063 | if (inplaceTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2064 | fclose(ctx.out); never executed: fclose(ctx.out); | 0 |
2065 | | - |
2066 | if (ctx.invalidTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2067 | error("%s is not a valid known_hosts file.", identity_file); | - |
2068 | if (inplaceTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2069 | error("Not replacing existing known_hosts " | - |
2070 | "file because of errors"); | - |
2071 | unlink(tmp); | - |
2072 | } never executed: end of block | 0 |
2073 | exit(1); never executed: exit(1); | 0 |
2074 | } else if (delete_hostTRUE | never evaluated | FALSE | never evaluated |
&& !ctx.found_keyTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2075 | logit("Host %s not found in %s", name, identity_file); | - |
2076 | if (inplaceTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2077 | unlink(tmp); never executed: unlink(tmp); | 0 |
2078 | } never executed: end of block else if (inplaceTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2079 | | - |
2080 | if (unlink(old) == -1TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
2081 | (*TRUE | never evaluated | FALSE | never evaluated |
__errno_location ()) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2082 | != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2083 | 2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2084 | ) | - |
2085 | fatal("unlink %.100s: %s", old, strerror( never executed: fatal("unlink %.100s: %s", old, strerror( (*__errno_location ()) )); | 0 |
2086 | (*__errno_location ()) never executed: fatal("unlink %.100s: %s", old, strerror( (*__errno_location ()) )); | 0 |
2087 | )); never executed: fatal("unlink %.100s: %s", old, strerror( (*__errno_location ()) )); | 0 |
2088 | if (link(identity_file, old) == -1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2089 | fatal("link %.100s to %.100s: %s", identity_file, old, never executed: fatal("link %.100s to %.100s: %s", identity_file, old, strerror( (*__errno_location ()) )); | 0 |
2090 | strerror( never executed: fatal("link %.100s to %.100s: %s", identity_file, old, strerror( (*__errno_location ()) )); | 0 |
2091 | (*__errno_location ()) never executed: fatal("link %.100s to %.100s: %s", identity_file, old, strerror( (*__errno_location ()) )); | 0 |
2092 | )); never executed: fatal("link %.100s to %.100s: %s", identity_file, old, strerror( (*__errno_location ()) )); | 0 |
2093 | | - |
2094 | if (rename(tmp, identity_file) == -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2095 | error("rename\"%s\" to \"%s\": %s", tmp, identity_file, | - |
2096 | strerror( | - |
2097 | (*__errno_location ()) | - |
2098 | )); | - |
2099 | unlink(tmp); | - |
2100 | unlink(old); | - |
2101 | exit(1); never executed: exit(1); | 0 |
2102 | } | - |
2103 | | - |
2104 | printf("%s updated.\n", identity_file); | - |
2105 | printf("Original contents retained as %s\n", old); | - |
2106 | if (ctx.has_unhashedTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2107 | logit("WARNING: %s contains unhashed entries", old); | - |
2108 | logit("Delete this file to ensure privacy " | - |
2109 | "of hostnames"); | - |
2110 | } never executed: end of block | 0 |
2111 | } never executed: end of block | 0 |
2112 | | - |
2113 | exit (find_host && !ctx.found_key); never executed: exit (find_host && !ctx.found_key); | 0 |
2114 | } | - |
2115 | | - |
2116 | | - |
2117 | | - |
2118 | | - |
2119 | | - |
2120 | static void | - |
2121 | do_change_passphrase(struct passwd *pw) | - |
2122 | { | - |
2123 | char *comment; | - |
2124 | char *old_passphrase, *passphrase1, *passphrase2; | - |
2125 | struct stat st; | - |
2126 | struct sshkey *private; | - |
2127 | int r; | - |
2128 | | - |
2129 | if (!have_identityTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2130 | ask_filename(pw, "Enter file in which the key is"); never executed: ask_filename(pw, "Enter file in which the key is"); | 0 |
2131 | if (stat(identity_file, &st) < 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2132 | fatal("%s: %s", identity_file, strerror( never executed: fatal("%s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
2133 | (*__errno_location ()) never executed: fatal("%s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
2134 | )); never executed: fatal("%s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
2135 | | - |
2136 | r = sshkey_load_private(identity_file, "", &private, &comment); | - |
2137 | if (r == -43TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2138 | if (identity_passphraseTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2139 | old_passphrase = xstrdup(identity_passphrase); never executed: old_passphrase = xstrdup(identity_passphrase); | 0 |
2140 | else | - |
2141 | old_passphrase = never executed: old_passphrase = read_passphrase("Enter old passphrase: ", 0x0002); | 0 |
2142 | read_passphrase("Enter old passphrase: ", never executed: old_passphrase = read_passphrase("Enter old passphrase: ", 0x0002); | 0 |
2143 | 0x0002); never executed: old_passphrase = read_passphrase("Enter old passphrase: ", 0x0002); | 0 |
2144 | r = sshkey_load_private(identity_file, old_passphrase, | - |
2145 | &private, &comment); | - |
2146 | explicit_bzero(old_passphrase, strlen(old_passphrase)); | - |
2147 | free(old_passphrase); | - |
2148 | if (r != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2149 | goto never executed: goto badkey; badkey;never executed: goto badkey; | 0 |
2150 | } never executed: end of block else if (r != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2151 | badkey: | - |
2152 | fatal("Failed to load key %s: %s", identity_file, ssh_err(r)); | - |
2153 | } never executed: end of block | 0 |
2154 | if (commentTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2155 | mprintf("Key has comment '%s'\n", comment); never executed: mprintf("Key has comment '%s'\n", comment); | 0 |
2156 | | - |
2157 | | - |
2158 | if (identity_new_passphraseTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2159 | passphrase1 = xstrdup(identity_new_passphrase); | - |
2160 | passphrase2 = | - |
2161 | ((void *)0) | - |
2162 | ; | - |
2163 | } never executed: end of block else { | 0 |
2164 | passphrase1 = | - |
2165 | read_passphrase("Enter new passphrase (empty for no " | - |
2166 | "passphrase): ", 0x0002); | - |
2167 | passphrase2 = read_passphrase("Enter same passphrase again: ", | - |
2168 | 0x0002); | - |
2169 | | - |
2170 | | - |
2171 | if ( | - |
2172 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2173 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2174 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2175 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2176 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2177 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2178 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2179 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2180 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2181 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2182 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2183 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2184 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2185 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2186 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2187 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2188 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2189 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2190 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2191 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2192 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2193 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2194 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2195 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2196 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2197 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2198 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2199 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2200 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2201 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2202 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2203 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2204 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2205 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2206 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2207 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2208 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2209 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2210 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2211 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2212 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2213 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2214 | ))[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 |
2215 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2216 | ))[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 |
2217 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2218 | ))[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 *) ( passphrase1 ))[3] - __s2[3]); | 0 |
2219 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( passphrase1 ))[3] - __s2[3]); | 0 |
2220 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2221 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2222 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2223 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2224 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2225 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2226 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2227 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2228 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2229 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2230 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2231 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2232 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2233 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2234 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2235 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2236 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2237 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2238 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2239 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2240 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2241 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2242 | ))[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 |
2243 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2244 | ))[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 |
2245 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2246 | ))[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 *) ( passphrase2 ))[3] - __s2[3]); | 0 |
2247 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( passphrase2 ))[3] - __s2[3]); | 0 |
2248 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2249 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2250 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2251 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2252 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2253 | != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2254 | explicit_bzero(passphrase1, strlen(passphrase1)); | - |
2255 | explicit_bzero(passphrase2, strlen(passphrase2)); | - |
2256 | free(passphrase1); | - |
2257 | free(passphrase2); | - |
2258 | printf("Pass phrases do not match. Try again.\n"); | - |
2259 | exit(1); never executed: exit(1); | 0 |
2260 | } | - |
2261 | | - |
2262 | explicit_bzero(passphrase2, strlen(passphrase2)); | - |
2263 | free(passphrase2); | - |
2264 | } never executed: end of block | 0 |
2265 | | - |
2266 | | - |
2267 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_save_private(private, identity_file, passphrase1,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2268 | comment, use_new_format, new_format_cipher, rounds)) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2269 | error("Saving key \"%s\" failed: %s.", | - |
2270 | identity_file, ssh_err(r)); | - |
2271 | explicit_bzero(passphrase1, strlen(passphrase1)); | - |
2272 | free(passphrase1); | - |
2273 | sshkey_free(private); | - |
2274 | free(comment); | - |
2275 | exit(1); never executed: exit(1); | 0 |
2276 | } | - |
2277 | | - |
2278 | explicit_bzero(passphrase1, strlen(passphrase1)); | - |
2279 | free(passphrase1); | - |
2280 | sshkey_free(private); | - |
2281 | free(comment); | - |
2282 | | - |
2283 | printf("Your identification has been saved with the new passphrase.\n"); | - |
2284 | exit(0); never executed: exit(0); | 0 |
2285 | } | - |
2286 | | - |
2287 | | - |
2288 | | - |
2289 | | - |
2290 | static int | - |
2291 | do_print_resource_record(struct passwd *pw, char *fname, char *hname) | - |
2292 | { | - |
2293 | struct sshkey *public; | - |
2294 | char *comment = | - |
2295 | ((void *)0) | - |
2296 | ; | - |
2297 | struct stat st; | - |
2298 | int r; | - |
2299 | | - |
2300 | if (fname == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2301 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2302 | ) | - |
2303 | fatal("%s: no filename", __func__); never executed: fatal("%s: no filename", __func__); | 0 |
2304 | if (stat(fname, &st) < 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2305 | if ( | - |
2306 | (*TRUE | never evaluated | FALSE | never evaluated |
__errno_location ()) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2307 | == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2308 | 2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2309 | ) | - |
2310 | return never executed: return 0; 0;never executed: return 0; | 0 |
2311 | fatal("%s: %s", fname, strerror( | - |
2312 | (*__errno_location ()) | - |
2313 | )); | - |
2314 | } never executed: end of block | 0 |
2315 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_load_public(fname, &public, &comment)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2316 | fatal("Failed to read v2 public key from \"%s\": %s.", never executed: fatal("Failed to read v2 public key from \"%s\": %s.", fname, ssh_err(r)); | 0 |
2317 | fname, ssh_err(r)); never executed: fatal("Failed to read v2 public key from \"%s\": %s.", fname, ssh_err(r)); | 0 |
2318 | export_dns_rr(hname, public, | - |
2319 | stdout | - |
2320 | , print_generic); | - |
2321 | sshkey_free(public); | - |
2322 | free(comment); | - |
2323 | return never executed: return 1; 1;never executed: return 1; | 0 |
2324 | } | - |
2325 | | - |
2326 | | - |
2327 | | - |
2328 | | - |
2329 | static void | - |
2330 | do_change_comment(struct passwd *pw) | - |
2331 | { | - |
2332 | char new_comment[1024], *comment, *passphrase; | - |
2333 | struct sshkey *private; | - |
2334 | struct sshkey *public; | - |
2335 | struct stat st; | - |
2336 | FILE *f; | - |
2337 | int r, fd; | - |
2338 | | - |
2339 | if (!have_identityTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2340 | ask_filename(pw, "Enter file in which the key is"); never executed: ask_filename(pw, "Enter file in which the key is"); | 0 |
2341 | if (stat(identity_file, &st) < 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2342 | fatal("%s: %s", identity_file, strerror( never executed: fatal("%s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
2343 | (*__errno_location ()) never executed: fatal("%s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
2344 | )); never executed: fatal("%s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
2345 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_load_private(identity_file, "",TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2346 | &private, &comment)) == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2347 | passphrase = xstrdup(""); never executed: passphrase = xstrdup(""); | 0 |
2348 | else if (r != -43TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2349 | fatal("Cannot load private key \"%s\": %s.", never executed: fatal("Cannot load private key \"%s\": %s.", identity_file, ssh_err(r)); | 0 |
2350 | identity_file, ssh_err(r)); never executed: fatal("Cannot load private key \"%s\": %s.", identity_file, ssh_err(r)); | 0 |
2351 | else { | - |
2352 | if (identity_passphraseTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2353 | passphrase = xstrdup(identity_passphrase); never executed: passphrase = xstrdup(identity_passphrase); | 0 |
2354 | else if (identity_new_passphraseTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2355 | passphrase = xstrdup(identity_new_passphrase); never executed: passphrase = xstrdup(identity_new_passphrase); | 0 |
2356 | else | - |
2357 | passphrase = read_passphrase("Enter passphrase: ", never executed: passphrase = read_passphrase("Enter passphrase: ", 0x0002); | 0 |
2358 | 0x0002); never executed: passphrase = read_passphrase("Enter passphrase: ", 0x0002); | 0 |
2359 | | - |
2360 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_load_private(identity_file, passphrase,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2361 | &private, &comment)) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2362 | explicit_bzero(passphrase, strlen(passphrase)); | - |
2363 | free(passphrase); | - |
2364 | fatal("Cannot load private key \"%s\": %s.", | - |
2365 | identity_file, ssh_err(r)); | - |
2366 | } never executed: end of block | 0 |
2367 | } never executed: end of block | 0 |
2368 | | - |
2369 | if (private->TRUE | never evaluated | FALSE | never evaluated |
type != KEY_ED25519TRUE | never evaluated | FALSE | never evaluated |
&& private->TRUE | never evaluated | FALSE | never evaluated |
type != KEY_XMSSTRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
2370 | !use_new_formatTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2371 | error("Comments are only supported for keys stored in " | - |
2372 | "the new format (-o)."); | - |
2373 | explicit_bzero(passphrase, strlen(passphrase)); | - |
2374 | sshkey_free(private); | - |
2375 | exit(1); never executed: exit(1); | 0 |
2376 | } | - |
2377 | if (commentTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2378 | printf("Key now has comment '%s'\n", comment); never executed: printf("Key now has comment '%s'\n", comment); | 0 |
2379 | else | - |
2380 | printf("Key now has no comment\n"); never executed: printf("Key now has no comment\n"); | 0 |
2381 | | - |
2382 | if (identity_commentTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2383 | strlcpy(new_comment, identity_comment, sizeof(new_comment)); | - |
2384 | } never executed: end of block else { | 0 |
2385 | printf("Enter new comment: "); | - |
2386 | fflush( | - |
2387 | stdout | - |
2388 | ); | - |
2389 | if (!fgets(new_comment, sizeof(new_comment), TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2390 | stdinTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2391 | )TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2392 | explicit_bzero(passphrase, strlen(passphrase)); | - |
2393 | sshkey_free(private); | - |
2394 | exit(1); never executed: exit(1); | 0 |
2395 | } | - |
2396 | new_comment[ | - |
2397 | __builtin_strcspn ( | - |
2398 | new_comment | - |
2399 | , | - |
2400 | "\n" | - |
2401 | ) | - |
2402 | ] = '\0'; | - |
2403 | } never executed: end of block | 0 |
2404 | | - |
2405 | | - |
2406 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_save_private(private, identity_file, passphrase,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2407 | new_comment, use_new_format, new_format_cipher, rounds)) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2408 | error("Saving key \"%s\" failed: %s", | - |
2409 | identity_file, ssh_err(r)); | - |
2410 | explicit_bzero(passphrase, strlen(passphrase)); | - |
2411 | free(passphrase); | - |
2412 | sshkey_free(private); | - |
2413 | free(comment); | - |
2414 | exit(1); never executed: exit(1); | 0 |
2415 | } | - |
2416 | explicit_bzero(passphrase, strlen(passphrase)); | - |
2417 | free(passphrase); | - |
2418 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_from_private(private, &public)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2419 | fatal("sshkey_from_private failed: %s", ssh_err(r)); never executed: fatal("sshkey_from_private failed: %s", ssh_err(r)); | 0 |
2420 | sshkey_free(private); | - |
2421 | | - |
2422 | strlcat(identity_file, ".pub", sizeof(identity_file)); | - |
2423 | fd = open(identity_file, | - |
2424 | 01 | - |
2425 | | | - |
2426 | 0100 | - |
2427 | | | - |
2428 | 01000 | - |
2429 | , 0644); | - |
2430 | if (fd == -1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2431 | fatal("Could not save your public key in %s", identity_file); never executed: fatal("Could not save your public key in %s", identity_file); | 0 |
2432 | f = fdopen(fd, "w"); | - |
2433 | if (f == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2434 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2435 | ) | - |
2436 | fatal("fdopen %s failed: %s", identity_file, strerror( never executed: fatal("fdopen %s failed: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
2437 | (*__errno_location ()) never executed: fatal("fdopen %s failed: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
2438 | )); never executed: fatal("fdopen %s failed: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
2439 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_write(public, f)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2440 | fatal("write key failed: %s", ssh_err(r)); never executed: fatal("write key failed: %s", ssh_err(r)); | 0 |
2441 | sshkey_free(public); | - |
2442 | fprintf(f, " %s\n", new_comment); | - |
2443 | fclose(f); | - |
2444 | | - |
2445 | free(comment); | - |
2446 | | - |
2447 | printf("The comment in your key file has been changed.\n"); | - |
2448 | exit(0); never executed: exit(0); | 0 |
2449 | } | - |
2450 | | - |
2451 | static void | - |
2452 | add_flag_option(struct sshbuf *c, const char *name) | - |
2453 | { | - |
2454 | int r; | - |
2455 | | - |
2456 | debug3("%s: %s", __func__, name); | - |
2457 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_cstring(c, name)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
2458 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_string(c, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2459 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2460 | , 0)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2461 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 0 |
2462 | } never executed: end of block | 0 |
2463 | | - |
2464 | static void | - |
2465 | add_string_option(struct sshbuf *c, const char *name, const char *value) | - |
2466 | { | - |
2467 | struct sshbuf *b; | - |
2468 | int r; | - |
2469 | | - |
2470 | debug3("%s: %s=%s", __func__, name, value); | - |
2471 | if ((TRUE | never evaluated | FALSE | never evaluated |
b = sshbuf_new()) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2472 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2473 | ) | - |
2474 | fatal("%s: sshbuf_new failed", __func__); never executed: fatal("%s: sshbuf_new failed", __func__); | 0 |
2475 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_cstring(b, value)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
2476 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_cstring(c, name)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
2477 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_stringb(c, b)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2478 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 0 |
2479 | | - |
2480 | sshbuf_free(b); | - |
2481 | } never executed: end of block | 0 |
2482 | | - |
2483 | | - |
2484 | | - |
2485 | static void | - |
2486 | prepare_options_buf(struct sshbuf *c, int which) | - |
2487 | { | - |
2488 | size_t i; | - |
2489 | | - |
2490 | sshbuf_reset(c); | - |
2491 | if ((TRUE | never evaluated | FALSE | never evaluated |
which & 1) != 0TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
2492 | certflags_command != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2493 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2494 | ) | - |
2495 | add_string_option(c, "force-command", certflags_command); never executed: add_string_option(c, "force-command", certflags_command); | 0 |
2496 | if ((TRUE | never evaluated | FALSE | never evaluated |
which & 2) != 0TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
2497 | (TRUE | never evaluated | FALSE | never evaluated |
certflags_flags & (1)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2498 | add_flag_option(c, "permit-X11-forwarding"); never executed: add_flag_option(c, "permit-X11-forwarding"); | 0 |
2499 | if ((TRUE | never evaluated | FALSE | never evaluated |
which & 2) != 0TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
2500 | (TRUE | never evaluated | FALSE | never evaluated |
certflags_flags & (1<<1)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2501 | add_flag_option(c, "permit-agent-forwarding"); never executed: add_flag_option(c, "permit-agent-forwarding"); | 0 |
2502 | if ((TRUE | never evaluated | FALSE | never evaluated |
which & 2) != 0TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
2503 | (TRUE | never evaluated | FALSE | never evaluated |
certflags_flags & (1<<2)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2504 | add_flag_option(c, "permit-port-forwarding"); never executed: add_flag_option(c, "permit-port-forwarding"); | 0 |
2505 | if ((TRUE | never evaluated | FALSE | never evaluated |
which & 2) != 0TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
2506 | (TRUE | never evaluated | FALSE | never evaluated |
certflags_flags & (1<<3)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2507 | add_flag_option(c, "permit-pty"); never executed: add_flag_option(c, "permit-pty"); | 0 |
2508 | if ((TRUE | never evaluated | FALSE | never evaluated |
which & 2) != 0TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
2509 | (TRUE | never evaluated | FALSE | never evaluated |
certflags_flags & (1<<4)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2510 | add_flag_option(c, "permit-user-rc"); never executed: add_flag_option(c, "permit-user-rc"); | 0 |
2511 | if ((TRUE | never evaluated | FALSE | never evaluated |
which & 1) != 0TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
2512 | certflags_src_addr != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2513 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2514 | ) | - |
2515 | add_string_option(c, "source-address", certflags_src_addr); never executed: add_string_option(c, "source-address", certflags_src_addr); | 0 |
2516 | for (i = 0; i < ncert_userextTRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
2517 | if ((cert_userext[i].critTRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
which & 2)TRUE | never evaluated | FALSE | never evaluated |
) || | 0 |
2518 | (!cert_userext[i].critTRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
which & 1)TRUE | never evaluated | FALSE | never evaluated |
)) | 0 |
2519 | continue; never executed: continue; | 0 |
2520 | if (cert_userext[i].val == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2521 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2522 | ) | - |
2523 | add_flag_option(c, cert_userext[i].key); never executed: add_flag_option(c, cert_userext[i].key); | 0 |
2524 | else { | - |
2525 | add_string_option(c, cert_userext[i].key, | - |
2526 | cert_userext[i].val); | - |
2527 | } never executed: end of block | 0 |
2528 | } | - |
2529 | } never executed: end of block | 0 |
2530 | | - |
2531 | static struct sshkey * | - |
2532 | load_pkcs11_key(char *path) | - |
2533 | { | - |
2534 | | - |
2535 | struct sshkey **keys = | - |
2536 | ((void *)0) | - |
2537 | , *public, *private = | - |
2538 | ((void *)0) | - |
2539 | ; | - |
2540 | int r, i, nkeys; | - |
2541 | | - |
2542 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_load_public(path, &public, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2543 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2544 | )) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2545 | fatal("Couldn't load CA public key \"%s\": %s", never executed: fatal("Couldn't load CA public key \"%s\": %s", path, ssh_err(r)); | 0 |
2546 | path, ssh_err(r)); never executed: fatal("Couldn't load CA public key \"%s\": %s", path, ssh_err(r)); | 0 |
2547 | | - |
2548 | nkeys = pkcs11_add_provider(pkcs11provider, identity_passphrase, &keys); | - |
2549 | debug3("%s: %d keys", __func__, nkeys); | - |
2550 | if (nkeys <= 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2551 | fatal("cannot read public key from pkcs11"); never executed: fatal("cannot read public key from pkcs11"); | 0 |
2552 | for (i = 0; i < nkeysTRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
2553 | if (sshkey_equal_public(public, keys[i])TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2554 | private = keys[i]; | - |
2555 | continue; never executed: continue; | 0 |
2556 | } | - |
2557 | sshkey_free(keys[i]); | - |
2558 | } never executed: end of block | 0 |
2559 | free(keys); | - |
2560 | sshkey_free(public); | - |
2561 | return never executed: return private; private;never executed: return private; | 0 |
2562 | | - |
2563 | | - |
2564 | | - |
2565 | } | - |
2566 | | - |
2567 | | - |
2568 | static int | - |
2569 | agent_signer(const struct sshkey *key, u_char **sigp, size_t *lenp, | - |
2570 | const u_char *data, size_t datalen, | - |
2571 | const char *alg, u_int compat, void *ctx) | - |
2572 | { | - |
2573 | int *agent_fdp = (int *)ctx; | - |
2574 | | - |
2575 | return never executed: return ssh_agent_sign(*agent_fdp, key, sigp, lenp, data, datalen, alg, compat); ssh_agent_sign(*agent_fdp, key, sigp, lenp,never executed: return ssh_agent_sign(*agent_fdp, key, sigp, lenp, data, datalen, alg, compat); | 0 |
2576 | data, datalen, alg, compat); never executed: return ssh_agent_sign(*agent_fdp, key, sigp, lenp, data, datalen, alg, compat); | 0 |
2577 | } | - |
2578 | | - |
2579 | static void | - |
2580 | do_ca_sign(struct passwd *pw, int argc, char **argv) | - |
2581 | { | - |
2582 | int r, i, fd, found, agent_fd = -1; | - |
2583 | u_int n; | - |
2584 | struct sshkey *ca, *public; | - |
2585 | char valid[64], *otmp, *tmp, *cp, *out, *comment, **plist = | - |
2586 | ((void *)0) | - |
2587 | ; | - |
2588 | FILE *f; | - |
2589 | struct ssh_identitylist *agent_ids; | - |
2590 | size_t j; | - |
2591 | | - |
2592 | | - |
2593 | pkcs11_init(1); | - |
2594 | | - |
2595 | tmp = tilde_expand_filename(ca_key_path, pw->pw_uid); | - |
2596 | if (pkcs11provider != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2597 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2598 | ) { | - |
2599 | | - |
2600 | if ((TRUE | never evaluated | FALSE | never evaluated |
ca = load_pkcs11_key(tmp)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2601 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2602 | ) | - |
2603 | fatal("No PKCS#11 key matching %s found", ca_key_path); never executed: fatal("No PKCS#11 key matching %s found", ca_key_path); | 0 |
2604 | } never executed: end of block else if (prefer_agentTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2605 | | - |
2606 | | - |
2607 | | - |
2608 | | - |
2609 | | - |
2610 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_load_public(tmp, &ca, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2611 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2612 | )) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2613 | fatal("Cannot load CA public key %s: %s", never executed: fatal("Cannot load CA public key %s: %s", tmp, ssh_err(r)); | 0 |
2614 | tmp, ssh_err(r)); never executed: fatal("Cannot load CA public key %s: %s", tmp, ssh_err(r)); | 0 |
2615 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = ssh_get_authentication_socket(&agent_fd)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2616 | fatal("Cannot use public key for CA signature: %s", never executed: fatal("Cannot use public key for CA signature: %s", ssh_err(r)); | 0 |
2617 | ssh_err(r)); never executed: fatal("Cannot use public key for CA signature: %s", ssh_err(r)); | 0 |
2618 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = ssh_fetch_identitylist(agent_fd, &agent_ids)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2619 | fatal("Retrieve agent key list: %s", ssh_err(r)); never executed: fatal("Retrieve agent key list: %s", ssh_err(r)); | 0 |
2620 | found = 0; | - |
2621 | for (j = 0; j < agent_ids->nkeysTRUE | never evaluated | FALSE | never evaluated |
; j++) { | 0 |
2622 | if (sshkey_equal(ca, agent_ids->keys[j])TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2623 | found = 1; | - |
2624 | break; never executed: break; | 0 |
2625 | } | - |
2626 | } never executed: end of block | 0 |
2627 | if (!foundTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2628 | fatal("CA key %s not found in agent", tmp); never executed: fatal("CA key %s not found in agent", tmp); | 0 |
2629 | ssh_free_identitylist(agent_ids); | - |
2630 | ca->flags |= 0x0001; | - |
2631 | } never executed: end of block else { | 0 |
2632 | | - |
2633 | ca = load_identity(tmp); | - |
2634 | } never executed: end of block | 0 |
2635 | free(tmp); | - |
2636 | | - |
2637 | if (key_type_name != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2638 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2639 | && | - |
2640 | sshkey_type_from_name(key_type_name) != ca->typeTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2641 | fatal("CA key type %s doesn't match specified %s", | - |
2642 | sshkey_ssh_name(ca), key_type_name); | - |
2643 | } never executed: end of block | 0 |
2644 | | - |
2645 | for (i = 0; i < argcTRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
2646 | | - |
2647 | n = 0; | - |
2648 | if (cert_principals != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2649 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2650 | ) { | - |
2651 | otmp = tmp = xstrdup(cert_principals); | - |
2652 | plist = | - |
2653 | ((void *)0) | - |
2654 | ; | - |
2655 | for (; (TRUE | never evaluated | FALSE | never evaluated |
cp = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2656 | __extension__ ({ char __r0, __r1, __r2; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2657 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2658 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2659 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2660 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2661 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2662 | ) == 1) && (__r0 = ((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2663 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2664 | ))[0], ((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2665 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2666 | ))[0] != '\0') ? ((__r1 = ((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2667 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2668 | ))[1], ((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2669 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2670 | ))[1] == '\0') ? __strsep_1c (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2671 | &tmpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2672 | , __r0) : ((__r2 = ((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2673 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2674 | ))[2], __r2 == '\0') ? __strsep_2c (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2675 | &tmpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2676 | , __r0, __r1) : (((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2677 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2678 | ))[3] == '\0' ? __strsep_3c (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2679 | &tmpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2680 | , __r0, __r1, __r2) : __strsep_g (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2681 | &tmpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2682 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2683 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2684 | )))) : __strsep_g (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2685 | &tmpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2686 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2687 | ","TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2688 | )); })TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2689 | ) != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2690 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2691 | ; n++) { | - |
2692 | plist = xreallocarray(plist, n + 1, sizeof(*plist)); | - |
2693 | if (*(TRUE | never evaluated | FALSE | never evaluated |
plist[n] = xstrdup(cp)) == '\0'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2694 | fatal("Empty principal name"); never executed: fatal("Empty principal name"); | 0 |
2695 | } never executed: end of block | 0 |
2696 | free(otmp); | - |
2697 | } never executed: end of block | 0 |
2698 | if (n > 256TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2699 | fatal("Too many certificate principals specified"); never executed: fatal("Too many certificate principals specified"); | 0 |
2700 | | - |
2701 | tmp = tilde_expand_filename(argv[i], pw->pw_uid); | - |
2702 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_load_public(tmp, &public, &comment)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2703 | fatal("%s: unable to open \"%s\": %s", never executed: fatal("%s: unable to open \"%s\": %s", __func__, tmp, ssh_err(r)); | 0 |
2704 | __func__, tmp, ssh_err(r)); never executed: fatal("%s: unable to open \"%s\": %s", __func__, tmp, ssh_err(r)); | 0 |
2705 | if (public->TRUE | never evaluated | FALSE | never evaluated |
type != KEY_RSATRUE | never evaluated | FALSE | never evaluated |
&& public->TRUE | never evaluated | FALSE | never evaluated |
type != KEY_DSATRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
2706 | public->TRUE | never evaluated | FALSE | never evaluated |
type != KEY_ECDSATRUE | never evaluated | FALSE | never evaluated |
&& public->TRUE | never evaluated | FALSE | never evaluated |
type != KEY_ED25519TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
2707 | public->TRUE | never evaluated | FALSE | never evaluated |
type != KEY_XMSSTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2708 | fatal("%s: key \"%s\" type %s cannot be certified", never executed: fatal("%s: key \"%s\" type %s cannot be certified", __func__, tmp, sshkey_type(public)); | 0 |
2709 | __func__, tmp, sshkey_type(public)); never executed: fatal("%s: key \"%s\" type %s cannot be certified", __func__, tmp, sshkey_type(public)); | 0 |
2710 | | - |
2711 | | - |
2712 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_to_certified(public)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2713 | fatal("Could not upgrade key %s to certificate: %s", never executed: fatal("Could not upgrade key %s to certificate: %s", tmp, ssh_err(r)); | 0 |
2714 | tmp, ssh_err(r)); never executed: fatal("Could not upgrade key %s to certificate: %s", tmp, ssh_err(r)); | 0 |
2715 | public->cert->type = cert_key_type; | - |
2716 | public->cert->serial = (u_int64_t)cert_serial; | - |
2717 | public->cert->key_id = xstrdup(cert_key_id); | - |
2718 | public->cert->nprincipals = n; | - |
2719 | public->cert->principals = plist; | - |
2720 | public->cert->valid_after = cert_valid_from; | - |
2721 | public->cert->valid_before = cert_valid_to; | - |
2722 | prepare_options_buf(public->cert->critical, 1); | - |
2723 | prepare_options_buf(public->cert->extensions, | - |
2724 | 2); | - |
2725 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_from_private(ca,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2726 | &public->cert->signature_key)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2727 | fatal("sshkey_from_private (ca key): %s", ssh_err(r)); never executed: fatal("sshkey_from_private (ca key): %s", ssh_err(r)); | 0 |
2728 | | - |
2729 | if (agent_fd != -1TRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
ca->flags & 0x0001) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2730 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_certify_custom(public, ca,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2731 | key_type_name, agent_signer, &agent_fd)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2732 | fatal("Couldn't certify key %s via agent: %s", never executed: fatal("Couldn't certify key %s via agent: %s", tmp, ssh_err(r)); | 0 |
2733 | tmp, ssh_err(r)); never executed: fatal("Couldn't certify key %s via agent: %s", tmp, ssh_err(r)); | 0 |
2734 | } never executed: end of block else { | 0 |
2735 | if ((TRUE | never evaluated | FALSE | never evaluated |
sshkey_certify(public, ca, key_type_name)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2736 | fatal("Couldn't certify key %s: %s", never executed: fatal("Couldn't certify key %s: %s", tmp, ssh_err(r)); | 0 |
2737 | tmp, ssh_err(r)); never executed: fatal("Couldn't certify key %s: %s", tmp, ssh_err(r)); | 0 |
2738 | } never executed: end of block | 0 |
2739 | | - |
2740 | if ((TRUE | never evaluated | FALSE | never evaluated |
cp = strrchr(tmp, '.')) != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2741 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2742 | && | - |
2743 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2744 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2745 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2746 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2747 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2748 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2749 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2750 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2751 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2752 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2753 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2754 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2755 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2756 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2757 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2758 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2759 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2760 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2761 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2762 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2763 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2764 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2765 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2766 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2767 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2768 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2769 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2770 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2771 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2772 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2773 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2774 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2775 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2776 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2777 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2778 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2779 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2780 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2781 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2782 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2783 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2784 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2785 | ))[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 |
2786 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2787 | ))[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 |
2788 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2789 | ))[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 *) ( cp ))[3] - __s2[3]); | 0 |
2790 | cpTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( cp ))[3] - __s2[3]); | 0 |
2791 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2792 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2793 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2794 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2795 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2796 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2797 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2798 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2799 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2800 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2801 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2802 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2803 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2804 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2805 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2806 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2807 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2808 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2809 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2810 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2811 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2812 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2813 | ))[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 |
2814 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2815 | ))[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 |
2816 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2817 | ))[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 *) ( ".pub" ))[3] - __s2[3]); | 0 |
2818 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( ".pub" ))[3] - __s2[3]); | 0 |
2819 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2820 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2821 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2822 | ".pub"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2823 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2824 | == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2825 | * never executed: *cp = '\0'; cp = '\0';never executed: *cp = '\0'; | 0 |
2826 | xasprintf(&out, "%s-cert.pub", tmp); | - |
2827 | free(tmp); | - |
2828 | | - |
2829 | if ((TRUE | never evaluated | FALSE | never evaluated |
fd = open(out, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2830 | 01TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2831 | |TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2832 | 0100TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2833 | |TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2834 | 01000TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2835 | , 0644)) == -1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2836 | fatal("Could not open \"%s\" for writing: %s", out, never executed: fatal("Could not open \"%s\" for writing: %s", out, strerror( (*__errno_location ()) )); | 0 |
2837 | strerror( never executed: fatal("Could not open \"%s\" for writing: %s", out, strerror( (*__errno_location ()) )); | 0 |
2838 | (*__errno_location ()) never executed: fatal("Could not open \"%s\" for writing: %s", out, strerror( (*__errno_location ()) )); | 0 |
2839 | )); never executed: fatal("Could not open \"%s\" for writing: %s", out, strerror( (*__errno_location ()) )); | 0 |
2840 | if ((TRUE | never evaluated | FALSE | never evaluated |
f = fdopen(fd, "w")) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2841 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2842 | ) | - |
2843 | fatal("%s: fdopen: %s", __func__, strerror( never executed: fatal("%s: fdopen: %s", __func__, strerror( (*__errno_location ()) )); | 0 |
2844 | (*__errno_location ()) never executed: fatal("%s: fdopen: %s", __func__, strerror( (*__errno_location ()) )); | 0 |
2845 | )); never executed: fatal("%s: fdopen: %s", __func__, strerror( (*__errno_location ()) )); | 0 |
2846 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_write(public, f)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2847 | fatal("Could not write certified key to %s: %s", never executed: fatal("Could not write certified key to %s: %s", out, ssh_err(r)); | 0 |
2848 | out, ssh_err(r)); never executed: fatal("Could not write certified key to %s: %s", out, ssh_err(r)); | 0 |
2849 | fprintf(f, " %s\n", comment); | - |
2850 | fclose(f); | - |
2851 | | - |
2852 | if (!quietTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
2853 | sshkey_format_cert_validity(public->cert, | - |
2854 | valid, sizeof(valid)); | - |
2855 | logit("Signed %s key %s: id \"%s\" serial %llu%s%s " | - |
2856 | "valid %s", sshkey_cert_type(public), | - |
2857 | out, public->cert->key_id, | - |
2858 | (unsigned long long)public->cert->serial, | - |
2859 | cert_principals != | - |
2860 | ((void *)0) | - |
2861 | ? " for " : "", | - |
2862 | cert_principals != | - |
2863 | ((void *)0) | - |
2864 | ? cert_principals : "", | - |
2865 | valid); | - |
2866 | } never executed: end of block | 0 |
2867 | | - |
2868 | sshkey_free(public); | - |
2869 | free(out); | - |
2870 | } never executed: end of block | 0 |
2871 | | - |
2872 | pkcs11_terminate(); | - |
2873 | | - |
2874 | exit(0); never executed: exit(0); | 0 |
2875 | } | - |
2876 | | - |
2877 | static u_int64_t | - |
2878 | parse_relative_time(const char *s, time_t now) | - |
2879 | { | - |
2880 | int64_t mul, secs; | - |
2881 | | - |
2882 | mul = *TRUE | never evaluated | FALSE | never evaluated |
s == '-'TRUE | never evaluated | FALSE | never evaluated |
? -1 : 1; | 0 |
2883 | | - |
2884 | if ((TRUE | never evaluated | FALSE | never evaluated |
secs = convtime(s + 1)) == -1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2885 | fatal("Invalid relative certificate time %s", s); never executed: fatal("Invalid relative certificate time %s", s); | 0 |
2886 | if (mul == -1TRUE | never evaluated | FALSE | never evaluated |
&& secs > nowTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2887 | fatal("Certificate time %s cannot be represented", s); never executed: fatal("Certificate time %s cannot be represented", s); | 0 |
2888 | return never executed: return now + (u_int64_t)(secs * mul); now + (u_int64_t)(secs * mul);never executed: return now + (u_int64_t)(secs * mul); | 0 |
2889 | } | - |
2890 | | - |
2891 | static void | - |
2892 | parse_cert_times(char *timespec) | - |
2893 | { | - |
2894 | char *from, *to; | - |
2895 | time_t now = time( | - |
2896 | ((void *)0) | - |
2897 | ); | - |
2898 | int64_t secs; | - |
2899 | | - |
2900 | | - |
2901 | if (*TRUE | never evaluated | FALSE | never evaluated |
timespec == '+'TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
2902 | (TRUE | never evaluated | FALSE | never evaluated |
__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2903 | ':'TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2904 | )TRUE | never evaluated | FALSE | never evaluated |
&& !__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2905 | timespecTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2906 | )TRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2907 | ':'TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2908 | ) == '\0'TRUE | never evaluated | FALSE | never evaluated |
? (char *) __rawmemchr (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2909 | timespecTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2910 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2911 | ':'TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2912 | ) : __builtin_strchr (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2913 | timespecTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2914 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2915 | ':'TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2916 | ))) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2917 | == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2918 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2919 | ) { | - |
2920 | if ((TRUE | never evaluated | FALSE | never evaluated |
secs = convtime(timespec + 1)) == -1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2921 | fatal("Invalid relative certificate life %s", timespec); never executed: fatal("Invalid relative certificate life %s", timespec); | 0 |
2922 | cert_valid_to = now + secs; | - |
2923 | | - |
2924 | | - |
2925 | | - |
2926 | | - |
2927 | cert_valid_from = ((now - 59)/ 60) * 60; | - |
2928 | return; never executed: return; | 0 |
2929 | } | - |
2930 | | - |
2931 | | - |
2932 | | - |
2933 | | - |
2934 | | - |
2935 | | - |
2936 | from = xstrdup(timespec); | - |
2937 | to = | - |
2938 | (__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2939 | ':'TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2940 | )TRUE | never evaluated | FALSE | never evaluated |
&& !__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2941 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2942 | )TRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2943 | ':'TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2944 | ) == '\0'TRUE | never evaluated | FALSE | never evaluated |
? (char *) __rawmemchr ( | 0 |
2945 | from | - |
2946 | , | - |
2947 | ':' | - |
2948 | ) : __builtin_strchr ( | - |
2949 | from | - |
2950 | , | - |
2951 | ':' | - |
2952 | ))) | - |
2953 | ; | - |
2954 | if (to == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2955 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2956 | || from == toTRUE | never evaluated | FALSE | never evaluated |
|| *(TRUE | never evaluated | FALSE | never evaluated |
to + 1) == '\0'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2957 | fatal("Invalid certificate life specification %s", timespec); never executed: fatal("Invalid certificate life specification %s", timespec); | 0 |
2958 | *to++ = '\0'; | - |
2959 | | - |
2960 | if (*TRUE | never evaluated | FALSE | never evaluated |
from == '-'TRUE | never evaluated | FALSE | never evaluated |
|| *TRUE | never evaluated | FALSE | never evaluated |
from == '+'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2961 | cert_valid_from = parse_relative_time(from, now); never executed: cert_valid_from = parse_relative_time(from, now); | 0 |
2962 | else if ( | - |
2963 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2964 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2965 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2966 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2967 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2968 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2969 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2970 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2971 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2972 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2973 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2974 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2975 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2976 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2977 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2978 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2979 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2980 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2981 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2982 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2983 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2984 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2985 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2986 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2987 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2988 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2989 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2990 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2991 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2992 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2993 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2994 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2995 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2996 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2997 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2998 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
2999 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3000 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3001 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3002 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3003 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3004 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3005 | ))[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 |
3006 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3007 | ))[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 |
3008 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3009 | ))[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 *) ( from ))[3] - __s2[3]); | 0 |
3010 | fromTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( from ))[3] - __s2[3]); | 0 |
3011 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3012 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3013 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3014 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3015 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3016 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3017 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3018 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3019 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3020 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3021 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3022 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3023 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3024 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3025 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3026 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3027 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3028 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3029 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3030 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3031 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3032 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3033 | ))[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 |
3034 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3035 | ))[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 |
3036 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3037 | ))[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 *) ( "always" ))[3] - __s2[3]); | 0 |
3038 | "always"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "always" ))[3] - __s2[3]); | 0 |
3039 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3040 | fromTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3041 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3042 | "always"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3043 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3044 | == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3045 | cert_valid_from = 0; never executed: cert_valid_from = 0; | 0 |
3046 | else if (parse_absolute_time(from, &cert_valid_from) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3047 | fatal("Invalid from time \"%s\"", from); never executed: fatal("Invalid from time \"%s\"", from); | 0 |
3048 | | - |
3049 | if (*TRUE | never evaluated | FALSE | never evaluated |
to == '-'TRUE | never evaluated | FALSE | never evaluated |
|| *TRUE | never evaluated | FALSE | never evaluated |
to == '+'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3050 | cert_valid_to = parse_relative_time(to, now); never executed: cert_valid_to = parse_relative_time(to, now); | 0 |
3051 | else if ( | - |
3052 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3053 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3054 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3055 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3056 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3057 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3058 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3059 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3060 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3061 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3062 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3063 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3064 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3065 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3066 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3067 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3068 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3069 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3070 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3071 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3072 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3073 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3074 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3075 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3076 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3077 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3078 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3079 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3080 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3081 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3082 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3083 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3084 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3085 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3086 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3087 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3088 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3089 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3090 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3091 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3092 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3093 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3094 | ))[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 |
3095 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3096 | ))[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 |
3097 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3098 | ))[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 *) ( to ))[3] - __s2[3]); | 0 |
3099 | toTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( to ))[3] - __s2[3]); | 0 |
3100 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3101 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3102 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3103 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3104 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3105 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3106 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3107 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3108 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3109 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3110 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3111 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3112 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3113 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3114 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3115 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3116 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3117 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3118 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3119 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3120 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3121 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3122 | ))[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 |
3123 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3124 | ))[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 |
3125 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3126 | ))[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 *) ( "forever" ))[3] - __s2[3]); | 0 |
3127 | "forever"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "forever" ))[3] - __s2[3]); | 0 |
3128 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3129 | toTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3130 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3131 | "forever"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3132 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3133 | == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3134 | cert_valid_to = ~(u_int64_t)0; never executed: cert_valid_to = ~(u_int64_t)0; | 0 |
3135 | else if (parse_absolute_time(to, &cert_valid_to) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3136 | fatal("Invalid to time \"%s\"", to); never executed: fatal("Invalid to time \"%s\"", to); | 0 |
3137 | | - |
3138 | if (cert_valid_to <= cert_valid_fromTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3139 | fatal("Empty certificate validity interval"); never executed: fatal("Empty certificate validity interval"); | 0 |
3140 | free(from); | - |
3141 | } never executed: end of block | 0 |
3142 | | - |
3143 | static void | - |
3144 | add_cert_option(char *opt) | - |
3145 | { | - |
3146 | char *val, *cp; | - |
3147 | int iscrit = 0; | - |
3148 | | - |
3149 | if (strcasecmp(opt, "clear") == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3150 | certflags_flags = 0; never executed: certflags_flags = 0; | 0 |
3151 | else if (strcasecmp(opt, "no-x11-forwarding") == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3152 | certflags_flags &= ~(1); never executed: certflags_flags &= ~(1); | 0 |
3153 | else if (strcasecmp(opt, "permit-x11-forwarding") == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3154 | certflags_flags |= (1); never executed: certflags_flags |= (1); | 0 |
3155 | else if (strcasecmp(opt, "no-agent-forwarding") == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3156 | certflags_flags &= ~(1<<1); never executed: certflags_flags &= ~(1<<1); | 0 |
3157 | else if (strcasecmp(opt, "permit-agent-forwarding") == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3158 | certflags_flags |= (1<<1); never executed: certflags_flags |= (1<<1); | 0 |
3159 | else if (strcasecmp(opt, "no-port-forwarding") == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3160 | certflags_flags &= ~(1<<2); never executed: certflags_flags &= ~(1<<2); | 0 |
3161 | else if (strcasecmp(opt, "permit-port-forwarding") == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3162 | certflags_flags |= (1<<2); never executed: certflags_flags |= (1<<2); | 0 |
3163 | else if (strcasecmp(opt, "no-pty") == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3164 | certflags_flags &= ~(1<<3); never executed: certflags_flags &= ~(1<<3); | 0 |
3165 | else if (strcasecmp(opt, "permit-pty") == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3166 | certflags_flags |= (1<<3); never executed: certflags_flags |= (1<<3); | 0 |
3167 | else if (strcasecmp(opt, "no-user-rc") == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3168 | certflags_flags &= ~(1<<4); never executed: certflags_flags &= ~(1<<4); | 0 |
3169 | else if (strcasecmp(opt, "permit-user-rc") == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3170 | certflags_flags |= (1<<4); never executed: certflags_flags |= (1<<4); | 0 |
3171 | else if (strncasecmp(opt, "force-command=", 14) == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
3172 | val = opt + 14; | - |
3173 | if (*TRUE | never evaluated | FALSE | never evaluated |
val == '\0'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3174 | fatal("Empty force-command option"); never executed: fatal("Empty force-command option"); | 0 |
3175 | if (certflags_command != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3176 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3177 | ) | - |
3178 | fatal("force-command already specified"); never executed: fatal("force-command already specified"); | 0 |
3179 | certflags_command = xstrdup(val); | - |
3180 | } never executed: end of block else if (strncasecmp(opt, "source-address=", 15) == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
3181 | val = opt + 15; | - |
3182 | if (*TRUE | never evaluated | FALSE | never evaluated |
val == '\0'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3183 | fatal("Empty source-address option"); never executed: fatal("Empty source-address option"); | 0 |
3184 | if (certflags_src_addr != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3185 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3186 | ) | - |
3187 | fatal("source-address already specified"); never executed: fatal("source-address already specified"); | 0 |
3188 | if (addr_match_cidr_list(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3189 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3190 | , val) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3191 | fatal("Invalid source-address list"); never executed: fatal("Invalid source-address list"); | 0 |
3192 | certflags_src_addr = xstrdup(val); | - |
3193 | } never executed: end of block else if (strncasecmp(opt, "extension:", 10) == 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
3194 | (TRUE | never evaluated | FALSE | never evaluated |
iscrit = (strncasecmp(opt, "critical:", 9) == 0))TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
3195 | val = xstrdup( | - |
3196 | (__extension__ (__builtin_constant_p ( | - |
3197 | ':' | - |
3198 | ) && !__builtin_constant_p ( | - |
3199 | opt | - |
3200 | ) && ( | - |
3201 | ':' | - |
3202 | ) == '\0' ? (char *) __rawmemchr ( | - |
3203 | opt | - |
3204 | , | - |
3205 | ':' | - |
3206 | ) : __builtin_strchr ( | - |
3207 | opt | - |
3208 | , | - |
3209 | ':' | - |
3210 | ))) | - |
3211 | + 1); | - |
3212 | if ((TRUE | never evaluated | FALSE | never evaluated |
cp = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3213 | (__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3214 | '='TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3215 | )TRUE | never evaluated | FALSE | never evaluated |
&& !__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3216 | valTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3217 | )TRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3218 | '='TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3219 | ) == '\0'TRUE | never evaluated | FALSE | never evaluated |
? (char *) __rawmemchr (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3220 | valTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3221 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3222 | '='TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3223 | ) : __builtin_strchr (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3224 | valTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3225 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3226 | '='TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3227 | )))TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3228 | ) != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3229 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3230 | ) | - |
3231 | * never executed: *cp++ = '\0'; cp++ = '\0';never executed: *cp++ = '\0'; | 0 |
3232 | cert_userext = xreallocarray(cert_userext, ncert_userext + 1, | - |
3233 | sizeof(*cert_userext)); | - |
3234 | cert_userext[ncert_userext].key = val; | - |
3235 | cert_userext[ncert_userext].val = cp == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3236 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3237 | ? | - |
3238 | | - |
3239 | ((void *)0) | - |
3240 | : xstrdup(cp); | - |
3241 | cert_userext[ncert_userext].crit = iscrit; | - |
3242 | ncert_userext++; | - |
3243 | } never executed: end of block else | 0 |
3244 | fatal("Unsupported certificate option \"%s\"", opt); never executed: fatal("Unsupported certificate option \"%s\"", opt); | 0 |
3245 | } | - |
3246 | | - |
3247 | static void | - |
3248 | show_options(struct sshbuf *optbuf, int in_critical) | - |
3249 | { | - |
3250 | char *name, *arg; | - |
3251 | struct sshbuf *options, *option = | - |
3252 | ((void *)0) | - |
3253 | ; | - |
3254 | int r; | - |
3255 | | - |
3256 | if ((TRUE | never evaluated | FALSE | never evaluated |
options = sshbuf_fromb(optbuf)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3257 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3258 | ) | - |
3259 | fatal("%s: sshbuf_fromb failed", __func__); never executed: fatal("%s: sshbuf_fromb failed", __func__); | 0 |
3260 | while (sshbuf_len(options) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
3261 | sshbuf_free(option); | - |
3262 | option = | - |
3263 | ((void *)0) | - |
3264 | ; | - |
3265 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_cstring(options, &name, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3266 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3267 | )) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
3268 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_froms(options, &option)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3269 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 0 |
3270 | printf(" %s", name); | - |
3271 | if (!in_criticalTRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
3272 | ( | - |
3273 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3274 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3275 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3276 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3277 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3278 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3279 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3280 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3281 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3282 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3283 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3284 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3285 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3286 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3287 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3288 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3289 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3290 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3291 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3292 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3293 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3294 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3295 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3296 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3297 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3298 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3299 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3300 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3301 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3302 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3303 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3304 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3305 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3306 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3307 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3308 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3309 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3310 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3311 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3312 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3313 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3314 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3315 | ))[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 |
3316 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3317 | ))[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 |
3318 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3319 | ))[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 *) ( name ))[3] - __s2[3]); | 0 |
3320 | nameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
3321 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3322 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3323 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3324 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3325 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3326 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3327 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3328 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3329 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3330 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3331 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3332 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3333 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3334 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3335 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3336 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3337 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3338 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3339 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3340 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3341 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3342 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3343 | ))[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 |
3344 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3345 | ))[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 |
3346 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3347 | ))[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 *) ( "permit-X11-forwarding" ))[3] - __s2[3]); | 0 |
3348 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "permit-X11-forwarding" ))[3] - __s2[3]); | 0 |
3349 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3350 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3351 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3352 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3353 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3354 | == 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
3355 | | - |
3356 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3357 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3358 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3359 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3360 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3361 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3362 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3363 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3364 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3365 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3366 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3367 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3368 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3369 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3370 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3371 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3372 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3373 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3374 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3375 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3376 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3377 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3378 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3379 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3380 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3381 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3382 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3383 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3384 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3385 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3386 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3387 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3388 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3389 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3390 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3391 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3392 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3393 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3394 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3395 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3396 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3397 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3398 | ))[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 |
3399 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3400 | ))[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 |
3401 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3402 | ))[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 *) ( name ))[3] - __s2[3]); | 0 |
3403 | nameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
3404 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3405 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3406 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3407 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3408 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3409 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3410 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3411 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3412 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3413 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3414 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3415 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3416 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3417 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3418 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3419 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3420 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3421 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3422 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3423 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3424 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3425 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3426 | ))[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 |
3427 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3428 | ))[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 |
3429 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3430 | ))[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 *) ( "permit-agent-forwarding" ))[3] - __s2[3]); | 0 |
3431 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "permit-agent-forwarding" ))[3] - __s2[3]); | 0 |
3432 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3433 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3434 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3435 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3436 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3437 | == 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
3438 | | - |
3439 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3440 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3441 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3442 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3443 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3444 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3445 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3446 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3447 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3448 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3449 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3450 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3451 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3452 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3453 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3454 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3455 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3456 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3457 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3458 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3459 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3460 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3461 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3462 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3463 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3464 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3465 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3466 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3467 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3468 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3469 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3470 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3471 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3472 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3473 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3474 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3475 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3476 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3477 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3478 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3479 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3480 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3481 | ))[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 |
3482 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3483 | ))[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 |
3484 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3485 | ))[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 *) ( name ))[3] - __s2[3]); | 0 |
3486 | nameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
3487 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3488 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3489 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3490 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3491 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3492 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3493 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3494 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3495 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3496 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3497 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3498 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3499 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3500 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3501 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3502 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3503 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3504 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3505 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3506 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3507 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3508 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3509 | ))[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 |
3510 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3511 | ))[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 |
3512 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3513 | ))[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 *) ( "permit-port-forwarding" ))[3] - __s2[3]); | 0 |
3514 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "permit-port-forwarding" ))[3] - __s2[3]); | 0 |
3515 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3516 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3517 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3518 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3519 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3520 | == 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
3521 | | - |
3522 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3523 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3524 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3525 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3526 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3527 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3528 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3529 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3530 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3531 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3532 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3533 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3534 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3535 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3536 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3537 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3538 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3539 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3540 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3541 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3542 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3543 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3544 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3545 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3546 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3547 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3548 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3549 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3550 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3551 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3552 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3553 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3554 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3555 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3556 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3557 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3558 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3559 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3560 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3561 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3562 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3563 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3564 | ))[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 |
3565 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3566 | ))[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 |
3567 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3568 | ))[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 *) ( name ))[3] - __s2[3]); | 0 |
3569 | nameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
3570 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3571 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3572 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3573 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3574 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3575 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3576 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3577 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3578 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3579 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3580 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3581 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3582 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3583 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3584 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3585 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3586 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3587 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3588 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3589 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3590 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3591 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3592 | ))[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 |
3593 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3594 | ))[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 |
3595 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3596 | ))[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 *) ( "permit-pty" ))[3] - __s2[3]); | 0 |
3597 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "permit-pty" ))[3] - __s2[3]); | 0 |
3598 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3599 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3600 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3601 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3602 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3603 | == 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
3604 | | - |
3605 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3606 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3607 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3608 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3609 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3610 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3611 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3612 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3613 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3614 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3615 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3616 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3617 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3618 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3619 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3620 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3621 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3622 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3623 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3624 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3625 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3626 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3627 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3628 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3629 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3630 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3631 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3632 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3633 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3634 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3635 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3636 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3637 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3638 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3639 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3640 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3641 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3642 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3643 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3644 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3645 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3646 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3647 | ))[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 |
3648 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3649 | ))[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 |
3650 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3651 | ))[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 *) ( name ))[3] - __s2[3]); | 0 |
3652 | nameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
3653 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3654 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3655 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3656 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3657 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3658 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3659 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3660 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3661 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3662 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3663 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3664 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3665 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3666 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3667 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3668 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3669 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3670 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3671 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3672 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3673 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3674 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3675 | ))[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 |
3676 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3677 | ))[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 |
3678 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3679 | ))[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 *) ( "permit-user-rc" ))[3] - __s2[3]); | 0 |
3680 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "permit-user-rc" ))[3] - __s2[3]); | 0 |
3681 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3682 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3683 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3684 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3685 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3686 | == 0TRUE | never evaluated | FALSE | never evaluated |
)) | 0 |
3687 | printf("\n"); never executed: printf("\n"); | 0 |
3688 | else if (in_criticalTRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
3689 | ( | - |
3690 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3691 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3692 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3693 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3694 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3695 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3696 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3697 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3698 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3699 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3700 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3701 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3702 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3703 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3704 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3705 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3706 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3707 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3708 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3709 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3710 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3711 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3712 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3713 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3714 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3715 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3716 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3717 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3718 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3719 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3720 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3721 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3722 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3723 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3724 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3725 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3726 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3727 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3728 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3729 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3730 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3731 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3732 | ))[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 |
3733 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3734 | ))[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 |
3735 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3736 | ))[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 *) ( name ))[3] - __s2[3]); | 0 |
3737 | nameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
3738 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3739 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3740 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3741 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3742 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3743 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3744 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3745 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3746 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3747 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3748 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3749 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3750 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3751 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3752 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3753 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3754 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3755 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3756 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3757 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3758 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3759 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3760 | ))[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 |
3761 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3762 | ))[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 |
3763 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3764 | ))[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 *) ( "force-command" ))[3] - __s2[3]); | 0 |
3765 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "force-command" ))[3] - __s2[3]); | 0 |
3766 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3767 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3768 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3769 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3770 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3771 | == 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
3772 | | - |
3773 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3774 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3775 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3776 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3777 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3778 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3779 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3780 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3781 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3782 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3783 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3784 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3785 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3786 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3787 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3788 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3789 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3790 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3791 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3792 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3793 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3794 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3795 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3796 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3797 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3798 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3799 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3800 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3801 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3802 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3803 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3804 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3805 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3806 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3807 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3808 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3809 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3810 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3811 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3812 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3813 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3814 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3815 | ))[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 |
3816 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3817 | ))[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 |
3818 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3819 | ))[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 *) ( name ))[3] - __s2[3]); | 0 |
3820 | nameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
3821 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3822 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3823 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3824 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3825 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3826 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3827 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3828 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3829 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3830 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3831 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3832 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3833 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3834 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3835 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3836 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3837 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3838 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3839 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3840 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3841 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3842 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3843 | ))[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 |
3844 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3845 | ))[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 |
3846 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3847 | ))[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 *) ( "source-address" ))[3] - __s2[3]); | 0 |
3848 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "source-address" ))[3] - __s2[3]); | 0 |
3849 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3850 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3851 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3852 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3853 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3854 | == 0TRUE | never evaluated | FALSE | never evaluated |
)) { | 0 |
3855 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_cstring(option, &arg, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3856 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3857 | )) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3858 | fatal("%s: buffer error: %s", never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 0 |
3859 | __func__, ssh_err(r)); never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 0 |
3860 | printf(" %s\n", arg); | - |
3861 | free(arg); | - |
3862 | } never executed: end of block else { | 0 |
3863 | printf(" UNKNOWN OPTION (len %zu)\n", | - |
3864 | sshbuf_len(option)); | - |
3865 | sshbuf_reset(option); | - |
3866 | } never executed: end of block | 0 |
3867 | free(name); | - |
3868 | if (sshbuf_len(option) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3869 | fatal("Option corrupt: extra data at end"); never executed: fatal("Option corrupt: extra data at end"); | 0 |
3870 | } never executed: end of block | 0 |
3871 | sshbuf_free(option); | - |
3872 | sshbuf_free(options); | - |
3873 | } never executed: end of block | 0 |
3874 | | - |
3875 | static void | - |
3876 | print_cert(struct sshkey *key) | - |
3877 | { | - |
3878 | char valid[64], *key_fp, *ca_fp; | - |
3879 | u_int i; | - |
3880 | | - |
3881 | key_fp = sshkey_fingerprint(key, fingerprint_hash, SSH_FP_DEFAULT); | - |
3882 | ca_fp = sshkey_fingerprint(key->cert->signature_key, | - |
3883 | fingerprint_hash, SSH_FP_DEFAULT); | - |
3884 | if (key_fp == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3885 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3886 | || ca_fp == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3887 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3888 | ) | - |
3889 | fatal("%s: sshkey_fingerprint fail", __func__); never executed: fatal("%s: sshkey_fingerprint fail", __func__); | 0 |
3890 | sshkey_format_cert_validity(key->cert, valid, sizeof(valid)); | - |
3891 | | - |
3892 | printf(" Type: %s %s certificate\n", sshkey_ssh_name(key), | - |
3893 | sshkey_cert_type(key)); | - |
3894 | printf(" Public key: %s %s\n", sshkey_type(key), key_fp); | - |
3895 | printf(" Signing CA: %s %s\n", | - |
3896 | sshkey_type(key->cert->signature_key), ca_fp); | - |
3897 | printf(" Key ID: \"%s\"\n", key->cert->key_id); | - |
3898 | printf(" Serial: %llu\n", (unsigned long long)key->cert->serial); | - |
3899 | printf(" Valid: %s\n", valid); | - |
3900 | printf(" Principals: "); | - |
3901 | if (key->cert->nprincipals == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3902 | printf("(none)\n"); never executed: printf("(none)\n"); | 0 |
3903 | else { | - |
3904 | for (i = 0; i < key->cert->nprincipalsTRUE | never evaluated | FALSE | never evaluated |
; i++) | 0 |
3905 | printf("\n %s", never executed: printf("\n %s", key->cert->principals[i]); | 0 |
3906 | key->cert->principals[i]); never executed: printf("\n %s", key->cert->principals[i]); | 0 |
3907 | printf("\n"); | - |
3908 | } never executed: end of block | 0 |
3909 | printf(" Critical Options: "); | - |
3910 | if (sshbuf_len(key->cert->critical) == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3911 | printf("(none)\n"); never executed: printf("(none)\n"); | 0 |
3912 | else { | - |
3913 | printf("\n"); | - |
3914 | show_options(key->cert->critical, 1); | - |
3915 | } never executed: end of block | 0 |
3916 | printf(" Extensions: "); | - |
3917 | if (sshbuf_len(key->cert->extensions) == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3918 | printf("(none)\n"); never executed: printf("(none)\n"); | 0 |
3919 | else { | - |
3920 | printf("\n"); | - |
3921 | show_options(key->cert->extensions, 0); | - |
3922 | } never executed: end of block | 0 |
3923 | } | - |
3924 | | - |
3925 | static void | - |
3926 | do_show_cert(struct passwd *pw) | - |
3927 | { | - |
3928 | struct sshkey *key = | - |
3929 | ((void *)0) | - |
3930 | ; | - |
3931 | struct stat st; | - |
3932 | int r, is_stdin = 0, ok = 0; | - |
3933 | FILE *f; | - |
3934 | char *cp, *line = | - |
3935 | ((void *)0) | - |
3936 | ; | - |
3937 | const char *path; | - |
3938 | size_t linesize = 0; | - |
3939 | u_long lnum = 0; | - |
3940 | | - |
3941 | if (!have_identityTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
3942 | ask_filename(pw, "Enter file in which the key is"); never executed: ask_filename(pw, "Enter file in which the key is"); | 0 |
3943 | if ( | - |
3944 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3945 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3946 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3947 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3948 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3949 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3950 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3951 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3952 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3953 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3954 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3955 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3956 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3957 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3958 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3959 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3960 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3961 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3962 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3963 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3964 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3965 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3966 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3967 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3968 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3969 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3970 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3971 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3972 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3973 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3974 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3975 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3976 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3977 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3978 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3979 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3980 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3981 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3982 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3983 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3984 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3985 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3986 | ))[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 |
3987 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3988 | ))[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 |
3989 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
3990 | ))[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 *) ( identity_file ))[3] - __s2[3]); | 0 |
3991 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( identity_file ))[3] - __s2[3]); | 0 |
3992 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3993 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3994 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3995 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3996 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3997 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3998 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
3999 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4000 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4001 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4002 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4003 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4004 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4005 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4006 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4007 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4008 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4009 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4010 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4011 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4012 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4013 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4014 | ))[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 |
4015 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4016 | ))[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 |
4017 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4018 | ))[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 *) ( "-" ))[3] - __s2[3]); | 0 |
4019 | "-"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "-" ))[3] - __s2[3]); | 0 |
4020 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4021 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4022 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4023 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4024 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4025 | != 0TRUE | never evaluated | FALSE | never evaluated |
&& stat(identity_file, &st) < 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4026 | fatal("%s: %s: %s", __progname, identity_file, strerror( never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
4027 | (*__errno_location ()) never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
4028 | )); never executed: fatal("%s: %s: %s", __progname, identity_file, strerror( (*__errno_location ()) )); | 0 |
4029 | | - |
4030 | path = identity_file; | - |
4031 | if ( | - |
4032 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4033 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4034 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4035 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4036 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4037 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4038 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4039 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4040 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4041 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4042 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4043 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4044 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4045 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4046 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4047 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4048 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4049 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4050 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4051 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4052 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4053 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4054 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4055 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4056 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4057 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4058 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4059 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4060 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4061 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4062 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4063 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4064 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4065 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4066 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4067 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4068 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4069 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4070 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4071 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4072 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4073 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4074 | ))[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 |
4075 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4076 | ))[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 |
4077 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4078 | ))[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 *) ( path ))[3] - __s2[3]); | 0 |
4079 | pathTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( path ))[3] - __s2[3]); | 0 |
4080 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4081 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4082 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4083 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4084 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4085 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4086 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4087 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4088 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4089 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4090 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4091 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4092 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4093 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4094 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4095 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4096 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4097 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4098 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4099 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4100 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4101 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4102 | ))[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 |
4103 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4104 | ))[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 |
4105 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4106 | ))[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 *) ( "-" ))[3] - __s2[3]); | 0 |
4107 | "-"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "-" ))[3] - __s2[3]); | 0 |
4108 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4109 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4110 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4111 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4112 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4113 | == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4114 | f = | - |
4115 | stdin | - |
4116 | ; | - |
4117 | path = "(stdin)"; | - |
4118 | is_stdin = 1; | - |
4119 | } never executed: end of block else if ((TRUE | never evaluated | FALSE | never evaluated |
f = fopen(identity_file, "r")) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4120 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4121 | ) | - |
4122 | fatal("fopen %s: %s", identity_file, strerror( never executed: fatal("fopen %s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
4123 | (*__errno_location ()) never executed: fatal("fopen %s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
4124 | )); never executed: fatal("fopen %s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
4125 | | - |
4126 | while (getline(&line, &linesize, f) != -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4127 | lnum++; | - |
4128 | sshkey_free(key); | - |
4129 | key = | - |
4130 | ((void *)0) | - |
4131 | ; | - |
4132 | | - |
4133 | cp = line + | - |
4134 | __builtin_strspn ( | - |
4135 | line | - |
4136 | , | - |
4137 | " \t" | - |
4138 | ) | - |
4139 | ; | - |
4140 | if (*TRUE | never evaluated | FALSE | never evaluated |
cp == '#'TRUE | never evaluated | FALSE | never evaluated |
|| *TRUE | never evaluated | FALSE | never evaluated |
cp == '\0'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4141 | continue; never executed: continue; | 0 |
4142 | if ((TRUE | never evaluated | FALSE | never evaluated |
key = sshkey_new(KEY_UNSPEC)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4143 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4144 | ) | - |
4145 | fatal("sshkey_new"); never executed: fatal("sshkey_new"); | 0 |
4146 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_read(key, &cp)) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4147 | error("%s:%lu: invalid key: %s", path, | - |
4148 | lnum, ssh_err(r)); | - |
4149 | continue; never executed: continue; | 0 |
4150 | } | - |
4151 | if (!sshkey_is_cert(key)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4152 | error("%s:%lu is not a certificate", path, lnum); | - |
4153 | continue; never executed: continue; | 0 |
4154 | } | - |
4155 | ok = 1; | - |
4156 | if (!is_stdinTRUE | never evaluated | FALSE | never evaluated |
&& lnum == 1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4157 | printf("%s:\n", path); never executed: printf("%s:\n", path); | 0 |
4158 | else | - |
4159 | printf("%s:%lu:\n", path, lnum); never executed: printf("%s:%lu:\n", path, lnum); | 0 |
4160 | print_cert(key); | - |
4161 | } never executed: end of block | 0 |
4162 | free(line); | - |
4163 | sshkey_free(key); | - |
4164 | fclose(f); | - |
4165 | exit(ok ? 0 : 1); never executed: exit(ok ? 0 : 1); | 0 |
4166 | } | - |
4167 | | - |
4168 | static void | - |
4169 | load_krl(const char *path, struct ssh_krl **krlp) | - |
4170 | { | - |
4171 | struct sshbuf *krlbuf; | - |
4172 | int r, fd; | - |
4173 | | - |
4174 | if ((TRUE | never evaluated | FALSE | never evaluated |
krlbuf = sshbuf_new()) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4175 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4176 | ) | - |
4177 | fatal("sshbuf_new failed"); never executed: fatal("sshbuf_new failed"); | 0 |
4178 | if ((TRUE | never evaluated | FALSE | never evaluated |
fd = open(path, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4179 | 00TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4180 | )) == -1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4181 | fatal("open %s: %s", path, strerror( never executed: fatal("open %s: %s", path, strerror( (*__errno_location ()) )); | 0 |
4182 | (*__errno_location ()) never executed: fatal("open %s: %s", path, strerror( (*__errno_location ()) )); | 0 |
4183 | )); never executed: fatal("open %s: %s", path, strerror( (*__errno_location ()) )); | 0 |
4184 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_load_file(fd, krlbuf)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4185 | fatal("Unable to load KRL: %s", ssh_err(r)); never executed: fatal("Unable to load KRL: %s", ssh_err(r)); | 0 |
4186 | close(fd); | - |
4187 | | - |
4188 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = ssh_krl_from_blob(krlbuf, krlp, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4189 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4190 | , 0)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
4191 | *TRUE | never evaluated | FALSE | never evaluated |
krlp == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4192 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4193 | ) | - |
4194 | fatal("Invalid KRL file: %s", ssh_err(r)); never executed: fatal("Invalid KRL file: %s", ssh_err(r)); | 0 |
4195 | sshbuf_free(krlbuf); | - |
4196 | } never executed: end of block | 0 |
4197 | | - |
4198 | static void | - |
4199 | hash_to_blob(const char *cp, u_char **blobp, size_t *lenp, | - |
4200 | const char *file, u_long lnum) | - |
4201 | { | - |
4202 | char *tmp; | - |
4203 | size_t tlen; | - |
4204 | struct sshbuf *b; | - |
4205 | int r; | - |
4206 | | - |
4207 | if ( | - |
4208 | (TRUE | never evaluated | FALSE | never evaluated |
__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4209 | 7TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4210 | )TRUE | never evaluated | FALSE | never evaluated |
&& ((__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4211 | cpTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4212 | )TRUE | never evaluated | FALSE | never evaluated |
&& strlen (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4213 | cpTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4214 | ) < ((size_t) (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4215 | 7TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4216 | ))TRUE | never evaluated | FALSE | never evaluated |
) || (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4217 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4218 | )TRUE | never evaluated | FALSE | never evaluated |
&& strlen (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4219 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4220 | ) < ((size_t) (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4221 | 7TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4222 | ))TRUE | never evaluated | FALSE | never evaluated |
)) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4223 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4224 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4225 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4226 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4227 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4228 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4229 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4230 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4231 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4232 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4233 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4234 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4235 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4236 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4237 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4238 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4239 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4240 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4241 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4242 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4243 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4244 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4245 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4246 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4247 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4248 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4249 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4250 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4251 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4252 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4253 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4254 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4255 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4256 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4257 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4258 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4259 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4260 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4261 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4262 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4263 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4264 | ))[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 |
4265 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4266 | ))[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 |
4267 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4268 | ))[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 *) ( cp ))[3] - __s2[3]); | 0 |
4269 | cpTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( cp ))[3] - __s2[3]); | 0 |
4270 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4271 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4272 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4273 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4274 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4275 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4276 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4277 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4278 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4279 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4280 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4281 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4282 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4283 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4284 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4285 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4286 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4287 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4288 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4289 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4290 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4291 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4292 | ))[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 |
4293 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4294 | ))[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 |
4295 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4296 | ))[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 *) ( "SHA256:" ))[3] - __s2[3]); | 0 |
4297 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "SHA256:" ))[3] - __s2[3]); | 0 |
4298 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4299 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4300 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4301 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4302 | )))); }) : strncmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4303 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4304 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4305 | "SHA256:"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4306 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4307 | 7TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4308 | ))) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4309 | != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4310 | fatal("%s:%lu: unsupported hash algorithm", file, lnum); never executed: fatal("%s:%lu: unsupported hash algorithm", file, lnum); | 0 |
4311 | cp += 7; | - |
4312 | | - |
4313 | | - |
4314 | | - |
4315 | | - |
4316 | | - |
4317 | tlen = strlen(cp); | - |
4318 | tmp = xmalloc(tlen + 4 + 1); | - |
4319 | strlcpy(tmp, cp, tlen + 1); | - |
4320 | while ((TRUE | never evaluated | FALSE | never evaluated |
tlen % 4) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4321 | tmp[tlen++] = '='; | - |
4322 | tmp[tlen] = '\0'; | - |
4323 | } never executed: end of block | 0 |
4324 | if ((TRUE | never evaluated | FALSE | never evaluated |
b = sshbuf_new()) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4325 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4326 | ) | - |
4327 | fatal("%s: sshbuf_new failed", __func__); never executed: fatal("%s: sshbuf_new failed", __func__); | 0 |
4328 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_b64tod(b, tmp)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4329 | fatal("%s:%lu: decode hash failed: %s", file, lnum, ssh_err(r)); never executed: fatal("%s:%lu: decode hash failed: %s", file, lnum, ssh_err(r)); | 0 |
4330 | free(tmp); | - |
4331 | *lenp = sshbuf_len(b); | - |
4332 | *blobp = xmalloc(*lenp); | - |
4333 | memcpy(*blobp, sshbuf_ptr(b), *lenp); | - |
4334 | sshbuf_free(b); | - |
4335 | } never executed: end of block | 0 |
4336 | | - |
4337 | static void | - |
4338 | update_krl_from_file(struct passwd *pw, const char *file, int wild_ca, | - |
4339 | const struct sshkey *ca, struct ssh_krl *krl) | - |
4340 | { | - |
4341 | struct sshkey *key = | - |
4342 | ((void *)0) | - |
4343 | ; | - |
4344 | u_long lnum = 0; | - |
4345 | char *path, *cp, *ep, *line = | - |
4346 | ((void *)0) | - |
4347 | ; | - |
4348 | u_char *blob = | - |
4349 | ((void *)0) | - |
4350 | ; | - |
4351 | size_t blen = 0, linesize = 0; | - |
4352 | unsigned long long serial, serial2; | - |
4353 | int i, was_explicit_key, was_sha1, was_sha256, was_hash, r; | - |
4354 | FILE *krl_spec; | - |
4355 | | - |
4356 | path = tilde_expand_filename(file, pw->pw_uid); | - |
4357 | if ( | - |
4358 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4359 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4360 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4361 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4362 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4363 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4364 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4365 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4366 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4367 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4368 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4369 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4370 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4371 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4372 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4373 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4374 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4375 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4376 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4377 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4378 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4379 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4380 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4381 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4382 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4383 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4384 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4385 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4386 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4387 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4388 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4389 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4390 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4391 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4392 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4393 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4394 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4395 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4396 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4397 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4398 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4399 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4400 | ))[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 |
4401 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4402 | ))[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 |
4403 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4404 | ))[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 *) ( path ))[3] - __s2[3]); | 0 |
4405 | pathTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( path ))[3] - __s2[3]); | 0 |
4406 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4407 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4408 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4409 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4410 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4411 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4412 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4413 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4414 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4415 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4416 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4417 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4418 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4419 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4420 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4421 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4422 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4423 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4424 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4425 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4426 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4427 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4428 | ))[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 |
4429 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4430 | ))[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 |
4431 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4432 | ))[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 *) ( "-" ))[3] - __s2[3]); | 0 |
4433 | "-"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "-" ))[3] - __s2[3]); | 0 |
4434 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4435 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4436 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4437 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4438 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4439 | == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4440 | krl_spec = | - |
4441 | stdin | - |
4442 | ; | - |
4443 | free(path); | - |
4444 | path = xstrdup("(standard input)"); | - |
4445 | } never executed: end of block else if ((TRUE | never evaluated | FALSE | never evaluated |
krl_spec = fopen(path, "r")) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4446 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4447 | ) | - |
4448 | fatal("fopen %s: %s", path, strerror( never executed: fatal("fopen %s: %s", path, strerror( (*__errno_location ()) )); | 0 |
4449 | (*__errno_location ()) never executed: fatal("fopen %s: %s", path, strerror( (*__errno_location ()) )); | 0 |
4450 | )); never executed: fatal("fopen %s: %s", path, strerror( (*__errno_location ()) )); | 0 |
4451 | | - |
4452 | if (!quietTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4453 | printf("Revoking from %s\n", path); never executed: printf("Revoking from %s\n", path); | 0 |
4454 | while (getline(&line, &linesize, krl_spec) != -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4455 | lnum++; | - |
4456 | was_explicit_key = was_sha1 = was_sha256 = was_hash = 0; | - |
4457 | cp = line + | - |
4458 | __builtin_strspn ( | - |
4459 | line | - |
4460 | , | - |
4461 | " \t" | - |
4462 | ) | - |
4463 | ; | - |
4464 | | - |
4465 | for (i = 0, r = -1; cp[i] != '\0'TRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
4466 | if (cp[i] == '#'TRUE | never evaluated | FALSE | never evaluated |
|| cp[i] == '\n'TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4467 | cp[i] = '\0'; | - |
4468 | break; never executed: break; | 0 |
4469 | } | - |
4470 | if (cp[i] == ' 'TRUE | never evaluated | FALSE | never evaluated |
|| cp[i] == '\t'TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4471 | | - |
4472 | if (r == -1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4473 | r = i; never executed: r = i; | 0 |
4474 | } never executed: end of block else | 0 |
4475 | r = -1; never executed: r = -1; | 0 |
4476 | } | - |
4477 | if (r != -1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4478 | cp[r] = '\0'; never executed: cp[r] = '\0'; | 0 |
4479 | if (*TRUE | never evaluated | FALSE | never evaluated |
cp == '\0'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4480 | continue; never executed: continue; | 0 |
4481 | if (strncasecmp(cp, "serial:", 7) == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4482 | if (ca == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4483 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4484 | && !wild_caTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4485 | fatal("revoking certificates by serial number " | - |
4486 | "requires specification of a CA key"); | - |
4487 | } never executed: end of block | 0 |
4488 | cp += 7; | - |
4489 | cp = cp + | - |
4490 | __builtin_strspn ( | - |
4491 | cp | - |
4492 | , | - |
4493 | " \t" | - |
4494 | ) | - |
4495 | ; | - |
4496 | | - |
4497 | (*__errno_location ()) | - |
4498 | = 0; | - |
4499 | serial = strtoull(cp, &ep, 0); | - |
4500 | if (*TRUE | never evaluated | FALSE | never evaluated |
cp == '\0'TRUE | never evaluated | FALSE | never evaluated |
|| (*TRUE | never evaluated | FALSE | never evaluated |
ep != '\0'TRUE | never evaluated | FALSE | never evaluated |
&& *TRUE | never evaluated | FALSE | never evaluated |
ep != '-'TRUE | never evaluated | FALSE | never evaluated |
)) | 0 |
4501 | fatal("%s:%lu: invalid serial \"%s\"", never executed: fatal("%s:%lu: invalid serial \"%s\"", path, lnum, cp); | 0 |
4502 | path, lnum, cp); never executed: fatal("%s:%lu: invalid serial \"%s\"", path, lnum, cp); | 0 |
4503 | if ( | - |
4504 | (*TRUE | never evaluated | FALSE | never evaluated |
__errno_location ()) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4505 | == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4506 | 34TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4507 | && serial == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4508 | (0x7fffffffffffffffLL * 2ULL + 1ULL)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4509 | ) | - |
4510 | fatal("%s:%lu: serial out of range", never executed: fatal("%s:%lu: serial out of range", path, lnum); | 0 |
4511 | path, lnum); never executed: fatal("%s:%lu: serial out of range", path, lnum); | 0 |
4512 | serial2 = serial; | - |
4513 | if (*TRUE | never evaluated | FALSE | never evaluated |
ep == '-'TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4514 | cp = ep + 1; | - |
4515 | | - |
4516 | (*__errno_location ()) | - |
4517 | = 0; | - |
4518 | serial2 = strtoull(cp, &ep, 0); | - |
4519 | if (*TRUE | never evaluated | FALSE | never evaluated |
cp == '\0'TRUE | never evaluated | FALSE | never evaluated |
|| *TRUE | never evaluated | FALSE | never evaluated |
ep != '\0'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4520 | fatal("%s:%lu: invalid serial \"%s\"", never executed: fatal("%s:%lu: invalid serial \"%s\"", path, lnum, cp); | 0 |
4521 | path, lnum, cp); never executed: fatal("%s:%lu: invalid serial \"%s\"", path, lnum, cp); | 0 |
4522 | if ( | - |
4523 | (*TRUE | never evaluated | FALSE | never evaluated |
__errno_location ()) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4524 | == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4525 | 34TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4526 | && serial2 == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4527 | (0x7fffffffffffffffLL * 2ULL + 1ULL)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4528 | ) | - |
4529 | fatal("%s:%lu: serial out of range", never executed: fatal("%s:%lu: serial out of range", path, lnum); | 0 |
4530 | path, lnum); never executed: fatal("%s:%lu: serial out of range", path, lnum); | 0 |
4531 | if (serial2 <= serialTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4532 | fatal("%s:%lu: invalid serial range " never executed: fatal("%s:%lu: invalid serial range " "%llu:%llu", path, lnum, (unsigned long long)serial, (unsigned long long)serial2); | 0 |
4533 | "%llu:%llu", path, lnum, never executed: fatal("%s:%lu: invalid serial range " "%llu:%llu", path, lnum, (unsigned long long)serial, (unsigned long long)serial2); | 0 |
4534 | (unsigned long long)serial, never executed: fatal("%s:%lu: invalid serial range " "%llu:%llu", path, lnum, (unsigned long long)serial, (unsigned long long)serial2); | 0 |
4535 | (unsigned long long)serial2); never executed: fatal("%s:%lu: invalid serial range " "%llu:%llu", path, lnum, (unsigned long long)serial, (unsigned long long)serial2); | 0 |
4536 | } never executed: end of block | 0 |
4537 | if (ssh_krl_revoke_cert_by_serial_range(krl,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4538 | ca, serial, serial2) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4539 | fatal("%s: revoke serial failed", | - |
4540 | __func__); | - |
4541 | } never executed: end of block | 0 |
4542 | } never executed: end of block else if (strncasecmp(cp, "id:", 3) == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4543 | if (ca == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4544 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4545 | && !wild_caTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4546 | fatal("revoking certificates by key ID " | - |
4547 | "requires specification of a CA key"); | - |
4548 | } never executed: end of block | 0 |
4549 | cp += 3; | - |
4550 | cp = cp + | - |
4551 | __builtin_strspn ( | - |
4552 | cp | - |
4553 | , | - |
4554 | " \t" | - |
4555 | ) | - |
4556 | ; | - |
4557 | if (ssh_krl_revoke_cert_by_key_id(krl, ca, cp) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4558 | fatal("%s: revoke key ID failed", __func__); never executed: fatal("%s: revoke key ID failed", __func__); | 0 |
4559 | } never executed: end of block else if (strncasecmp(cp, "hash:", 5) == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4560 | cp += 5; | - |
4561 | cp = cp + | - |
4562 | __builtin_strspn ( | - |
4563 | cp | - |
4564 | , | - |
4565 | " \t" | - |
4566 | ) | - |
4567 | ; | - |
4568 | hash_to_blob(cp, &blob, &blen, file, lnum); | - |
4569 | r = ssh_krl_revoke_key_sha256(krl, blob, blen); | - |
4570 | } never executed: end of block else { | 0 |
4571 | if (strncasecmp(cp, "key:", 4) == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4572 | cp += 4; | - |
4573 | cp = cp + | - |
4574 | __builtin_strspn ( | - |
4575 | cp | - |
4576 | , | - |
4577 | " \t" | - |
4578 | ) | - |
4579 | ; | - |
4580 | was_explicit_key = 1; | - |
4581 | } never executed: end of block else if (strncasecmp(cp, "sha1:", 5) == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4582 | cp += 5; | - |
4583 | cp = cp + | - |
4584 | __builtin_strspn ( | - |
4585 | cp | - |
4586 | , | - |
4587 | " \t" | - |
4588 | ) | - |
4589 | ; | - |
4590 | was_sha1 = 1; | - |
4591 | } never executed: end of block else if (strncasecmp(cp, "sha256:", 7) == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4592 | cp += 7; | - |
4593 | cp = cp + | - |
4594 | __builtin_strspn ( | - |
4595 | cp | - |
4596 | , | - |
4597 | " \t" | - |
4598 | ) | - |
4599 | ; | - |
4600 | was_sha256 = 1; | - |
4601 | | - |
4602 | | - |
4603 | | - |
4604 | | - |
4605 | } never executed: end of block | 0 |
4606 | if ((TRUE | never evaluated | FALSE | never evaluated |
key = sshkey_new(KEY_UNSPEC)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4607 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4608 | ) | - |
4609 | fatal("sshkey_new"); never executed: fatal("sshkey_new"); | 0 |
4610 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_read(key, &cp)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4611 | fatal("%s:%lu: invalid key: %s", never executed: fatal("%s:%lu: invalid key: %s", path, lnum, ssh_err(r)); | 0 |
4612 | path, lnum, ssh_err(r)); never executed: fatal("%s:%lu: invalid key: %s", path, lnum, ssh_err(r)); | 0 |
4613 | if (was_explicit_keyTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4614 | r = ssh_krl_revoke_key_explicit(krl, key); never executed: r = ssh_krl_revoke_key_explicit(krl, key); | 0 |
4615 | else if (was_sha1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4616 | if (sshkey_fingerprint_raw(key,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4617 | 1, &blob, &blen) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4618 | fatal("%s:%lu: fingerprint failed", | - |
4619 | file, lnum); | - |
4620 | } never executed: end of block | 0 |
4621 | r = ssh_krl_revoke_key_sha1(krl, blob, blen); | - |
4622 | } never executed: end of block else if (was_sha256TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4623 | if (sshkey_fingerprint_raw(key,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4624 | 2, &blob, &blen) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4625 | fatal("%s:%lu: fingerprint failed", | - |
4626 | file, lnum); | - |
4627 | } never executed: end of block | 0 |
4628 | r = ssh_krl_revoke_key_sha256(krl, blob, blen); | - |
4629 | } never executed: end of block else | 0 |
4630 | r = ssh_krl_revoke_key(krl, key); never executed: r = ssh_krl_revoke_key(krl, key); | 0 |
4631 | if (r != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4632 | fatal("%s: revoke key failed: %s", never executed: fatal("%s: revoke key failed: %s", __func__, ssh_err(r)); | 0 |
4633 | __func__, ssh_err(r)); never executed: fatal("%s: revoke key failed: %s", __func__, ssh_err(r)); | 0 |
4634 | freezero(blob, blen); | - |
4635 | blob = | - |
4636 | ((void *)0) | - |
4637 | ; | - |
4638 | blen = 0; | - |
4639 | sshkey_free(key); | - |
4640 | } never executed: end of block | 0 |
4641 | } | - |
4642 | if ( | - |
4643 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4644 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4645 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4646 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4647 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4648 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4649 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4650 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4651 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4652 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4653 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4654 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4655 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4656 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4657 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4658 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4659 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4660 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4661 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4662 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4663 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4664 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4665 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4666 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4667 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4668 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4669 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4670 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4671 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4672 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4673 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4674 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4675 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4676 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4677 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4678 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4679 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4680 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4681 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4682 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4683 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4684 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4685 | ))[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 |
4686 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4687 | ))[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 |
4688 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4689 | ))[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 *) ( path ))[3] - __s2[3]); | 0 |
4690 | pathTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( path ))[3] - __s2[3]); | 0 |
4691 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4692 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4693 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4694 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4695 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4696 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4697 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4698 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4699 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4700 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4701 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4702 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4703 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4704 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4705 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4706 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4707 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4708 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4709 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4710 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4711 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4712 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4713 | ))[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 |
4714 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4715 | ))[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 |
4716 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4717 | ))[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 *) ( "-" ))[3] - __s2[3]); | 0 |
4718 | "-"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "-" ))[3] - __s2[3]); | 0 |
4719 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4720 | pathTRUE | never evaluated | FALSE | never evaluated |
| 0 |
4721 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4722 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4723 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4724 | != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4725 | fclose(krl_spec); never executed: fclose(krl_spec); | 0 |
4726 | free(line); | - |
4727 | free(path); | - |
4728 | } never executed: end of block | 0 |
4729 | | - |
4730 | static void | - |
4731 | do_gen_krl(struct passwd *pw, int updating, int argc, char **argv) | - |
4732 | { | - |
4733 | struct ssh_krl *krl; | - |
4734 | struct stat sb; | - |
4735 | struct sshkey *ca = | - |
4736 | ((void *)0) | - |
4737 | ; | - |
4738 | int fd, i, r, wild_ca = 0; | - |
4739 | char *tmp; | - |
4740 | struct sshbuf *kbuf; | - |
4741 | | - |
4742 | if (*TRUE | never evaluated | FALSE | never evaluated |
identity_file == '\0'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4743 | fatal("KRL generation requires an output file"); never executed: fatal("KRL generation requires an output file"); | 0 |
4744 | if (stat(identity_file, &sb) == -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4745 | if ( | - |
4746 | (*TRUE | never evaluated | FALSE | never evaluated |
__errno_location ()) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4747 | != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4748 | 2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4749 | ) | - |
4750 | fatal("Cannot access KRL \"%s\": %s", never executed: fatal("Cannot access KRL \"%s\": %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
4751 | identity_file, strerror( never executed: fatal("Cannot access KRL \"%s\": %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
4752 | (*__errno_location ()) never executed: fatal("Cannot access KRL \"%s\": %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
4753 | )); never executed: fatal("Cannot access KRL \"%s\": %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
4754 | if (updatingTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4755 | fatal("KRL \"%s\" does not exist", identity_file); never executed: fatal("KRL \"%s\" does not exist", identity_file); | 0 |
4756 | } never executed: end of block | 0 |
4757 | if (ca_key_path != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4758 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4759 | ) { | - |
4760 | if (strcasecmp(ca_key_path, "none") == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4761 | wild_ca = 1; never executed: wild_ca = 1; | 0 |
4762 | else { | - |
4763 | tmp = tilde_expand_filename(ca_key_path, pw->pw_uid); | - |
4764 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_load_public(tmp, &ca, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4765 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4766 | )) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4767 | fatal("Cannot load CA public key %s: %s", never executed: fatal("Cannot load CA public key %s: %s", tmp, ssh_err(r)); | 0 |
4768 | tmp, ssh_err(r)); never executed: fatal("Cannot load CA public key %s: %s", tmp, ssh_err(r)); | 0 |
4769 | free(tmp); | - |
4770 | } never executed: end of block | 0 |
4771 | } | - |
4772 | | - |
4773 | if (updatingTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4774 | load_krl(identity_file, &krl); never executed: load_krl(identity_file, &krl); | 0 |
4775 | else if ((TRUE | never evaluated | FALSE | never evaluated |
krl = ssh_krl_init()) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4776 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4777 | ) | - |
4778 | fatal("couldn't create KRL"); never executed: fatal("couldn't create KRL"); | 0 |
4779 | | - |
4780 | if (cert_serial != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4781 | ssh_krl_set_version(krl, cert_serial); never executed: ssh_krl_set_version(krl, cert_serial); | 0 |
4782 | if (identity_comment != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4783 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4784 | ) | - |
4785 | ssh_krl_set_comment(krl, identity_comment); never executed: ssh_krl_set_comment(krl, identity_comment); | 0 |
4786 | | - |
4787 | for (i = 0; i < argcTRUE | never evaluated | FALSE | never evaluated |
; i++) | 0 |
4788 | update_krl_from_file(pw, argv[i], wild_ca, ca, krl); never executed: update_krl_from_file(pw, argv[i], wild_ca, ca, krl); | 0 |
4789 | | - |
4790 | if ((TRUE | never evaluated | FALSE | never evaluated |
kbuf = sshbuf_new()) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4791 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4792 | ) | - |
4793 | fatal("sshbuf_new failed"); never executed: fatal("sshbuf_new failed"); | 0 |
4794 | if (ssh_krl_to_blob(krl, kbuf, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4795 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4796 | , 0) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4797 | fatal("Couldn't generate KRL"); never executed: fatal("Couldn't generate KRL"); | 0 |
4798 | if ((TRUE | never evaluated | FALSE | never evaluated |
fd = open(identity_file, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4799 | 01TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4800 | |TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4801 | 0100TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4802 | |TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4803 | 01000TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4804 | , 0644)) == -1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4805 | fatal("open %s: %s", identity_file, strerror( never executed: fatal("open %s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
4806 | (*__errno_location ()) never executed: fatal("open %s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
4807 | )); never executed: fatal("open %s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
4808 | if (atomicio((ssize_t (*)(int, void *, size_t))write, fd, sshbuf_mutable_ptr(kbuf), sshbuf_len(kbuf)) !=TRUE | never evaluated | FALSE | never evaluated |
| 0 |
4809 | sshbuf_len(kbuf)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4810 | fatal("write %s: %s", identity_file, strerror( never executed: fatal("write %s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
4811 | (*__errno_location ()) never executed: fatal("write %s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
4812 | )); never executed: fatal("write %s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
4813 | close(fd); | - |
4814 | sshbuf_free(kbuf); | - |
4815 | ssh_krl_free(krl); | - |
4816 | sshkey_free(ca); | - |
4817 | } never executed: end of block | 0 |
4818 | | - |
4819 | static void | - |
4820 | do_check_krl(struct passwd *pw, int argc, char **argv) | - |
4821 | { | - |
4822 | int i, r, ret = 0; | - |
4823 | char *comment; | - |
4824 | struct ssh_krl *krl; | - |
4825 | struct sshkey *k; | - |
4826 | | - |
4827 | if (*TRUE | never evaluated | FALSE | never evaluated |
identity_file == '\0'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4828 | fatal("KRL checking requires an input file"); never executed: fatal("KRL checking requires an input file"); | 0 |
4829 | load_krl(identity_file, &krl); | - |
4830 | for (i = 0; i < argcTRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
4831 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_load_public(argv[i], &k, &comment)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4832 | fatal("Cannot load public key %s: %s", never executed: fatal("Cannot load public key %s: %s", argv[i], ssh_err(r)); | 0 |
4833 | argv[i], ssh_err(r)); never executed: fatal("Cannot load public key %s: %s", argv[i], ssh_err(r)); | 0 |
4834 | r = ssh_krl_check_key(krl, k); | - |
4835 | printf("%s%s%s%s: %s\n", argv[i], | - |
4836 | *comment ? " (" : "", comment, *comment ? ")" : "", | - |
4837 | r == 0 ? "ok" : "REVOKED"); | - |
4838 | if (r != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4839 | ret = 1; never executed: ret = 1; | 0 |
4840 | sshkey_free(k); | - |
4841 | free(comment); | - |
4842 | } never executed: end of block | 0 |
4843 | ssh_krl_free(krl); | - |
4844 | exit(ret); never executed: exit(ret); | 0 |
4845 | } | - |
4846 | | - |
4847 | static void | - |
4848 | usage(void) | - |
4849 | { | - |
4850 | fprintf( | - |
4851 | stderr | - |
4852 | , | - |
4853 | "usage: ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa]\n" | - |
4854 | " [-N new_passphrase] [-C comment] [-f output_keyfile]\n" | - |
4855 | " ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]\n" | - |
4856 | " ssh-keygen -i [-m key_format] [-f input_keyfile]\n" | - |
4857 | " ssh-keygen -e [-m key_format] [-f input_keyfile]\n" | - |
4858 | " ssh-keygen -y [-f input_keyfile]\n" | - |
4859 | " ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]\n" | - |
4860 | " ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]\n" | - |
4861 | " ssh-keygen -B [-f input_keyfile]\n"); | - |
4862 | | - |
4863 | fprintf( | - |
4864 | stderr | - |
4865 | , | - |
4866 | " ssh-keygen -D pkcs11\n"); | - |
4867 | | - |
4868 | fprintf( | - |
4869 | stderr | - |
4870 | , | - |
4871 | " ssh-keygen -F hostname [-f known_hosts_file] [-l]\n" | - |
4872 | " ssh-keygen -H [-f known_hosts_file]\n" | - |
4873 | " ssh-keygen -R hostname [-f known_hosts_file]\n" | - |
4874 | " ssh-keygen -r hostname [-f input_keyfile] [-g]\n" | - |
4875 | | - |
4876 | " ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point]\n" | - |
4877 | " ssh-keygen -T output_file -f input_file [-v] [-a rounds] [-J num_lines]\n" | - |
4878 | " [-j start_line] [-K checkpt] [-W generator]\n" | - |
4879 | | - |
4880 | " ssh-keygen -s ca_key -I certificate_identity [-h] [-U]\n" | - |
4881 | " [-D pkcs11_provider] [-n principals] [-O option]\n" | - |
4882 | " [-V validity_interval] [-z serial_number] file ...\n" | - |
4883 | " ssh-keygen -L [-f input_keyfile]\n" | - |
4884 | " ssh-keygen -A\n" | - |
4885 | " ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]\n" | - |
4886 | " file ...\n" | - |
4887 | " ssh-keygen -Q -f krl_file file ...\n"); | - |
4888 | exit(1); never executed: exit(1); | 0 |
4889 | } | - |
4890 | | - |
4891 | | - |
4892 | | - |
4893 | | - |
4894 | int | - |
4895 | main(int argc, char **argv) | - |
4896 | { | - |
4897 | char dotsshdir[ | - |
4898 | 4096 | - |
4899 | ], comment[1024], *passphrase1, *passphrase2; | - |
4900 | char *rr_hostname = | - |
4901 | ((void *)0) | - |
4902 | , *ep, *fp, *ra; | - |
4903 | struct sshkey *private, *public; | - |
4904 | struct passwd *pw; | - |
4905 | struct stat st; | - |
4906 | int r, opt, type, fd; | - |
4907 | int gen_all_hostkeys = 0, gen_krl = 0, update_krl = 0, check_krl = 0; | - |
4908 | FILE *f; | - |
4909 | const char *errstr; | - |
4910 | | - |
4911 | | - |
4912 | char out_file[ | - |
4913 | 4096 | - |
4914 | ], *checkpoint = | - |
4915 | ((void *)0) | - |
4916 | ; | - |
4917 | u_int32_t memory = 0, generator_wanted = 0; | - |
4918 | int do_gen_candidates = 0, do_screen_candidates = 0; | - |
4919 | unsigned long start_lineno = 0, lines_to_process = 0; | - |
4920 | BIGNUM *start = | - |
4921 | ((void *)0) | - |
4922 | ; | - |
4923 | | - |
4924 | | - |
4925 | extern int BSDoptind; | - |
4926 | extern char *BSDoptarg; | - |
4927 | | - |
4928 | ssh_malloc_init(); | - |
4929 | | - |
4930 | sanitise_stdfd(); | - |
4931 | | - |
4932 | __progname = ssh_get_progname(argv[0]); | - |
4933 | | - |
4934 | | - |
4935 | | - |
4936 | OPENSSL_add_all_algorithms_noconf() | - |
4937 | ; | - |
4938 | | - |
4939 | log_init(argv[0], SYSLOG_LEVEL_INFO, SYSLOG_FACILITY_USER, 1); | - |
4940 | | - |
4941 | seed_rng(); | - |
4942 | | - |
4943 | msetlocale(); | - |
4944 | | - |
4945 | | - |
4946 | pw = getpwuid(getuid()); | - |
4947 | if (!pwTRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
) | 0-28 |
4948 | fatal("No user exists for uid %lu", (u_long)getuid()); never executed: fatal("No user exists for uid %lu", (u_long)getuid()); | 0 |
4949 | if (gethostname(hostname, sizeof(hostname)) < 0TRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
) | 0-28 |
4950 | fatal("gethostname: %s", strerror( never executed: fatal("gethostname: %s", strerror( (*__errno_location ()) )); | 0 |
4951 | (*__errno_location ()) never executed: fatal("gethostname: %s", strerror( (*__errno_location ()) )); | 0 |
4952 | )); never executed: fatal("gethostname: %s", strerror( (*__errno_location ()) )); | 0 |
4953 | | - |
4954 | | - |
4955 | while ((TRUE | evaluated 73 times by 1 test | FALSE | evaluated 28 times by 1 test |
opt = BSDgetopt(argc, argv, "ABHLQUXceghiklopquvxy" "C:D:E:F:G:I:J:K:M:N:O:P:R:S:T:V:W:Z:" "a:b:f:g:j:m:n:r:s:t:z:")TRUE | evaluated 73 times by 1 test | FALSE | evaluated 28 times by 1 test |
| 28-73 |
4956 | | 28-73 |
4957 | ) != -1TRUE | evaluated 73 times by 1 test | FALSE | evaluated 28 times by 1 test |
) { | 28-73 |
4958 | switch (opt) { | - |
4959 | case never executed: case 'A': 'A':never executed: case 'A': | 0 |
4960 | gen_all_hostkeys = 1; | - |
4961 | break; never executed: break; | 0 |
4962 | case never executed: case 'b': 'b':never executed: case 'b': | 0 |
4963 | bits = (u_int32_t)strtonum(BSDoptarg, 10, 32768, &errstr); | - |
4964 | if (errstrTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
4965 | fatal("Bits has bad value %s (%s)", never executed: fatal("Bits has bad value %s (%s)", BSDoptarg, errstr); | 0 |
4966 | BSDoptarg, errstr); never executed: fatal("Bits has bad value %s (%s)", BSDoptarg, errstr); | 0 |
4967 | break; never executed: break; | 0 |
4968 | caseexecuted 2 times by 1 test: case 'E': 'E':executed 2 times by 1 test: case 'E': | 2 |
4969 | fingerprint_hash = ssh_digest_alg_by_name(BSDoptarg); | - |
4970 | if (fingerprint_hash == -1TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) | 0-2 |
4971 | fatal("Invalid hash algorithm \"%s\"", BSDoptarg); never executed: fatal("Invalid hash algorithm \"%s\"", BSDoptarg); | 0 |
4972 | break;executed 2 times by 1 test: break; | 2 |
4973 | case never executed: case 'F': 'F':never executed: case 'F': | 0 |
4974 | find_host = 1; | - |
4975 | rr_hostname = BSDoptarg; | - |
4976 | break; never executed: break; | 0 |
4977 | case never executed: case 'H': 'H':never executed: case 'H': | 0 |
4978 | hash_hosts = 1; | - |
4979 | break; never executed: break; | 0 |
4980 | case never executed: case 'I': 'I':never executed: case 'I': | 0 |
4981 | cert_key_id = BSDoptarg; | - |
4982 | break; never executed: break; | 0 |
4983 | case never executed: case 'R': 'R':never executed: case 'R': | 0 |
4984 | delete_host = 1; | - |
4985 | rr_hostname = BSDoptarg; | - |
4986 | break; never executed: break; | 0 |
4987 | case never executed: case 'L': 'L':never executed: case 'L': | 0 |
4988 | show_cert = 1; | - |
4989 | break; never executed: break; | 0 |
4990 | caseexecuted 7 times by 1 test: case 'l': 'l':executed 7 times by 1 test: case 'l': | 7 |
4991 | print_fingerprint = 1; | - |
4992 | break;executed 7 times by 1 test: break; | 7 |
4993 | caseexecuted 5 times by 1 test: case 'B': 'B':executed 5 times by 1 test: case 'B': | 5 |
4994 | print_bubblebabble = 1; | - |
4995 | break;executed 5 times by 1 test: break; | 5 |
4996 | case never executed: case 'm': 'm':never executed: case 'm': | 0 |
4997 | if (strcasecmp(BSDoptarg, "RFC4716") == 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
4998 | strcasecmp(BSDoptarg, "ssh2") == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
4999 | convert_format = FMT_RFC4716; | - |
5000 | break; never executed: break; | 0 |
5001 | } | - |
5002 | if (strcasecmp(BSDoptarg, "PKCS8") == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
5003 | convert_format = FMT_PKCS8; | - |
5004 | break; never executed: break; | 0 |
5005 | } | - |
5006 | if (strcasecmp(BSDoptarg, "PEM") == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
5007 | convert_format = FMT_PEM; | - |
5008 | use_new_format = 0; | - |
5009 | break; never executed: break; | 0 |
5010 | } | - |
5011 | fatal("Unsupported conversion format \"%s\"", BSDoptarg); | - |
5012 | case never executed: case 'n': 'n':never executed: case 'n': code before this statement never executed: case 'n': | 0 |
5013 | cert_principals = BSDoptarg; | - |
5014 | break; never executed: break; | 0 |
5015 | case never executed: case 'o': 'o':never executed: case 'o': | 0 |
5016 | | - |
5017 | break; never executed: break; | 0 |
5018 | case never executed: case 'p': 'p':never executed: case 'p': | 0 |
5019 | change_passphrase = 1; | - |
5020 | break; never executed: break; | 0 |
5021 | case never executed: case 'c': 'c':never executed: case 'c': | 0 |
5022 | change_comment = 1; | - |
5023 | break; never executed: break; | 0 |
5024 | caseexecuted 28 times by 1 test: case 'f': 'f':executed 28 times by 1 test: case 'f': | 28 |
5025 | if (strlcpy(identity_file, BSDoptarg,TRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
| 0-28 |
5026 | sizeof(identity_file)) >= sizeof(identity_file)TRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
) | 0-28 |
5027 | fatal("Identity filename too long"); never executed: fatal("Identity filename too long"); | 0 |
5028 | have_identity = 1; | - |
5029 | break;executed 28 times by 1 test: break; | 28 |
5030 | case never executed: case 'g': 'g':never executed: case 'g': | 0 |
5031 | print_generic = 1; | - |
5032 | break; never executed: break; | 0 |
5033 | case never executed: case 'P': 'P':never executed: case 'P': | 0 |
5034 | identity_passphrase = BSDoptarg; | - |
5035 | break; never executed: break; | 0 |
5036 | caseexecuted 7 times by 1 test: case 'N': 'N':executed 7 times by 1 test: case 'N': | 7 |
5037 | identity_new_passphrase = BSDoptarg; | - |
5038 | break;executed 7 times by 1 test: break; | 7 |
5039 | case never executed: case 'Q': 'Q':never executed: case 'Q': | 0 |
5040 | check_krl = 1; | - |
5041 | break; never executed: break; | 0 |
5042 | case never executed: case 'O': 'O':never executed: case 'O': | 0 |
5043 | add_cert_option(BSDoptarg); | - |
5044 | break; never executed: break; | 0 |
5045 | case never executed: case 'Z': 'Z':never executed: case 'Z': | 0 |
5046 | new_format_cipher = BSDoptarg; | - |
5047 | break; never executed: break; | 0 |
5048 | caseexecuted 1 time by 1 test: case 'C': 'C':executed 1 time by 1 test: case 'C': | 1 |
5049 | identity_comment = BSDoptarg; | - |
5050 | break;executed 1 time by 1 test: break; | 1 |
5051 | caseexecuted 7 times by 1 test: case 'q': 'q':executed 7 times by 1 test: case 'q': | 7 |
5052 | quiet = 1; | - |
5053 | break;executed 7 times by 1 test: break; | 7 |
5054 | caseexecuted 1 time by 1 test: case 'e': 'e':executed 1 time by 1 test: case 'e': | 1 |
5055 | case never executed: case 'x': 'x':never executed: case 'x': | 0 |
5056 | | - |
5057 | convert_to = 1; | - |
5058 | break;executed 1 time by 1 test: break; | 1 |
5059 | case never executed: case 'h': 'h':never executed: case 'h': | 0 |
5060 | cert_key_type = 2; | - |
5061 | certflags_flags = 0; | - |
5062 | break; never executed: break; | 0 |
5063 | case never executed: case 'k': 'k':never executed: case 'k': | 0 |
5064 | gen_krl = 1; | - |
5065 | break; never executed: break; | 0 |
5066 | caseexecuted 6 times by 1 test: case 'i': 'i':executed 6 times by 1 test: case 'i': | 6 |
5067 | case never executed: case 'X': 'X':never executed: case 'X': | 0 |
5068 | | - |
5069 | convert_from = 1; | - |
5070 | break;executed 6 times by 1 test: break; | 6 |
5071 | caseexecuted 2 times by 1 test: case 'y': 'y':executed 2 times by 1 test: case 'y': | 2 |
5072 | print_public = 1; | - |
5073 | break;executed 2 times by 1 test: break; | 2 |
5074 | case never executed: case 's': 's':never executed: case 's': | 0 |
5075 | ca_key_path = BSDoptarg; | - |
5076 | break; never executed: break; | 0 |
5077 | caseexecuted 7 times by 1 test: case 't': 't':executed 7 times by 1 test: case 't': | 7 |
5078 | key_type_name = BSDoptarg; | - |
5079 | break;executed 7 times by 1 test: break; | 7 |
5080 | case never executed: case 'D': 'D':never executed: case 'D': | 0 |
5081 | pkcs11provider = BSDoptarg; | - |
5082 | break; never executed: break; | 0 |
5083 | case never executed: case 'U': 'U':never executed: case 'U': | 0 |
5084 | prefer_agent = 1; | - |
5085 | break; never executed: break; | 0 |
5086 | case never executed: case 'u': 'u':never executed: case 'u': | 0 |
5087 | update_krl = 1; | - |
5088 | break; never executed: break; | 0 |
5089 | case never executed: case 'v': 'v':never executed: case 'v': | 0 |
5090 | if (log_level == SYSLOG_LEVEL_INFOTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
5091 | log_level = SYSLOG_LEVEL_DEBUG1; never executed: log_level = SYSLOG_LEVEL_DEBUG1; | 0 |
5092 | else { | - |
5093 | if (log_level >= SYSLOG_LEVEL_DEBUG1TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
5094 | log_level < SYSLOG_LEVEL_DEBUG3TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
5095 | log_level++; never executed: log_level++; | 0 |
5096 | } never executed: end of block | 0 |
5097 | break; never executed: break; | 0 |
5098 | case never executed: case 'r': 'r':never executed: case 'r': | 0 |
5099 | rr_hostname = BSDoptarg; | - |
5100 | break; never executed: break; | 0 |
5101 | case never executed: case 'a': 'a':never executed: case 'a': | 0 |
5102 | rounds = (int)strtonum(BSDoptarg, 1, 0x7fffffff, &errstr); | - |
5103 | if (errstrTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
5104 | fatal("Invalid number: %s (%s)", never executed: fatal("Invalid number: %s (%s)", BSDoptarg, errstr); | 0 |
5105 | BSDoptarg, errstr); never executed: fatal("Invalid number: %s (%s)", BSDoptarg, errstr); | 0 |
5106 | break; never executed: break; | 0 |
5107 | case never executed: case 'V': 'V':never executed: case 'V': | 0 |
5108 | parse_cert_times(BSDoptarg); | - |
5109 | break; never executed: break; | 0 |
5110 | case never executed: case 'z': 'z':never executed: case 'z': | 0 |
5111 | | - |
5112 | (*__errno_location ()) | - |
5113 | = 0; | - |
5114 | cert_serial = strtoull(BSDoptarg, &ep, 10); | - |
5115 | if (*TRUE | never evaluated | FALSE | never evaluated |
BSDoptarg < '0'TRUE | never evaluated | FALSE | never evaluated |
|| *TRUE | never evaluated | FALSE | never evaluated |
BSDoptarg > '9'TRUE | never evaluated | FALSE | never evaluated |
|| *TRUE | never evaluated | FALSE | never evaluated |
ep != '\0'TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
5116 | ( | - |
5117 | (*TRUE | never evaluated | FALSE | never evaluated |
__errno_location ()) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5118 | == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5119 | 34TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5120 | && cert_serial == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5121 | (0x7fffffffffffffffLL * 2ULL + 1ULL)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5122 | )) | - |
5123 | fatal("Invalid serial number \"%s\"", BSDoptarg); never executed: fatal("Invalid serial number \"%s\"", BSDoptarg); | 0 |
5124 | break; never executed: break; | 0 |
5125 | | - |
5126 | | - |
5127 | case never executed: case 'G': 'G':never executed: case 'G': | 0 |
5128 | do_gen_candidates = 1; | - |
5129 | if (strlcpy(out_file, BSDoptarg, sizeof(out_file)) >=TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5130 | sizeof(out_file)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
5131 | fatal("Output filename too long"); never executed: fatal("Output filename too long"); | 0 |
5132 | break; never executed: break; | 0 |
5133 | case never executed: case 'J': 'J':never executed: case 'J': | 0 |
5134 | lines_to_process = strtoul(BSDoptarg, | - |
5135 | ((void *)0) | - |
5136 | , 10); | - |
5137 | break; never executed: break; | 0 |
5138 | case never executed: case 'j': 'j':never executed: case 'j': | 0 |
5139 | start_lineno = strtoul(BSDoptarg, | - |
5140 | ((void *)0) | - |
5141 | , 10); | - |
5142 | break; never executed: break; | 0 |
5143 | case never executed: case 'K': 'K':never executed: case 'K': | 0 |
5144 | if (strlen(BSDoptarg) >= TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5145 | 4096TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5146 | ) | - |
5147 | fatal("Checkpoint filename too long"); never executed: fatal("Checkpoint filename too long"); | 0 |
5148 | checkpoint = xstrdup(BSDoptarg); | - |
5149 | break; never executed: break; | 0 |
5150 | case never executed: case 'M': 'M':never executed: case 'M': | 0 |
5151 | memory = (u_int32_t)strtonum(BSDoptarg, 1, | - |
5152 | (0x7fffffff * 2U + 1U) | - |
5153 | , | - |
5154 | &errstr); | - |
5155 | if (errstrTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
5156 | fatal("Memory limit is %s: %s", errstr, BSDoptarg); never executed: fatal("Memory limit is %s: %s", errstr, BSDoptarg); | 0 |
5157 | break; never executed: break; | 0 |
5158 | case never executed: case 'S': 'S':never executed: case 'S': | 0 |
5159 | | - |
5160 | if (BN_hex2bn(&start, BSDoptarg) == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
5161 | fatal("Invalid start point."); never executed: fatal("Invalid start point."); | 0 |
5162 | break; never executed: break; | 0 |
5163 | case never executed: case 'T': 'T':never executed: case 'T': | 0 |
5164 | do_screen_candidates = 1; | - |
5165 | if (strlcpy(out_file, BSDoptarg, sizeof(out_file)) >=TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5166 | sizeof(out_file)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
5167 | fatal("Output filename too long"); never executed: fatal("Output filename too long"); | 0 |
5168 | break; never executed: break; | 0 |
5169 | case never executed: case 'W': 'W':never executed: case 'W': | 0 |
5170 | generator_wanted = (u_int32_t)strtonum(BSDoptarg, 1, | - |
5171 | | - |
5172 | (0x7fffffff * 2U + 1U) | - |
5173 | , &errstr); | - |
5174 | if (errstr != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5175 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5176 | ) | - |
5177 | fatal("Desired generator invalid: %s (%s)", never executed: fatal("Desired generator invalid: %s (%s)", BSDoptarg, errstr); | 0 |
5178 | BSDoptarg, errstr); never executed: fatal("Desired generator invalid: %s (%s)", BSDoptarg, errstr); | 0 |
5179 | break; never executed: break; | 0 |
5180 | | - |
5181 | case never executed: case '?': '?':never executed: case '?': | 0 |
5182 | default never executed: default: :never executed: default: | 0 |
5183 | usage(); | - |
5184 | } never executed: end of block | 0 |
5185 | } | - |
5186 | | - |
5187 | | - |
5188 | log_init(argv[0], log_level, SYSLOG_FACILITY_USER, 1); | - |
5189 | | - |
5190 | argv += BSDoptind; | - |
5191 | argc -= BSDoptind; | - |
5192 | | - |
5193 | if (ca_key_path != TRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
| 0-28 |
5194 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
| 0-28 |
5195 | ) { | - |
5196 | if (argc < 1TRUE | never evaluated | FALSE | never evaluated |
&& !gen_krlTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
5197 | error("Too few arguments."); | - |
5198 | usage(); | - |
5199 | } never executed: end of block | 0 |
5200 | } never executed: end of block else if (argc > 0TRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
&& !gen_krlTRUE | never evaluated | FALSE | never evaluated |
&& !check_krlTRUE | never evaluated | FALSE | never evaluated |
) { | 0-28 |
5201 | error("Too many arguments."); | - |
5202 | usage(); | - |
5203 | } never executed: end of block | 0 |
5204 | if (change_passphraseTRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
&& change_commentTRUE | never evaluated | FALSE | never evaluated |
) { | 0-28 |
5205 | error("Can only have one of -p and -c."); | - |
5206 | usage(); | - |
5207 | } never executed: end of block | 0 |
5208 | if (print_fingerprintTRUE | evaluated 7 times by 1 test | FALSE | evaluated 21 times by 1 test |
&& (delete_hostTRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
|| hash_hostsTRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
)) { | 0-21 |
5209 | error("Cannot use -l with -H or -R."); | - |
5210 | usage(); | - |
5211 | } never executed: end of block | 0 |
5212 | if (gen_krlTRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
) { | 0-28 |
5213 | do_gen_krl(pw, update_krl, argc, argv); | - |
5214 | return never executed: return (0); (0);never executed: return (0); | 0 |
5215 | } | - |
5216 | if (check_krlTRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
) { | 0-28 |
5217 | do_check_krl(pw, argc, argv); | - |
5218 | return never executed: return (0); (0);never executed: return (0); | 0 |
5219 | } | - |
5220 | if (ca_key_path != TRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
| 0-28 |
5221 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
| 0-28 |
5222 | ) { | - |
5223 | if (cert_key_id == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5224 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5225 | ) | - |
5226 | fatal("Must specify key id (-I) when certifying"); never executed: fatal("Must specify key id (-I) when certifying"); | 0 |
5227 | do_ca_sign(pw, argc, argv); | - |
5228 | } never executed: end of block | 0 |
5229 | if (show_certTRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
) | 0-28 |
5230 | do_show_cert(pw); never executed: do_show_cert(pw); | 0 |
5231 | if (delete_hostTRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
|| hash_hostsTRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
|| find_hostTRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
) | 0-28 |
5232 | do_known_hosts(pw, rr_hostname); never executed: do_known_hosts(pw, rr_hostname); | 0 |
5233 | if (pkcs11provider != TRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
| 0-28 |
5234 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 28 times by 1 test |
| 0-28 |
5235 | ) | - |
5236 | do_download(pw); never executed: do_download(pw); | 0 |
5237 | if (print_fingerprintTRUE | evaluated 7 times by 1 test | FALSE | evaluated 21 times by 1 test |
|| print_bubblebabbleTRUE | evaluated 5 times by 1 test | FALSE | evaluated 16 times by 1 test |
) | 5-21 |
5238 | do_fingerprint(pw);executed 12 times by 1 test: do_fingerprint(pw); | 12 |
5239 | if (change_passphraseTRUE | never evaluated | FALSE | evaluated 16 times by 1 test |
) | 0-16 |
5240 | do_change_passphrase(pw); never executed: do_change_passphrase(pw); | 0 |
5241 | if (change_commentTRUE | never evaluated | FALSE | evaluated 16 times by 1 test |
) | 0-16 |
5242 | do_change_comment(pw); never executed: do_change_comment(pw); | 0 |
5243 | | - |
5244 | if (convert_toTRUE | evaluated 1 time by 1 test | FALSE | evaluated 15 times by 1 test |
) | 1-15 |
5245 | do_convert_to(pw);executed 1 time by 1 test: do_convert_to(pw); | 1 |
5246 | if (convert_fromTRUE | evaluated 6 times by 1 test | FALSE | evaluated 9 times by 1 test |
) | 6-9 |
5247 | do_convert_from(pw);executed 6 times by 1 test: do_convert_from(pw); | 6 |
5248 | | - |
5249 | if (print_publicTRUE | evaluated 2 times by 1 test | FALSE | evaluated 7 times by 1 test |
) | 2-7 |
5250 | do_print_public(pw);executed 2 times by 1 test: do_print_public(pw); | 2 |
5251 | if (rr_hostname != TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
| 0-7 |
5252 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
| 0-7 |
5253 | ) { | - |
5254 | unsigned int n = 0; | - |
5255 | | - |
5256 | if (have_identityTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
5257 | n = do_print_resource_record(pw, | - |
5258 | identity_file, rr_hostname); | - |
5259 | if (n == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
5260 | fatal("%s: %s", identity_file, strerror( never executed: fatal("%s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
5261 | (*__errno_location ()) never executed: fatal("%s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
5262 | )); never executed: fatal("%s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
5263 | exit(0); never executed: exit(0); | 0 |
5264 | } else { | - |
5265 | | - |
5266 | n += do_print_resource_record(pw, | - |
5267 | "/var/tmp/openssh-test/etc" "/ssh_host_rsa_key", rr_hostname); | - |
5268 | n += do_print_resource_record(pw, | - |
5269 | "/var/tmp/openssh-test/etc" "/ssh_host_dsa_key", rr_hostname); | - |
5270 | n += do_print_resource_record(pw, | - |
5271 | "/var/tmp/openssh-test/etc" "/ssh_host_ecdsa_key", rr_hostname); | - |
5272 | n += do_print_resource_record(pw, | - |
5273 | "/var/tmp/openssh-test/etc" "/ssh_host_ed25519_key", rr_hostname); | - |
5274 | n += do_print_resource_record(pw, | - |
5275 | "/var/tmp/openssh-test/etc" "/ssh_host_xmss_key", rr_hostname); | - |
5276 | if (n == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
5277 | fatal("no keys found."); never executed: fatal("no keys found."); | 0 |
5278 | exit(0); never executed: exit(0); | 0 |
5279 | } | - |
5280 | } | - |
5281 | | - |
5282 | | - |
5283 | if (do_gen_candidatesTRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) { | 0-7 |
5284 | FILE *out = fopen(out_file, "w"); | - |
5285 | | - |
5286 | if (out == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5287 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5288 | ) { | - |
5289 | error("Couldn't open modulus candidate file \"%s\": %s", | - |
5290 | out_file, strerror( | - |
5291 | (*__errno_location ()) | - |
5292 | )); | - |
5293 | return never executed: return (1); (1);never executed: return (1); | 0 |
5294 | } | - |
5295 | if (bits == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
5296 | bits = 2048; never executed: bits = 2048; | 0 |
5297 | if (gen_candidates(out, memory, bits, start) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
5298 | fatal("modulus candidate generation failed"); never executed: fatal("modulus candidate generation failed"); | 0 |
5299 | | - |
5300 | return never executed: return (0); (0);never executed: return (0); | 0 |
5301 | } | - |
5302 | | - |
5303 | if (do_screen_candidatesTRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) { | 0-7 |
5304 | FILE *in; | - |
5305 | FILE *out = fopen(out_file, "a"); | - |
5306 | | - |
5307 | if (have_identityTRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
5308 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5309 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5310 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5311 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5312 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5313 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5314 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5315 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5316 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5317 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5318 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5319 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5320 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5321 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5322 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5323 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5324 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5325 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5326 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5327 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5328 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5329 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5330 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5331 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5332 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5333 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5334 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5335 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5336 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5337 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5338 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5339 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5340 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5341 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5342 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5343 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5344 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5345 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5346 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5347 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5348 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5349 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5350 | ))[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 |
5351 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5352 | ))[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 |
5353 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5354 | ))[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 *) ( identity_file ))[3] - __s2[3]); | 0 |
5355 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( identity_file ))[3] - __s2[3]); | 0 |
5356 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5357 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5358 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5359 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5360 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5361 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5362 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5363 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5364 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5365 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5366 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5367 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5368 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5369 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5370 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5371 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5372 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5373 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5374 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5375 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5376 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5377 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5378 | ))[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 |
5379 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5380 | ))[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 |
5381 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5382 | ))[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 *) ( "-" ))[3] - __s2[3]); | 0 |
5383 | "-"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "-" ))[3] - __s2[3]); | 0 |
5384 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5385 | identity_fileTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5386 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5387 | "-"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5388 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5389 | != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
5390 | if ((TRUE | never evaluated | FALSE | never evaluated |
in = fopen(identity_file, "r")) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5391 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5392 | ) { | - |
5393 | fatal("Couldn't open modulus candidate " | - |
5394 | "file \"%s\": %s", identity_file, | - |
5395 | strerror( | - |
5396 | (*__errno_location ()) | - |
5397 | )); | - |
5398 | } never executed: end of block | 0 |
5399 | } never executed: end of block else | 0 |
5400 | in = never executed: in = stdin ; | 0 |
5401 | stdin never executed: in = stdin ; | 0 |
5402 | ; never executed: in = stdin ; | 0 |
5403 | | - |
5404 | if (out == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5405 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5406 | ) { | - |
5407 | fatal("Couldn't open moduli file \"%s\": %s", | - |
5408 | out_file, strerror( | - |
5409 | (*__errno_location ()) | - |
5410 | )); | - |
5411 | } never executed: end of block | 0 |
5412 | if (prime_test(in, out, rounds == 0 ? 100 : rounds,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5413 | generator_wanted, checkpoint,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5414 | start_lineno, lines_to_process) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
5415 | fatal("modulus screening failed"); never executed: fatal("modulus screening failed"); | 0 |
5416 | return never executed: return (0); (0);never executed: return (0); | 0 |
5417 | } | - |
5418 | | - |
5419 | | - |
5420 | if (gen_all_hostkeysTRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) { | 0-7 |
5421 | do_gen_all_hostkeys(pw); | - |
5422 | return never executed: return (0); (0);never executed: return (0); | 0 |
5423 | } | - |
5424 | | - |
5425 | if (key_type_name == TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
| 0-7 |
5426 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
| 0-7 |
5427 | ) | - |
5428 | key_type_name = "rsa"; never executed: key_type_name = "rsa"; | 0 |
5429 | | - |
5430 | type = sshkey_type_from_name(key_type_name); | - |
5431 | type_bits_valid(type, key_type_name, &bits); | - |
5432 | | - |
5433 | if (!quietTRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) | 0-7 |
5434 | printf("Generating public/private %s key pair.\n", never executed: printf("Generating public/private %s key pair.\n", key_type_name); | 0 |
5435 | key_type_name); never executed: printf("Generating public/private %s key pair.\n", key_type_name); | 0 |
5436 | if ((TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
r = sshkey_generate(type, bits, &private)) != 0TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) | 0-7 |
5437 | fatal("sshkey_generate failed"); never executed: fatal("sshkey_generate failed"); | 0 |
5438 | if ((TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
r = sshkey_from_private(private, &public)) != 0TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) | 0-7 |
5439 | fatal("sshkey_from_private failed: %s\n", ssh_err(r)); never executed: fatal("sshkey_from_private failed: %s\n", ssh_err(r)); | 0 |
5440 | | - |
5441 | if (!have_identityTRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) | 0-7 |
5442 | ask_filename(pw, "Enter file in which to save the key"); never executed: ask_filename(pw, "Enter file in which to save the key"); | 0 |
5443 | | - |
5444 | | - |
5445 | snprintf(dotsshdir, sizeof dotsshdir, "%s/%s", | - |
5446 | pw->pw_dir, ".ssh"); | - |
5447 | if (strstr(identity_file, dotsshdir) != TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
| 0-7 |
5448 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
| 0-7 |
5449 | ) { | - |
5450 | if (stat(dotsshdir, &st) < 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
5451 | if ( | - |
5452 | (*TRUE | never evaluated | FALSE | never evaluated |
__errno_location ()) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5453 | != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5454 | 2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5455 | ) { | - |
5456 | error("Could not stat %s: %s", dotsshdir, | - |
5457 | strerror( | - |
5458 | (*__errno_location ()) | - |
5459 | )); | - |
5460 | } never executed: end of block else if (mkdir(dotsshdir, 0700) < 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
5461 | error("Could not create directory '%s': %s", | - |
5462 | dotsshdir, strerror( | - |
5463 | (*__errno_location ()) | - |
5464 | )); | - |
5465 | } never executed: end of block else if (!quietTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
5466 | printf("Created directory '%s'.\n", dotsshdir); never executed: printf("Created directory '%s'.\n", dotsshdir); | 0 |
5467 | } never executed: end of block | 0 |
5468 | } never executed: end of block | 0 |
5469 | | - |
5470 | if (stat(identity_file, &st) >= 0TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) { | 0-7 |
5471 | char yesno[3]; | - |
5472 | printf("%s already exists.\n", identity_file); | - |
5473 | printf("Overwrite (y/n)? "); | - |
5474 | fflush( | - |
5475 | stdout | - |
5476 | ); | - |
5477 | if (fgets(yesno, sizeof(yesno), TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5478 | stdinTRUE | never evaluated | FALSE | never evaluated |
| 0 |
5479 | ) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5480 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5481 | ) | - |
5482 | exit(1); never executed: exit(1); | 0 |
5483 | if (yesno[0] != 'y'TRUE | never evaluated | FALSE | never evaluated |
&& yesno[0] != 'Y'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
5484 | exit(1); never executed: exit(1); | 0 |
5485 | } never executed: end of block | 0 |
5486 | | - |
5487 | if (identity_passphraseTRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) | 0-7 |
5488 | passphrase1 = xstrdup(identity_passphrase); never executed: passphrase1 = xstrdup(identity_passphrase); | 0 |
5489 | else if (identity_new_passphraseTRUE | evaluated 7 times by 1 test | FALSE | never evaluated |
) | 0-7 |
5490 | passphrase1 = xstrdup(identity_new_passphrase);executed 7 times by 1 test: passphrase1 = xstrdup(identity_new_passphrase); | 7 |
5491 | else { | - |
5492 | passphrase_again: | - |
5493 | passphrase1 = | - |
5494 | read_passphrase("Enter passphrase (empty for no " | - |
5495 | "passphrase): ", 0x0002); | - |
5496 | passphrase2 = read_passphrase("Enter same passphrase again: ", | - |
5497 | 0x0002); | - |
5498 | if ( | - |
5499 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5500 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5501 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5502 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5503 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5504 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5505 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5506 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5507 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5508 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5509 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5510 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5511 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5512 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5513 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5514 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5515 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5516 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5517 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5518 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5519 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5520 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5521 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5522 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5523 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5524 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5525 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5526 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5527 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5528 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5529 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5530 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5531 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5532 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5533 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5534 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5535 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5536 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5537 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5538 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5539 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5540 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5541 | ))[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 |
5542 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5543 | ))[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 |
5544 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5545 | ))[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 *) ( passphrase1 ))[3] - __s2[3]); | 0 |
5546 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( passphrase1 ))[3] - __s2[3]); | 0 |
5547 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5548 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5549 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5550 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5551 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5552 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5553 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5554 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5555 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5556 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5557 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5558 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5559 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5560 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5561 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5562 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5563 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5564 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5565 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5566 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5567 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5568 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5569 | ))[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 |
5570 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5571 | ))[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 |
5572 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5573 | ))[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 *) ( passphrase2 ))[3] - __s2[3]); | 0 |
5574 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( passphrase2 ))[3] - __s2[3]); | 0 |
5575 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5576 | passphrase1TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5577 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5578 | passphrase2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5579 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5580 | != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
5581 | | - |
5582 | | - |
5583 | | - |
5584 | | - |
5585 | explicit_bzero(passphrase1, strlen(passphrase1)); | - |
5586 | explicit_bzero(passphrase2, strlen(passphrase2)); | - |
5587 | free(passphrase1); | - |
5588 | free(passphrase2); | - |
5589 | printf("Passphrases do not match. Try again.\n"); | - |
5590 | goto never executed: goto passphrase_again; passphrase_again;never executed: goto passphrase_again; | 0 |
5591 | } | - |
5592 | | - |
5593 | explicit_bzero(passphrase2, strlen(passphrase2)); | - |
5594 | free(passphrase2); | - |
5595 | } never executed: end of block | 0 |
5596 | | - |
5597 | if (identity_commentTRUE | evaluated 1 time by 1 test | FALSE | evaluated 6 times by 1 test |
) { | 1-6 |
5598 | strlcpy(comment, identity_comment, sizeof(comment)); | - |
5599 | }executed 1 time by 1 test: end of block else { | 1 |
5600 | | - |
5601 | snprintf(comment, sizeof comment, "%s@%s", pw->pw_name, hostname); | - |
5602 | }executed 6 times by 1 test: end of block | 6 |
5603 | | - |
5604 | | - |
5605 | if ((TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
r = sshkey_save_private(private, identity_file, passphrase1,TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
| 0-7 |
5606 | comment, use_new_format, new_format_cipher, rounds)) != 0TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) { | 0-7 |
5607 | error("Saving key \"%s\" failed: %s", | - |
5608 | identity_file, ssh_err(r)); | - |
5609 | explicit_bzero(passphrase1, strlen(passphrase1)); | - |
5610 | free(passphrase1); | - |
5611 | exit(1); never executed: exit(1); | 0 |
5612 | } | - |
5613 | | - |
5614 | explicit_bzero(passphrase1, strlen(passphrase1)); | - |
5615 | free(passphrase1); | - |
5616 | | - |
5617 | | - |
5618 | sshkey_free(private); | - |
5619 | | - |
5620 | if (!quietTRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) | 0-7 |
5621 | printf("Your identification has been saved in %s.\n", identity_file); never executed: printf("Your identification has been saved in %s.\n", identity_file); | 0 |
5622 | | - |
5623 | strlcat(identity_file, ".pub", sizeof(identity_file)); | - |
5624 | if ((TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
fd = open(identity_file, TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
| 0-7 |
5625 | 01TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
| 0-7 |
5626 | |TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
| 0-7 |
5627 | 0100TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
| 0-7 |
5628 | |TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
| 0-7 |
5629 | 01000TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
| 0-7 |
5630 | , 0644)) == -1TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) | 0-7 |
5631 | fatal("Unable to save public key to %s: %s", never executed: fatal("Unable to save public key to %s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
5632 | identity_file, strerror( never executed: fatal("Unable to save public key to %s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
5633 | (*__errno_location ()) never executed: fatal("Unable to save public key to %s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
5634 | )); never executed: fatal("Unable to save public key to %s: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
5635 | if ((TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
f = fdopen(fd, "w")) == TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
| 0-7 |
5636 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
| 0-7 |
5637 | ) | - |
5638 | fatal("fdopen %s failed: %s", identity_file, strerror( never executed: fatal("fdopen %s failed: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
5639 | (*__errno_location ()) never executed: fatal("fdopen %s failed: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
5640 | )); never executed: fatal("fdopen %s failed: %s", identity_file, strerror( (*__errno_location ()) )); | 0 |
5641 | if ((TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
r = sshkey_write(public, f)) != 0TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) | 0-7 |
5642 | error("write key failed: %s", ssh_err(r)); never executed: error("write key failed: %s", ssh_err(r)); | 0 |
5643 | fprintf(f, " %s\n", comment); | - |
5644 | if (ferror(f)TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
|| fclose(f) != 0TRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) | 0-7 |
5645 | fatal("write public failed: %s", strerror( never executed: fatal("write public failed: %s", strerror( (*__errno_location ()) )); | 0 |
5646 | (*__errno_location ()) never executed: fatal("write public failed: %s", strerror( (*__errno_location ()) )); | 0 |
5647 | )); never executed: fatal("write public failed: %s", strerror( (*__errno_location ()) )); | 0 |
5648 | | - |
5649 | if (!quietTRUE | never evaluated | FALSE | evaluated 7 times by 1 test |
) { | 0-7 |
5650 | fp = sshkey_fingerprint(public, fingerprint_hash, | - |
5651 | SSH_FP_DEFAULT); | - |
5652 | ra = sshkey_fingerprint(public, fingerprint_hash, | - |
5653 | SSH_FP_RANDOMART); | - |
5654 | if (fp == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5655 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5656 | || ra == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5657 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
5658 | ) | - |
5659 | fatal("sshkey_fingerprint failed"); never executed: fatal("sshkey_fingerprint failed"); | 0 |
5660 | printf("Your public key has been saved in %s.\n", | - |
5661 | identity_file); | - |
5662 | printf("The key fingerprint is:\n"); | - |
5663 | printf("%s %s\n", fp, comment); | - |
5664 | printf("The key's randomart image is:\n"); | - |
5665 | printf("%s\n", ra); | - |
5666 | free(ra); | - |
5667 | free(fp); | - |
5668 | } never executed: end of block | 0 |
5669 | | - |
5670 | sshkey_free(public); | - |
5671 | exit(0);executed 7 times by 1 test: exit(0); | 7 |
5672 | } | - |
| | |