[SCTP]: Fix protocol violation when receiving an error lenght INIT-ACK
authorGui Jianfeng <guijianfeng@cn.fujitsu.com>
Sun, 13 Apr 2008 01:39:34 +0000 (18:39 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 13 Apr 2008 01:39:34 +0000 (18:39 -0700)
commitf4ad85ca3ef8a1ede76c5020a28a8f4057b4d24f
treecfab9dcd7b29eb150bd6168cf40c375bd9006bbe
parent72da7b3860cabf427590b4982bc880bafab4d5c8
[SCTP]: Fix protocol violation when receiving an error lenght INIT-ACK

When receiving an error length INIT-ACK during COOKIE-WAIT,
a 0-vtag ABORT will be responsed. This action violates the
protocol apparently. This patch achieves the following things.
1 If the INIT-ACK contains all the fixed parameters, use init-tag
  recorded from INIT-ACK as vtag.
2 If the INIT-ACK doesn't contain all the fixed parameters,
  just reflect its vtag.

Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sctp/command.h
net/sctp/outqueue.c
net/sctp/sm_sideeffect.c
net/sctp/sm_statefuns.c