forked from Minki/linux
dccp: Fix to handle short sequence numbers packet correctly
RFC4340 said: 8.5. Pseudocode ... If P.type is not Data, Ack, or DataAck and P.X == 0 (the packet has short sequence numbers), drop packet and return But DCCP has some mistake to handle short sequence numbers packet, now it drop packet only if P.type is Data, Ack, or DataAck and P.X == 0. Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Acked-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
289c79a4bd
commit
6079a463cf
@ -739,8 +739,8 @@ int dccp_invalid_packet(struct sk_buff *skb)
|
||||
* If P.type is not Data, Ack, or DataAck and P.X == 0 (the packet
|
||||
* has short sequence numbers), drop packet and return
|
||||
*/
|
||||
if (dh->dccph_type >= DCCP_PKT_DATA &&
|
||||
dh->dccph_type <= DCCP_PKT_DATAACK && dh->dccph_x == 0) {
|
||||
if ((dh->dccph_type < DCCP_PKT_DATA ||
|
||||
dh->dccph_type > DCCP_PKT_DATAACK) && dh->dccph_x == 0) {
|
||||
DCCP_WARN("P.type (%s) not Data || [Data]Ack, while P.X == 0\n",
|
||||
dccp_packet_name(dh->dccph_type));
|
||||
return 1;
|
||||
|
Loading…
Reference in New Issue
Block a user