mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-05-02 06:02:20 +00:00
* [multistream-select] Listener conformity for failed negotiations. When `V1Lazy` is used and the listener does not support the optimistic (and singular) proposal of the dialer, it currently happens that dialer and listener get a different outcome of the negotiation. The dialer eventually detects the failed negotiation as soon as it tries to read from the stream, but the listener either encounters an invalid message or unexpected premature EOF, depending on the payload that the dialer sent prematurely after its protocol proposal. In these cases the listener must be lenient and fail the negotiation "normally", i.e. not with a protocol violation or an I/O error. * Update misc/multistream-select/src/tests.rs Co-authored-by: Max Inden <mail@max-inden.de> * Refine error handling. Only be lenient with garbage or sudden EOF when reading just after having sent a protocol rejection. * Update misc/multistream-select/src/listener_select.rs Co-authored-by: Max Inden <mail@max-inden.de> Co-authored-by: Max Inden <mail@max-inden.de>