From cb4e5d51553172aa72f432651fb78b70a30acb33 Mon Sep 17 00:00:00 2001 From: Mateusz Poliwczak Date: Wed, 17 May 2023 17:55:42 +0200 Subject: [PATCH] nss-resolve: report EAI_NODATA --- src/nss-resolve/nss-resolve.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/nss-resolve/nss-resolve.c b/src/nss-resolve/nss-resolve.c index 02267522759..89381f56031 100644 --- a/src/nss-resolve/nss-resolve.c +++ b/src/nss-resolve/nss-resolve.c @@ -269,6 +269,8 @@ enum nss_status _nss_resolve_gethostbyname4_r( goto try_again; if (error_shall_fallback(error_id)) goto fail; + if (streq(error_id, "io.systemd.Resolve.NoSuchResourceRecord")) + goto no_data; goto not_found; } @@ -367,6 +369,10 @@ not_found: *h_errnop = HOST_NOT_FOUND; return NSS_STATUS_NOTFOUND; +no_data: + *h_errnop = NO_DATA; + return NSS_STATUS_NOTFOUND; + try_again: UNPROTECT_ERRNO; *errnop = -r; @@ -425,6 +431,8 @@ enum nss_status _nss_resolve_gethostbyname3_r( goto try_again; if (error_shall_fallback(error_id)) goto fail; + if (streq(error_id, "io.systemd.Resolve.NoSuchResourceRecord")) + goto no_data; goto not_found; } @@ -542,6 +550,10 @@ not_found: *h_errnop = HOST_NOT_FOUND; return NSS_STATUS_NOTFOUND; +no_data: + *h_errnop = NO_DATA; + return NSS_STATUS_NOTFOUND; + try_again: UNPROTECT_ERRNO; *errnop = -r; -- 2.47.3