[DCCP]: Handle SYNC packets in dccp_rcv_state_process

Eliciting a SYNCACK in response, we were handling SYNC packets
only in the DCCP_OPEN state, in dccp_rcv_established.
Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
上级 811265b8
...@@ -562,6 +562,12 @@ int dccp_rcv_state_process(struct sock *sk, struct sk_buff *skb, ...@@ -562,6 +562,12 @@ int dccp_rcv_state_process(struct sock *sk, struct sk_buff *skb,
return 0; return 0;
} }
if (unlikely(dh->dccph_type == DCCP_PKT_SYNC)) {
dccp_send_sync(sk, DCCP_SKB_CB(skb)->dccpd_seq,
DCCP_PKT_SYNCACK);
goto discard;
}
switch (sk->sk_state) { switch (sk->sk_state) {
case DCCP_CLOSED: case DCCP_CLOSED:
return 1; return 1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册