• A
    tcp: options clean up · 33ad798c
    Adam Langley 提交于
    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: NAdam Langley <agl@imperialviolet.org>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    33ad798c
tcp_output.c 74.6 KB