1b63585
parsers: clippy run
Click to expand commit body
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Maxime “pep” Buquet created
1b63585
parsers: clippy run
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Maxime “pep” Buquet created
4c2fac0
jid: clippy run
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Maxime “pep” Buquet created
4994ac2
xso-proc: clippy run
Caught a bug hidden behind #[cfg(not(feature = "minidom"))] Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Maxime “pep” Buquet created
5b62672
xso: clippy run
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Maxime “pep” Buquet created
2555bed
CI: add .show-version block in docs job
skip-changelog Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Maxime “pep” Buquet created
a1247a0
parsers: Add support for XEP-0335: JSON Containers
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Maxime “pep” Buquet created
ab7e6de
xso: Add support for serde_json::Value
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Maxime “pep” Buquet created
4780f89
xmpp: new Agent::new method
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Maxime “pep” Buquet created
5ae3854
xmpp: Shorten the default caps node to our main domain
We do own xmpp.rs, so let’s use that instead of gitlab.com.
Link Mauve created
84c4b57
parsers: port stanza_error over to derive macros
Jonas Schäfer created
b05ee02
xso: add support for selectively discarding text and attributes
Jonas Schäfer created
fd97f9f
fix presence serialization name
R T created
7faa6dc
parsers: port time over to derive macros
Jonas Schäfer created
d203a34
minidom: Make the whole crate almost no_std
Only std::io is still missing, maybe we should consider using a crate implementing its API on top of no_std?
Emmanuel Gil Peyrot created
8e375ae
minidom: Specify XML subset restrictions in readme
skip-changelog: It's just a readme
Colin Kinloch created
af14717
minidom: Fix most issues reported by clippy
This improves some of our internals. skip-changelog: These changes are purely internal.
Emmanuel Gil Peyrot created
932575c
xmpp_parsers: Add Push Notifications (XEP-0357)
Add support for Push Notification parsing according to https://xmpp.org/extensions/xep-0357.html version 0.4.1.
Saarko created
9f9eaba
jid: Bump version to 0.12.0 and release it!
Emmanuel Gil Peyrot created
cffef5d
jid: Update ChangeLog
Emmanuel Gil Peyrot created
ca241fa
PrintRawXml: Add changelog entry
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Maxime “pep” Buquet created
947d84c
parsers: add xso test module
Separate from the macro_tests module because it doesn't actually test macros, it uses it as a convenience. Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Maxime “pep” Buquet created
b89d3ab
xso: Add PrintRawXml helper struct with Display
Add a helper struct to be able to display Raw Xml, useful for debug logs. Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Maxime “pep” Buquet created
356ad0d
xso: Fix all failing clippy tests
They are all sensible to me. skip-changelog: Internal changes.
Emmanuel Gil Peyrot created
5cbe593
xmpp-parsers: Use xso for pubsub owner
Also merge its direct children into its enum fields.
Emmanuel Gil Peyrot created
26dd6a2
minidom: Remove unused lifetimes
These can be elided just fine. skip-changelog: This is purely internal change.
Emmanuel Gil Peyrot created
205857e
xmpp-parsers: Remove MIX support
This protocol has failed to gain any traction in the XMPP ecosystem and is actively being replaced with better alternatives based on MUC.
Emmanuel Gil Peyrot created
e7395b7
xmpp-parsers: Add a lang property to Presence
This is a workaround for rxml not handling @xml:lang properly yet.
Emmanuel Gil Peyrot created
7e260dd
jid: Simplify *Part parsing
Reuse the main JID parsing blocks for the separate parts.
Emmanuel Gil Peyrot created
bd17a2f
jid: Move node and resource validation to functions
This simplifies the flow of the checks.
Emmanuel Gil Peyrot created
2a2f532
jid: Validate domains against idna
The idna crate validates against UTS 46, which supports domains using either IDNA2003 or IDNA2008. This allows us to support both old and new internationalized domain names. This dependency isn’t a new one in the tree, as hickory-proto, url and tokio-xmpp all were already depending on it. There are a bunch of other checks that have to be performed, this is inspired by slixmpp’s JID implementation.
Emmanuel Gil Peyrot created
f5f35ea
jid: Test for too many @ before the resourcepart
This additionally should optimize the parsing a tiny bit by looking for both @ and / at the same time and iterating on them, instead of one by one. Thanks nicoco for the report!
Emmanuel Gil Peyrot created
772a326
xmpp-parsers: Add missing size tests for MUC
skip-changelog: This is just about testing.
Emmanuel Gil Peyrot created
c497967
xmpp-parsers: Reduce component handshake allocations
This function always appends to an existing string, so by passing it a String directly we can avoid superfluous allocations. Also tokio-xmpp was doing a bunch of &str to String for no reason around there, let’s remove that too.
Emmanuel Gil Peyrot created
b8f6403
tokio-xmpp: Fix build on insecure-tcp
insecure-tcp requires the io-util feature of tokio, so let’s enable it
there.
Fixes this error:
5 | use tokio::{io::BufStream, net::TcpStream};
| ^^^^^^^^^^^^^ no `BufStream` in `io`
Emmanuel Gil Peyrot created
4148e9d
xso-proc: hide generated FromXml / AsXml types
They really clutter the documentation, because they show up in the module's index. Downside is that users can't inspect the documentation of those types anymore, but it's not useful anyway: the parts are private and they just impl some traits.
Jonas Schäfer created
fa61f42
xmpp-parsers: Use xso for pubsub events
Also split the PubSubEvent enum into Event and Payload.
Emmanuel Gil Peyrot created
543d9eb
xmpp-parsers: Convert http_upload::Header to xso
We can’t use generate_attribute!() for HeaderName because it has to be case insensitive.
Emmanuel Gil Peyrot created
40808b8
xmpp-parsers: Add missing size tests for http_upload
Emmanuel Gil Peyrot created
c245b3f
xmpp-parsers: Simplify SubscribeOptions using #[xml(flag)]
skip-changelog: This is not a user-visible change.
Emmanuel Gil Peyrot created
d092b6a
xmpp-parsers: Convert mam::Query to xso
skip-changelog: This is not a user-visible change.
Emmanuel Gil Peyrot created
f63b780
xmpp-parsers: Simplify PubSub Item using xso
Now that we can have a single arbitrary payload, we can derive FromXml and AsXml on the Item.
Emmanuel Gil Peyrot created
1823afb
xso-proc: Add the default flag to the element meta
This allows the payload to be absent, and requires the field type to be Option<minidom::Element>.
Emmanuel Gil Peyrot created
c72cf3d
xso-proc: Add n = 1 flag to element meta
This allows exactly one arbitrary payload in any element, and is handled after every other element with a more specific matcher has been parsed. Both the #[xml(element(n = 1))] meta and its shortcut #[xml(element)] are allowed and treated the exact same way.
Emmanuel Gil Peyrot created
057306f
ci: use shallow fetch
No need to fetch the entire history. The merge base is likely within the last couple commits because we require it to be so anyway, because the repo requires fast-forward merges currently. skip-changelog, because this doesn't touch library code.
Jonas Schäfer created
6bed0f2
ci: ensure that main branch is fetched for changelog check job
skip-changelog, as this doesn't touch library code.
Jonas Schäfer created
8a4d548
tokio_xmpp: implement IQ tracking
Jonas Schäfer created
ef9d0a9
tokio_xmpp: improve Client docs
skip-changelog, to not add doc improvement noise.
Jonas Schäfer created
beae4ae
xso: fix no_std support
This reverts the Revert in 6ec275d3 which had to be done in order to un-break usage of xso in std crates.
Jonas Schäfer created
bf12acc
xso-proc: improve NestedMatcher documentation
skip-changelog
Jonas Schäfer created
7953524
xmpp-parsers: Remove two now-unused get_attr!() variants
OptionEmpty and RequiredNonEmpty were long gone. skip-changelog, because this is internal API only.
Emmanuel Gil Peyrot created