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-03-05 18:47:03 -08:00
2008-07-08 23:00:25 -07:00
2007-10-10 16:54:51 -07:00
2008-07-14 20:22:38 -07:00
2008-07-18 04:04:22 -07:00
2008-07-18 23:07:09 -07:00
2007-10-10 16:53:11 -07:00
2008-07-14 22:42:19 -07:00
2008-01-28 15:11:17 -08:00
2008-06-12 02:38:15 +09:00
2007-04-26 15:50:17 -07:00
2008-01-28 14:57:13 -08:00
2007-10-10 16:55:55 -07:00
2008-01-31 19:27:33 -08:00
2006-12-02 21:22:55 -08:00
2008-02-12 17:53:34 -08:00
2007-10-10 16:53:56 -07:00
2008-03-06 15:30:41 -05:00
2008-01-28 14:55:14 -08:00
2007-06-08 13:33:09 -07:00
2008-04-29 03:23:22 -07:00
2006-03-20 22:42:39 -08:00
2007-04-25 22:27:12 -07:00
2006-03-20 22:42:39 -08:00
2006-03-20 22:42:39 -08:00
2007-10-10 16:52:50 -07:00
2007-07-10 23:02:12 -07:00
2008-01-28 14:55:58 -08:00
2008-07-18 23:02:15 -07:00
2008-01-31 19:27:02 -08:00
2008-07-05 19:01:28 -07:00
2008-01-28 15:00:20 -08:00
2008-07-05 21:26:57 -07:00
2008-01-28 15:11:10 -08:00
2008-06-03 16:36:54 -07:00
2008-07-18 04:04:22 -07:00
2007-04-28 11:01:01 -04:00
2007-10-10 16:47:40 -07:00
2008-05-07 15:02:14 -04:00
2008-06-12 02:38:13 +09:00
2007-01-26 01:04:55 -08:00
2008-06-16 17:14:11 -07:00
2008-04-03 14:28:30 -07:00
2008-04-03 14:22:32 -07:00
2008-04-13 23:40:51 -07:00
2008-03-28 16:35:27 -07:00
2008-06-16 17:14:11 -07:00
2008-06-16 17:14:11 -07:00
2008-03-26 00:48:17 -07:00
2008-06-11 21:00:38 -07:00
2006-12-22 11:12:07 -08:00
2008-03-04 13:48:30 -08:00
2008-04-12 13:43:18 +09:00
2008-06-11 21:00:38 -07:00
2008-02-05 02:54:16 -08:00
2008-04-29 03:21:23 -07:00
2008-07-18 04:03:08 -07:00
2007-10-10 16:55:55 -07:00
2008-06-11 21:00:38 -07:00
2008-05-21 14:16:36 -07:00
2008-06-28 01:19:40 -07:00
2007-04-25 22:25:31 -07:00
2008-06-16 18:50:49 -07:00
2007-10-10 16:49:07 -07:00
2008-02-29 11:46:17 -08:00
2008-03-31 21:02:47 -07:00
2008-03-31 21:02:47 -07:00
2008-03-28 16:28:36 -07:00
2008-07-17 19:21:12 -07:00
2008-04-12 13:43:22 +09:00
2008-05-19 16:25:42 -07:00
2008-07-16 20:50:49 -07:00
2008-07-18 04:01:24 -07:00
2006-10-04 03:38:54 -04:00
2008-01-28 14:53:38 -08:00
2008-04-28 06:18:03 -04:00
2008-06-03 16:36:54 -07:00
2007-02-12 09:48:44 -08:00
2006-09-22 14:55:04 -07:00
2008-03-27 16:53:37 -07:00
2008-07-17 19:21:20 -07:00
2008-03-24 15:33:00 -07:00
2008-03-22 16:56:51 -07:00
2008-01-28 14:54:29 -08:00
2007-04-25 22:27:55 -07:00
2008-06-12 16:34:35 -07:00
2008-06-17 17:08:32 -07:00
2008-07-05 19:00:44 -07:00
2008-04-16 00:46:52 -07:00
2008-07-18 20:54:17 -07:00
2007-10-19 11:53:40 -07:00
2008-06-11 21:00:38 -07:00
2008-07-16 20:28:10 -07:00
2008-07-05 21:25:39 -07:00
2008-05-12 03:29:11 -07:00
2006-01-03 13:10:57 -08:00
2008-07-19 00:04:31 -07:00
2006-12-07 08:39:25 -08:00
2008-06-14 17:04:49 -07:00
2008-07-18 04:03:45 -07:00
2008-03-06 16:22:02 -08:00
2008-06-16 18:32:46 -07:00
2008-06-03 15:00:26 -04:00
2007-02-08 13:34:36 -08:00
2007-04-25 22:24:32 -07:00
2008-05-03 21:03:01 -07:00