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

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Apr 16 12:56:30 CDT 2014


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

--- Comment #12 from decimusmaximus at seznam.cz ---
Hello,
unfortunately bug is not fixed, even after a year. Tested on Wine 1.7.16
Problem is in the fact, that wine is listening on all interfaces (0.0.0.0) but
traffic is filtered.
Two interfaces: IF-A and IF-B, there is NAT (masquerading) running. IF-A is
LAN, IF-B is interface with public IP.

I have created testing application to reproduce and investigate the problem.
Application is listening on IF-B (public) only.
When UDP datagram is sent from LAN (private) to IF-B (public) address, it is
received on IF-A, NAT-ed to IF-B and received by application.
Application is receiving UDP datagrams properly.
Then the response is generated and sent back to client, but this response is
filtered out by wine. Nothing is sent back.
Application writes in log that UDP is received (from client's IP address) to
0.0.0.0 even it is listening only on specific IP (of IF-B). 
And this is the problem. Response is sent from binding 0.0.0.0 to target
address from LAN (IF-A), but "it is not configured" to listen on this IF-A).
(filtered!)

If I understand it correctly, wine is listening on 0.0.0.0 and filters UDP
datagrams according to bindings that are set by application. So if application
does not want to listen on some interface, this traffic is filtered, but in
this specific case (two interfaces, NAT) also the response is filtered out.
Destination address of response belongs to network of IF-A (where application
is not listening), but in this case response should be sent via IF-B,
translated back in NAT and flow via IF-A to LAN network. But such UDP datagram
is blocked by wine.


I am afraid it is bad solution. When you check this in Windows, it is correctly
listening on specific interface only, not on the all interfaces. Maybe there is
another behaviour that prevents some applications to work properly in
wine/linux (the reason why this filtering was added), but I am afraid this is
also not correct solution and now another applications are/could be
incompatible.

-- 
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