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

resolved-dns-query: remove dns_query_candidate_is_routable #14125

Merged
merged 1 commit into from May 26, 2020

Conversation

flokli
Copy link
Contributor

@flokli flokli commented Nov 23, 2019

Resolved can't reliably determine on whether "it makes sense" to query
AAAA records when not explicitly specifying it in the request, so we
shouldn't remove them.

After having done the resolving, applications can use RFC6724 to
determine whether that address is reachable.

We can't know whether an address is reachable before having resolved it
and inspecting the routing table, and not resolving AAAA just because
there's no IPv6 default route on the main interface link them breaks
various setups, including IPv6-providing wireguard tunnels on a
non-dualstacked environment.

Fixes #5782
Fixes #5915
Fixes #8017

cc @poettering @ssahani @andir @Mic92 @petabyteboy @fpletz

Resolved can't reliably determine on whether "it makes sense" to query
AAAA records when not explicitly specifying it in the request, so we
shouldn't remove them.

After having done the resolving, applications can use RFC6724 to
determine whether that address is reachable.

We can't know whether an address is reachable before having resolved it
and inspecting the routing table, and not resolving AAAA just because
there's no IPv6 default route on the main interface link them breaks
various setups, including IPv6-providing wireguard tunnels on a
non-dualstacked environment.

Fixes systemd#5782
Fixes systemd#5915
Fixes systemd#8017
@flokli
Copy link
Contributor Author

flokli commented Nov 23, 2019

After that, resolvectl query google.com returns A and AAAArecords, even on a not-dualstacked network, andping -6 google.com` works with the "IPv6 provided via wireguard" setup.

@yuwata yuwata added the resolve label Nov 24, 2019
@flokli
Copy link
Contributor Author

flokli commented Dec 10, 2019

ping @yuwata

@flokli
Copy link
Contributor Author

flokli commented Mar 4, 2020

Is there anything preventing this from getting merged?

@anitazha anitazha added this to the v246 milestone Mar 4, 2020
@poettering poettering merged commit 90bdc8b into systemd:master May 26, 2020
@flokli flokli deleted the resolved-dont-strip-aaaa branch May 26, 2020 18:27
@pemensik
Copy link
Contributor

pemensik commented Jun 1, 2023

This is removing in my opinion useful feature, because that feature had implementation error. I think the problem with it was it checked only routes on interface associated with the queried server. Instead, it should have checked global routes and if there were ANY not link-local route, then it should have enabled AAAA. Just one route to VPN should enable AAAA queries or A queries. If that have been fixed instead, it would behave correctly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment