rustls 0.22 adds support for alternate crypto providers; 0.23 defaults to aws_lc_rs. The tls feature now pulls in NO crypto providers, but expects a process-default crypto provider to be set before doing TLS. The crypto feature pulls in ring and adds it as a provider for rustls, as we'll be using ring anyway for fancier SASL auths. Due to the 78-column limit being cumbersome on Cargo.toml, it has been restricted to only apply to markdown files.
1.8 KiB
vinezombie
Vinezombie is a library for writing IRC software. For a basic overview, see its README on Github or sr.ht.
Vinezombie is very modular. The flexibility it offers comes at the expense of a steeper learning curve. The examples may be useful in learning how to use this library.
Optional Features
Vinezombie has no mandatory dependencies besides std.
The default feature set is chosen to be enough to write IRC bots,
and includes the following:
base64: Required for SASL. Adds base64 encoding/decoding.client: Adds utilities for building client-side IRC software.crypto: Addsring-based cryptography, required for some SASL authenticators. Also addsringas a crypto provider to rustls iftlsis enabled.tls: Adds utilities for working with rustls. Does NOT pull in any crypto providers.tls-tokio: Impliestlsandtokio. Adds support for asynchronous TLS connections.tokio: Adds functions for Tokio-based I/O.
The following optional features are also available:
serde: Adds implementations ofSerialize+Deserializefor certain types.tracing: Adds logging to a few locations in the library. If your application useslog, this explains how to getlogevents from this library.whoami: Enables functions for creating strings from local user info.
Features
Vinezombie includes parsers for IRCv3 messages and their components
which can be found in [ircmsg][crate::ircmsg].
If you are writing client-side software,
the [client][crate::client] module includes an assortment of utilities
that may be useful while remaining close to the raw IRC protocol,
including a rudimentary event-handling system.