Merge changes from topic "st02"
* changes:
[ST02.2] Use the getters of DnsHeader
[ST02.1] Add TYPE_CNAME constant to DnsResolver
diff --git a/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java b/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java
index c6d2b3b..9e6fc0b 100644
--- a/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java
+++ b/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java
@@ -1518,7 +1518,7 @@
final TestDnsPacket dnsQuery = TestDnsPacket.getTestDnsPacket(buf);
assertNotNull(dnsQuery);
Log.d(TAG, "Forwarded UDP source port: " + udpHeader.srcPort + ", DNS query id: "
- + dnsQuery.getHeader().id);
+ + dnsQuery.getHeader().getId());
// [2] Send DNS reply.
// DNS server --> upstream --> dnsmasq forwarding --> downstream --> tethered device
@@ -1528,7 +1528,7 @@
final Inet4Address remoteIp = (Inet4Address) TEST_IP4_DNS;
final Inet4Address tetheringUpstreamIp = (Inet4Address) TEST_IP4_ADDR.getAddress();
sendDownloadPacketDnsV4(remoteIp, tetheringUpstreamIp, DNS_PORT,
- (short) udpHeader.srcPort, (short) dnsQuery.getHeader().id, tester);
+ (short) udpHeader.srcPort, (short) dnsQuery.getHeader().getId(), tester);
}
private <T> List<T> toList(T... array) {
diff --git a/framework/api/current.txt b/framework/api/current.txt
index 547b7e2..09b4538 100644
--- a/framework/api/current.txt
+++ b/framework/api/current.txt
@@ -188,6 +188,7 @@
field public static final int FLAG_NO_RETRY = 1; // 0x1
field public static final int TYPE_A = 1; // 0x1
field public static final int TYPE_AAAA = 28; // 0x1c
+ field public static final int TYPE_CNAME = 5; // 0x5
}
public static interface DnsResolver.Callback<T> {
diff --git a/framework/src/android/net/DnsResolver.java b/framework/src/android/net/DnsResolver.java
index 5e637f9..33722fc 100644
--- a/framework/src/android/net/DnsResolver.java
+++ b/framework/src/android/net/DnsResolver.java
@@ -71,12 +71,14 @@
@IntDef(prefix = { "TYPE_" }, value = {
TYPE_A,
- TYPE_AAAA
+ TYPE_AAAA,
+ TYPE_CNAME
})
@Retention(RetentionPolicy.SOURCE)
@interface QueryType {}
public static final int TYPE_A = 1;
public static final int TYPE_AAAA = 28;
+ public static final int TYPE_CNAME = 5;
@IntDef(prefix = { "FLAG_" }, value = {
FLAG_EMPTY,
@@ -542,7 +544,7 @@
DnsAddressAnswer(@NonNull byte[] data) throws ParseException {
super(data);
- if ((mHeader.flags & (1 << 15)) == 0) {
+ if ((mHeader.getFlags() & (1 << 15)) == 0) {
throw new ParseException("Not an answer packet");
}
if (mHeader.getRecordCount(QDSECTION) == 0) {
diff --git a/tests/cts/net/src/android/net/cts/DnsResolverTest.java b/tests/cts/net/src/android/net/cts/DnsResolverTest.java
index 0c53411..3821cea 100644
--- a/tests/cts/net/src/android/net/cts/DnsResolverTest.java
+++ b/tests/cts/net/src/android/net/cts/DnsResolverTest.java
@@ -200,13 +200,13 @@
super(data);
// Check QR field.(query (0), or a response (1)).
- if ((mHeader.flags & (1 << 15)) == 0) {
+ if ((mHeader.getFlags() & (1 << 15)) == 0) {
throw new DnsParseException("Not an answer packet");
}
}
int getRcode() {
- return mHeader.rcode;
+ return mHeader.getFlags() & 0x0F;
}
int getANCount() {