Adam Langley 33ad798c92 tcp: options clean up
This should fix the following bugs:
  * Connections with MD5 signatures produce invalid packets whenever SACK
    options are included
  * MD5 signatures are counted twice in the MSS calculations

Behaviour changes:
  * A SYN with MD5 + SACK + TS elicits a SYNACK with MD5 + SACK

    This is because we can't fit any SACK blocks in a packet with MD5 + TS
    options. There was discussion about disabling SACK rather than TS in
    order to fit in better with old, buggy kernels, but that was deemed to
    be unnecessary.

  * SYNs with MD5 don't include a TS option

    See above.

Additionally, it removes a bunch of duplicated logic for calculating options,
which should help avoid these sort of issues in the future.

Signed-off-by: Adam Langley <agl@imperialviolet.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-07-19 00:04:31 -07:00
..
2008-05-14 19:23:27 -05:00
2008-07-08 23:00:25 -07:00
2007-10-10 16:53:11 -07:00
2006-12-02 21:22:55 -08:00
2007-10-10 16:53:56 -07:00
2008-07-18 23:02:15 -07:00
2008-07-05 21:26:57 -07:00
2008-06-11 21:00:38 -07:00
2008-06-11 21:00:38 -07:00
2008-07-18 04:03:08 -07:00
2008-06-11 21:00:38 -07:00
2008-02-29 11:46:17 -08:00
2008-03-28 16:28:36 -07:00
2008-07-18 04:01:24 -07:00
2008-07-18 20:54:17 -07:00
2008-06-11 21:00:38 -07:00
2008-07-05 21:25:39 -07:00
2008-05-12 03:29:11 -07:00
2008-07-19 00:04:31 -07:00