Jonas Schäfer
c01eb090b8
xso-proc: improve error messages on cast mismatch for extracts
...
The old error message was pointing at the `FromXml` / `AsXml` invocation
and not on the field which actually caused the problem. The new error
message points exactly at the type of the affected field.
2024-08-31 10:50:44 +02:00
Jonas Schäfer
51884eedf7
Fix missing copyright header
2024-08-30 15:40:32 +02:00
Jonas Schäfer
c85c98b0bf
xmlstream: improve responder-side of stream resets
...
This makes the stream resets a lot safer, by preventing the forbidden
send-read-reset combination of events: the reset function on the
responder side now takes the element to send right before the reset,
enforcing a send-reset pattern.
2024-08-29 16:47:13 +02:00
Jonas Schäfer
ab10e30ac0
Port crates to use new XSO-based xmlstream
2024-08-29 16:47:13 +02:00
Jonas Schäfer
7cfda820a6
xmlstream: introduce XMPP specifics
2024-08-29 16:43:20 +02:00
Jonas Schäfer
2c944ebbf8
xmlstream: add access to inner stream
2024-08-29 16:43:06 +02:00
Jonas Schäfer
2931df22db
xmlstream: split initiation reset in two phases
2024-08-29 16:43:00 +02:00
Jonas Schäfer
c723897326
tokio_xmpp: introduce xmlstream module
...
This module provides XSO-based parsing, proper typestates and will
soon replace the proto module.
2024-08-29 16:42:57 +02:00
schnell
274baaef9a
add support for local trust store for rustls
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2024-08-22 15:38:39 +02:00
Jonas Schäfer
f77c21f0fc
Update to rxml 0.12.0
2024-08-12 16:16:32 +02:00
xmppftw
cc3400bac7
Reorganize component modules
2024-08-12 10:59:20 +00:00
xmppftw
e6863bd9dd
Reorganized client modules
2024-08-12 10:59:20 +00:00
xmppftw
46dc30c045
Deny doc warnings in Gitlab CI
...
Github/Gitea/Forgejo CI not affected because it doesnt build docs yet
2024-08-12 10:47:23 +00:00
xmppftw
df106dfbaf
Relative dependencies
2024-08-12 10:39:09 +00:00
Jonas Schäfer
54e1a98cde
parsers: add starttls XSOs
2024-08-12 12:35:26 +02:00
Jonas Schäfer
3c78310272
parsers: add umbrella enum for SASL elements
...
This is useful if, for example during stream negotiation, you want to
parse SASL elements and nothing else. It is also useful if you want to
write down an enum of all XMPP-related stream-level elements you accept
and don't want to loose your fingers typing all the SASL options.
2024-08-12 12:32:12 +02:00
Jonas Schäfer
fc68a57757
parsers: provide stub FromXml/AsXml implementations on Presence
2024-08-12 12:32:12 +02:00
Jonas Schäfer
b931af3c25
parsers: provide stub FromXml/AsXml implementations on Iq
2024-08-12 12:32:12 +02:00
Jonas Schäfer
5c990a553c
xso: enable rxml macros when enabling xso_proc
...
We build syn then anyway, so we can build rxml macros, too.
2024-08-12 12:32:12 +02:00
Jonas Schäfer
6b4886857e
xso: offer is_xml_whitespace
function
2024-08-12 12:32:12 +02:00
xmppftw
c63b554e9e
Fix broken link
2024-08-11 20:06:39 +02:00
xmppftw
38baf53de5
Absolute document link
2024-08-11 17:42:58 +00: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
ad2c79cbe7
xso: document some specific trait implementations
2024-08-11 07:45:05 +02:00
Jonas Schäfer
2ff81b3923
xso: add support for fallible parsing and serialisation
2024-08-11 07:45:05 +02:00
Jonas Schäfer
02a928a47c
xso: add some tests
2024-08-11 07:45:05 +02:00
Jonas Schäfer
f1ab857c6e
xso: move helper iterators and builders into separate module
...
This declutters the main `xso` namespace. In addition, if (when) we
introduce more complex generic implementations, we might want to have
tests for these, and those can then live there, too, without making the
main `lib.rs` file gigantic (or moving the tests too far away from the
tested code).
2024-08-11 07:45:05 +02:00
xmppftw
9f4af1625d
Component is now behind insecure-tcp feature flag
2024-08-10 18:09:12 +02:00
xmppftw
16a78d3bb5
More documentation for tokio_xmpp
2024-08-10 16:57:51 +02:00
xmppftw
0b58561003
Rename AsyncClient to Client
2024-08-10 16:57:51 +02:00
xmppftw
311e7406f0
Make Client and Component more unified, and connectors too
2024-08-10 16:57:49 +02:00
xmppftw
fde4c2b640
Move XmppCodec and XmppStream to proto module
2024-08-10 16:49:26 +02:00
xmppftw
ec3c7694a7
Moved starttls connector to tokio_xmpp::connect::starttls module
2024-08-10 16:49:26 +02:00
xmppftw
9151461b10
TCP connector is now in connect module
2024-08-10 16:49:26 +02:00
xmppftw
a3fbd77050
Remove tokio_xmpp::SimpleClient
2024-08-10 16:49:24 +02:00
xmppftw
97698b4d1e
Add dns
feature for DNS stuff (not just in starttls)
2024-08-10 16:48:47 +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
230b72b052
xso: add ToC to FromXml docs
2024-08-08 15:25:40 +00:00
Jonas Schäfer
fb80bb7532
xso: add support for dynamic enums
2024-08-08 15:25:40 +00:00
Jonas Schäfer
b36d1d0d4c
xso-proc: refactor enum handling
...
This will allow other kinds of enumerations in the future more
easily.
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