Jonas Schäfer
b931af3c25
parsers: provide stub FromXml/AsXml implementations on Iq
2024-08-12 12:32:12 +02:00
xmppftw
e153468117
Link is link, remove doc warning
2024-08-11 17:22:31 +00:00
Jonas Schäfer
cbc4648b3c
parsers: port SASL over to derive macros
...
You may note that I removed the `exhaustive` flag on the
DefinedCondition enum. This is because other elements in the same
namespace may occur as siblings of that enum, hence using `exhaustive`
may cause incorrect parse errors.
(If parsing attempts to process the `<text/>` child as DefinedCondition
first, DefinedCondition will return a fatal parser error if it is set as
exhaustive because no condition matches `text`.)
2024-08-11 07:58:13 +02:00
Jonas Schäfer
1ecb95881c
xso: add support for extracting tuples
2024-08-11 07:58:12 +02:00
Jonas Schäfer
2ff81b3923
xso: add support for fallible parsing and serialisation
2024-08-11 07:45:05 +02:00
Emmanuel Gil Peyrot
d706b318c3
xmpp-parsers: Remove the generate_element!() macro
...
The last users have now been converted to xso.
2024-08-09 16:08:26 +02:00
Emmanuel Gil Peyrot
4f81411410
xmpp-parsers: Convert Jingle to xso
2024-08-09 16:08:26 +02:00
Emmanuel Gil Peyrot
cb2c4133fe
xmpp-parsers: Convert Forwarded to xso
2024-08-09 16:08:26 +02:00
Emmanuel Gil Peyrot
6b167ed677
xmpp-parsers: Convert disco#info identity to xso
2024-08-09 16:08:26 +02:00
Emmanuel Gil Peyrot
2690e62060
xmpp-parsers: Convert roster item to xso
2024-08-09 16:08:26 +02:00
Emmanuel Gil Peyrot
d4f6812386
xmpp-parsers: Convert cert_management to xso
...
This introduces a breaking change by moving from a bool to an
Option<NoCertManagement>, which will be reverted eventually once we add
support for #[xml(flag)] types of children.
2024-08-09 16:08:26 +02:00
Jonas Schäfer
fb80bb7532
xso: add support for dynamic enums
2024-08-08 15:25:40 +00:00
Emmanuel Gil Peyrot
8e16ae1cbb
xmpp-parsers: Integrate sasl2 and sasl_cb into stream:features
2024-08-08 13:52:01 +00:00
Emmanuel Gil Peyrot
7238ebc35e
xmpp-parsers: Integrate bind2 and sm into sasl2
2024-08-08 13:52:01 +00:00
Emmanuel Gil Peyrot
27e4499153
xmpp-parsers: Simplify SASL mechanisms type
...
These can be a simple String for now.
2024-08-08 13:52:01 +00:00
Emmanuel Gil Peyrot
d8e08df464
xmpp-parsers: Implement XEP-0478: Stream Limits Advertisement
...
This allows servers to communicate their maximum stanza limit, as well
as idle time limit.
2024-08-07 20:59:30 +02:00
Emmanuel Gil Peyrot
3f61050944
xmpp-parsers: Implement XEP-0388: Extensible SASL Profile
2024-08-06 16:36:11 +02:00
Emmanuel Gil Peyrot
de2ba97f79
xmpp-parsers: Implement XEP-0440: SASL Channel-Binding Type Capability
2024-08-06 16:36:10 +02:00
Emmanuel Gil Peyrot
f16fb6a6ef
xmpp-parsers: Convert the remaining bind2 elements to xso
2024-08-06 16:36:10 +02:00
Emmanuel Gil Peyrot
f0f4299b02
xmpp-parsers: Parse the bind feature in its module, with required
...
This is different from the bind query or the bind response, despite all
three having the same element namespace and name… Annoying!
2024-08-06 16:14:42 +02:00
xmppftw
8aca413fc3
Collect unknown stream features in StreamFeatures.others
2024-08-05 21:38:29 +02:00
Jonas Schäfer
fda4a9ff29
xso: implement transparent structs
2024-08-05 15:13:39 +00:00
Emmanuel Gil Peyrot
fea915daf1
xmpp-parsers: Make MAM metadata children pub
...
This had been forgotten when I converted it to xso.
2024-08-05 15:02:25 +00:00
Emmanuel Gil Peyrot
e1da3410ba
xmpp-parsers: Convert MAM prefs to xso
2024-08-05 15:02:25 +00:00
Emmanuel Gil Peyrot
0d3e73ec74
xmpp-parsers: Convert bind2 to xso
2024-08-05 15:02:25 +00:00
Emmanuel Gil Peyrot
f37b7b4dfd
xmpp-parsers: Convert bind to xso
2024-08-05 15:02:25 +00:00
Emmanuel Gil Peyrot
2df243966f
xmpp-parsers: Convert blocking to xso
2024-08-05 15:02:25 +00:00
Emmanuel Gil Peyrot
ce0f3bec0e
xmpp-parsers: Convert DataForms validation to xso
2024-08-05 15:02:25 +00:00
Emmanuel Gil Peyrot
95d08e3c1e
xmpp-parsers: Simplify RTT implementation using more xso
...
Especially exhaustive enums are super useful for this kind of pattern.
2024-08-05 15:02:25 +00:00
Emmanuel Gil Peyrot
f049e3626b
xmpp-parsers: Convert OOB to xso
2024-08-05 15:02:25 +00:00
Emmanuel Gil Peyrot
79e224a02a
xmpp-parsers: Convert bookmarks to xso
2024-08-05 15:02:25 +00:00
Emmanuel Gil Peyrot
9e9186ef7b
xmpp-parsers: Convert MUC to xso
2024-08-05 15:02:25 +00:00
Emmanuel Gil Peyrot
57c2eeadfc
xmpp-parsers: Convert Jingle RTP to xso
2024-08-05 15:02:25 +00:00
Emmanuel Gil Peyrot
4e2af36186
xmpp-parsers: Implement FromXmlText and AsXmlText for default types
...
This allows such default type wrappers to be used in other xso elements.
2024-08-05 15:02:25 +00:00
Jonas Schäfer
0361b5905b
xso: implement catch-all for unknown elements
2024-08-05 15:33:57 +02:00
xmppftw
fa99c09585
Indicate which feature flag for each module/type
2024-08-05 11:14:41 +02:00
xmppftw
aa26d98e2a
Check attr="" parse to Some("") in Option<String>
2024-08-05 05:49:14 +00:00
Jonas Schäfer
f466b18622
parsers: port version to derive macros
...
We can *finally* do it!
2024-08-04 16:07:14 +02:00
Jonas Schäfer
c7c180feb6
xso: implement support for defaulting extracts
2024-08-04 16:07:14 +02:00
Emmanuel Gil Peyrot
aa518fd6c1
xso-proc: add support for extracting attributes into collections
2024-08-04 13:38:52 +02:00
Jonas Schäfer
8732ca9a28
xso: add support for extracting into collections
2024-08-03 18:19:31 +02:00
Emmanuel Gil Peyrot
7ab375fad7
xmpp-parsers: Convert ext disco and Jingle ICE-UDP to xso
2024-08-03 15:48:50 +02:00
Jonas Schäfer
df63c2a78f
xso: allow omission of namespace and name on extracts
...
This is a quality-of-life improvement, as it may save lots of typing in
the common case (see the diff in parsers).
2024-08-03 15:25:46 +02:00
Emmanuel Gil Peyrot
48855843d4
xmpp-parsers: Convert some more elements to xso
2024-08-03 13:21:51 +00:00
Jonas Schäfer
1e0bccc504
parsers: port extracts over to derive macros
2024-08-03 15:17:30 +02:00
Jonas Schäfer
2c5f1f096b
xso: implement support for extracting data from child elements
2024-08-03 15:17:30 +02:00
Jonas Schäfer
6440209f95
xso: reject duplicate children
...
This was an oversight. Even though we apparently don't have tests for
this anywhere, it is what the old functional macros do.
2024-08-03 11:58:19 +00:00
Jonas Schäfer
2b346c4e87
parsers: port more things to derive macros
2024-08-03 13:05:37 +02:00
Jonas Schäfer
93ba2797be
xso-proc: implement support for collections of children
2024-08-03 12:20:04 +02:00
Jonas Schäfer
5c3ed1435f
parsers: delete now-unused generate_element_enum macro
2024-08-03 12:19:42 +02:00