This is the mail archive of the
cygwin-patches
mailing list for the Cygwin project.
Re: [PATCH] Re: IP_MULTICAST_IF et all / Winsock[2] value conflict
- From: Brian Ford <Brian dot Ford at flightsafety dot com>
- To: cygwin-patches at cygwin dot com
- Date: Tue, 18 Oct 2005 09:32:14 -0500
- Subject: Re: [PATCH] Re: IP_MULTICAST_IF et all / Winsock[2] value conflict
- References: <Pine.CYG.4.58.0509291103421.2244@PC1163-8460-XP.flightsafety.com><20050929165053.GU12256@calimero.vinschen.de><Pine.CYG.4.58.0509291152490.2244@PC1163-8460-XP.flightsafety.com><20050930081701.GB27423@calimero.vinschen.de><Pine.CYG.4.58.0509300947210.2244@PC1163-8460-XP.flightsafety.com><20050930200048.GE12256@calimero.vinschen.de><Pine.CYG.4.58.0509301817260.1904@PC1163-8460-XP.flightsafety.com><20051003165358.GA4436@calimero.vinschen.de><Pine.CYG.4.58.0510031213250.1904@PC1163-8460-XP.flightsafety.com><20051017212639.GA19398@calimero.vinschen.de>
- Reply-to: cygwin-patches at cygwin dot com
On Mon, 17 Oct 2005, Corinna Vinschen wrote:
> On Oct 3 12:25, Brian Ford wrote:
> > On Mon, 3 Oct 2005, Corinna Vinschen wrote:
> > > No, let's change it. Winsock2 is the way to go. Winsock1 is just old
> > > stuff. Since Cygwin is using Winsock2 when running on a 98 system or
> > > above,
In some ways, I now believe this was not exactly true.
It appeared that [set|get]sockopt was formerly autoloaded from wsock32, so
maybe the values were correct. When I tried to investigate this further,
I got really confused about how this was supposed to work together.
Neither of the two possible values for IP_MULTICAST_IF seemed to work
correctly in my limited testing. But, at the same time, changing the
values for IP_ADD_MEMBERSHIP did not exhibit the failure described in the
MSDN KB article either? At this point, I ran out of time and my test
system was shipped to a demo :-(.
> > > and since applications using the old/wrong Winsock1 values are
> > > broken right now anyway, there's no gain to keep the old values and
> > > force all new (and supposed to be working) applications to go through
> > > a translation stage. Let the old applications suffer, not the new ones.
> >
> > That's a reasonably convincing argument. I just wish fixing this didn't
> > require an application recompile. I didn't think that was the Cygwin
> > philosophy...<time passes> Oh, you mean do the translation only for older
> > apps? That sounds good.
>
> I've just applied a patch, which does all of that, removing the last remains
> of Winsock1 support, as well as changing the IPPROTO_IP values in
> include/cygwin/socket.h to the new Winsock2 values, as well as checking
> for the applications ABI version number so that older applications get
> the values translated into the new Winsock2 values in setsockopt/getsockopt
> on the fly.
Thank you. I didn't really mean for you to have to do it, but I haven't
had time to get back into the confusion.
> This still needs some testing.
As soon as my demo system comes back (next week or the week after), I'll
do so.
--
Brian Ford
Senior Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
the best safety device in any aircraft is a well-trained pilot...