[Bug 33008] UDP listening on specific IP address does not work properly

wine-bugs at winehq.org wine-bugs at winehq.org
Sat May 3 12:15:54 CDT 2014


http://bugs.winehq.org/show_bug.cgi?id=33008

--- Comment #24 from facoptere at gmail.com ---
(In reply to Erich Hoover from comment #23)
> (In reply to facoptere from comment #22)
> > The application works, but not properly since 0.0.0.0 is bound ;)
> > Consequence of which I can't start 2 UDP servers on the same machine...
> 
> You should be able to bind as many servers as you want to 0.0.0.0, when Wine
> activates this codepath it turns on SO_REUSEADDR on the socket so that other
> binds are not prohibited.  What exactly happens when you try to start
> another UDP server?

The server that binds the primary IP, binds obviously 0.0.0.0 and so catches
all the UDP traffic. The other server, which bound properly the second
(virtual) IP, does not work anymore after that. BTW, the 2 servers run in
separate unix accounts, separate windows "c:" drives, and there are 2
/usr/local/bin/wineserver running, that may explain the situation. The 2
servers need some regular restarts at different times.

...
> > If you know some Wine options that tell to respect arguments given in
> > bind(), I would like to know them either.
> 
> At the moment you have to edit the Wine source to disable the option due to
> a problem with glibc not properly updating a header.  If you edit
> dlls/ws2_32/socket.c line 166 by adding "#undef IP_UNICAST_IF" then it will
> go back to the old behavior.

Thanks a lot for the tip. I will have a look at this.

...
> Wine sets the kernel option IP_UNICAST_IF to ensure that outbound packets go
> out the requested interface and it also configures a Linux Packet Filter to
> only accept packets on the interface you requested.  Unless you are doing
> something really screwy ...

I use shorewall as firewall. I don't know whether this meets the "screwy"
definition.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list