Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LibDNS+LibWeb+Ladybird+RequestServer: Let there be DNS over TLS #2111

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

alimpfard
Copy link
Contributor

No description provided.

@alimpfard alimpfard force-pushed the dns-base branch 6 times, most recently from a38d166 to 73e401a Compare November 2, 2024 23:22
@alimpfard alimpfard marked this pull request as ready for review November 2, 2024 23:22
@alimpfard alimpfard force-pushed the dns-base branch 7 times, most recently from 34f9268 to 884986a Compare November 5, 2024 17:29
Userland/Utilities/dns.cpp Outdated Show resolved Hide resolved
@alimpfard alimpfard force-pushed the dns-base branch 3 times, most recently from ea0b8da to 6920745 Compare November 6, 2024 09:31
Copy link
Member

@ADKaster ADKaster left a comment

Choose a reason for hiding this comment

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

One comment, otherwise lgtm. Beware Tim's "yeet Userland/" PR.

@@ -161,7 +161,19 @@ ErrorOr<NonnullRefPtr<Requests::RequestClient>> launch_request_server_process(Re
arguments.append(server.value());
}

return launch_server_process<Requests::RequestClient>("RequestServer"sv, candidate_request_server_paths, move(arguments));
auto client = TRY(launch_server_process<Requests::RequestClient>("RequestServer"sv, candidate_request_server_paths, move(arguments)));
WebView::Application::chrome_options().dns_settings.visit(
Copy link
Member

Choose a reason for hiding this comment

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

Is there a reason to do this via an explicit IPC message after process creation, or could it be added to the request server top-level arguments?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm a big proponent of not having to restart the application just to change your DNS settings.
We could add it to the command line parameters, but imo this is nicer (just one way to set DNS in RS)

@alimpfard alimpfard force-pushed the dns-base branch 4 times, most recently from 54bac0a to 1c8a3f3 Compare November 10, 2024 01:14
This commit adds our own DNS resolver, with the aim of implementing DoT
(and eventually DoH, maybe even DNSSEC etc.)
This can now happen due to the hostname not existing, as RS explicitly
performs DNS resolution before setting up the response pipe.
In the future, we may want to parse /etc/hosts (or equivalent) into the
cache; this commit only adds localhost to make the normal workflow work.
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