mirror of
http://git.haproxy.org/git/haproxy.git
synced 2026-02-10 03:12:46 +02:00
Emeric suggested that it's sometimes convenient to instantly know if a client has advertised support for window scaling or timestamps for example. While the info is present in the TCP options output, it's hard to extract since it respects the options order. So here we're extending the 56-bit fingerprint with 8 extra bits that indicate the presence of options 2..8, and any option above 9 for the last bit. In practice this is sufficient since higher options are not commonly used. Also TCP option 5 is normally not sent on the SYN (SACK, only SACK_perm is sent), and echo options 6 & 7 are no longer used (replaced with timestamps). These fields might be repurposed in the future if some more meaningful options are to be mapped (e.g. MPTCP, TFO cookie, auth).