aboutsummaryrefslogtreecommitdiffstats
path: root/src/stanza/stream.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/stanza/stream.rs')
-rw-r--r--src/stanza/stream.rs9
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)