aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorWilliam Allen Simpson <william.allen.simpson@gmail.com>2009-12-02 13:12:09 -0500
committerDavid S. Miller <davem@davemloft.net>2009-12-03 01:07:23 -0500
commitda5c78c82629a167794436e4306b4cf1faddea90 (patch)
treec933fdc0583b592c01885890ebf770840555d28b /include/net
parente6b4d11367519bc71729c09d05a126b133c755be (diff)
TCPCT part 1b: generate Responder Cookie secret
Define (missing) hash message size for SHA1. Define hashing size constants specific to TCP cookies. Add new function: tcp_cookie_generator(). Maintain global secret values for tcp_cookie_generator(). This is a significantly revised implementation of earlier (15-year-old) Photuris [RFC-2522] code for the KA9Q cooperative multitasking platform. Linux RCU technique appears to be well-suited to this application, though neither of the circular queue items are freed. These functions will also be used in subsequent patches that implement additional features. Signed-off-by: William.Allen.Simpson@gmail.com Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/tcp.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h
index ec183fda05d0..4a99a8e39121 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -1478,6 +1478,14 @@ struct tcp_request_sock_ops {
1478#endif 1478#endif
1479}; 1479};
1480 1480
1481/* Using SHA1 for now, define some constants.
1482 */
1483#define COOKIE_DIGEST_WORDS (SHA_DIGEST_WORDS)
1484#define COOKIE_MESSAGE_WORDS (SHA_MESSAGE_BYTES / 4)
1485#define COOKIE_WORKSPACE_WORDS (COOKIE_DIGEST_WORDS + COOKIE_MESSAGE_WORDS)
1486
1487extern int tcp_cookie_generator(u32 *bakery);
1488
1481extern void tcp_v4_init(void); 1489extern void tcp_v4_init(void);
1482extern void tcp_init(void); 1490extern void tcp_init(void);
1483 1491