diff --git a/parsers/src/stream_features.rs b/parsers/src/stream_features.rs index 7f7f3fb8..930a16b0 100644 --- a/parsers/src/stream_features.rs +++ b/parsers/src/stream_features.rs @@ -9,6 +9,8 @@ use xso::{AsXml, FromXml}; use crate::bind::BindFeature; use crate::ns; +use crate::sasl2::Authentication; +use crate::sasl_cb::SaslChannelBinding; use crate::stream_limits::Limits; /// Wraps ``, usually the very first nonza of a @@ -32,6 +34,14 @@ pub struct StreamFeatures { #[xml(child(default))] pub limits: Option, + /// Extensible SASL Profile, a newer authentication method than the one from the RFC. + #[xml(child(default))] + pub sasl2: Option, + + /// SASL Channel-Binding Type Capability. + #[xml(child(default))] + pub sasl_cb: Option, + /// Other stream features advertised /// /// If some features you use end up here, you may want to contribute @@ -86,7 +96,7 @@ mod tests { assert_size!(SaslMechanisms, 12); assert_size!(RequiredStartTls, 0); assert_size!(StartTls, 1); - assert_size!(StreamFeatures, 40); + assert_size!(StreamFeatures, 92); } #[cfg(target_pointer_width = "64")] @@ -95,7 +105,7 @@ mod tests { assert_size!(SaslMechanisms, 24); assert_size!(RequiredStartTls, 0); assert_size!(StartTls, 1); - assert_size!(StreamFeatures, 64); + assert_size!(StreamFeatures, 168); } #[test]