• E
    tcp: relax tcp_paws_check() · bc2ce894
    Eric Dumazet 提交于
    Some windows versions have wrong RFC1323 implementations, with SYN and
    SYNACKS messages containing zero tcp timestamps.
    
    We relaxed in commit fc1ad92d the passive connection case
    (Windows connects to a linux machine), but the reverse case (linux
    connects to a Windows machine) has an analogue problem when tsvals from
    windows machine are 'negative' (high order bit set) : PAWS triggers and
    we drops incoming messages.
    
    Fix this by making zero ts_recent value special, allowing frame to be
    processed.
    
    Based on a report and initial patch from Dmitiy Balakin
    
    Bugzilla reference : https://bugzilla.kernel.org/show_bug.cgi?id=24842
    
    Reported-by: dmitriy.balakin@nicneiron.ru
    Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    bc2ce894
tcp.h 46.1 KB