diff options
Diffstat (limited to 'src/stanza/stream.rs')
-rw-r--r-- | src/stanza/stream.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/stanza/stream.rs b/src/stanza/stream.rs index fecace5..c49a2bc 100644 --- a/src/stanza/stream.rs +++ b/src/stanza/stream.rs @@ -5,13 +5,14 @@ use peanuts::XML_NS; use peanuts::{element::Name, Element}; use tracing::debug; +use crate::stanza::bind; use crate::{Error, JID}; +use super::client; use super::sasl::{self, Mechanisms}; use super::starttls::{self, StartTls}; pub const XMLNS: &str = "http://etherx.jabber.org/streams"; -pub const XMLNS_CLIENT: &str = "jabber:client"; // MUST be qualified by stream namespace // #[derive(XmlSerialize, XmlDeserialize)] @@ -53,7 +54,7 @@ impl IntoElement for Stream { fn builder(&self) -> ElementBuilder { Element::builder("stream", Some(XMLNS.to_string())) .push_namespace_declaration_override(Some("stream"), XMLNS) - .push_namespace_declaration_override(None::<&str>, XMLNS_CLIENT) + .push_namespace_declaration_override(None::<&str>, client::XMLNS) .push_attribute_opt("to", self.to.clone()) .push_attribute_opt("from", self.from.clone()) .push_attribute_opt("id", self.id.clone()) @@ -150,6 +151,10 @@ impl FromElement for Feature { debug!("identified mechanisms"); Ok(Feature::Sasl(Mechanisms::from_element(element)?)) } + (Some(bind::XMLNS), "bind") => { + debug!("identified bind"); + Ok(Feature::Bind) + } _ => { debug!("identified unknown feature"); Ok(Feature::Unknown) |