Add dns feature for DNS stuff (not just in starttls)

This commit is contained in:
xmppftw xmppftw 2024-08-05 15:09:59 +02:00
commit 97698b4d1e
8 changed files with 145 additions and 96 deletions

View file

@ -10,9 +10,11 @@ use super::connect::client_login;
use crate::connect::{AsyncReadAndWrite, ServerConnector};
use crate::error::{Error, ProtocolError};
use crate::event::Event;
#[cfg(feature = "starttls")]
use crate::starttls::ServerConfig;
use crate::xmpp_codec::Packet;
use crate::xmpp_stream::{add_stanza_id, XMPPStream};
#[cfg(feature = "starttls")]
use crate::AsyncConfig;
/// XMPP client connection and state
@ -46,6 +48,7 @@ enum ClientState<S: AsyncReadAndWrite> {
Connected(XMPPStream<S>),
}
#[cfg(feature = "starttls")]
impl Client<ServerConfig> {
/// Start a new XMPP client using StartTLS transport and autoreconnect
///

View file

@ -1,12 +1,14 @@
use futures::{sink::SinkExt, Sink, Stream};
use minidom::Element;
use std::pin::Pin;
#[cfg(feature = "starttls")]
use std::str::FromStr;
use std::task::{Context, Poll};
use tokio_stream::StreamExt;
use xmpp_parsers::{jid::Jid, ns, stream_features::StreamFeatures};
use crate::connect::ServerConnector;
#[cfg(feature = "starttls")]
use crate::starttls::ServerConfig;
use crate::xmpp_codec::Packet;
use crate::xmpp_stream::{add_stanza_id, XMPPStream};
@ -22,6 +24,7 @@ pub struct Client<C: ServerConnector> {
stream: XMPPStream<C::Stream>,
}
#[cfg(feature = "starttls")]
impl Client<ServerConfig> {
/// Start a new XMPP client and wait for a usable session
pub async fn new<P: Into<String>>(jid: &str, password: P) -> Result<Self, Error> {