* net.cc (get_xp_ifs): Fix counting of idx to return stable interface
alias names for interfaces with multiple IPv4 addresses.
This commit is contained in:
parent
910e31f015
commit
bdcc0b84ed
|
@ -1,3 +1,8 @@
|
||||||
|
2010-12-02 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* net.cc (get_xp_ifs): Fix counting of idx to return stable interface
|
||||||
|
alias names for interfaces with multiple IPv4 addresses.
|
||||||
|
|
||||||
2010-11-29 Corinna Vinschen <corinna@vinschen.de>
|
2010-11-29 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* fhandler_tty.cc (fhandler_tty_slave::dup): Free path_conv strings
|
* fhandler_tty.cc (fhandler_tty_slave::dup): Free path_conv strings
|
||||||
|
|
|
@ -1907,8 +1907,7 @@ get_xp_ifs (ULONG family)
|
||||||
++ifp;
|
++ifp;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
for (idx = 0, pua = pap->FirstUnicastAddress; pua;
|
for (idx = 0, pua = pap->FirstUnicastAddress; pua; pua = pua->Next)
|
||||||
++idx, pua = pua->Next)
|
|
||||||
{
|
{
|
||||||
struct sockaddr *sa = (struct sockaddr *) pua->Address.lpSockaddr;
|
struct sockaddr *sa = (struct sockaddr *) pua->Address.lpSockaddr;
|
||||||
# define sin ((struct sockaddr_in *) sa)
|
# define sin ((struct sockaddr_in *) sa)
|
||||||
|
@ -1918,10 +1917,12 @@ get_xp_ifs (ULONG family)
|
||||||
/* Next in chain */
|
/* Next in chain */
|
||||||
ifp->ifa_ifa.ifa_next = (struct ifaddrs *) &ifp[1].ifa_ifa;
|
ifp->ifa_ifa.ifa_next = (struct ifaddrs *) &ifp[1].ifa_ifa;
|
||||||
/* Interface name */
|
/* Interface name */
|
||||||
if (idx && sa->sa_family == AF_INET)
|
if (sa->sa_family == AF_INET && idx)
|
||||||
__small_sprintf (ifp->ifa_name, "%s:%u", pap->AdapterName, idx);
|
__small_sprintf (ifp->ifa_name, "%s:%u", pap->AdapterName, idx);
|
||||||
else
|
else
|
||||||
strcpy (ifp->ifa_name, pap->AdapterName);
|
strcpy (ifp->ifa_name, pap->AdapterName);
|
||||||
|
if (sa->sa_family == AF_INET)
|
||||||
|
++idx;
|
||||||
ifp->ifa_ifa.ifa_name = ifp->ifa_name;
|
ifp->ifa_ifa.ifa_name = ifp->ifa_name;
|
||||||
/* Flags */
|
/* Flags */
|
||||||
ifp->ifa_ifa.ifa_flags = get_flags (pap);
|
ifp->ifa_ifa.ifa_flags = get_flags (pap);
|
||||||
|
|
Loading…
Reference in New Issue