https://bugs.winehq.org/show_bug.cgi?id=8332
--- Comment #38 from oiaohm oiaohm@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...
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-140e6...
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.