• D
    net: Compute protocol sequence numbers and fragment IDs using MD5. · 6e5714ea
    David S. Miller 提交于
    Computers have become a lot faster since we compromised on the
    partial MD4 hash which we use currently for performance reasons.
    
    MD5 is a much safer choice, and is inline with both RFC1948 and
    other ISS generators (OpenBSD, Solaris, etc.)
    
    Furthermore, only having 24-bits of the sequence number be truly
    unpredictable is a very serious limitation.  So the periodic
    regeneration and 8-bit counter have been removed.  We compute and
    use a full 32-bit sequence number.
    
    For ipv6, DCCP was found to use a 32-bit truncated initial sequence
    number (it needs 43-bits) and that is fixed here as well.
    Reported-by: NDan Kaminsky <dan@doxpara.com>
    Tested-by: NWilly Tarreau <w@1wt.eu>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    6e5714ea
ipv4.c 28.2 KB