Eg. if the cache has serial 0x01, and the router requests serial
0x80000001.
0x80000001 was bypassing the sanitizations because, in accordance with
32-bit serial number arithmetic, it's neither greater nor less than
0x01.
This was resulting in Fort returning Cache Response instead of Cache
Reset.
Thanks to 王鑫 for reporting this.
Fixes GHSA-4q3q-6gww-wc52.
/* if from > last serial */
if (serial_lt(state.serial, from))
goto cache_reset; /* Serial is invalid. */
+ if (from == (state.serial ^ 0x80000000u))
+ goto cache_reset; /* Also invalid */
/*
* TODO (performance) this implementation is naive.