Improve handling of invalid private DNS settings am: 4a15140077

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/15057279

Change-Id: Ia40a4a43c5d9df8f3974d0fc079a8067cf0a35d9
This commit is contained in:
Treehugger Robot
2021-06-22 23:29:29 +00:00
committed by Automerger Merge Worker

View File

@@ -529,12 +529,14 @@ public final class CtsNetUtils {
} }
// restore private DNS setting // restore private DNS setting
if (PRIVATE_DNS_MODE_STRICT.equals(mOldPrivateDnsMode)) { if (PRIVATE_DNS_MODE_STRICT.equals(mOldPrivateDnsMode)) {
setPrivateDnsStrictMode(mOldPrivateDnsSpecifier); // In case of invalid setting, set to opportunistic to avoid a bad state and fail
// In case of invalid setting, still restore it but fail the test
if (mOldPrivateDnsSpecifier == null) { if (mOldPrivateDnsSpecifier == null) {
Settings.Global.putString(mCR, Settings.Global.PRIVATE_DNS_MODE,
PRIVATE_DNS_MODE_OPPORTUNISTIC);
fail("Invalid private DNS setting: no hostname specified in strict mode"); fail("Invalid private DNS setting: no hostname specified in strict mode");
} }
setPrivateDnsStrictMode(mOldPrivateDnsSpecifier);
awaitPrivateDnsSetting("restorePrivateDnsSetting timeout", awaitPrivateDnsSetting("restorePrivateDnsSetting timeout",
mCm.getActiveNetwork(), mCm.getActiveNetwork(),
mOldPrivateDnsSpecifier, true); mOldPrivateDnsSpecifier, true);