diff options
author | William Allen Simpson <william.allen.simpson@gmail.com> | 2009-12-02 18:12:09 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-12-02 22:07:23 -0800 |
commit | da5c78c82629a167794436e4306b4cf1faddea90 (patch) | |
tree | c933fdc0583b592c01885890ebf770840555d28b /include/net/tcp.h | |
parent | e6b4d11367519bc71729c09d05a126b133c755be (diff) | |
download | linux-stable-da5c78c82629a167794436e4306b4cf1faddea90.tar.gz linux-stable-da5c78c82629a167794436e4306b4cf1faddea90.tar.bz2 linux-stable-da5c78c82629a167794436e4306b4cf1faddea90.zip |
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/tcp.h')
-rw-r--r-- | include/net/tcp.h | 8 |
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 { #endif }; +/* Using SHA1 for now, define some constants. + */ +#define COOKIE_DIGEST_WORDS (SHA_DIGEST_WORDS) +#define COOKIE_MESSAGE_WORDS (SHA_MESSAGE_BYTES / 4) +#define COOKIE_WORKSPACE_WORDS (COOKIE_DIGEST_WORDS + COOKIE_MESSAGE_WORDS) + +extern int tcp_cookie_generator(u32 *bakery); + extern void tcp_v4_init(void); extern void tcp_init(void); |