kernel-hacking-2024-linux-s.../net/dccp
Gerrit Renker 1238d0873b [DCCP]: One more exemption from full sequence number checks
This fixes the following problem: client connects to peer which has no DCCP
enabled or loaded; ICMP error messages ("Protocol Unavailable") can be seen
on the wire, but the application hangs. Reason: ICMP packets don't get through
to dccp_v4_err.

When reporting errors, a sequence number check is made for the DCCP packet
that had caused an ICMP error to arrive.
Such checks can not be made if the socket is in state LISTEN, RESPOND (which
in the implementation is the same as LISTEN), or REQUEST, since update_gsr()
has not been called in these states, hence the sequence window is 0..0.

This patch fixes the problem by adding the REQUEST state as another exemption
to the window check. The error reporting now works as expected on connecting.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
2007-10-24 10:18:06 -02:00
..
ccids [CCID2]: Sequence number wraparound issues 2007-10-10 16:54:35 -07:00
ackvec.c [NET]: DIV_ROUND_UP cleanup (part two) 2007-10-10 16:48:37 -07:00
ackvec.h [DCCP] ackvec: Convert to ktime_t 2007-10-10 16:48:14 -07:00
ccid.c [DCCP]: fix theoretical ccids_{read,write}_lock() race 2007-08-13 22:52:09 -07:00
ccid.h
dccp.h [DCCP]: Factor out common code for generating Resets 2007-10-10 16:52:44 -07:00
diag.c [INET]: Let inet_diag and friends autoload 2007-10-22 02:59:54 -07:00
feat.c [DCCP]: fix memory leak and clean up style - dccp_feat_empty_confirm() 2007-08-13 22:52:10 -07:00
feat.h
input.c [DCCP]: fix link error with !CONFIG_SYSCTL 2007-10-17 19:33:06 -07:00
ipv4.c [DCCP]: One more exemption from full sequence number checks 2007-10-24 10:18:06 -02:00
ipv6.c [DCCP]: Retrieve packet sequence number for error reporting 2007-10-24 10:12:09 -02:00
ipv6.h
Kconfig [DCCP]: Use menuconfig objects. 2007-05-24 16:36:46 -07:00
Makefile
minisocks.c [DCCP]: Tidy-up -- minisock initialisation 2007-10-10 16:54:36 -07:00
options.c [DCCP]: Wrong format in printk 2007-10-10 16:54:36 -07:00
output.c [DCCP]: Wait for CCID 2007-10-10 16:54:31 -07:00
probe.c [NET]: Make /proc/net per network namespace 2007-10-10 16:49:06 -07:00
proto.c [DCCP]: Implement SIOCINQ/FIONREAD 2007-10-23 21:27:50 -07:00
sysctl.c [DCCP]: fix link error with !CONFIG_SYSCTL 2007-10-17 19:33:06 -07:00
timer.c [DCCP]: Provide 10s of microsecond timesource 2007-10-10 16:52:35 -07:00