xmpp-parsers: Remove optional child from sm element

Link Mauve created

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

Change summary

parsers/ChangeLog    |  1 -
parsers/src/sasl2.rs |  2 +-
parsers/src/sm.rs    | 11 +++--------
3 files changed, 4 insertions(+), 10 deletions(-)

Detailed changes

parsers/ChangeLog 🔗

@@ -108,7 +108,6 @@ XXXX-YY-ZZ RELEASER <admin@example.com>
       - Push Notifications (XEP-0357) (!543)
       - JSON Containers (XEP-0335) (!546)
     * Improvements:
-      - Add support for `<optional/> 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

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);
     }
 

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 `<stream:features/>`.
 #[derive(FromXml, AsXml, PartialEq, Debug, Clone)]
 #[xml(namespace = ns::SM, name = "sm")]
-pub struct StreamManagement {
-    /// `<optional/>` 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);
     }