authorgravatar for git@l4.pmLuna <git@l4.pm> 2020-04-20 16:37:16-03:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-06-02 14:56:19-04:00
log09c01ea7b9a8d80f3ad0eec1e20303996fdcba9b
tree84bdd86619385bc190c59bff2477740428dfd9c2
parentc8468bed42db773cc0622c6ea2e18d5e17808f2b

Use resolveIp when looking up addresses on linux


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

lib/std/net.zig+3-2
...@@ -61,6 +61,7 @@ pub const Address = extern union {...@@ -61,6 +61,7 @@ pub const Address = extern union {
61 error.Incomplete,61 error.Incomplete,
62 error.InvalidIpv4Mapping,62 error.InvalidIpv4Mapping,
63 => {},63 => {},
64 else => return err,
64 }65 }
6566
66 return error.InvalidIPAddressFormat;67 return error.InvalidIPAddressFormat;
...@@ -545,7 +546,7 @@ fn if_nametoindex(name: []const u8) !u32 {...@@ -545,7 +546,7 @@ fn if_nametoindex(name: []const u8) !u32 {
545 std.mem.copy(u8, &ifr.ifr_ifrn.name, name);546 std.mem.copy(u8, &ifr.ifr_ifrn.name, name);
546 ifr.ifr_ifrn.name[name.len] = 0;547 ifr.ifr_ifrn.name[name.len] = 0;
547548
548 std.os.ioctl(sockfd, os.linux.SIOCGIFINDEX, @ptrToInt(&ifr)) catch |err| {549 os.ioctl(sockfd, os.linux.SIOCGIFINDEX, @ptrToInt(&ifr)) catch |err| {
549 switch (err) {550 switch (err) {
550 error.NoDevice => return error.InterfaceNotFound,551 error.NoDevice => return error.InterfaceNotFound,
551 else => return err,552 else => return err,
...@@ -1246,7 +1247,7 @@ fn linuxLookupNameFromNumericUnspec(...@@ -1246,7 +1247,7 @@ fn linuxLookupNameFromNumericUnspec(
1246 name: []const u8,1247 name: []const u8,
1247 port: u16,1248 port: u16,
1248) !void {1249) !void {
1249 const addr = try Address.parseIp(name, port);1250 const addr = try Address.resolveIp(name, port);
1250 (try addrs.addOne()).* = LookupAddr{ .addr = addr };1251 (try addrs.addOne()).* = LookupAddr{ .addr = addr };
1251}1252}
12521253