Netdev List
 help / color / mirror / Atom feed
* [PATCH 2.6.19]  net/dccp: set safe upper bound for option length
@ 2006-09-22 14:45 Gerrit Renker
  2006-09-22 14:48 ` Gerrit Renker
  2006-09-22 14:50 ` Arnaldo Carvalho de Melo
  0 siblings, 2 replies; 3+ messages in thread
From: Gerrit Renker @ 2006-09-22 14:45 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo; +Cc: davem, netdev

[DCCP]: current upper limit for option length is 128 bytes;
much less than actually possible. This patch sets a safe upper
bound on option length of 992, under worst-case assumptions.

This patches against the 2.6.19 tree by David.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
---
 dccp.h |   17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)


diff --git a/net/dccp/dccp.h b/net/dccp/dccp.h
index 272e858..adabf3e 100644
--- a/net/dccp/dccp.h
+++ b/net/dccp/dccp.h
@@ -40,12 +40,17 @@ extern void dccp_tw_deschedule(struct in
 
 extern void dccp_time_wait(struct sock *sk, int state, int timeo);
 
-/* FIXME: Right size this */
-#define DCCP_MAX_OPT_LEN 128
-
-#define DCCP_MAX_PACKET_HDR 32
-
-#define MAX_DCCP_HEADER  (DCCP_MAX_PACKET_HDR + DCCP_MAX_OPT_LEN + MAX_HEADER)
+/*
+ *  Set safe upper bounds for header and option length. Since Data Offset is 8
+ *  bits (RFC 4340, sec. 5.1), the total header length can never be more than
+ *  8 * 255 = 1020 bytes. The largest possible header length is 28 bytes (X=1):
+ *    - DCCP-Response with ACK Subheader and 4 bytes of Service code      OR
+ *    - DCCP-Reset    with ACK Subheader and 4 bytes of Reset Code fields
+ *  Hence a safe upper bound for the maximum option length is 1020-28 = 992
+ */
+#define DCCP_MAX_OPT_LEN      992
+#define DCCP_MAX_PACKET_HDR    28
+#define MAX_DCCP_HEADER     (1020 + MAX_HEADER)
 
 #define DCCP_TIMEWAIT_LEN (60 * HZ) /* how long to wait to destroy TIME-WAIT
 				     * state, about 60 seconds */

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-09-22 14:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-22 14:45 [PATCH 2.6.19] net/dccp: set safe upper bound for option length Gerrit Renker
2006-09-22 14:48 ` Gerrit Renker
2006-09-22 14:50 ` Arnaldo Carvalho de Melo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox