2017-06-02 00:42:57 +02:00
|
|
|
[package]
|
|
|
|
|
name = "tokio-xmpp"
|
2026-06-10 17:48:26 +02:00
|
|
|
version = "6.0.0"
|
2021-01-13 17:21:49 +01:00
|
|
|
authors = ["Astro <astro@spaceboyz.net>", "Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>", "pep <pep+code@bouah.net>", "O01eg <o01eg@yandex.ru>", "SonnyX <randy@vonderweide.nl>", "Paul Fariello <paul@fariello.eu>"]
|
2018-08-01 00:28:24 +02:00
|
|
|
description = "Asynchronous XMPP for Rust with tokio"
|
|
|
|
|
license = "MPL-2.0"
|
2019-10-20 01:04:22 +02:00
|
|
|
homepage = "https://gitlab.com/xmpp-rs/xmpp-rs"
|
|
|
|
|
repository = "https://gitlab.com/xmpp-rs/xmpp-rs"
|
2018-08-01 00:28:24 +02:00
|
|
|
documentation = "https://docs.rs/tokio-xmpp"
|
2018-08-03 01:16:42 +02:00
|
|
|
categories = ["asynchronous", "network-programming"]
|
|
|
|
|
keywords = ["xmpp", "tokio"]
|
2023-11-11 14:52:55 +01:00
|
|
|
edition = "2021"
|
2017-06-02 00:42:57 +02:00
|
|
|
|
|
|
|
|
[dependencies]
|
2020-12-04 17:33:55 +01:00
|
|
|
bytes = "1"
|
2020-03-05 01:25:24 +01:00
|
|
|
futures = "0.3"
|
2019-12-09 03:34:28 +01:00
|
|
|
log = "0.4"
|
2025-05-10 10:45:43 +02:00
|
|
|
tokio = { version = "1", features = ["net", "rt", "rt-multi-thread", "macros", "io-util"] }
|
2025-01-26 11:10:44 +01:00
|
|
|
tokio-stream = { version = "0.1", features = ["sync"] }
|
2025-07-28 15:06:01 +02:00
|
|
|
webpki-roots = { version = "1", optional = true }
|
|
|
|
|
rustls-native-certs = { version = "0.8", optional = true }
|
2025-09-28 09:40:44 +02:00
|
|
|
rxml = { version = "0.14.0", features = ["compact_str", "tokio"] }
|
2026-05-17 20:38:20 +02:00
|
|
|
rand = "0.10"
|
2023-06-18 14:21:49 +02:00
|
|
|
syntect = { version = "5", optional = true }
|
2024-08-07 15:52:55 +02:00
|
|
|
pin-project-lite = { version = "0.2" }
|
2025-10-12 00:31:48 +02:00
|
|
|
thiserror = "2.0"
|
2023-12-18 13:06:22 +01:00
|
|
|
# same repository dependencies
|
2024-08-12 10:16:15 +02:00
|
|
|
sasl = { version = "0.5", path = "../sasl" }
|
2026-06-10 17:48:26 +02:00
|
|
|
xmpp-parsers = { version = "0.23", path = "../parsers", features = [ "log" ] }
|
|
|
|
|
xso = { version = "0.4", path = "../xso" }
|
2020-04-30 23:19:06 +02:00
|
|
|
|
2023-12-30 22:08:37 -05:00
|
|
|
# these are only needed for starttls ServerConnector support
|
2026-05-14 20:45:37 +02:00
|
|
|
hickory-resolver = { version = "0.26", optional = true}
|
2024-07-25 20:51:20 +02:00
|
|
|
idna = { version = "1.0", optional = true}
|
2023-12-30 22:08:37 -05:00
|
|
|
native-tls = { version = "0.2", optional = true }
|
|
|
|
|
tokio-native-tls = { version = "0.3", optional = true }
|
2025-05-10 09:54:01 +02:00
|
|
|
tokio-rustls = { version = "0.26", optional = true, default-features = false, features = ["logging", "tls12"] }
|
2024-09-11 20:34:38 +02:00
|
|
|
ktls = { version = "6", optional = true }
|
2023-12-30 22:08:37 -05:00
|
|
|
|
2023-06-05 13:06:52 +02:00
|
|
|
[dev-dependencies]
|
2024-04-25 21:01:29 +02:00
|
|
|
env_logger = { version = "0.11", default-features = false, features = ["auto-color", "humantime"] }
|
2024-01-01 01:13:51 -05:00
|
|
|
# this is needed for echo-component example
|
2024-08-29 12:55:29 +02:00
|
|
|
tokio = { version = "1", features = ["signal", "test-util"] }
|
2025-05-10 10:45:43 +02:00
|
|
|
tokio-xmpp = { path = ".", default-features = false, features = ["rustls-native-certs"]}
|
|
|
|
|
|
|
|
|
|
[[example]]
|
|
|
|
|
name = "contact_addr"
|
2025-05-10 16:41:35 +02:00
|
|
|
required-features = ["starttls", "aws_lc_rs"]
|
2025-05-10 10:45:43 +02:00
|
|
|
|
|
|
|
|
[[example]]
|
|
|
|
|
name = "download_avatars"
|
2025-05-10 16:41:35 +02:00
|
|
|
required-features = ["starttls", "aws_lc_rs"]
|
2025-05-10 10:45:43 +02:00
|
|
|
|
|
|
|
|
[[example]]
|
|
|
|
|
name = "echo_bot"
|
2025-05-10 16:41:35 +02:00
|
|
|
required-features = ["starttls", "aws_lc_rs"]
|
2025-05-10 10:45:43 +02:00
|
|
|
|
|
|
|
|
[[example]]
|
|
|
|
|
name = "echo_component"
|
|
|
|
|
required-features = ["starttls", "insecure-tcp"]
|
|
|
|
|
|
|
|
|
|
[[example]]
|
|
|
|
|
name = "echo_server"
|
2025-05-10 16:41:35 +02:00
|
|
|
required-features = ["starttls", "aws_lc_rs"]
|
2025-05-10 10:45:43 +02:00
|
|
|
|
|
|
|
|
[[example]]
|
|
|
|
|
name = "keep_connection"
|
|
|
|
|
required-features = ["starttls"]
|
2023-06-05 13:06:52 +02:00
|
|
|
|
2020-04-30 23:19:06 +02:00
|
|
|
[features]
|
2025-05-30 14:05:28 +02:00
|
|
|
default = ["direct-tls", "starttls", "aws_lc_rs", "rustls-native-certs"]
|
2024-08-05 15:09:59 +02:00
|
|
|
starttls = ["dns"]
|
2025-05-30 14:05:28 +02:00
|
|
|
direct-tls = ["dns"]
|
2025-05-10 10:45:43 +02:00
|
|
|
|
|
|
|
|
aws_lc_rs = ["rustls-any-backend", "tokio-rustls/aws_lc_rs"]
|
|
|
|
|
ring = ["rustls-any-backend", "tokio-rustls/ring"]
|
|
|
|
|
native-tls = ["dep:tokio-native-tls", "dep:native-tls"]
|
|
|
|
|
ktls = ["rustls-any-backend", "dep:ktls"]
|
|
|
|
|
|
|
|
|
|
rustls-any-backend = ["dep:tokio-rustls"]
|
|
|
|
|
|
|
|
|
|
rustls-native-certs = ["dep:rustls-native-certs"]
|
|
|
|
|
webpki-roots = ["dep:webpki-roots"]
|
|
|
|
|
|
|
|
|
|
insecure-tcp = []
|
2023-06-18 14:21:49 +02:00
|
|
|
syntax-highlighting = ["syntect"]
|
2024-06-05 11:13:29 +02:00
|
|
|
# Enable serde support in jid crate
|
|
|
|
|
serde = [ "xmpp-parsers/serde" ]
|
2024-08-05 15:09:59 +02:00
|
|
|
# Required by starttls, and used by insecure-tcp by default
|
|
|
|
|
dns = [ "hickory-resolver", "idna" ]
|
2024-11-09 17:36:11 +01:00
|
|
|
component = ["xmpp-parsers/component", "insecure-tcp"]
|
2024-06-16 10:45:09 +02:00
|
|
|
|
Stop being pedantic by default
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.
2026-03-27 12:07:53 +01:00
|
|
|
pedantic = ["xmpp-parsers/pedantic"]
|
2026-02-16 21:38:55 +01:00
|
|
|
|
2024-06-16 10:45:09 +02:00
|
|
|
[lints.rust]
|
|
|
|
|
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(xmpprs_doc_build)'] }
|