Based on the fuzzing input (provided by cargo-fuzz), this simulates message sends and receives, out-of-order delivery, dropped messages, and session resets, solely to find bugs in happy-path interaction between two clients.
While here, improve the logging of 1:1 decryption:
Downgrade per-session decryption errors to warnings, because we try multiple sessions for each decryption and emit a roll-up error at the end.
Remove some accidental double hex-encoding (as in, we were hex-encoding the ASCII hex representation of a slice).
Based on the fuzzing input (provided by cargo-fuzz), this simulates message sends and receives, out-of-order delivery, dropped messages, and session resets, solely to find bugs in happy-path interaction between two clients.
While here, improve the logging of 1:1 decryption:
Downgrade per-session decryption errors to warnings, because we try multiple sessions for each decryption and emit a roll-up error at the end.
Remove some accidental double hex-encoding (as in, we were hex-encoding the ASCII hex representation of a slice).