Re: broken haproxy crc32 support

2020-01-15 Thread Willy Tarreau
Hi Wietse, I have a good news for you. While fixing the bug and auditing all of its extent, I noticed that the PROXY protocol doesn't use the CRC32 but CRC32c (the Castagnoli variant), which is *not* affected by the signedness bug : crc = (crc >> 8) ^ crctable[(crc ^ (*buf++)) & 0xff]; I sus

Re: broken haproxy crc32 support

2020-01-12 Thread Willy Tarreau
On Sun, Jan 12, 2020 at 08:40:31AM -0500, Wietse Venema wrote: > Willy Tarreau: > > All this shows that neither CRC32 nor CRC32c are that much used today, > > or that the usage is limited to situations not sensitive to interop > > issues. So I want to see it fixed, and we'll put a prominent warning

Re: broken haproxy crc32 support

2020-01-12 Thread Wietse Venema
Willy Tarreau: > All this shows that neither CRC32 nor CRC32c are that much used today, > or that the usage is limited to situations not sensitive to interop > issues. So I want to see it fixed, and we'll put a prominent warning > in next releases. Do you want to propose a patch or should I do it ?

Re: broken haproxy crc32 support

2020-01-11 Thread Willy Tarreau
Hi Wietse, [CCing haproxy ML and responding inline] First, thanks a lot for your detailed analysis. On Sat, Jan 11, 2020 at 09:03:19PM -0500, Wietse Venema wrote: > I found a portability bug in haproxy's CRC32 implementation, while > adding adding CRC32 support to Postfix's haproxy2 code. The ha

broken haproxy crc32 support

2020-01-11 Thread Wietse Venema
I found a portability bug in haproxy's CRC32 implementation, while adding adding CRC32 support to Postfix's haproxy2 code. The haproxy code produces incorrect results on ix86. Which just happens to work as long as everyone is using ix86. The same bug appears to exist in other hash functions in hap