- Rust 99.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Up to now, the xmpp-rs projects have been very strict about incoming
data. This has served us, as developers of the libraries, well,
uncovering bugs in our and remote implementations which we could then
get fixed.
However, this behaviour is unexpected to users of the library. In the
XMPP world, unexpected child elements and attributes are generally
expected to be ignored. While this could be opted-into previously, the
feature flag for that sounded more dangerous than it was
("disable-validation"). In addition, the tribal knowledge needed to know
about that feature flag may not have reached some people who tried the
library and gave up because of that.
With this change, we make the non-pedantic behaviour the default. For
development and debugging purposes, users can always opt into the
pedantic behaviour as needed, using the newly-introduced `pedantic`
feature flags on all affected crates.
|
||
| .forgejo/workflows | ||
| jid | ||
| minidom | ||
| parsers | ||
| sasl | ||
| tokio-xmpp | ||
| xmpp | ||
| xso | ||
| xso-proc | ||
| .gitea | ||
| .github | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| Cargo.toml | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
| typos.toml | ||
xmpp-rs
What's this?
A set of rust XMPP libraries with the goals of being type-safe and well-tested.
xmppprovides a high-level API for the protocol. You shouldn't need to know about the protocol to use it. Still very much WIP.tokio-xmppis a lower-level library that handles the XMPP stream(s).xmpp-parsersparses XML into Rust and back.minidomis a DOM library quite specific for XMPP.jidis a Jid parsing library.saslhandles the SASL protocol.xsoandxso-procprovide the procedural macros poweringxmpp-parsers.
Community
There is an XMPP MUC for the discussion of these libraries, feel free to join! :)
A Code of Conduct is available as CODE_OF_CONDUCT.md in the repository for the well-being of the community. Please refer to it in case of a possible conflict in any of the xmpp-rs venues (channel, forge, etc.).
Contributing
Thank you for your interest in the project!
Contributing rules are available as CONTRIBUTING.md in the repository.
License
Mozilla Public License 2 (MPL2). See the LICENSE file.
Building
Dependencies should be provided by crates if you use the default features. If
you use tokio-xmpp's tls-native feature you will need an ssl library
(openssl, libressl, etc.).
cargo build
The various features available should be explained in the crates themselves.