mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-09-27 17:52:58 +02:00
GThreadedResolver: set an error if no records could be found
It is possible that the upstream servers return something, but we then filter all results because they are of the wrong type. In that case the API and subsequent GTask calls expect a GError to be set. https://bugzilla.gnome.org/show_bug.cgi?id=696857
This commit is contained in:
committed by
Matthias Clasen
parent
36284c5d59
commit
03d3a53876
@@ -472,6 +472,14 @@ g_resolver_records_from_res_query (const gchar *rrname,
|
|||||||
records = g_list_prepend (records, record);
|
records = g_list_prepend (records, record);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (records == NULL)
|
||||||
|
{
|
||||||
|
g_set_error (error, G_RESOLVER_ERROR, G_RESOLVER_ERROR_NOT_FOUND,
|
||||||
|
_("No DNS record of the requested type for '%s'"), rrname);
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
else
|
||||||
return records;
|
return records;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -616,7 +624,15 @@ g_resolver_records_from_DnsQuery (const gchar *rrname,
|
|||||||
records = g_list_prepend (records, g_variant_ref_sink (record));
|
records = g_list_prepend (records, g_variant_ref_sink (record));
|
||||||
}
|
}
|
||||||
|
|
||||||
return records;
|
if (records == NULL)
|
||||||
|
{
|
||||||
|
g_set_error (error, G_RESOLVER_ERROR, G_RESOLVER_ERROR_NOT_FOUND,
|
||||||
|
_("No DNS record of the requested type for '%s'"), rrname);
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return records;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user