Hello Corrina, No I do not, it just stuck out while I was looking through the code hunting down another problem. I have had a long history of bumping into undocumented issues with Windows over the years and have become somewhat untrusting with the windows API. I was looking through net.cc because a samba call to if_nametoindex was failing to return an index, but it seems that Cygwin just passes that call through to the IP Help API.
Have a good one, David Bean ________________________________ From: Corinna Vinschen <corinna-cyg...@cygwin.com> Sent: Tuesday, October 22, 2019 2:39 PM To: David Bean <d_b...@hotmail.com> Cc: cygwin@cygwin.com <cygwin@cygwin.com> Subject: Re: Possible bug retrieving IfIndex in newlib - winsup/cygwin/net.cc Hi David, On Oct 22 15:56, David Bean wrote: > Good Day, > > I have been working on porting Samba 4.11 to Cygwin for a few days and ran > into an odd issue. Samba configures its interfaces in several steps, but it > relies pretty heavily on getting information from the interface structures > populated by Cygwin. While I was walking through the call map I noticed a lot > of the data is populated by get_ifs and that routine may have a bug in its > handling of IfIndex. Basically it seems to copy the IPv4 index at all times > even though it may need Ipv6Index. > > the same code exists at line 1904 and 1808 as well. I believe the current > code may fail to retrieve the correct adapter index if IPv6 is enabled on the > interface. > this is current code: ifp->ifa_hwdata.ifa_ifindex = pap->IfIndex; > > I think it should be: ifp->ifa_hwdata.ifa_ifindex = (sa->sa_family == AF_INET > ? pap->IfIndex : pap->Ipv6Index); > > This is the model used by the lines retrieving the other elements with dual > locations on the windows side. > > I am unable to debug this to confirm it, but please let me know if this is > actually a bug or not. The code in line 1808 only handles AF_INET anyway, so it shouldn't use IpV6IfIndex. As for line 1904, I didn't perform this distinction because in all my testing the indices were the same. Do you have proof that this isn't always the case? If so, I check in a patch. Thanks, Corinna -- Corinna Vinschen Cygwin Maintainer -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple