: Ignore Ack Vectors / Elapsed Time on DCCP-Request also
PATCH 3/5 : Ignore Ack Vectors / Elapsed Time on DCCP-Request also
[DCCP]: Ignore Ack Vectors / Elapsed Time on DCCP-Request also
Small update with regard to RFC 4340 (references added as documentation):
on Requests, Ack Vectors / Elapsed Time should be ignored. Length handling of Elapsed Time also simplified.
Signed-off-by Gerrit Renker <[email protected]>
--- net/dccp/options.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-)
net/dccp/options.c +6 -8
@@ -128,7 +128,7 @@ int dccp_parse_options(struct sock *sk,break ;case DCCPO_ACK_VECTOR_0 :case DCCPO_ACK_VECTOR_1 : -if (pkt_type =DCCP_PKT_DATA ) +if (dccp_packet_without_ack (skb))/* RFC 4340, 11.4 */ break ; if (dccp_msk(sk)->dccpms_send_ack_vector &&
@@ -186,19 +186,17 @@ int dccp_parse_options(struct sock *sk, opt_recv->dccpor_elapsed_time = elapsed_time;break ;case DCCPO_ELAPSED_TIME : -if (len !=2 && len !=4 ) - goto out_invalid_option; - -if (pkt_type =DCCP_PKT_DATA ) -continue ; +if (dccp_packet_without_ack (skb))/* RFC 4340, 13.2 */ +break ;if (len =2 ) { opt_val =get_unaligned ((u16 *)value); elapsed_time =ntohs ((u16 )opt_val); - }else { + }else if (len =4 ) { opt_val =get_unaligned ((u32 *)value); elapsed_time =ntohl (opt_val); - } + }else + goto out_invalid_option;if (elapsed_time > opt_recv->dccpor_elapsed_time) opt_recv->dccpor_elapsed_time = elapsed_time;
Quoted 7 lines · Gerrit Renker
[DCCP]: Ignore Ack Vectors / Elapsed Time on DCCP-Request also
Small update with regard to RFC 4340 (references added as documentation):
on Requests, Ack Vectors / Elapsed Time should be ignored. Length handling of Elapsed Time also simplified.Signed-off-by Gerrit Renker <[email protected]>
Signed-off-by Ian McDonald <[email protected]>
Signature · 3 lines
Web1: http://wand.net.nz/~iam4/ Web2: http://www.jandi.co.nz Blog: http://iansblog.jandi.co.nz