summaryrefslogtreecommitdiff
path: root/dns.c
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@google.com>2011-12-28 14:12:50 -0500
committerMike Lockwood <lockwood@google.com>2012-02-08 10:12:53 -0800
commit1b6cc98e30329f380546d5f22b1c9c975e3df4f8 (patch)
treec62a60fd316e4812ce6ca453efad71733e668df0 /dns.c
parentd62cf1eb84c245692d63a45c9ef71583bd2bfda1 (diff)
Initial port of openssh to android
Operation instructions: start from init.rc using start-ssh script Add your public key to /data/ssh/authorized_keys login with "ssh shell@<ip address>" from another computer on same network Change-Id: I1085a8b2f2766d4a2a4a70ffaf0352b07c261281 Signed-off-by: Mike Lockwood <lockwood@google.com>
Diffstat (limited to 'dns.c')
-rw-r--r--dns.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/dns.c b/dns.c
index 131cb3d8..87c131fd 100644
--- a/dns.c
+++ b/dns.c
@@ -200,8 +200,13 @@ verify_host_key_dns(const char *hostname, struct sockaddr *address,
return -1;
}
+#ifndef ANDROID
result = getrrsetbyname(hostname, DNS_RDATACLASS_IN,
DNS_RDATATYPE_SSHFP, 0, &fingerprints);
+#else
+ /* unsupported in android */
+ result = -1;
+#endif
if (result) {
verbose("DNS lookup error: %s", dns_result_totext(result));
return -1;
@@ -220,7 +225,9 @@ verify_host_key_dns(const char *hostname, struct sockaddr *address,
if (!dns_read_key(&hostkey_algorithm, &hostkey_digest_type,
&hostkey_digest, &hostkey_digest_len, hostkey)) {
error("Error calculating host key fingerprint.");
+#ifndef ANDROID
freerrset(fingerprints);
+#endif
return -1;
}
@@ -255,7 +262,9 @@ verify_host_key_dns(const char *hostname, struct sockaddr *address,
}
xfree(hostkey_digest); /* from key_fingerprint_raw() */
+#ifndef ANDROID
freerrset(fingerprints);
+#endif
if (*flags & DNS_VERIFY_FOUND)
if (*flags & DNS_VERIFY_MATCH)