version 1.13, 2005/10/13 19:13:41 |
version 1.14, 2005/10/17 13:45:05 |
|
|
*algorithm = SSHFP_KEY_DSA; |
*algorithm = SSHFP_KEY_DSA; |
break; |
break; |
default: |
default: |
*algorithm = SSHFP_KEY_RESERVED; |
*algorithm = SSHFP_KEY_RESERVED; /* 0 */ |
} |
} |
|
|
if (*algorithm) { |
if (*algorithm) { |
*digest_type = SSHFP_HASH_SHA1; |
*digest_type = SSHFP_HASH_SHA1; |
*digest = key_fingerprint_raw(key, SSH_FP_SHA1, digest_len); |
*digest = key_fingerprint_raw(key, SSH_FP_SHA1, digest_len); |
|
if (*digest == NULL) |
|
fatal("dns_read_key: null from key_fingerprint_raw()"); |
success = 1; |
success = 1; |
} else { |
} else { |
*digest_type = SSHFP_HASH_RESERVED; |
*digest_type = SSHFP_HASH_RESERVED; |
|
|
*digest = (u_char *) xmalloc(*digest_len); |
*digest = (u_char *) xmalloc(*digest_len); |
memcpy(*digest, rdata + 2, *digest_len); |
memcpy(*digest, rdata + 2, *digest_len); |
} else { |
} else { |
*digest = NULL; |
*digest = xstrdup(""); |
} |
} |
|
|
success = 1; |
success = 1; |
|
|
*flags |= DNS_VERIFY_MATCH; |
*flags |= DNS_VERIFY_MATCH; |
} |
} |
} |
} |
|
xfree(dnskey_digest); |
} |
} |
|
|
|
xfree(hostkey_digest); /* from key_fingerprint_raw() */ |
freerrset(fingerprints); |
freerrset(fingerprints); |
|
|
if (*flags & DNS_VERIFY_FOUND) |
if (*flags & DNS_VERIFY_FOUND) |
|
|
for (i = 0; i < rdata_digest_len; i++) |
for (i = 0; i < rdata_digest_len; i++) |
fprintf(f, "%02x", rdata_digest[i]); |
fprintf(f, "%02x", rdata_digest[i]); |
fprintf(f, "\n"); |
fprintf(f, "\n"); |
|
xfree(rdata_digest); /* from key_fingerprint_raw() */ |
success = 1; |
success = 1; |
} else { |
} else { |
error("dns_export_rr: unsupported algorithm"); |
error("dns_export_rr: unsupported algorithm"); |