Closed Bug 1852900 Opened 8 months ago Closed 5 months ago

Pass HTTPS requests to native resolver thread

Categories

(Core :: Networking: DNS, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
123 Branch
Tracking Status
firefox123 --- fixed

People

(Reporter: valentin, Assigned: valentin)

References

(Blocks 2 open bugs)

Details

(Whiteboard: [necko-triaged])

Attachments

(6 files)

  • Change nsHostResolver code to allow HTTPS record request to be dispatched to native resolver in GetAddrInfo.cpp (maybe that file's name should also be changed)
  • Call appropriate system API to resolve HTTPS record. This milestone will only be implemented on one platform. Rest of platforms will follow in Milestone 2.
  • Hook up parsing in DNSPacket with data returned by lookup functions. The same code used to parse TRR responses can be used to decode
Blocks: 1852901
Assignee: nobody → moz.valentin
Attachment #9363689 - Attachment description: WIP: Bug 1852900 - Use DNSQuery_A to resolve HTTPS record → WIP: Bug 1852900 - Use DNSQuery_A to resolve HTTPS record on Windows

TRR::OnStopRequest calls RecordReason(TRRSkippedReason::TRR_OK) but this happens
after TRR::ReturnData notifies the resolver and passes on mTRRSkippedReason.
As such, we need to set the reason to TRR_OK before completing.

Not doing this makes the changes in D193656 regress test_trr_telemetry.js
because the TRRSkipReason ends up being TRR_UNSET when we set it on the
record without checking if it's unset.

Depends on D193408

Attachment #9363689 - Attachment description: WIP: Bug 1852900 - Use DNSQuery_A to resolve HTTPS record on Windows → WIP: Bug 1852900 - Use DNSQuery_A to resolve HTTPS record on Windows r=#necko
Attachment #9365184 - Attachment description: WIP: Bug 1852900 - Use res_nquery to resolve HTTPS records on Linux → Bug 1852900 - Use res_nquery to resolve HTTPS records on Linux r=#necko
Attachment #9363689 - Attachment description: WIP: Bug 1852900 - Use DNSQuery_A to resolve HTTPS record on Windows r=#necko → Bug 1852900 - Use DNSQuery_A to resolve HTTPS record on Windows r=#necko
Attachment #9365191 - Attachment description: WIP: Bug 1852900 - Use res_query to resolve HTTPS record on mac → Bug 1852900 - Use res_query to resolve HTTPS record on mac r=#necko
Pushed by valentin.gosu@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/67e3bcde4813
Factor out DNS HTTPS parsing in DNSPacket r=kershaw,necko-reviewers
https://hg.mozilla.org/integration/autoland/rev/cd7d2da58a9b
Call RecordReason(TRRSkippedReason::TRR_OK) before completing lookup r=kershaw,necko-reviewers
https://hg.mozilla.org/integration/autoland/rev/222853142bbc
Use DNSQuery_A to resolve HTTPS record on Windows r=necko-reviewers,kershaw
https://hg.mozilla.org/integration/autoland/rev/88d71cf5ea62
Use res_nquery to resolve HTTPS records on Linux r=necko-reviewers,kershaw
https://hg.mozilla.org/integration/autoland/rev/99907723d4c4
Use res_query to resolve HTTPS record on mac r=necko-reviewers,kershaw
https://hg.mozilla.org/integration/autoland/rev/a8de198ef2fb
Use android_res_nquery from libandroid.so to resolve HTTPS records on Android (API level >= 29) r=necko-reviewers,jesup
See Also: → 1873461
Duplicate of this bug: 1718485
Duplicate of this bug: 1500289
Regressions: 1895535
No longer regressions: 1895535
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: