Skip to content

DNSChecker: added log with resolved host#2167

Merged
NachoSoto merged 1 commit into
mainfrom
dns-checker-log
Dec 20, 2022
Merged

DNSChecker: added log with resolved host#2167
NachoSoto merged 1 commit into
mainfrom
dns-checker-log

Conversation

@NachoSoto

@NachoSoto NachoSoto commented Dec 19, 2022

Copy link
Copy Markdown
Contributor

Example:

DEBUG: ℹ️ Failing url 'https://0.0.0.0/offers' resolved to host '0.0.0.0'

Looking into #2028, it appears that the user is getting a NSURLErrorCannotFindHost with a NSErrorFailingURLKey. We didn't determine that this was a DNS error because whatever the host resolved to, wasn't one of Set(["0.0.0.0", "127.0.0.1"]).

This will add a log that will help us figure out why they got a NSURLErrorCannotFindHost.

Example:
> DEBUG: ℹ️ Failing url 'https://0.0.0.0/offers' resolved to host '0.0.0.0'

Looking into #2028, it appears that the user is getting a `NSURLErrorCannotFindHost` with a `NSErrorFailingURLKey`.
We didn't determine that this was a `DNS` error because whatever the host resolved to, wasn't one of `Set(["0.0.0.0", "127.0.0.1"])`.

This will add a log that will help us figure out why they got a `NSURLErrorCannotFindHost`.

case .blocked_network(let url, let newHost):
case let .failing_url_resolved_to_host(url, resolvedHost):
return "Failing url '\(url)' resolved to host '\(resolvedHost)'"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would we have any secret info in the URL? I would guess not but just checking we don't leak any info in the logs.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, all that data is normally in request bodies.

@NachoSoto NachoSoto merged commit 587f65b into main Dec 20, 2022
@NachoSoto NachoSoto deleted the dns-checker-log branch December 20, 2022 15:31
NachoSoto pushed a commit that referenced this pull request Dec 21, 2022
**This is an automatic release.**

### Bugfixes
* `ErrorUtils.purchasesError(withUntypedError:)`: handle `PublicError`s
(#2165) via NachoSoto (@NachoSoto)
* Fixed race condition finishing `SK1` transactions (#2148) via
NachoSoto (@NachoSoto)
* `IntroEligibilityStatus`: added `CustomStringConvertible`
implementation (#2182) via NachoSoto (@NachoSoto)
* `BundleSandboxEnvironmentDetector`: fixed logic for `macOS` (#2176)
via NachoSoto (@NachoSoto)
* Fixed `AttributionFetcher.adServicesToken` hanging when called in
simulator (#2157) via NachoSoto (@NachoSoto)
### Other Changes
* `Purchase Tester`: added ability to purchase products directly with
`StoreKit` (#2172) via NachoSoto (@NachoSoto)
* `DNSChecker`: simplified `NetworkError` initialization (#2166) via
NachoSoto (@NachoSoto)
* `Purchases` initialization: refactor to avoid multiple concurrent
instances in memory (#2180) via NachoSoto (@NachoSoto)
* `Purchase Tester`: added button to clear messages on logger view
(#2179) via NachoSoto (@NachoSoto)
* `NetworkOperation`: added assertion to ensure that subclasses call
completion (#2138) via NachoSoto (@NachoSoto)
* `CacheableNetworkOperation`: avoid unnecessarily creating operations
for cache hits (#2135) via NachoSoto (@NachoSoto)
* `PurchaseTester`: fixed `macOS` support (#2175) via NachoSoto
(@NachoSoto)
* `IntroEligibilityCalculator`: added log including `AppleReceipt`
(#2181) via NachoSoto (@NachoSoto)
* `Purchase Tester`: fixed scene manifest (#2170) via NachoSoto
(@NachoSoto)
* `HTTPClientTests`: refactored to use `waitUntil` (#2168) via NachoSoto
(@NachoSoto)
* `Integration Tests`: split up tests in smaller files (#2158) via
NachoSoto (@NachoSoto)
* `StoreKitRequestFetcher`: removed unnecessary dispatch (#2152) via
NachoSoto (@NachoSoto)
* `Purchase Tester`: added companion `watchOS` app (#2140) via NachoSoto
(@NachoSoto)
* `StoreKit1Wrapper`: added warning if receiving too many updated
transactions (#2117) via NachoSoto (@NachoSoto)
* `StoreKitTestHelpers`: cleaned up unnecessary log (#2177) via
NachoSoto (@NachoSoto)
* `TrialOrIntroPriceEligibilityCheckerSK1Tests`: use `waitUntilValue`
(#2173) via NachoSoto (@NachoSoto)
* `DNSChecker`: added log with resolved host (#2167) via NachoSoto
(@NachoSoto)
* `MagicWeatherSwiftUI`: updated `README` to point to workspace (#2142)
via NachoSoto (@NachoSoto)
* `Purchase Tester`: fixed `.storekit` config file reference (#2171) via
NachoSoto (@NachoSoto)
* `Purchase Tester`: fixed error alerts (#2169) via NachoSoto
(@NachoSoto)
* `CI`: don't make releases until `release-checks` pass (#2162) via
NachoSoto (@NachoSoto)
* `Fastfile`: changed `match` to `readonly` (#2161) via NachoSoto
(@NachoSoto)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants