This is the mail archive of the cygwin-xfree mailing list for the Cygwin XFree86 project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Jun 29 10:50, Christopher Faylor wrote:On Mon, Jun 29, 2009 at 12:09:12PM +0100, Jon TURNEY wrote:Andy wrote::-)/opt/wip/cygport-svn/xorg-server/xorg-server-1.6.0-10/src/xorg-server-1.6.0/ os/access.c (gdb) p *ifr $1 = {ifa_next = 0x1447798, ifa_name = 0x14474c4 "{B8B51884-C69A-4592-B65D-89ABB3DCF18D}", ifa_flags = 69635, ifa_addr = 0x14474f0, ifa_netmask = 0x14475f0, ifa_dstaddr = 0x0, ifa_data = 0x0}
It seems that the (new for Cygwin 1.7) getifaddr() function can return interfaces with IFF_BROADCAST& IFF_UP set, but no broadcast address, which the X server assumes never happensI was going to say that this sounds wrong but I see interfaces on my linux box which have no broadcast addresses but still have IFF_BROADCAST set.
Corinna, what do you think?
Thanks for nudging me by PM. I didn't notice this question, sorry.
As for the broadcast address, you *have* to expect that an interface is broadcast capable and the ifa_broadaddr pointer is NULL. This is at least true for all IPv6 entries. For IPv4 that shouldn't occur under Cygwin.
#if defined(IPv6) && defined(AF_INET6) if (family == FamilyInternet6) /* IPv6 doesn't support broadcasting, so we drop out here */ continue; #endif if ((ifr->ifa_flags & IFF_BROADCAST) && (ifr->ifa_flags & IFF_UP)) broad_addr = *ifr->ifa_broadaddr; else continue; XdmcpRegisterBroadcastAddress((struct sockaddr_in *) &broad_addr);
-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://x.cygwin.com/docs/ FAQ: http://x.cygwin.com/docs/faq/
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |