Files
kernel-tenderloin-3.0/include/linux
William Allen Simpson 435cf559f0 TCPCT part 1d: define TCP cookie option, extend existing struct's
Data structures are carefully composed to require minimal additions.
For example, the struct tcp_options_received cookie_plus variable fits
between existing 16-bit and 8-bit variables, requiring no additional
space (taking alignment into consideration).  There are no additions to
tcp_request_sock, and only 1 pointer in tcp_sock.

This is a significantly revised implementation of an earlier (year-old)
patch that no longer applies cleanly, with permission of the original
author (Adam Langley):

    http://thread.gmane.org/gmane.linux.network/102586

The principle difference is using a TCP option to carry the cookie nonce,
instead of a user configured offset in the data.  This is more flexible and
less subject to user configuration error.  Such a cookie option has been
suggested for many years, and is also useful without SYN data, allowing
several related concepts to use the same extension option.

    "Re: SYN floods (was: does history repeat itself?)", September 9, 1996.
    http://www.merit.net/mail.archives/nanog/1996-09/msg00235.html

    "Re: what a new TCP header might look like", May 12, 1998.
    ftp://ftp.isi.edu/end2end/end2end-interest-1998.mail

These functions will also be used in subsequent patches that implement
additional features.

Requires:
   TCPCT part 1a: add request_values parameter for sending SYNACK
   TCPCT part 1b: generate Responder Cookie secret
   TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS

Signed-off-by: William.Allen.Simpson@gmail.com
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-02 22:07:25 -08:00
..
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-09-23 07:39:29 -07:00
2009-06-18 08:46:47 +10:00
2009-11-18 17:09:24 -05:00
2009-10-27 16:47:55 -04:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-09-19 02:14:45 -04:00
2009-09-20 16:09:20 +05:30
2009-09-08 17:42:50 -07:00
2009-11-08 20:57:03 -08:00
2009-07-12 12:22:34 -07:00
2009-09-23 11:01:25 -07:00
2009-07-14 20:29:57 +08:00
2009-09-18 09:48:52 -07:00
2009-06-22 10:12:30 +01:00
2009-11-04 09:50:58 -08:00
2009-09-14 17:41:42 -07:00
2009-07-08 09:18:05 -07:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-09-12 14:48:40 +02:00
2009-06-18 13:04:05 -07:00
2009-11-04 09:50:58 -08:00
2009-09-01 01:13:31 -07:00
2009-09-01 17:52:57 -07:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-06-29 08:59:10 +10:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-07-31 08:55:48 +02:00
2009-09-23 07:39:41 -07:00
2009-11-04 09:50:58 -08:00
2009-06-18 13:03:56 -07:00
2009-09-26 10:17:19 -07:00
2009-10-18 18:52:53 -07:00
2009-08-29 15:53:00 +02:00
2009-09-30 00:32:06 -04:00
2009-09-23 07:39:58 -07:00
2009-09-19 13:13:17 -07:00
2009-09-26 10:17:19 -07:00
2009-09-22 07:17:33 -07:00
2009-09-18 21:22:08 +02:00
2009-06-23 20:21:39 +01:00
2009-07-30 16:03:45 +09:30
2009-10-06 00:26:27 -04:00
2009-09-23 07:39:41 -07:00
2009-09-22 07:17:35 -07:00
2009-07-08 09:31:56 -07:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-09-21 15:14:51 +02:00
2009-11-04 09:50:58 -08:00
2009-11-07 00:46:40 -08:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-06-17 18:02:11 -07:00
2009-06-17 18:02:11 -07:00
2009-09-26 10:17:19 -07:00
2009-06-17 12:24:34 -07:00
2009-06-17 18:02:11 -07:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-09-22 07:17:47 -07:00
2009-10-04 15:05:10 -07:00
2009-06-18 13:04:04 -07:00
2009-07-29 19:10:36 -07:00
2009-09-23 07:39:41 -07:00
2009-11-10 22:26:29 -08:00
2009-10-30 15:06:37 -07:00
2009-06-24 08:17:06 -04:00
2009-11-04 09:50:58 -08:00
2009-11-04 09:50:58 -08:00
2009-08-28 19:57:30 -04:00
2009-12-02 19:57:15 -08:00
2009-08-31 18:08:51 +02:00
2009-10-29 07:39:25 -07:00
2009-07-06 13:57:03 -07:00
2009-08-30 22:26:34 +02:00
2009-11-10 20:54:38 -08:00
2009-09-23 06:46:23 -07:00
2009-09-23 18:13:10 -07:00
2009-08-26 12:39:29 +01:00
2009-09-23 22:26:32 +09:30
2009-09-22 07:17:30 -07:00
2009-09-19 13:13:25 -07:00
2009-11-19 13:43:06 -08:00
2009-09-15 16:51:30 +02:00