From 9f4af1625d4fb9c4aefa2836f0e6e787ea934d6c Mon Sep 17 00:00:00 2001 From: xmppftw Date: Sat, 10 Aug 2024 17:39:55 +0200 Subject: [PATCH] Component is now behind insecure-tcp feature flag --- tokio-xmpp/ChangeLog | 4 +++- tokio-xmpp/src/component/mod.rs | 19 ++++--------------- tokio-xmpp/src/connect/starttls.rs | 4 +--- tokio-xmpp/src/lib.rs | 3 +++ 4 files changed, 11 insertions(+), 19 deletions(-) diff --git a/tokio-xmpp/ChangeLog b/tokio-xmpp/ChangeLog index 1b8180be..5d377c4d 100644 --- a/tokio-xmpp/ChangeLog +++ b/tokio-xmpp/ChangeLog @@ -19,10 +19,12 @@ XXXX-YY-ZZ RELEASER - `XmppCodec` was moved to proto module and is now published as `tokio_xmpp::proto::XmppCodec` (!428) - `Component::new` and `Client::new only require jid/password argument (!428) - `ServerConfig` and `Client::new_with_config` have been removed (!428) - - `Component` and `Client` now have `new_plaintext`, `new_starttls` and `new_with_connector` methods with same signature (!428) + - ``Client` now has `new_plaintext`, `new_starttls` and `new_with_connector` method (!428) `new_plaintext` and `new_starttls` take a DnsConfig struct for SRV/DNS resolution strategy, while `new_with_connector` takes anything that implements ServerConnector + - `Component` now has `new_plaintext` and `new_with_connector` constructors, just like `Client` but without StartTLS (!428) - `tokio_xmpp::AsyncClient` has been renamed `tokio_xmpp::Client` (!428) + - `Component` is now gated behind `insecure-tcp` feature flag Version 4.0.0: 2024-07-26 Maxime “pep” Buquet diff --git a/tokio-xmpp/src/component/mod.rs b/tokio-xmpp/src/component/mod.rs index e66e9664..1f801da6 100644 --- a/tokio-xmpp/src/component/mod.rs +++ b/tokio-xmpp/src/component/mod.rs @@ -16,8 +16,6 @@ use crate::Error; #[cfg(any(feature = "starttls", feature = "insecure-tcp"))] use crate::connect::DnsConfig; -#[cfg(feature = "starttls")] -use crate::connect::StartTlsServerConnector; #[cfg(feature = "insecure-tcp")] use crate::connect::TcpServerConnector; @@ -52,20 +50,11 @@ impl Component { } } -#[cfg(feature = "starttls")] -impl Component { - /// Start a new XMPP component over StartTLS - pub async fn new_starttls( - jid: &str, - password: &str, - dns_config: DnsConfig, - ) -> Result { - Self::new_with_connector(jid, password, StartTlsServerConnector::from(dns_config)).await - } -} - impl Component { - /// Start a new XMPP component + /// Start a new XMPP component. + /// + /// Unfortunately [`StartTlsConnector`] is not supported yet. The tracking issue is + /// [#143](https://gitlab.com/xmpp-rs/xmpp-rs/-/issues/143). pub async fn new_with_connector( jid: &str, password: &str, diff --git a/tokio-xmpp/src/connect/starttls.rs b/tokio-xmpp/src/connect/starttls.rs index 93418530..23821f8e 100644 --- a/tokio-xmpp/src/connect/starttls.rs +++ b/tokio-xmpp/src/connect/starttls.rs @@ -40,13 +40,11 @@ use crate::{ connect::{DnsConfig, ServerConnector, ServerConnectorError}, error::{Error, ProtocolError}, proto::{Packet, XmppStream}, - Client, Component, + Client, }; /// Client that connects over StartTls pub type StartTlsClient = Client; -/// Component that connects over StartTls -pub type StartTlsComponent = Component; /// Connect via TCP+StartTLS to an XMPP server #[derive(Debug, Clone)] diff --git a/tokio-xmpp/src/lib.rs b/tokio-xmpp/src/lib.rs index 8f7924de..6a093db9 100644 --- a/tokio-xmpp/src/lib.rs +++ b/tokio-xmpp/src/lib.rs @@ -53,7 +53,10 @@ pub mod connect; pub mod proto; pub use client::async_client::Client; + +#[cfg(feature = "insecure-tcp")] mod component; +#[cfg(feature = "insecure-tcp")] pub use crate::component::Component; /// Detailed error types pub mod error;