lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Thu, 03 Apr 2008 17:11:50 +0400
From:	Dmitry Butskoy <buc@...sz.so-cdu.ru>
To:	yoshfuji@...ux-ipv6.org, netdev@...r.kernel.org
Subject: [PATCH] reopen bug #8747 -- complete the fix

Hi,

There was a bug http://bugzilla.kernel.org/show_bug.cgi?id=8747,

"MSG_ERRQUEUE messages do not pass to connected raw sockets",

which still is not fixed completely. I've made a patch (attached), 
against the 2.6.24.4 tree. The patch fixes the issue completely for me, 
I've successfully tested it with my traceroute(8) 
(http://traceroute.sf.net) implementation.

Sorry that I have not checked up the previous attempt in real tests. I 
assumed that "typo" which I had found  at that time (saddr/daddr 
swapped) is just "a typo", and things "obviously" should work then... 
Unfortunately, it seems that I am a first person who actually use 
MSG_ERRQUEUE on connected ipv6 raw sockets. It is  a reason why all last 
years nobody reported this bug.

Note, that "connected raw sockets" is a good feature for my 
traceroute(8) program, as it allows to filter all alien packets from the 
socket's input. Without this, I will receive all the incoming packets 
(i.e. all the icmp, or all the tcp and so on packets coming to my host). 
It seems to matter especially for tcp.  Tcp tracerouting becomes most 
popular now, but on the heavily loaded hosts with big tcp traffic the 
unconnected raw tcp socket will receive all such a traffic, which I 
prefer to avoid. (I cannot decrease the number of packets, by specifying 
to receive just MSG_ERRQUEUE messages. Anyway, I have to receive a 
packet from the final destination, which is not an error packet -- icmp 
echoreply, or tcp syn+ack ).


Regards,
Dmitry Butskoy
http://www.fedoraproject.org/wiki/DmitryButskoy

View attachment "ipv6-raw_socket_msg_errqueue.patch" of type "text/x-diff" (516 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ