You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.4 KiB
45 lines
1.4 KiB
3 years ago
|
commit d8302ba2da1e5ac59a1c4dc1c1207a10fdafdb08
|
||
|
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
|
||
|
Date: Mon Oct 18 01:39:02 2021 +0200
|
||
|
|
||
|
hurd if_index: Explicitly use AF_INET for if index discovery
|
||
|
|
||
|
5bf07e1b3a74 ("Linux: Simplify __opensock and fix race condition [BZ #28353]")
|
||
|
made __opensock try NETLINK then UNIX then INET. On the Hurd, only INET
|
||
|
knows about network interfaces, so better actually specify that in
|
||
|
if_index.
|
||
|
|
||
|
(cherry picked from commit 1d3decee997ba2fc24af81803299b2f4f3c47063)
|
||
|
|
||
|
diff --git a/sysdeps/mach/hurd/if_index.c b/sysdeps/mach/hurd/if_index.c
|
||
|
index 0eab510453c9e861..e785ac15aa6a1002 100644
|
||
|
--- a/sysdeps/mach/hurd/if_index.c
|
||
|
+++ b/sysdeps/mach/hurd/if_index.c
|
||
|
@@ -32,7 +32,7 @@ unsigned int
|
||
|
__if_nametoindex (const char *ifname)
|
||
|
{
|
||
|
struct ifreq ifr;
|
||
|
- int fd = __opensock ();
|
||
|
+ int fd = __socket (AF_INET, SOCK_DGRAM, 0);
|
||
|
|
||
|
if (fd < 0)
|
||
|
return 0;
|
||
|
@@ -84,7 +84,7 @@ __if_nameindex (void)
|
||
|
error_t err = 0;
|
||
|
char data[2048];
|
||
|
file_t server;
|
||
|
- int fd = __opensock ();
|
||
|
+ int fd = __socket (AF_INET, SOCK_DGRAM, 0);
|
||
|
struct ifconf ifc;
|
||
|
unsigned int nifs, i;
|
||
|
struct if_nameindex *idx = NULL;
|
||
|
@@ -169,7 +169,7 @@ char *
|
||
|
__if_indextoname (unsigned int ifindex, char ifname[IF_NAMESIZE])
|
||
|
{
|
||
|
struct ifreq ifr;
|
||
|
- int fd = __opensock ();
|
||
|
+ int fd = __socket (AF_INET, SOCK_DGRAM, 0);
|
||
|
|
||
|
if (fd < 0)
|
||
|
return NULL;
|