connectivity: handle "NoNameServers" resolved error and don't callback to system resolver

No need to try further. The verdict is clear.

From the log:

  <debug> [1649424031.1507] connectivity: (wlan0,IPv4,427) can't resolve a name via systemd-resolved: GDBus.Error:org.freedesktop.resolve1.NoNameServers: No appropriate name servers or networks for name found
  <debug> [1649424031.1507] connectivity: (wlan0,IPv4,427) start request to 'http://fedoraproject.org/static/hotspot.txt' (try resolving 'fedoraproject.org' using system resolver)

(cherry picked from commit 5b779c1ab7)
This commit is contained in:
Thomas Haller 2022-04-08 15:33:39 +02:00
parent 64e65d35b3
commit c1682b2556
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728

View file

@ -885,8 +885,17 @@ systemd_resolved_resolve_cb(GObject *object, GAsyncResult *res, gpointer user_da
cb_data = user_data;
if (!result) {
/* Never mind. Fallback to the system resolver. */
gs_free char *dbus_error = NULL;
_LOG2D("can't resolve a name via systemd-resolved: %s", error->message);
dbus_error = g_dbus_error_get_remote_error(error);
if (nm_streq0(dbus_error, "org.freedesktop.resolve1.NoNameServers")) {
cb_data_complete(cb_data, NM_CONNECTIVITY_LIMITED, "resolve-error");
return;
}
/* Never mind. Fallback to the system resolver. */
system_resolver_resolve(cb_data);
return;
}