Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No ABORT is sent on reception of a DATA chunk which is too short #2

Open
tuexen opened this issue Aug 3, 2015 · 0 comments
Open

No ABORT is sent on reception of a DATA chunk which is too short #2

tuexen opened this issue Aug 3, 2015 · 0 comments
Assignees
Labels

Comments

@tuexen
Copy link
Member

tuexen commented Aug 3, 2015

The problem can be triggered by the following packetdrill script:

// Create a non-blocking 1-to-1 style socket
 0.0 socket(..., SOCK_STREAM, IPPROTO_SCTP) = 3
+0.0 fcntl(3, F_GETFL) = 0x02 (flags O_RDWR)
+0.0 fcntl(3, F_SETFL, O_RDWR | O_NONBLOCK) = 0
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_RTOINFO, {srto_initial=100, srto_max=800, srto_min=100}, 16) = 0
// Trigger the active associtation setup
+0.1 connect(3, ..., ...) = -1 EINPROGRESS (Operation now in progress)
+0.0 > sctp: INIT[flgs=0, tag=1, a_rwnd=..., os=..., is=..., tsn=1, ...]
+0.0 < sctp: INIT_ACK[flgs=0, tag=2, a_rwnd=1500, os=1, is=1, tsn=1, STATE_COOKIE[len=4, val=...]]
+0.0 > sctp: COOKIE_ECHO[flgs=0, len=4, val=...]
+0.0 < sctp: COOKIE_ACK[flgs=0]
// Check if the setup was sucessful
+0.0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
// Inject a too short DATA chunk (len can be 4..15)
+0.0 < sctp: CHUNK[type=0x00, flgs=0x00, len=4, val=[]]
+0.0 > sctp: ABORT[flgs=0x00, PROTOCOL_VIOLATION[info="DATA chunk of length 4"]]
@tuexen tuexen added the bug label Aug 3, 2015
@tuexen tuexen self-assigned this Aug 3, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant