• Eric Dumazet's avatar
    tcp: relax tcp_paws_check() · bc2ce894
    Eric Dumazet authored
    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: default avatarEric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bc2ce894
tcp.h 46.1 KB