Home | History | Annotate | Download | only in openssh

Lines Matching refs:hostkeys

61 struct hostkeys {
229 struct hostkeys *
232 struct hostkeys *ret = xcalloc(1, sizeof(*ret));
239 load_hostkeys(struct hostkeys *hostkeys, const char *host, const char *path)
309 hostkeys->entries = xrealloc(hostkeys->entries,
310 hostkeys->num_entries + 1, sizeof(*hostkeys->entries));
311 hostkeys->entries[hostkeys->num_entries].host = xstrdup(host);
312 hostkeys->entries[hostkeys->num_entries].file = xstrdup(path);
313 hostkeys->entries[hostkeys->num_entries].line = linenum;
314 hostkeys->entries[hostkeys->num_entries].key = key;
315 hostkeys->entries[hostkeys->num_entries].marker = marker;
316 hostkeys->num_entries++;
325 free_hostkeys(struct hostkeys *hostkeys)
329 for (i = 0; i < hostkeys->num_entries; i++) {
330 xfree(hostkeys->entries[i].host);
331 xfree(hostkeys->entries[i].file);
332 key_free(hostkeys->entries[i].key);
333 bzero(hostkeys->entries + i, sizeof(*hostkeys->entries));
335 if (hostkeys->entries != NULL)
336 xfree(hostkeys->entries);
337 hostkeys->entries = NULL;
338 hostkeys->num_entries = 0;
339 xfree(hostkeys);
343 check_key_not_revoked(struct hostkeys *hostkeys, Key *k)
348 for (i = 0; i < hostkeys->num_entries; i++) {
349 if (hostkeys->entries[i].marker != MRK_REVOKE)
351 if (key_equal_public(k, hostkeys->entries[i].key))
355 hostkeys->entries[i].key))
377 check_hostkeys_by_key_or_type(struct hostkeys *hostkeys,
389 for (i = 0; i < hostkeys->num_entries; i++) {
390 if (proto == 1 && hostkeys->entries[i].key->type != KEY_RSA1)
392 if (proto == 2 && hostkeys->entries[i].key->type == KEY_RSA1)
394 if (hostkeys->entries[i].marker != want_marker)
397 if (hostkeys->entries[i].key->type != keytype)
401 *found = hostkeys->entries + i;
402 k = hostkeys->entries[i].key;
407 hostkeys->entries[i].key)) {
411 *found = hostkeys->entries + i;
415 if (key_equal(k, hostkeys->entries[i].key)) {
418 *found = hostkeys->entries + i;
424 *found = hostkeys->entries + i;
427 if (check_key_not_revoked(hostkeys, k) != 0) {
436 check_key_in_hostkeys(struct hostkeys *hostkeys, Key *key,
441 return check_hostkeys_by_key_or_type(hostkeys, key, 0, found);
445 lookup_key_in_hostkeys_by_type(struct hostkeys *hostkeys, int keytype,
448 return (check_hostkeys_by_key_or_type(hostkeys, NULL, keytype,