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

Attachment: signature.asc
Description: PGP signature

Reply via email to