DCCP: Fix to reset the connection with Reset Code 5 Option Error while receive invalid option
Subsystems (2)
PATCH 1/1 DCCP: Fix to reset the connection with Reset Code 5 Option Error while receive invalid option
If endpoint received invalid option, it must reset the connection with Reset Code 5 "Option Error", but current kernel send reset with Reset Code 4 "Packet Error".
This patch fixed this problem. dccp_parse_options() has set reset code to 5 if option is invalid, so just return 1 to let reset be send with this reset code.
net/dccp/input.c +0 -0
@@ -428,7 +428,7 @@ static int dccp_rcv_request_sent_state_p
} if (dccp_parse_options(sk, NULL, skb))
- goto out_invalid_packet;
+ goto out_invalid_option;
/* Obtain usec RTT sample from SYN exchange (used by CCID 3) */ if (likely(dp->dccps_options_received.dccpor_timestamp_echo)) @@ -508,6 +508,7 @@ static int dccp_rcv_request_sent_state_p out_invalid_packet: /* dccp_v4_do_rcv will send a reset */ DCCP_SKB_CB(skb)->dccpd_reset_code = DCCP_RESET_CODE_PACKET_ERROR; +out_invalid_option: return 1; }
Quoting Wei Yongjun:
Quoted 4 lines
If endpoint received invalid option, it must reset the connection with Reset Code 5 "Option Error", but current kernel send reset with Reset Code 4 "Packet Error".
Ack. However, this has already been fixed in the test tree where dccp_parse() both sets the Reset code and fills in the Data1..3 fields (not done by this patch).
Within a span of two weeks this is the fourth DCCP patch which fixes bugs that already have fixes in the DCCP test tree. The same problems are fixed in two different locations.
If you are doing DCCP work, please consider
http://www.linux-foundation.org/en/Net:DCCP_Testing#How_to_obtain
Hi Gerrit Renker:
Sorry for my stupid patch since I can get the test git tree.
But, Is there any other way to get the git tree? I download a patch from following URL:
http://www.erg.abdn.ac.uk/users/gerrit/dccp/testing_dccp/test-tree/test-tree_2.6.25.diff.gz
I used this patch to my linux-2.6.25, there is error happend. and it has compile error too.
Is this patch is based on linux-2.6.25? If I want to send a patch, I must create my patch base on what version of kernel?
Thanks.
Quoted 13 lines · Gerrit Renker
Quoting Wei Yongjun:
Quoted 3 lines
If endpoint received invalid option, it must reset the connection with Reset Code 5 "Option Error", but current kernel send reset with Reset Code 4 "Packet Error".
Ack. However, this has already been fixed in the test tree where
dccp_parse()both sets the Reset code and fills in the Data1..3 fields (not done by this patch).Within a span of two weeks this is the fourth DCCP patch which fixes bugs that already have fixes in the DCCP test tree. The same problems are fixed in two different locations.
If you are doing DCCP work, please consider http://www.linux-foundation.org/en/Net:DCCP_Testing#How_to_obtai
Quoted 3 lines
Sorry for my stupid patch since I can get the test git tree.
There is nothing at all wrong with the patch and I apologise for the remark, since it is not your fault not to be aware of the test tree.
That was my fault - in at least one of the 4 cases David Miller copied the changeset over to dccp@vger. I am working with Arnaldo de Melo (the DCCP maintainer) on a solution for this, to avoid future overlap. It is not your issue, so sorry.
For the moment the best is to apply this patch and fix the problem in the mainline variant of net/dccp.
Quoted 6 lines
But, Is there any other way to get the git tree? I download a patch from following URL:
http://www.erg.abdn.ac.uk/users/gerrit/dccp/testing_dccp/test-tree/test-tree_2.6.25.diff.gz
I used this patch to my linux-2.6.25, there is error happend. and it has compile error too.
This is possible since the snapshots are taken on the day a new release comes out. Thanks for the notice, the outdated snapshot will be replaced.
Quoted 4 lines
Is this patch is based on linux-2.6.25? If I want to send a patch, I must create my patch base on what version of kernel?
The test tree tracks the netdev-2.6 kernel and only touches net/dccp. It can be pulled from
git://eden-feed.erg.abdn.ac.uk/dccp_exp (subtree `dccp')
Gerrit
Hi Gerrit Renker:
I think your should update your patch to avoid compile error:
+#define dccp_feat_print_opt(opt, feat, val, len, mandatory) \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ dccp_pr_debug("%s(%s, ", dccp_feat_oname(opt), dccp_feat_fname(feat));\
+ dccp_feat_printvals(feat, val, len); \
+ dccp_pr_debug_cat(") %s\n", mandatory ? "!" : "");...snip...
+#else /* ! CONFIG_IP_DCCP_DEBUG */
+#define dccp_feat_print_opt(opt, feat, fval, mandatory)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The first dccp_feat_print_opt() take 5 parameters when CONFIG_IP_DCCP_DEBUG, but the second one just take 4.
Quoted 37 lines · Gerrit Renker
Quoted 3 lines
Sorry for my stupid patch since I can get the test git tree.
There is nothing at all wrong with the patch and I apologise for the remark, since it is not your fault not to be aware of the test tree.
That was my fault - in at least one of the 4 cases David Miller copied the changeset over to dccp@vger. I am working with Arnaldo de Melo (the DCCP maintainer) on a solution for this, to avoid future overlap. It is not your issue, so sorry.
For the moment the best is to apply this patch and fix the problem in the mainline variant of net/dccp.
Quoted 5 lines
But, Is there any other way to get the git tree? I download a patch from following URL:
http://www.erg.abdn.ac.uk/users/gerrit/dccp/testing_dccp/test-tree/test-tree_2.6.25.diff.gz
I used this patch to my linux-2.6.25, there is error happend. and it has compile error too.This is possible since the snapshots are taken on the day a new release comes out. Thanks for the notice, the outdated snapshot will be replaced.
Quoted 3 lines
Is this patch is based on linux-2.6.25? If I want to send a patch, I must create my patch base on what version of kernel?
The test tree tracks the netdev-2.6 kernel and only touches net/dccp. It can be pulled from
git://eden-feed.erg.abdn.ac.uk/dccp_exp(subtree `dccp')Gerrit
Signature · 12 lines
-------------------------------------------------- Wei Yongjun Development Dept.I Nanjing Fujitsu Nanda Software Tech. Co., Ltd.(FNST) 8/F., Civil Defense Building, No.189 Guangzhou Road, Nanjing, 210029, China TEL: +86+25-86630523-836 COINS: 79955-836 FAX: +86+25-83317685 MAIL: [email protected] -------------------------------------------------- This communication is for use by the intended recipient(s) only and may contain information that is privileged, confidential and exempt from disclosure under applicable law. If you are not an intended recipient of this communication, you are hereby notified that any dissemination, distribution or copying hereof is strictly prohibited. If you have received this communication in error, please notify me by reply e-mail, permanently delete this communication from your system, and destroy any hard copies you may have printed
Re: Macro mismatch in test tree
Quoted 3 lines
The first
dccp_feat_print_opt()take 5 parameters whenCONFIG_IP_DCCP_DEBUG, but the second one just take 4.
Thanks :) Fixed.
Re: [PATCH] DCCP: Fix to reset the connection with Reset Code 5 Option
In reply to Wei YongjunQuoted 3 lines · Wei Yongjun
Hi Gerrit Renker:
Sorry for my stupid patch since I can get the test git tree.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sorry for my stupid patch since I *cannot* get the test git tree. typo error ^_^
Quoted 14 lines
But, Is there any other way to get the git tree? I download a patch from following URL:
http://www.erg.abdn.ac.uk/users/gerrit/dccp/testing_dccp/test-tree/test-tree_2.6.25.diff.gz
I used this patch to my linux-2.6.25, there is error happend. and it has compile error too.
Is this patch is based on linux-2.6.25? If I want to send a patch, I must create my patch base on what version of kernel?
Thanks.