Parse incoming TCP_COOKIE option(s). Calculate TCP_COOKIE option. Send optional 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 --- include/net/tcp.h | 1 + net/ipv4/syncookies.c | 5 +- net/ipv4/tcp_input.c | 75 +++++++++++++++++++++++++++++---- net/ipv4/tcp_ipv4.c | 47 +++++++++++++++++++-- net/ipv4/tcp_minisocks.c | 14 ++++--- net/ipv4/tcp_output.c | 103 ++++++++++++++++++++++++++++++++++++++-------- net/ipv6/syncookies.c | 5 +- net/ipv6/tcp_ipv6.c | 52 ++++++++++++++++++++++- 8 files changed, 259 insertions(+), 43 deletions(-)