]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r294057:
authortuexen <tuexen@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 17 Jan 2016 14:14:12 +0000 (14:14 +0000)
committertuexen <tuexen@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 17 Jan 2016 14:14:12 +0000 (14:14 +0000)
commit7493e65363ffeb2013f688c16dc15f816fd7b833
treebdfebb3f231f328cc4453ee72348043b82d3c53a
parent4192ecf861d236a44b29241c03254722960bb169
MFC r294057:
Fix a bug in INIT handling on accepted 1-to-1 style sockets when the
listener is closed.
This fix allows the following packetdrill test to pass:
// Setup a connected, blocking 1-to-1 style socket
+0.0 socket(..., SOCK_STREAM, IPPROTO_SCTP) = 3
// Check the handshake with en empty(!) cookie
+0.0 bind(3, ..., ...) = 0
+0.0 listen(3, 1) = 0
+0.0 < sctp: INIT[flgs=0, tag=1, a_rwnd=1500, os=1, is=1, tsn=1]
+0.0 > sctp: INIT_ACK[flgs=0, tag=2, a_rwnd=..., os=..., is=..., tsn=1, ...]
+0.0 < sctp: COOKIE_ECHO[flgs=0, len=..., val=...]
+0.0 > sctp: COOKIE_ACK[flgs=0]
+0.0 accept(3, ..., ...) = 4
+0.0 close(3) = 0
// Inject an INIT chunk and expect an INIT-ACK
+0.0 < sctp: INIT[flgs=0, tag=3, a_rwnd=1500, os=1, is=1, tsn=1]
+0.0 > sctp: INIT_ACK[flgs=0, tag=..., a_rwnd=..., os=..., is=..., tsn=..., ...]

git-svn-id: svn://svn.freebsd.org/base/stable/10@294223 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/netinet/sctp_pcb.c