pull/214/head
M66B 10 months ago
parent f80792ca2d
commit 48007f5857

@ -565,7 +565,7 @@ public class ActivityDMARC extends ActivityBase {
} }
try { try {
InetAddress addr = DnsHelper.getByName(context, text); InetAddress addr = InetAddress.getByName(text);
IPInfo info = IPInfo.getOrganization(addr, context); IPInfo info = IPInfo.getOrganization(addr, context);
ssb.append('(').append(info.org).append(") "); ssb.append('(').append(info.org).append(") ");
} catch (Throwable ex) { } catch (Throwable ex) {

@ -309,29 +309,6 @@ public class DnsHelper {
} }
} }
static InetAddress getByName(Context context, String host) throws UnknownHostException {
return getAllByName(context, host)[0];
}
static InetAddress[] getAllByName(Context context, String host) throws UnknownHostException {
List<InetAddress> result = new ArrayList<>();
boolean[] has46 = ConnectionHelper.has46(context);
if (has46[0])
for (DnsRecord a : lookup(context, host, "a"))
result.add(a.address);
if (has46[1])
for (DnsRecord aaaa : lookup(context, host, "aaaa"))
result.add(aaaa.address);
if (result.size() == 0)
throw new UnknownHostException(host);
else
return result.toArray(new InetAddress[0]);
}
private static List<String> getDnsServers(Context context) { private static List<String> getDnsServers(Context context) {
List<String> result = new ArrayList<>(); List<String> result = new ArrayList<>();
result.add(DEFAULT_DNS); result.add(DEFAULT_DNS);

@ -436,7 +436,7 @@ public class EmailProvider implements Parcelable {
if (false) // Unsafe: the password could be sent to an unrelated email server if (false) // Unsafe: the password could be sent to an unrelated email server
try { try {
InetAddress iaddr = DnsHelper.getByName(context, domain.toLowerCase(Locale.ROOT)); InetAddress iaddr = InetAddress.getByName(domain.toLowerCase(Locale.ROOT));
List<String> commonNames = List<String> commonNames =
ConnectionHelper.getCommonNames(context, domain.toLowerCase(Locale.ROOT), 443, SCAN_TIMEOUT); ConnectionHelper.getCommonNames(context, domain.toLowerCase(Locale.ROOT), 443, SCAN_TIMEOUT);
EntityLog.log(context, "Website common names=" + TextUtils.join(",", commonNames)); EntityLog.log(context, "Website common names=" + TextUtils.join(",", commonNames));
@ -450,7 +450,7 @@ public class EmailProvider implements Parcelable {
if (!altName.equalsIgnoreCase(domain)) if (!altName.equalsIgnoreCase(domain))
try { try {
InetAddress ialt = DnsHelper.getByName(context, altName); InetAddress ialt = InetAddress.getByName(altName);
if (!ialt.equals(iaddr)) { if (!ialt.equals(iaddr)) {
EntityLog.log(context, "Using website common name=" + altName); EntityLog.log(context, "Using website common name=" + altName);
candidates.addAll(_fromDomain(context, altName.toLowerCase(Locale.ROOT), email, discover, intf)); candidates.addAll(_fromDomain(context, altName.toLowerCase(Locale.ROOT), email, discover, intf));
@ -509,7 +509,7 @@ public class EmailProvider implements Parcelable {
for (DnsHelper.DnsRecord record : records) for (DnsHelper.DnsRecord record : records)
try { try {
String target = record.response.toLowerCase(Locale.ROOT); String target = record.response.toLowerCase(Locale.ROOT);
DnsHelper.getByName(context, target); InetAddress.getByName(target);
EmailProvider mx1 = new EmailProvider(domain); EmailProvider mx1 = new EmailProvider(domain);
mx1.imap.score = 0; mx1.imap.score = 0;
@ -1340,7 +1340,7 @@ public class EmailProvider implements Parcelable {
@Override @Override
public Boolean call() { public Boolean call() {
try { try {
for (InetAddress iaddr : DnsHelper.getAllByName(context, host)) { for (InetAddress iaddr : InetAddress.getAllByName(host)) {
InetSocketAddress address = new InetSocketAddress(iaddr, Server.this.port); InetSocketAddress address = new InetSocketAddress(iaddr, Server.this.port);
SocketFactory factory = (starttls SocketFactory factory = (starttls
@ -1380,7 +1380,7 @@ public class EmailProvider implements Parcelable {
String similar = name; String similar = name;
if (similar.startsWith("*.")) if (similar.startsWith("*."))
similar = similar.substring(2); similar = similar.substring(2);
InetAddress isimilar = DnsHelper.getByName(context, similar); InetAddress isimilar = InetAddress.getByName(similar);
if (iaddr.equals(isimilar)) { if (iaddr.equals(isimilar)) {
score += 1; score += 1;
EntityLog.log(context, "Similar " + similar + " host=" + host); EntityLog.log(context, "Similar " + similar + " host=" + host);

@ -623,7 +623,7 @@ public class EmailService implements AutoCloseable {
String key = "dns." + host; String key = "dns." + host;
try { try {
main = DnsHelper.getByName(context, host); main = InetAddress.getByName(host);
EntityLog.log(context, EntityLog.Type.Network, "Main address=" + main); EntityLog.log(context, EntityLog.Type.Network, "Main address=" + main);
prefs.edit().putString(key, main.getHostAddress()).apply(); prefs.edit().putString(key, main.getHostAddress()).apply();
} catch (UnknownHostException ex) { } catch (UnknownHostException ex) {
@ -632,7 +632,7 @@ public class EmailService implements AutoCloseable {
throw ex; throw ex;
else { else {
EntityLog.log(context, EntityLog.Type.Network, "Using " + key + "=" + last); EntityLog.log(context, EntityLog.Type.Network, "Using " + key + "=" + last);
main = DnsHelper.getByName(context, last); main = InetAddress.getByName(last);
} }
} }
@ -641,7 +641,7 @@ public class EmailService implements AutoCloseable {
boolean[] has46 = ConnectionHelper.has46(context); boolean[] has46 = ConnectionHelper.has46(context);
if (has46[0]) if (has46[0])
try { try {
for (InetAddress iaddr : DnsHelper.getAllByName(context, host)) for (InetAddress iaddr : InetAddress.getAllByName(host))
if (iaddr instanceof Inet4Address) { if (iaddr instanceof Inet4Address) {
main = iaddr; main = iaddr;
EntityLog.log(context, EntityLog.Type.Network, "Preferring=" + main); EntityLog.log(context, EntityLog.Type.Network, "Preferring=" + main);
@ -729,7 +729,7 @@ public class EmailService implements AutoCloseable {
ex + "\n" + android.util.Log.getStackTraceString(ex)); ex + "\n" + android.util.Log.getStackTraceString(ex));
try { try {
// Some devices resolve IPv6 addresses while not having IPv6 connectivity // Some devices resolve IPv6 addresses while not having IPv6 connectivity
InetAddress[] iaddrs = DnsHelper.getAllByName(context, host); InetAddress[] iaddrs = InetAddress.getAllByName(host);
int ip4 = (main instanceof Inet4Address ? 1 : 0); int ip4 = (main instanceof Inet4Address ? 1 : 0);
int ip6 = (main instanceof Inet6Address ? 1 : 0); int ip6 = (main instanceof Inet6Address ? 1 : 0);

@ -61,7 +61,7 @@ public class IPInfo {
Log.i(ex); Log.i(ex);
} }
InetAddress address = DnsHelper.getByName(context, host); InetAddress address = InetAddress.getByName(host);
return new Pair<>(address, getOrganization(address, context)); return new Pair<>(address, getOrganization(address, context));
} }

@ -164,7 +164,7 @@ public class SSLHelper {
// Fallback: check server/certificate IP address // Fallback: check server/certificate IP address
if (!cert_strict) if (!cert_strict)
try { try {
InetAddress ip = DnsHelper.getByName(context, server); InetAddress ip = InetAddress.getByName(server);
Log.i("Checking server ip=" + ip); Log.i("Checking server ip=" + ip);
for (String name : names) { for (String name : names) {
if (name.startsWith("*.")) if (name.startsWith("*."))
@ -172,7 +172,7 @@ public class SSLHelper {
Log.i("Checking cert name=" + name); Log.i("Checking cert name=" + name);
try { try {
for (InetAddress addr : DnsHelper.getAllByName(context, name)) for (InetAddress addr : InetAddress.getAllByName(name))
if (Arrays.equals(ip.getAddress(), addr.getAddress())) { if (Arrays.equals(ip.getAddress(), addr.getAddress())) {
Log.i("Accepted " + name + " for " + server); Log.i("Accepted " + name + " for " + server);
return; return;

Loading…
Cancel
Save