From 0a1b291574cb02090f26798e7c322b0db2ce42e7 Mon Sep 17 00:00:00 2001 From: Link Mauve Date: Mon, 28 Jul 2025 15:21:43 +0200 Subject: [PATCH] xmpp-parsers: Remove optional child from sm element When the required child was added and subsequently reverted, it was noted that optional and required were never defined, and only appeared in old XEP-0198 examples. The XEP has been fixed already[1]. This basically reverts 0f0759b2075de7e6d6b98ced9979412da8254913. [1] https://github.com/xsf/xeps/pull/1447 --- parsers/ChangeLog | 1 - parsers/src/sasl2.rs | 2 +- parsers/src/sm.rs | 11 +++-------- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/parsers/ChangeLog b/parsers/ChangeLog index 4cabf6d38486fd904baca83e6c760c436bfcd189..be3076eca1297dd3a0f6915630feb66d29deffb2 100644 --- a/parsers/ChangeLog +++ b/parsers/ChangeLog @@ -108,7 +108,6 @@ XXXX-YY-ZZ RELEASER - Push Notifications (XEP-0357) (!543) - JSON Containers (XEP-0335) (!546) * Improvements: - - Add support for ` in XEP-0198 feature advertisment - Add support application-specific error conditions in XEP-0198 - Keep unsupported vCard elements as `minidom::Element`, so that they get serialized back instead of being dropped. We now also test for diff --git a/parsers/src/sasl2.rs b/parsers/src/sasl2.rs index 2312ca5fa7ece488b833d84b1c9d020e0599d28f..aded5f69abaeb5f5a3152de930e144c11269e61d 100644 --- a/parsers/src/sasl2.rs +++ b/parsers/src/sasl2.rs @@ -269,7 +269,7 @@ mod tests { let inline = auth.inline.unwrap(); assert_eq!(inline.bind2.unwrap().inline_features.len(), 0); - assert_eq!(inline.sm.unwrap(), StreamManagement { optional: false }); + assert_eq!(inline.sm.unwrap(), StreamManagement); assert_eq!(inline.payloads.len(), 0); } diff --git a/parsers/src/sm.rs b/parsers/src/sm.rs index 904bc60f19c9ad62cb218122848d6dd7aecab29d..c15ad01413f050a276261b2815cd1b4e14bd0e56 100644 --- a/parsers/src/sm.rs +++ b/parsers/src/sm.rs @@ -133,15 +133,10 @@ pub struct Resumed { pub previd: StreamId, } -// TODO: add support for optional and required. /// Represents availability of Stream Management in ``. #[derive(FromXml, AsXml, PartialEq, Debug, Clone)] #[xml(namespace = ns::SM, name = "sm")] -pub struct StreamManagement { - /// `` flag. - #[xml(flag)] - pub optional: bool, -} +pub struct StreamManagement; /// Application-specific error condition to use when the peer acknowledges /// more stanzas than the local side has sent. @@ -220,7 +215,7 @@ mod tests { assert_size!(R, 0); assert_size!(Resume, 16); assert_size!(Resumed, 16); - assert_size!(StreamManagement, 1); + assert_size!(StreamManagement, 0); assert_size!(HandledCountTooHigh, 8); } @@ -235,7 +230,7 @@ mod tests { assert_size!(R, 0); assert_size!(Resume, 32); assert_size!(Resumed, 32); - assert_size!(StreamManagement, 1); + assert_size!(StreamManagement, 0); assert_size!(HandledCountTooHigh, 8); }