diff options
author | Arnaldo Carvalho de Melo <acme@mandriva.com> | 2005-09-13 18:05:08 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@mandriva.com> | 2005-09-13 18:05:08 -0400 |
commit | 2b80230a7f8cd346c1e2ebafdd02be432bf10459 (patch) | |
tree | a51d45efbe4b77c395ffe4fc51894e173d6d7345 /net/dccp/input.c | |
parent | 811265b8e8bf84e3b91507bf6a3a8eea20e7a4b7 (diff) |
[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: Arnaldo Carvalho de Melo <acme@mandriva.com>
Diffstat (limited to 'net/dccp/input.c')
-rw-r--r-- | net/dccp/input.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/dccp/input.c b/net/dccp/input.c index f01d588299c8..c74034cf7ede 100644 --- a/net/dccp/input.c +++ b/net/dccp/input.c | |||
@@ -562,6 +562,12 @@ int dccp_rcv_state_process(struct sock *sk, struct sk_buff *skb, | |||
562 | return 0; | 562 | return 0; |
563 | } | 563 | } |
564 | 564 | ||
565 | if (unlikely(dh->dccph_type == DCCP_PKT_SYNC)) { | ||
566 | dccp_send_sync(sk, DCCP_SKB_CB(skb)->dccpd_seq, | ||
567 | DCCP_PKT_SYNCACK); | ||
568 | goto discard; | ||
569 | } | ||
570 | |||
565 | switch (sk->sk_state) { | 571 | switch (sk->sk_state) { |
566 | case DCCP_CLOSED: | 572 | case DCCP_CLOSED: |
567 | return 1; | 573 | return 1; |