authorgravatar for kfprimm@gmail.comKevin Primm <kfprimm@gmail.com> 2025-11-18 11:23:50-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-01-08 20:44:47-08:00
logb929078dac59c480f03797af9308b696fb03807e
treebf5160b8d64dc0cf44d14bd7ec8cc6d563379f9c
parentefe649b13e582be855376944bac1346426e238d6

`std.Io.Threaded`: Raise specific error when DNS lookup returns no A/AAAA records

closes #25948

2 files changed, 3 insertions(+), 2 deletions(-)

lib/std/Io/Threaded.zig+2-2
...@@ -12618,7 +12618,7 @@ fn lookupDnsSearch(...@@ -12618,7 +12618,7 @@ fn lookupDnsSearch(
12618 if (lookupDns(t, lookup_canon_name, &rc, resolved, options)) |result| {12618 if (lookupDns(t, lookup_canon_name, &rc, resolved, options)) |result| {
12619 return result;12619 return result;
12620 } else |err| switch (err) {12620 } else |err| switch (err) {
12621 error.UnknownHostName => continue,12621 error.UnknownHostName, error.NoAddressReturned => continue,
12622 else => |e| return e,12622 else => |e| return e,
12623 }12623 }
12624 }12624 }
...@@ -12813,7 +12813,7 @@ fn lookupDns(...@@ -12813,7 +12813,7 @@ fn lookupDns(
12813 }12813 }
1281412814
12815 try resolved.putOne(t_io, .{ .canonical_name = canonical_name orelse .{ .bytes = lookup_canon_name } });12815 try resolved.putOne(t_io, .{ .canonical_name = canonical_name orelse .{ .bytes = lookup_canon_name } });
12816 if (addresses_len == 0) return error.NameServerFailure;12816 if (addresses_len == 0) return error.NoAddressReturned;
12817}12817}
1281812818
12819fn lookupHosts(12819fn lookupHosts(
lib/std/Io/net/HostName.zig+1
...@@ -142,6 +142,7 @@ pub const LookupError = error{...@@ -142,6 +142,7 @@ pub const LookupError = error{
142 InvalidDnsAAAARecord,142 InvalidDnsAAAARecord,
143 InvalidDnsCnameRecord,143 InvalidDnsCnameRecord,
144 NameServerFailure,144 NameServerFailure,
145 NoAddressReturned,
145 /// Failed to open or read "/etc/hosts" or "/etc/resolv.conf".146 /// Failed to open or read "/etc/hosts" or "/etc/resolv.conf".
146 DetectingNetworkConfigurationFailed,147 DetectingNetworkConfigurationFailed,
147} || Io.Clock.Error || IpAddress.BindError || Io.Cancelable;148} || Io.Clock.Error || IpAddress.BindError || Io.Cancelable;