From c549df94e196e22fcd01b206a76f1a3ce309416d Mon Sep 17 00:00:00 2001 From: Simone Basso Date: Thu, 30 Nov 2023 03:42:51 +0100 Subject: [PATCH] refactor(minipipeline): change DNSDiff foundations (#1408) Here we start using sets and we are consolidating the algorithm to say that there are unexpected addresses. Part of https://github.com/ooni/probe/issues/2634 --- .../cmd/minipipeline/testdata/analysis.json | 4 +- .../testdata/analysis_classic.json | 4 +- internal/minipipeline/analysis.go | 216 +++++++++--------- internal/minipipeline/analysis_test.go | 19 -- .../analysis.json | 4 +- .../analysis_classic.json | 4 +- .../analysis.json | 4 +- .../analysis_classic.json | 4 +- .../analysis.json | 12 +- .../analysis_classic.json | 10 +- .../badSSLWithWrongServerName/analysis.json | 4 +- .../analysis_classic.json | 4 +- .../analysis.json | 4 +- .../analysis_classic.json | 4 +- .../analysis.json | 4 +- .../analysis_classic.json | 4 +- .../analysis.json | 4 +- .../analysis_classic.json | 4 +- .../generated/dnsBlockingBOGON/analysis.json | 12 +- .../dnsBlockingBOGON/analysis_classic.json | 12 +- .../dnsBlockingNXDOMAIN/analysis.json | 4 +- .../dnsBlockingNXDOMAIN/analysis_classic.json | 4 +- .../analysis.json | 11 +- .../analysis_classic.json | 8 +- .../analysis.json | 11 +- .../analysis_classic.json | 8 +- .../httpBlockingConnectionReset/analysis.json | 4 +- .../analysis_classic.json | 4 +- .../httpDiffWithConsistentDNS/analysis.json | 4 +- .../analysis_classic.json | 4 +- .../httpDiffWithInconsistentDNS/analysis.json | 11 +- .../analysis_classic.json | 8 +- .../analysis.json | 4 +- .../analysis_classic.json | 4 +- .../analysis.json | 4 +- .../analysis_classic.json | 4 +- .../analysis.json | 4 +- .../analysis_classic.json | 4 +- .../analysis.json | 4 +- .../analysis_classic.json | 4 +- .../analysis.json | 4 +- .../analysis_classic.json | 4 +- .../analysis.json | 4 +- .../analysis_classic.json | 4 +- .../analysis.json | 4 +- .../analysis_classic.json | 4 +- .../analysis.json | 4 +- .../analysis_classic.json | 4 +- .../analysis.json | 4 +- .../analysis_classic.json | 4 +- .../generated/successWithHTTP/analysis.json | 4 +- .../successWithHTTP/analysis_classic.json | 4 +- .../generated/successWithHTTPS/analysis.json | 4 +- .../successWithHTTPS/analysis_classic.json | 4 +- .../tcpBlockingConnectTimeout/analysis.json | 4 +- .../analysis_classic.json | 4 +- .../analysis.json | 12 +- .../analysis_classic.json | 10 +- .../analysis.json | 4 +- .../analysis_classic.json | 4 +- .../analysis.json | 12 +- .../analysis_classic.json | 10 +- .../websiteDownNXDOMAIN/analysis.json | 4 +- .../websiteDownNXDOMAIN/analysis_classic.json | 4 +- .../manual/dnsgoogle80/analysis.json | 4 +- .../manual/dnsgoogle80/analysis_classic.json | 4 +- .../manual/noipv6/analysis.json | 4 +- .../manual/noipv6/analysis_classic.json | 4 +- .../manual/youtube/analysis.json | 4 +- .../manual/youtube/analysis_classic.json | 4 +- 70 files changed, 308 insertions(+), 290 deletions(-) diff --git a/internal/cmd/minipipeline/testdata/analysis.json b/internal/cmd/minipipeline/testdata/analysis.json index c515d0f394..212619aeba 100644 --- a/internal/cmd/minipipeline/testdata/analysis.json +++ b/internal/cmd/minipipeline/testdata/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": 1, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/cmd/minipipeline/testdata/analysis_classic.json b/internal/cmd/minipipeline/testdata/analysis_classic.json index 66e46d2b10..e5e5d72404 100644 --- a/internal/cmd/minipipeline/testdata/analysis_classic.json +++ b/internal/cmd/minipipeline/testdata/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": 1, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/analysis.go b/internal/minipipeline/analysis.go index 1a1b1d4bbc..bdfe2482bf 100644 --- a/internal/minipipeline/analysis.go +++ b/internal/minipipeline/analysis.go @@ -10,10 +10,10 @@ import ( func AnalyzeWebObservations(container *WebObservationsContainer) *WebAnalysis { analysis := &WebAnalysis{} + analysis.ComputeDNSLookupSuccessWithInvalidAddresses(container) + analysis.ComputeDNSLookupSuccessWithInvalidAddressesClassic(container) analysis.ComputeDNSExperimentFailure(container) - analysis.ComputeDNSTransactionsWithBogons(container) analysis.ComputeDNSTransactionsWithUnexpectedFailures(container) - analysis.ComputeDNSPossiblyInvalidAddrsClassic(container) analysis.ComputeDNSPossiblyNonexistingDomains(container) analysis.ComputeTCPTransactionsWithUnexpectedTCPConnectFailures(container) @@ -34,37 +34,24 @@ func AnalyzeWebObservations(container *WebObservationsContainer) *WebAnalysis { // WebAnalysis summarizes the content of [*WebObservationsContainer]. // // The zero value of this struct is ready to use. -// -// For optional fields, they are None (i.e., `null` in JSON, `nil` in Go) when the corresponding -// algorithm either didn't run or didn't encounter enough data to determine a non-None result. When -// they are not None, they can still be empty (e.g., `{}` in JSON and in Go). In the latter case, -// them being empty means we encountered good enough data to determine whether we needed to add -// something to such a field and decided not to. For example, DNSTransactionWithBogons being None -// means that there are no suitable transactions to inspect. It being empty, instead, means we -// have transactions to inspect but none of them contains bogons. In other words, most fields are -// three state and one should take this into account when performing data analysis. type WebAnalysis struct { + // DNSLookupSuccessWithInvalidAddresses contains DNS transactions with invalid IP addresses by + // taking into account control info, bogons, and TLS handshakes. + DNSLookupSuccessWithInvalidAddresses Set[int64] + + // DNSLookupSuccessWithInvalidAddressesClassic is like DNSLookupInvalid but the algorithm is more relaxed + // to be compatible with Web Connectivity v0.4's behavior. + DNSLookupSuccessWithInvalidAddressesClassic Set[int64] + // DNSExperimentFailure is the first failure experienced by a getaddrinfo-like resolver. DNSExperimentFailure optional.Value[string] - // DNSTransactionsWithBogons contains the list of DNS transactions containing bogons. - DNSTransactionsWithBogons optional.Value[map[int64]bool] - // DNSTransactionsWithUnexpectedFailures contains the DNS transaction IDs that // contain failures while the control measurement succeeded. Note that we don't // include DNS-over-HTTPS failures inside the list, because a DoH failure is // not related to the domain we're querying for. DNSTransactionsWithUnexpectedFailures optional.Value[map[int64]bool] - // DNSPossiblyInvalidAddrsClassic contains the addresses that are not valid for the - // domain. An addres is valid for the domain if: - // - // 1. the address was resolved by the TH; or - // - // 2. the address ASN belongs to the set of ASNs obtained by mapping - // addresses resolved by the TH to their corresponding ASN. - DNSPossiblyInvalidAddrsClassic optional.Value[map[string]bool] - // DNSPossiblyNonexistingDomains lists all the domains for which both // the probe and the TH failed to perform DNS lookups. DNSPossiblyNonexistingDomains optional.Value[map[string]bool] @@ -119,6 +106,109 @@ type WebAnalysis struct { TCPTransactionsWithUnexplainedUnexpectedFailures optional.Value[map[int64]bool] } +// ComputeDNSLookupSuccessWithInvalidAddresses computes the DNSLookupInvalid field. +func (wa *WebAnalysis) ComputeDNSLookupSuccessWithInvalidAddresses(c *WebObservationsContainer) { + // fill the invalid set + var already Set[int64] + for _, obs := range c.DNSLookupSuccesses { + // avoid considering a lookup we already considered + if already.Contains(obs.DNSTransactionID.Unwrap()) { + continue + } + already.Add(obs.DNSTransactionID.Unwrap()) + + // lookups once we started following redirects should not be considered + if obs.TagDepth.IsNone() || obs.TagDepth.Unwrap() != 0 { + continue + } + + // if there's a bogon, mark as invalid + if !obs.IPAddressBogon.IsNone() && obs.IPAddressBogon.Unwrap() { + wa.DNSLookupSuccessWithInvalidAddresses.Add(obs.DNSTransactionID.Unwrap()) + continue + } + + // when there is no control info, we cannot say much + if obs.ControlDNSResolvedAddrs.IsNone() { + continue + } + + // obtain measurement and control + measurement := obs.DNSResolvedAddrs.Unwrap() + control := obs.ControlDNSResolvedAddrs.Unwrap() + + // this lookup is good if there is IP addresses intersection + if DNSDiffFindCommonIPAddressIntersection(measurement, control).Len() > 0 { + continue + } + + // this lookup is good if there is ASN intersection + if DNSDiffFindCommonASNsIntersection(measurement, control).Len() > 0 { + continue + } + + // mark as invalid + wa.DNSLookupSuccessWithInvalidAddresses.Add(obs.DNSTransactionID.Unwrap()) + } + + // undo using TLS handshake info + for _, obs := range c.KnownTCPEndpoints { + // we must have a successuful TLS handshake + if obs.TLSHandshakeFailure.IsNone() || obs.TLSHandshakeFailure.Unwrap() != "" { + continue + } + + // we must have a DNSTransactionID + txid := obs.DNSTransactionID.UnwrapOr(0) + if txid <= 0 { + continue + } + + // this is actually valid + wa.DNSLookupSuccessWithInvalidAddresses.Remove(txid) + } +} + +// ComputeDNSLookupSuccessWithInvalidAddressesClassic computes the DNSLookupInvalidClassic field. +func (wa *WebAnalysis) ComputeDNSLookupSuccessWithInvalidAddressesClassic(c *WebObservationsContainer) { + var already Set[int64] + + for _, obs := range c.DNSLookupSuccesses { + // avoid considering a lookup we already considered + if already.Contains(obs.DNSTransactionID.Unwrap()) { + continue + } + already.Add(obs.DNSTransactionID.Unwrap()) + + // lookups once we started following redirects should not be considered + if obs.TagDepth.IsNone() || obs.TagDepth.Unwrap() != 0 { + continue + } + + // when there is no control info, we cannot say much + if obs.ControlDNSResolvedAddrs.IsNone() { + continue + } + + // obtain measurement and control + measurement := obs.DNSResolvedAddrs.Unwrap() + control := obs.ControlDNSResolvedAddrs.Unwrap() + + // this lookup is good if there is IP addresses intersection + if DNSDiffFindCommonIPAddressIntersection(measurement, control).Len() > 0 { + continue + } + + // this lookup is good if there is ASN intersection + if DNSDiffFindCommonASNsIntersection(measurement, control).Len() > 0 { + continue + } + + // mark as invalid + wa.DNSLookupSuccessWithInvalidAddressesClassic.Add(obs.DNSTransactionID.Unwrap()) + } +} + // ComputeDNSExperimentFailure computes the DNSExperimentFailure field. func (wa *WebAnalysis) ComputeDNSExperimentFailure(c *WebObservationsContainer) { @@ -162,43 +252,6 @@ func (wa *WebAnalysis) ComputeDNSExperimentFailure(c *WebObservationsContainer) } } -// ComputeDNSTransactionsWithBogons computes the DNSTransactionsWithBogons field. -func (wa *WebAnalysis) ComputeDNSTransactionsWithBogons(c *WebObservationsContainer) { - // Implementation note: any bogon IP address resolved by a DoH service - // is STILL suspicious since it SHOULD NOT happen. TODO(bassosimone): an - // even better algorithm could possibly check whether also the TH has - // observed bogon IP addrs and avoid flagging in such a case. - // - // See https://github.com/ooni/probe/issues/2274 for more information. - - // we cannot flip the state from None to empty until we inspect at least - // a single successful DNS lookup transaction - if len(c.DNSLookupSuccesses) <= 0 { - return - } - state := make(map[int64]bool) - - for _, obs := range c.DNSLookupSuccesses { - // do nothing if we don't know whether there's a bogon - if obs.IPAddressBogon.IsNone() { - continue - } - - // do nothing if there is no bogon - if !obs.IPAddressBogon.Unwrap() { - continue - } - - // update state - if id := obs.DNSTransactionID.UnwrapOr(0); id > 0 { - state[id] = true - } - } - - // note that optional.Some constructs None if state is nil - wa.DNSTransactionsWithBogons = optional.Some(state) -} - // ComputeDNSTransactionsWithUnexpectedFailures computes the DNSTransactionsWithUnexpectedFailures field. func (wa *WebAnalysis) ComputeDNSTransactionsWithUnexpectedFailures(c *WebObservationsContainer) { // Implementation note: a DoH failure is not information about the URL we're @@ -248,49 +301,6 @@ func (wa *WebAnalysis) ComputeDNSTransactionsWithUnexpectedFailures(c *WebObserv wa.DNSTransactionsWithUnexpectedFailures = optional.Some(state) } -// ComputeDNSPossiblyInvalidAddrsClassic computes the DNSPossiblyInvalidAddrsClassic field. -func (wa *WebAnalysis) ComputeDNSPossiblyInvalidAddrsClassic(c *WebObservationsContainer) { - // Implementation note: in the case in which DoH returned answers, here - // it still feels okay to consider them. We should avoid flagging DoH - // failures as measurement failures but if DoH returns us some unexpected - // even-non-bogon addr, it seems worth flagging for now. - // - // See https://github.com/ooni/probe/issues/2274 - - var state map[string]bool - - for _, obs := range c.KnownTCPEndpoints { - addr := obs.IPAddress.Unwrap() - - // skip the comparison if we don't have info about matching - if obs.DNSResolvedAddrs.IsNone() || obs.ControlDNSResolvedAddrs.IsNone() { - continue - } - - // flip state from None to empty when we see the first couple of - // (probe, th) failures allowing us to perform a comparison - if state == nil { - state = make(map[string]bool) - } - - measurement := obs.DNSResolvedAddrs.Unwrap() - control := obs.ControlDNSResolvedAddrs.Unwrap() - - ipAddrIntersection := DNSDiffFindCommonIPAddressIntersection(measurement, control) - asnIntersection := DNSDiffFindCommonASNsIntersection(measurement, control) - - // an address is suspicious if we have information regarding its potential - // matching with TH info and we know it does not match - if ipAddrIntersection.Len() <= 0 && asnIntersection.Len() <= 0 { - state[addr] = true - continue - } - } - - // note that optional.Some constructs None if state is nil - wa.DNSPossiblyInvalidAddrsClassic = optional.Some(state) -} - // ComputeDNSPossiblyNonexistingDomains computes the DNSPossiblyNonexistingDomains field. func (wa *WebAnalysis) ComputeDNSPossiblyNonexistingDomains(c *WebObservationsContainer) { var state map[string]bool diff --git a/internal/minipipeline/analysis_test.go b/internal/minipipeline/analysis_test.go index d954b2c971..12c0009df1 100644 --- a/internal/minipipeline/analysis_test.go +++ b/internal/minipipeline/analysis_test.go @@ -73,25 +73,6 @@ func TestWebAnalysisComputeDNSExperimentFailure(t *testing.T) { }) } -func TestWebAnalysisComputeDNSTransactionsWithBogons(t *testing.T) { - t.Run("when there's no IPAddressBogon", func(t *testing.T) { - container := &WebObservationsContainer{ - DNSLookupSuccesses: []*WebObservation{ - { - /* empty */ - }, - }, - } - - wa := &WebAnalysis{} - wa.ComputeDNSTransactionsWithBogons(container) - - if v := wa.DNSTransactionsWithBogons.UnwrapOr(nil); len(v) != 0 { - t.Fatal("DNSTransactionsWithBogons is not none") - } - }) -} - func TestWebAnalysisComputeTCPTransactionsWithUnexpectedHTTPFailures(t *testing.T) { t.Run("when both measurement and control fail", func(t *testing.T) { container := &WebObservationsContainer{ diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis.json index 2fd41d129e..9ee94177d7 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis_classic.json index d25701e59e..b2205367fa 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithExpiredCertificate/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis.json index 2fd41d129e..9ee94177d7 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis_classic.json index d25701e59e..b2205367fa 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithConsistentDNS/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis.json index 6f69d94650..121d06bc12 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis.json @@ -1,10 +1,14 @@ { + "DNSLookupSuccessWithInvalidAddresses": [ + 1, + 2 + ], + "DNSLookupSuccessWithInvalidAddressesClassic": [ + 1, + 2 + ], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": { - "104.154.89.105": true - }, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": 1, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis_classic.json index 9a9c1fb435..2d4e5a4b33 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithUnknownAuthorityWithInconsistentDNS/analysis_classic.json @@ -1,10 +1,12 @@ { + "DNSLookupSuccessWithInvalidAddresses": [ + 2 + ], + "DNSLookupSuccessWithInvalidAddressesClassic": [ + 2 + ], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": { - "104.154.89.105": true - }, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis.json index 2fd41d129e..9ee94177d7 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis_classic.json index d25701e59e..b2205367fa 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/badSSLWithWrongServerName/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis.json index 12887a7431..982de21520 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": null, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis_classic.json index 12887a7431..982de21520 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPSWebsite/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": null, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis.json index db84658a5b..9e055a6718 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": null, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis_classic.json index db84658a5b..9e055a6718 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/controlFailureWithSuccessfulHTTPWebsite/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": null, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis.json index e9364d8482..7337fa03d1 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis.json @@ -1,10 +1,10 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": "android_dns_cache_no_data", - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": { "1": true }, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": 1, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis_classic.json index d8708dab32..f73adc2132 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingAndroidDNSCacheNoData/analysis_classic.json @@ -1,10 +1,10 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": "android_dns_cache_no_data", - "DNSTransactionsWithBogons": null, "DNSTransactionsWithUnexpectedFailures": { "1": true }, - "DNSPossiblyInvalidAddrsClassic": null, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis.json index 3239ad1847..7f7bae239b 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis.json @@ -1,12 +1,12 @@ { + "DNSLookupSuccessWithInvalidAddresses": [ + 1 + ], + "DNSLookupSuccessWithInvalidAddressesClassic": [ + 1 + ], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": { - "1": true - }, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": { - "10.10.34.35": true - }, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": 1, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis_classic.json index 62bf6f4786..92307c106d 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingBOGON/analysis_classic.json @@ -1,12 +1,12 @@ { + "DNSLookupSuccessWithInvalidAddresses": [ + 1 + ], + "DNSLookupSuccessWithInvalidAddressesClassic": [ + 1 + ], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": { - "1": true - }, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": { - "10.10.34.35": true - }, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis.json index 50e6cbaf1a..93d8496711 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis.json @@ -1,10 +1,10 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": "dns_nxdomain_error", - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": { "2": true }, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": 1, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis_classic.json index 08028fad08..69d838ba50 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsBlockingNXDOMAIN/analysis_classic.json @@ -1,10 +1,10 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": "dns_nxdomain_error", - "DNSTransactionsWithBogons": null, "DNSTransactionsWithUnexpectedFailures": { "2": true }, - "DNSPossiblyInvalidAddrsClassic": null, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis.json index bc84a24b72..12b4158ac6 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis.json @@ -1,10 +1,13 @@ { + "DNSLookupSuccessWithInvalidAddresses": [ + 1 + ], + "DNSLookupSuccessWithInvalidAddressesClassic": [ + 1, + 2 + ], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": { - "130.192.182.17": true - }, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": 1, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis_classic.json index ba60bd5d8e..013dcd5ee7 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPSURL/analysis_classic.json @@ -1,10 +1,10 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [ + 2 + ], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": { - "130.192.182.17": true - }, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": 1, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis.json index 5ecb510b45..2ea5d3d8c3 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis.json @@ -1,10 +1,13 @@ { + "DNSLookupSuccessWithInvalidAddresses": [ + 1 + ], + "DNSLookupSuccessWithInvalidAddressesClassic": [ + 1, + 2 + ], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": { - "130.192.182.17": true - }, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": 1, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis_classic.json index bb6d8db6fd..f54f841a9c 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/dnsHijackingToProxyWithHTTPURL/analysis_classic.json @@ -1,10 +1,10 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [ + 2 + ], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": { - "130.192.182.17": true - }, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": 1, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis.json index 1cf535e65b..0a86e429ca 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis_classic.json index a109350ab8..9f5894d04a 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/httpBlockingConnectionReset/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis.json index 462a3df64f..0a8f8b4015 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": 0.12263535551206783, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis_classic.json index f643016c09..fa96c0e300 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithConsistentDNS/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": 0.12263535551206783, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis.json index 7eb84236d8..3656a5348f 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis.json @@ -1,10 +1,13 @@ { + "DNSLookupSuccessWithInvalidAddresses": [ + 1 + ], + "DNSLookupSuccessWithInvalidAddressesClassic": [ + 1, + 2 + ], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": { - "130.192.182.17": true - }, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": 0.12263535551206783, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis_classic.json index 2e707b9716..735095f427 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/httpDiffWithInconsistentDNS/analysis_classic.json @@ -1,10 +1,10 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [ + 2 + ], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": { - "130.192.182.17": true - }, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": 0.12263535551206783, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis.json index 35d27d35f7..763ad0aeba 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis_classic.json index d097b23413..43f4918620 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTP/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis.json index 8721981fa2..c78094f968 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis_classic.json index edcaada891..c8232464a7 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionRefusedForHTTPS/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis.json index 90102b6dd5..aecf5b6df3 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis_classic.json index e0a4a0a0c9..8d8b005156 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTP/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis.json index 8721981fa2..c78094f968 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis_classic.json index edcaada891..c8232464a7 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenConnectionResetForHTTPS/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis.json index 90102b6dd5..aecf5b6df3 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis_classic.json index e0a4a0a0c9..8d8b005156 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTP/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis.json index 8721981fa2..c78094f968 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis_classic.json index edcaada891..c8232464a7 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenEOFForHTTPS/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis.json index 5e845f3644..60f565a8e0 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis_classic.json index c1b155f5ad..9de21d0909 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenNXDOMAIN/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis.json index 90102b6dd5..aecf5b6df3 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis_classic.json index e0a4a0a0c9..8d8b005156 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTP/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis.json index dfe5a25464..df7c1f3f3a 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis_classic.json index 0284f3e80f..d819c137d7 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/redirectWithConsistentDNSAndThenTimeoutForHTTPS/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis.json index 6494cc85e7..c5c9fa7089 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": 1, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis_classic.json index 337ffb7911..388344cee6 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTP/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": 1, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis.json index a4f6f1dda4..23124d71b1 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": 1, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis_classic.json index 2cbe622f8e..785a177e39 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/successWithHTTPS/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": 1, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis.json index b82d596b09..697ed47021 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis_classic.json index f0bc3eff8e..7e7465ec02 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectTimeout/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis.json index ecffee21d5..9dde525d2f 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis.json @@ -1,10 +1,14 @@ { + "DNSLookupSuccessWithInvalidAddresses": [ + 1, + 2 + ], + "DNSLookupSuccessWithInvalidAddressesClassic": [ + 1, + 2 + ], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": { - "83.224.65.41": true - }, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": 1, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis_classic.json index 1e477e3eab..1d30e22654 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tcpBlockingConnectionRefusedWithInconsistentDNS/analysis_classic.json @@ -1,10 +1,12 @@ { + "DNSLookupSuccessWithInvalidAddresses": [ + 1 + ], + "DNSLookupSuccessWithInvalidAddressesClassic": [ + 1 + ], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": { - "83.224.65.41": true - }, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis.json index da174e204a..93206183f7 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis_classic.json index 701f443dd3..3fea9f222e 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithConsistentDNS/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis.json index fa88b975e1..5f2eb8723f 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis.json @@ -1,10 +1,14 @@ { + "DNSLookupSuccessWithInvalidAddresses": [ + 1, + 2 + ], + "DNSLookupSuccessWithInvalidAddressesClassic": [ + 1, + 2 + ], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": { - "130.192.182.17": true - }, "DNSPossiblyNonexistingDomains": {}, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis_classic.json index 6b8212af64..48dac5a93a 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/tlsBlockingConnectionResetWithInconsistentDNS/analysis_classic.json @@ -1,10 +1,12 @@ { + "DNSLookupSuccessWithInvalidAddresses": [ + 2 + ], + "DNSLookupSuccessWithInvalidAddressesClassic": [ + 2 + ], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": { - "130.192.182.17": true - }, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis.json b/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis.json index 1593eddc35..da34cf83d7 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": "dns_nxdomain_error", - "DNSTransactionsWithBogons": null, "DNSTransactionsWithUnexpectedFailures": {}, - "DNSPossiblyInvalidAddrsClassic": null, "DNSPossiblyNonexistingDomains": { "www.example.xyz": true }, diff --git a/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis_classic.json index 1593eddc35..da34cf83d7 100644 --- a/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/generated/websiteDownNXDOMAIN/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": "dns_nxdomain_error", - "DNSTransactionsWithBogons": null, "DNSTransactionsWithUnexpectedFailures": {}, - "DNSPossiblyInvalidAddrsClassic": null, "DNSPossiblyNonexistingDomains": { "www.example.xyz": true }, diff --git a/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis.json b/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis.json index d25701e59e..b2205367fa 100644 --- a/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis_classic.json index d25701e59e..b2205367fa 100644 --- a/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/manual/dnsgoogle80/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": null, "HTTPDiffStatusCodeMatch": null, diff --git a/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis.json b/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis.json index ac1fc9f8da..a92983c55c 100644 --- a/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": 0.6166324592304209, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis_classic.json index ac1fc9f8da..a92983c55c 100644 --- a/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/manual/noipv6/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": 0.6166324592304209, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis.json b/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis.json index 614bd2d7e9..551ff9c775 100644 --- a/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis.json +++ b/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": 0.6327409384828159, "HTTPDiffStatusCodeMatch": true, diff --git a/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis_classic.json b/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis_classic.json index 614bd2d7e9..551ff9c775 100644 --- a/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis_classic.json +++ b/internal/minipipeline/testdata/webconnectivity/manual/youtube/analysis_classic.json @@ -1,8 +1,8 @@ { + "DNSLookupSuccessWithInvalidAddresses": [], + "DNSLookupSuccessWithInvalidAddressesClassic": [], "DNSExperimentFailure": null, - "DNSTransactionsWithBogons": {}, "DNSTransactionsWithUnexpectedFailures": null, - "DNSPossiblyInvalidAddrsClassic": {}, "DNSPossiblyNonexistingDomains": null, "HTTPDiffBodyProportionFactor": 0.6327409384828159, "HTTPDiffStatusCodeMatch": true,