You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello,
I'd like to suggest the removal of ring as a dependency all-together. That also includes rustls and webpki. (rustls is used by the websocket transport)
Why:
Because I don't see a point in using that one vs others when it mostly is a wrapper to Assembly code:
There is no portable fallback for crypto primitives, which means it wont compile on less common platforms, at the mercy of the problematic maintainer.
The build system of ring is really a mess.
I suggest using the openssl crate instead. That supports both OpenSSL and LibreSSL and any other library that offers an openssl-compatible interface. Or individual crates that implement the primitives needed by libp2p such as: https://github.com/RustCrypto -- but I don't think they're that mature yet.
I started porting libp2p crates to openssl but it seems that ring types are exposed in public interfaces, so that would be a breaking change. Also, usage of ring really doesnt seem contained, so it's not so trivial to do so either.
Hello,
I'd like to suggest the removal of
ringas a dependency all-together. That also includes rustls and webpki. (rustls is used by the websocket transport)Why:
ringis really a mess.I suggest using the
opensslcrate instead. That supports both OpenSSL and LibreSSL and any other library that offers an openssl-compatible interface. Or individual crates that implement the primitives needed bylibp2psuch as: https://github.com/RustCrypto -- but I don't think they're that mature yet.I started porting
libp2pcrates toopensslbut it seems thatringtypes are exposed in public interfaces, so that would be a breaking change. Also, usage ofringreally doesnt seem contained, so it's not so trivial to do so either.