Revert "Updated dnsjava"

This reverts commit 0abad7e694.

dnsjava 3+ depends on java.time.Duration, which was added in SDK 26
This commit is contained in:
M66B 2023-12-31 17:21:22 +01:00
parent d82019d090
commit 27d96e7fe8
5 changed files with 22 additions and 34 deletions

View File

@ -10,7 +10,7 @@ For support you can use [the contact form](https://contact.faircode.eu/?product=
* Added [Certificate transparency](https://github.com/appmattus/certificatetransparency/blob/main/docs/what-is-certificate-transparency.md)
* Small improvements and minor bug fixes
* Updated libraries (Apache Compress, Bugsnag, Bouncy Castle, dnsjava, Jsoup)
* Updated libraries (Apache Compress, Bugsnag, Bouncy Castle, Jsoup)
* Updated [translations](https://crowdin.com/project/open-source-email)
### 1.2145 - 2023-12-30

View File

@ -548,7 +548,7 @@ dependencies {
def jsonpath_version = "2.8.0"
def css_version = "0.9.30"
def jax_version = "2.3.0-jaxb-1.0.6"
def dnsjava_version = "3.5.3"
def dnsjava_version = "2.1.9"
def openpgp_version = "12.0"
def badge_version = "1.1.22"
def bugsnag_version = "6.1.0"

View File

@ -10,7 +10,7 @@ For support you can use [the contact form](https://contact.faircode.eu/?product=
* Added [Certificate transparency](https://github.com/appmattus/certificatetransparency/blob/main/docs/what-is-certificate-transparency.md)
* Small improvements and minor bug fixes
* Updated libraries (Apache Compress, Bugsnag, Bouncy Castle, dnsjava, Jsoup)
* Updated libraries (Apache Compress, Bugsnag, Bouncy Castle, Jsoup)
* Updated [translations](https://crowdin.com/project/open-source-email)
### 1.2145 - 2023-12-30

View File

@ -37,6 +37,7 @@ import org.xbill.DNS.MXRecord;
import org.xbill.DNS.Message;
import org.xbill.DNS.NSRecord;
import org.xbill.DNS.Record;
import org.xbill.DNS.SOARecord;
import org.xbill.DNS.SRVRecord;
import org.xbill.DNS.SimpleResolver;
import org.xbill.DNS.TXTRecord;
@ -45,7 +46,6 @@ import org.xbill.DNS.Type;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
@ -97,6 +97,9 @@ public class DnsHelper {
case "mx":
rtype = Type.MX;
break;
case "soa":
rtype = Type.SOA;
break;
case "srv":
rtype = Type.SRV;
break;
@ -186,7 +189,7 @@ public class DnsHelper {
}
}
};
resolver.setTimeout(Duration.ofSeconds(timeout));
resolver.setTimeout(timeout);
Lookup lookup = new Lookup(name, rtype);
lookup.setResolver(resolver);
Log.i("Lookup name=" + name + " @" + resolver.getAddress() + " type=" + rtype);
@ -205,13 +208,16 @@ public class DnsHelper {
Log.i("Found record=" + record);
if (record instanceof NSRecord) {
NSRecord ns = (NSRecord) record;
result.add(new DnsRecord(type, ns.getTarget().toString(true)));
result.add(new DnsRecord(ns.getTarget().toString(true)));
} else if (record instanceof MXRecord) {
MXRecord mx = (MXRecord) record;
result.add(new DnsRecord(type, mx.getTarget().toString(true)));
result.add(new DnsRecord(mx.getTarget().toString(true)));
} else if (record instanceof SOARecord) {
SOARecord soa = (SOARecord) record;
result.add(new DnsRecord(soa.getHost().toString(true)));
} else if (record instanceof SRVRecord) {
SRVRecord srv = (SRVRecord) record;
result.add(new DnsRecord(type, srv.getTarget().toString(true), srv.getPort(), srv.getPriority(), srv.getWeight()));
result.add(new DnsRecord(srv.getTarget().toString(true), srv.getPort(), srv.getPriority(), srv.getWeight()));
} else if (record instanceof TXTRecord) {
TXTRecord txt = (TXTRecord) record;
for (Object content : txt.getStrings()) {
@ -233,14 +239,14 @@ public class DnsHelper {
if (result.size() > 0)
result.get(0).response += text;
else
result.add(new DnsRecord(type, text, 0));
result.add(new DnsRecord(text, 0));
}
} else if (record instanceof ARecord) {
ARecord a = (ARecord) record;
result.add(new DnsRecord(type, a.getAddress().getHostAddress()));
result.add(new DnsRecord(a.getAddress().getHostAddress()));
} else if (record instanceof AAAARecord) {
AAAARecord aaaa = (AAAARecord) record;
result.add(new DnsRecord(type, aaaa.getAddress().getHostAddress()));
result.add(new DnsRecord(aaaa.getAddress().getHostAddress()));
} else
throw new IllegalArgumentException(record.getClass().getName());
}
@ -291,41 +297,23 @@ public class DnsHelper {
return dns.get(0).getHostAddress();
}
static void test(Context context) throws UnknownHostException {
log(lookup(context, "gmail.com", "ns"));
log(lookup(context, "gmail.com", "mx"));
log(lookup(context, "_imaps._tcp.gmail.com", "srv"));
log(lookup(context, "gmail.com", "txt"));
log(lookup(context, "gmail.com", "a"));
log(lookup(context, "gmail.com", "aaaa"));
}
static void log(DnsRecord[] records) {
for (DnsRecord record : records)
Log.w("DNS " + record);
}
static class DnsRecord {
String type;
String query;
String response;
Integer port;
Integer priority;
Integer weight;
DnsRecord(String type, String response) {
this.type = type;
DnsRecord(String response) {
this.response = response;
}
DnsRecord(String type, String response, int port) {
this.type = type;
DnsRecord(String response, int port) {
this.response = response;
this.port = port;
}
DnsRecord(String type, String response, int port, int priority, int weight) {
this.type = type;
DnsRecord(String response, int port, int priority, int weight) {
this.response = response;
this.port = port;
this.priority = priority;
@ -335,7 +323,7 @@ public class DnsHelper {
@NonNull
@Override
public String toString() {
return type + " " + query + "=" + response + ":" + port + " " + priority + "/" + weight;
return query + "=" + response + ":" + port + " " + priority + "/" + weight;
}
}
}

View File

@ -10,7 +10,7 @@ Next version
* Added Certificate transparency
* Small improvements and minor bug fixes
* Updated libraries (Apache Compress, Bugsnag, Bouncy Castle, dnsjava, Jsoup)
* Updated libraries (Apache Compress, Bugsnag, Bouncy Castle, Jsoup)
* Updated translations
1.2145 - 2023-12-30