tokio-xmpp: explicitly set default CryptoProvider in all examples

This way, we don't end up with breakage if rustls is built with more
than one provider enabled. This can (and does) happen if a transitive
dependency (such as reqwest *hinthint*) depends on a specific,
non-default rustls backend.
This commit is contained in:
Jonas Schäfer 2025-05-10 09:25:28 +02:00
commit 025e09aca6
6 changed files with 36 additions and 4 deletions

View file

@ -2,7 +2,7 @@ use futures::stream::StreamExt;
use std::env::args;
use std::process::exit;
use std::str::FromStr;
use tokio_xmpp::{Client, IqRequest, IqResponse};
use tokio_xmpp::{rustls, Client, IqRequest, IqResponse};
use xmpp_parsers::{
disco::{DiscoInfoQuery, DiscoInfoResult},
jid::{BareJid, Jid},
@ -14,6 +14,11 @@ use xmpp_parsers::{
async fn main() {
env_logger::init();
#[cfg(feature = "tls-rust")]
rustls::crypto::aws_lc_rs::default_provider()
.install_default()
.expect("failed to install rustls crypto provider");
let args: Vec<String> = args().collect();
if args.len() != 4 {
println!("Usage: {} <jid> <password> <target>", args[0]);

View file

@ -4,7 +4,7 @@ use std::fs::{create_dir_all, File};
use std::io::{self, Write};
use std::process::exit;
use std::str::FromStr;
use tokio_xmpp::{Client, Stanza};
use tokio_xmpp::{rustls, Client, Stanza};
use xmpp_parsers::{
avatar::{Data as AvatarData, Metadata as AvatarMetadata},
caps::{compute_disco, hash_caps, Caps},
@ -26,6 +26,11 @@ use xmpp_parsers::{
async fn main() {
env_logger::init();
#[cfg(feature = "tls-rust")]
rustls::crypto::aws_lc_rs::default_provider()
.install_default()
.expect("failed to install rustls crypto provider");
let args: Vec<String> = args().collect();
if args.len() != 3 {
println!("Usage: {} <jid> <password>", args[0]);

View file

@ -2,7 +2,7 @@ use futures::stream::StreamExt;
use std::env::args;
use std::process::exit;
use std::str::FromStr;
use tokio_xmpp::Client;
use tokio_xmpp::{rustls, Client};
use xmpp_parsers::jid::{BareJid, Jid};
use xmpp_parsers::message::{Lang, Message, MessageType};
use xmpp_parsers::presence::{Presence, Show as PresenceShow, Type as PresenceType};
@ -11,6 +11,11 @@ use xmpp_parsers::presence::{Presence, Show as PresenceShow, Type as PresenceTyp
async fn main() {
env_logger::init();
#[cfg(feature = "tls-rust")]
rustls::crypto::aws_lc_rs::default_provider()
.install_default()
.expect("failed to install rustls crypto provider");
let args: Vec<String> = args().collect();
if args.len() != 3 {
println!("Usage: {} <jid> <password>", args[0]);

View file

@ -6,12 +6,17 @@ use xmpp_parsers::jid::Jid;
use xmpp_parsers::message::{Lang, Message, MessageType};
use xmpp_parsers::presence::{Presence, Show as PresenceShow, Type as PresenceType};
use tokio_xmpp::{connect::DnsConfig, Component};
use tokio_xmpp::{connect::DnsConfig, rustls, Component};
#[tokio::main]
async fn main() {
env_logger::init();
#[cfg(feature = "tls-rust")]
rustls::crypto::aws_lc_rs::default_provider()
.install_default()
.expect("failed to install rustls crypto provider");
let args: Vec<String> = args().collect();
if args.len() < 3 || args.len() > 4 {
println!("Usage: {} <jid> <password> [server:port]", args[0]);

View file

@ -4,11 +4,17 @@ use tokio::{self, io, net::TcpSocket};
use tokio_xmpp::{
minidom::Element,
parsers::stream_features::StreamFeatures,
rustls,
xmlstream::{accept_stream, StreamHeader, Timeouts},
};
#[tokio::main]
async fn main() -> Result<(), io::Error> {
#[cfg(feature = "tls-rust")]
rustls::crypto::aws_lc_rs::default_provider()
.install_default()
.expect("failed to install rustls crypto provider");
// TCP socket
let address = "127.0.0.1:5222".parse().unwrap();
let socket = TcpSocket::new_v4()?;

View file

@ -26,6 +26,7 @@ use tokio_xmpp::{
jid::{BareJid, Jid},
ping,
},
rustls,
stanzastream::StanzaStream,
xmlstream::Timeouts,
};
@ -34,6 +35,11 @@ use tokio_xmpp::{
async fn main() {
env_logger::init();
#[cfg(feature = "tls-rust")]
rustls::crypto::aws_lc_rs::default_provider()
.install_default()
.expect("failed to install rustls crypto provider");
let args: Vec<String> = args().collect();
if args.len() != 3 {
println!("Usage: {} <jid> <password>", args[0]);