[Bug 8332] Multiple applications fail to send ICMP requests on Linux (failure to open IPPROTO_ICMP sockets)

WineHQ Bugzilla wine-bugs at winehq.org
Thu Oct 7 02:58:52 CDT 2021


https://bugs.winehq.org/show_bug.cgi?id=8332

--- Comment #38 from oiaohm <oiaohm at gmail.com> ---
(In reply to Zebediah Figura from comment #37)
> I'm adjusting the title, since it's misleading. As far as I understand
> SOCK_DGRAM + IPPROTO_ICMP actually does sufficiently work on Linux (Damjan
> claims it is "completely broken", which seems odd seeing as `wine ping`
> works fine.) The problem is, as far as I'm aware, this is *also* forbidden
> by default on some distributions, including Debian, via the
> "net.ipv4.ping_group_range" sysctl.
> 
> Should we just require that sysctl to be set for Wine? Is it reasonable to
> try to fall back to ping(1)? I don't see any other way to achieve what we
> want...
> 
> The linked download no longer works on Windows (i.e. it gives the same "no
> internet detected" message; probably the service died), so I'm removing that.

https://serverfault.com/questions/1002225/how-do-i-limit-ping-icmp-responses-on-a-debian-10-server

There are a lot of different changeable values 

net.ipv4.ping_group_range is is straight up forbid.   There is also the problem
that a icmp send or receive rate limit can be set like mentioned above and
other setting.

https://social.msdn.microsoft.com/Forums/en-US/74fd0d8e-b75a-4aa5-bb50-140e606950b6/icmp-error-processing-on-udp-socket?forum=wsk

Also I am sorry but Damjan Jovanovic is wrong in a fatal way.   Windows ICMP
error handling changes with windows version and configuration as well.   
--Windows doesn't seem to provide any ICMP error data anyway:-- is right and
wrong as the same time.

Mac OS and Linux both don't match what different versions of Windows will
provide applications with at times.

The Linux should provide enough data to reconstruct all the different wacky
ways windows can respond to applications in case of ICMP error.

Also to be really horrible windows ICMP error response altered based on Windows
firewalls as well.   These differences can be why a program works under XP then
fails under Windows 7 and newer.  Or only works with Windows 7 and newer when
particular firewall settings are set.

ICMP error handling I can see this needing Linux particular code.   I also see
that Mac OS is kind screwed because for some cases the need data to replicate
what windows does Mac OS ICMP handling does not provide that information.

--On error:      | reply's IP | reply's ICMP--
This is not windows.
With windows 7 and newer reply's IP address could be 0.0.0.0 instead of valid
address with Windows 7 and newer.  reply's ICMP can also be also be cleared on
Windows 7 and before.    Windows Xp and before you have a different set of
rules.

Yes the fun one that Windows can be tell you the outgoing port with ICMP
instead of the port its going to at the designation as well.

Yes ping group range under windows can fail due to firewall settings under
windows.

Reality is Linux is not completely broken.   But error handling with ICMP is
very platform dependant and platform configuration dependant.   ICMP successful
is fairly much the same everywhere.  When you need to handle ICMP failure its
fairly much Linux, BSD(covering OS X) and about 5 different windows
implementations(for different windows setups and version) so it least works
without doing something totally stupid.   Yes a lot of cases with windows with
ICMP failures you are horrible short of information and the information can be
massively mangled.   So windows would be completely broken ICMP error handling
design that Microsoft has been not keeping constant between versions of windows
or configurations of windows.

I would say this is one of these horrible areas.   I would suspect some
applications are not working with wine at the moment because wine under Linux
and Mac OS don't match how windows miss behaves.   Yes some windows
applications will refuse to install if Microsoft firewall settings and other
settings are not set particular was to get particular ICMP error handling.

So this is more cursed than one would wish for.

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