aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/syncookies.c
diff options
context:
space:
mode:
authorGlenn Griffin <ggriffin.kernel@gmail.com>2008-02-08 00:49:26 -0500
committerYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2008-03-04 01:18:21 -0500
commitc6aefafb7ec620911d46174eed514f9df639e5a4 (patch)
tree626e3d47a7bb31f586935c480bed09f342f2fbca /net/ipv4/syncookies.c
parent11baab7ac34723ad481e0f97fca733272ef364d4 (diff)
[TCP]: Add IPv6 support to TCP SYN cookies
Updated to incorporate Eric's suggestion of using a per cpu buffer rather than allocating on the stack. Just a two line change, but will resend in it's entirety. Signed-off-by: Glenn Griffin <ggriffin.kernel@gmail.com> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Diffstat (limited to 'net/ipv4/syncookies.c')
-rw-r--r--net/ipv4/syncookies.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/net/ipv4/syncookies.c b/net/ipv4/syncookies.c
index 177da14f6b14..4704f27f6c0b 100644
--- a/net/ipv4/syncookies.c
+++ b/net/ipv4/syncookies.c
@@ -10,8 +10,6 @@
10 * 2 of the License, or (at your option) any later version. 10 * 2 of the License, or (at your option) any later version.
11 * 11 *
12 * $Id: syncookies.c,v 1.18 2002/02/01 22:01:04 davem Exp $ 12 * $Id: syncookies.c,v 1.18 2002/02/01 22:01:04 davem Exp $
13 *
14 * Missing: IPv6 support.
15 */ 13 */
16 14
17#include <linux/tcp.h> 15#include <linux/tcp.h>
@@ -23,14 +21,15 @@
23 21
24extern int sysctl_tcp_syncookies; 22extern int sysctl_tcp_syncookies;
25 23
26static __u32 syncookie_secret[2][16-3+SHA_DIGEST_WORDS]; 24__u32 syncookie_secret[2][16-3+SHA_DIGEST_WORDS];
25EXPORT_SYMBOL(syncookie_secret);
27 26
28static __init int init_syncookies(void) 27static __init int init_syncookies(void)
29{ 28{
30 get_random_bytes(syncookie_secret, sizeof(syncookie_secret)); 29 get_random_bytes(syncookie_secret, sizeof(syncookie_secret));
31 return 0; 30 return 0;
32} 31}
33module_init(init_syncookies); 32__initcall(init_syncookies);
34 33
35#define COOKIEBITS 24 /* Upper bits store count */ 34#define COOKIEBITS 24 /* Upper bits store count */
36#define COOKIEMASK (((__u32)1 << COOKIEBITS) - 1) 35#define COOKIEMASK (((__u32)1 << COOKIEBITS) - 1)