TCPCT part 1g: Responder Cookie => Initiator
authorWilliam Allen Simpson <william.allen.simpson@gmail.com>
Wed, 2 Dec 2009 18:25:27 +0000 (18:25 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 3 Dec 2009 06:07:26 +0000 (22:07 -0800)
commit4957faade11b3a278c3b3cade3411ddc20afa791
tree57f994bab69353baf5f554b89cf9107c3372ecce
parentbd0388ae77075026d6a9f9eb6026dfd1d52ce0e9
TCPCT part 1g: Responder Cookie => Initiator

Parse incoming TCP_COOKIE option(s).

Calculate <SYN,ACK> TCP_COOKIE option.

Send optional <SYN,ACK> data.

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

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
   TCPCT part 1d: define TCP cookie option, extend existing struct's
   TCPCT part 1e: implement socket option TCP_COOKIE_TRANSACTIONS
   TCPCT part 1f: Initiator Cookie => Responder

Signed-off-by: William.Allen.Simpson@gmail.com
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tcp.h
net/ipv4/syncookies.c
net/ipv4/tcp_input.c
net/ipv4/tcp_ipv4.c
net/ipv4/tcp_minisocks.c
net/ipv4/tcp_output.c
net/ipv6/syncookies.c
net/ipv6/tcp_ipv6.c