mirror of https://github.com/M66B/FairEmail.git
Refactoring
This commit is contained in:
parent
09a7291959
commit
5f5ccf25b1
|
@ -83,7 +83,7 @@ public class Avatar {
|
|||
for (String dns : LIBRAVATAR_DNS.split(",")) {
|
||||
DnsHelper.DnsRecord[] records = DnsHelper.lookup(context, dns + "." + domain, "srv");
|
||||
if (records.length > 0) {
|
||||
baseUrl = (records[0].port == 443 ? "https" : "http") + "://" + records[0].name + "/avatar/";
|
||||
baseUrl = (records[0].port == 443 ? "https" : "http") + "://" + records[0].response + "/avatar/";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -101,7 +101,7 @@ public class Bimi {
|
|||
}
|
||||
|
||||
// Process DNS record
|
||||
Map<String, String> values = MessageHelper.getKeyValues(record.name);
|
||||
Map<String, String> values = MessageHelper.getKeyValues(record.response);
|
||||
List<String> tags = new ArrayList<>(values.keySet());
|
||||
Collections.sort(tags); // process certificate first
|
||||
for (String tag : tags) {
|
||||
|
@ -337,9 +337,9 @@ public class Bimi {
|
|||
}
|
||||
if (records.length == 0)
|
||||
throw new IllegalArgumentException("DMARC missing");
|
||||
Log.i("BIMI got TXT " + records[0].name);
|
||||
Log.i("BIMI got TXT " + records[0].response);
|
||||
|
||||
Map<String, String> dmarc = MessageHelper.getKeyValues(records[0].name);
|
||||
Map<String, String> dmarc = MessageHelper.getKeyValues(records[0].response);
|
||||
|
||||
String p = dmarc.get("p");
|
||||
if (p == null ||
|
||||
|
@ -376,7 +376,7 @@ public class Bimi {
|
|||
DnsHelper.DnsRecord[] records = DnsHelper.lookup(context, txt, "txt");
|
||||
if (records.length == 0)
|
||||
return null;
|
||||
Log.i("BIMI got TXT " + records[0].name);
|
||||
Log.i("BIMI got TXT " + records[0].response);
|
||||
return records[0];
|
||||
} catch (Throwable ex) {
|
||||
Log.i(ex);
|
||||
|
|
|
@ -268,7 +268,7 @@ public class ActivityDmarc extends ActivityBase {
|
|||
boolean valid = false;
|
||||
if (spf != null)
|
||||
for (Pair<String, DnsHelper.DnsRecord> p : spf) {
|
||||
for (String ip : p.second.name.split("\\s+")) {
|
||||
for (String ip : p.second.response.split("\\s+")) {
|
||||
ip = ip.toLowerCase(Locale.ROOT);
|
||||
if (ip.startsWith("ip4:") || ip.startsWith("ip6:")) {
|
||||
String[] net = ip.substring(4).split("/");
|
||||
|
@ -290,15 +290,15 @@ public class ActivityDmarc extends ActivityBase {
|
|||
for (DnsHelper.DnsRecord mx : mxs) {
|
||||
List<DnsHelper.DnsRecord> as = new ArrayList<>();
|
||||
try {
|
||||
as.addAll(Arrays.asList(DnsHelper.lookup(context, mx.name, "a")));
|
||||
as.addAll(Arrays.asList(DnsHelper.lookup(context, mx.response, "a")));
|
||||
} catch (UnknownHostException ignored) {
|
||||
}
|
||||
try {
|
||||
as.addAll(Arrays.asList(DnsHelper.lookup(context, mx.name, "aaaa")));
|
||||
as.addAll(Arrays.asList(DnsHelper.lookup(context, mx.response, "aaaa")));
|
||||
} catch (UnknownHostException ignored) {
|
||||
}
|
||||
for (DnsHelper.DnsRecord a : as)
|
||||
if (text.equals(a.name)) {
|
||||
if (text.equals(a.response)) {
|
||||
valid = true;
|
||||
break;
|
||||
}
|
||||
|
@ -431,7 +431,7 @@ public class ActivityDmarc extends ActivityBase {
|
|||
spf = lookupSpf(context, lastDomain, extra);
|
||||
for (Pair<String, DnsHelper.DnsRecord> p : spf) {
|
||||
ssb.append(p.first).append(' ')
|
||||
.append(p.second.name).append("\n");
|
||||
.append(p.second.response).append("\n");
|
||||
if (start == null) {
|
||||
start = ssb.length();
|
||||
ssb.append("\n");
|
||||
|
@ -455,7 +455,7 @@ public class ActivityDmarc extends ActivityBase {
|
|||
} catch (UnknownHostException ignored) {
|
||||
}
|
||||
for (DnsHelper.DnsRecord r : records)
|
||||
ssb.append(r.name).append("\n");
|
||||
ssb.append(r.response).append("\n");
|
||||
ssb.append("\n");
|
||||
}
|
||||
}
|
||||
|
@ -528,9 +528,9 @@ public class ActivityDmarc extends ActivityBase {
|
|||
ssb.append(domain).append('=')
|
||||
.append(Integer.toString(records.length)).append('\n');
|
||||
for (DnsHelper.DnsRecord r : records)
|
||||
if (r.name.contains("spf")) {
|
||||
if (r.response.contains("spf")) {
|
||||
result.add(new Pair<>(domain, r));
|
||||
for (String part : r.name.split("\\s+"))
|
||||
for (String part : r.response.split("\\s+"))
|
||||
if (part.toLowerCase(Locale.ROOT).startsWith("include:")) {
|
||||
String sub = part.substring("include:".length());
|
||||
result.addAll(lookupSpf(context, sub, ssb));
|
||||
|
|
|
@ -227,7 +227,7 @@ public class DnsHelper {
|
|||
slash = text.indexOf('\\', i);
|
||||
}
|
||||
if (result.size() > 0)
|
||||
result.get(0).name += text;
|
||||
result.get(0).response += text;
|
||||
else
|
||||
result.add(new DnsRecord(text, 0));
|
||||
}
|
||||
|
@ -287,22 +287,22 @@ public class DnsHelper {
|
|||
|
||||
static class DnsRecord {
|
||||
String query;
|
||||
String name;
|
||||
String response;
|
||||
Integer port;
|
||||
Integer priority;
|
||||
Integer weight;
|
||||
|
||||
DnsRecord(String name) {
|
||||
this.name = name;
|
||||
DnsRecord(String response) {
|
||||
this.response = response;
|
||||
}
|
||||
|
||||
DnsRecord(String name, int port) {
|
||||
this.name = name;
|
||||
DnsRecord(String response, int port) {
|
||||
this.response = response;
|
||||
this.port = port;
|
||||
}
|
||||
|
||||
DnsRecord(String name, int port, int priority, int weight) {
|
||||
this.name = name;
|
||||
DnsRecord(String response, int port, int priority, int weight) {
|
||||
this.response = response;
|
||||
this.port = port;
|
||||
this.priority = priority;
|
||||
this.weight = weight;
|
||||
|
@ -311,7 +311,7 @@ public class DnsHelper {
|
|||
@NonNull
|
||||
@Override
|
||||
public String toString() {
|
||||
return query + "=" + name + ":" + port + " " + priority + "/" + weight;
|
||||
return query + "=" + response + ":" + port + " " + priority + "/" + weight;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -427,7 +427,7 @@ public class EmailProvider implements Parcelable {
|
|||
for (EmailProvider provider : providers)
|
||||
if (provider.mx != null)
|
||||
for (String mx : provider.mx)
|
||||
if (record.name.matches(mx))
|
||||
if (record.response.matches(mx))
|
||||
return Arrays.asList(provider);
|
||||
} catch (Throwable ex) {
|
||||
Log.w(ex);
|
||||
|
@ -477,8 +477,8 @@ public class EmailProvider implements Parcelable {
|
|||
}
|
||||
|
||||
for (DnsHelper.DnsRecord record : records)
|
||||
if (!TextUtils.isEmpty(record.name)) {
|
||||
String target = record.name.toLowerCase(Locale.ROOT);
|
||||
if (!TextUtils.isEmpty(record.response)) {
|
||||
String target = record.response.toLowerCase(Locale.ROOT);
|
||||
EntityLog.log(context, "MX target=" + target);
|
||||
|
||||
for (EmailProvider provider : providers) {
|
||||
|
@ -510,7 +510,7 @@ public class EmailProvider implements Parcelable {
|
|||
|
||||
for (DnsHelper.DnsRecord record : records)
|
||||
try {
|
||||
String target = record.name.toLowerCase(Locale.ROOT);
|
||||
String target = record.response.toLowerCase(Locale.ROOT);
|
||||
InetAddress.getByName(target);
|
||||
|
||||
EmailProvider mx1 = new EmailProvider(domain);
|
||||
|
@ -866,7 +866,7 @@ public class EmailProvider implements Parcelable {
|
|||
|
||||
// ... service is not supported at all at a particular domain by setting the target of an SRV RR to "."
|
||||
for (DnsHelper.DnsRecord record : new ArrayList<>(list))
|
||||
if (TextUtils.isEmpty(record.name) || ".".equals(record.name))
|
||||
if (TextUtils.isEmpty(record.response) || ".".equals(record.response))
|
||||
list.remove(record);
|
||||
|
||||
if (list.size() == 0)
|
||||
|
@ -888,7 +888,7 @@ public class EmailProvider implements Parcelable {
|
|||
DnsHelper.DnsRecord pref = list.get(0);
|
||||
|
||||
provider.imap.score = 50;
|
||||
provider.imap.host = pref.name;
|
||||
provider.imap.host = pref.response;
|
||||
provider.imap.port = pref.port;
|
||||
provider.imap.starttls = (!pref.query.startsWith("_imaps._tcp.") && pref.port == 143);
|
||||
EntityLog.log(context, pref.query + "=" + provider.imap);
|
||||
|
@ -904,7 +904,7 @@ public class EmailProvider implements Parcelable {
|
|||
list.addAll(Arrays.asList(DnsHelper.lookup(context, "_submissions._tcp." + domain, "srv")));
|
||||
|
||||
for (DnsHelper.DnsRecord record : new ArrayList<>(list))
|
||||
if (TextUtils.isEmpty(record.name) || ".".equals(record.name))
|
||||
if (TextUtils.isEmpty(record.response) || ".".equals(record.response))
|
||||
list.remove(record);
|
||||
|
||||
if (list.size() == 0)
|
||||
|
@ -927,7 +927,7 @@ public class EmailProvider implements Parcelable {
|
|||
DnsHelper.DnsRecord pref = list.get(0);
|
||||
|
||||
provider.smtp.score = 50;
|
||||
provider.smtp.host = pref.name;
|
||||
provider.smtp.host = pref.response;
|
||||
provider.smtp.port = pref.port;
|
||||
provider.smtp.starttls = (!pref.query.startsWith("_submissions._tcp.") && pref.port == 587);
|
||||
EntityLog.log(context, pref.query + "=" + provider.smtp);
|
||||
|
|
|
@ -2307,8 +2307,8 @@ public class MessageHelper {
|
|||
if (records.length == 0)
|
||||
return null;
|
||||
|
||||
Log.i("DKIM got " + records[0].name);
|
||||
Map<String, String> dk = getKeyValues(records[0].name);
|
||||
Log.i("DKIM got " + records[0].response);
|
||||
Map<String, String> dk = getKeyValues(records[0].response);
|
||||
|
||||
String canonic = kv.get("c");
|
||||
Log.i("DKIM canonicalization=" + canonic);
|
||||
|
|
Loading…
Reference in New Issue