Commit graph

96 commits

Author SHA1 Message Date
4089891f6c Update edition to 2021
- Remove TryFrom/Into and FromIterator imports
- Prevent impl_validator_using_provider macro in sasl crate from
  constructing trait object

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-12-15 19:40:09 +00:00
Emmanuel Gil Peyrot
372234b912 tokio-xmpp: Remove workaround for Debian oldoldstable
hickory-resolver’s MSRV is 1.67, those super old toolchain versions
wouldn’t build a recent version of tokio-xmpp anyway.

This effectively reverts 52a2d962ee.
2023-12-04 15:34:26 +01:00
Emmanuel Gil Peyrot
2d11ada30f tokio-xmpp, xmpp: Remove regex support from env_logger
This bloats our binaries by 1.1 MiB after stripping, for very minimal
additional features.  People who need that feature can enable it
themselves.
2023-10-25 18:11:33 +00:00
Emmanuel Gil Peyrot
faabc2984a tokio-xmpp: Support channel binding on TLS 1.3
This is defined in RFC 9266, and relies on the Exported Keying Material
to be passed to the SASL implementation.
2023-10-25 20:03:11 +02:00
115edf6f25 tokio-xmpp: Update hickory-dns dep (previously trust-dns)
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-10-25 11:37:04 +00:00
Emmanuel Gil Peyrot
c56dbe8903 tokio-xmpp: Remove unneeded clones 2023-10-25 00:16:28 +02:00
adeb4154de
tokio-xmpp: bump to 3.5
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-10-24 20:35:03 +02:00
079ca7dd90 tokio-xmpp: Also compile_error when no tls-* feature is enabled
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-10-24 19:59:45 +02:00
Link Mauve
57517692ba Use jid's domain_str method instead of format!. 2023-10-24 17:56:53 +00:00
34b50d32c9 tokio-xmpp: Update tls-rust feature for jid changes
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-10-24 16:51:08 +00:00
5338d2f99a tokio-xmpp: Replace deprecated rustls method (add_server_trust_anchors)
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-10-24 16:51:08 +00:00
25c319b2db tokio-xmpp: Update for webpki_roots release in tls-rust feature
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-10-24 16:51:08 +00:00
a16f670ee6 tokio-xmpp: Error out when both tls-native and tls-rust features are enabled
If the user enables the tls-rust feature and forgets to disable
default-features (which includes tls-native), tell them and bail out.

The code was made to work anyway when both are enabled, and here it
defaults to tls-native. It does seem better to have one explicitely
choose one though hence the compile_error! message.

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-10-24 16:51:08 +00:00
Guus der Kinderen
fc16b7919b fix: typo in AsyncConfig comment 2023-10-10 19:15:55 +02:00
68a8c043a2 tokio-xmpp: bump to 3.4.0
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-08-20 21:34:04 +02:00
6c8855a6d5 tokio-xmpp: Update Changelog
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-08-20 21:34:04 +02:00
96f6de787f tokio-xmpp: Re-export jid structs, minidom::Element, and parsers module
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-08-20 21:34:04 +02:00
a13f05037c tokio-xmpp: update dependencies (jid, webpki-roots)
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-08-20 21:34:04 +02:00
xmppftw
4266368a98 JIDs now have typed and stringy methods for node/domain/resource access
Jid now has typed with_resource and stringy with_resource_str
Jid now has is_full, is_bare
2023-06-21 18:30:25 +02:00
Emmanuel Gil Peyrot
85bdcdb131 tokio-xmpp: Bump idna dependency 2023-06-21 12:05:33 +00:00
Emmanuel Gil Peyrot
6ccc5ccace tokio-xmpp: Poll packets in a loop
This needs to be a loop in order to ignore packets we don’t care about,
or those we want to handle elsewhere.  Returning something isn’t correct
in those two cases because it would signal to tokio that the XMPPStream
is also done, while there could be additional packets waiting for us.

The proper solution is thus a loop which we exit once we have something
to return.

Fixes a deadlock when we ignore some packets.
2023-06-21 11:55:42 +00:00
ac22765f21 tokio-xmpp: Remove newline after stream:stream
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-06-21 12:21:52 +02:00
e9cbeb1863 tokio-xmpp: debug print stream:stream too
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-06-21 12:21:52 +02:00
Emmanuel Gil Peyrot
3c9df12606 tokio-xmpp: Update to the new jid crate
This helps a bit thanks to fewer clones, but otherwise there are very
few changes.
2023-06-20 18:59:26 +02:00
Emmanuel Gil Peyrot
17335136fe tokio-xmpp: Add syntax highlighting to debug logs
This uses syntect, and has been checked to have zero overhead when it is
disabled.
2023-06-19 19:52:38 +02:00
99f3811c71 tokio-xmpp: Add debug for chosen DNS method
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-06-18 17:04:23 +02:00
xmppftw
3ac741d666 RUST_LOG=debug can now be used in tokio-xmpp examples to see XMPP network traffic 2023-06-05 15:02:35 +00:00
ae67949e7a
tokio-xmpp: Ensure id is added only to stanza
The previous commit didn't fix a bug where @id would be added to
elements that didn't need it / where it was invalid (e.g., stream
management).

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-06-05 16:34:13 +02:00
bc73af1e5e
tokio-xmpp: @id wasn't correctly added to every stanza
This commit moves the code adding @id to AsyncClient and SimpleClient,
instead of on the lower level send_stanza helper, which seemed to only
be used internally.

Support is also added for Component.

This removes the addition of @id on elements like <auth/> or <bind/>,
which probably weren't required anyway?

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-06-04 19:07:56 +02:00
xmppftw
209bab1441 tokio_xmpp::AsyncClient and xmpp::Agent take a fully parsed Jid (#72) 2023-06-01 16:55:53 +02:00
1870a83424 tokio-xmpp: cleaner outgoing debug logs
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-05-31 00:51:58 +02:00
5256575512 tokio-xmpp: Add debug prints for incoming packets
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-05-31 00:51:58 +02:00
943a0afe9d tokio-xmpp: Bump version to 3.3.0
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-05-18 17:05:20 +02:00
Paul Fariello
88ab74c92f Set tokio_xmpp::client::async_client::Config as public 2023-05-17 16:56:42 +00:00
Emmanuel Gil Peyrot
58f6d5494a Bump tokio-xmpp and xmpp dependencies
It still builds and tests pass without any other change.
2023-04-03 12:13:37 +02:00
Emmanuel Gil Peyrot
eb628704c0 minidom: Bump rxml
This was causing a memory corruption on closing tags for elements with a
name longer than 24 bytes.  I haven’t investigated why smartstring < 1
had this bug, but it got fixed in 1.0.0 so let’s use that.
2023-04-03 11:28:41 +02:00
826914da54
parsers, tokio-xmpp: remove unnecessary jid feature alias
It can be done directly using `jid = { version = "*", features =
["stringprep"] }` even though jid is imported from another lib.

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-01-15 21:44:27 +01:00
Emmanuel Gil Peyrot
ebd7df2dcf tokio-xmpp: Bump all dependencies
No code change was needed this time, it seems.
2022-09-20 21:17:26 +02:00
70cba2279e tokio-xmpp: Automatically add id on send if not present
Based on Yuka's work in !149, but moved into tokio-xmpp instead of
xmpp-rs

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-09-16 18:06:51 +00:00
Astro
1613a1c667 tokio-xmpp: Release 3.2.0 2022-07-13 20:50:10 +02:00
Jonas Schäfer
ea366c2334 Rip out quick-xml 2022-04-24 13:27:48 +02:00
Astro
b06dda46a3 tokio-xmpp: remove useless Mutex from XMPPStream
Thanks-to: Yureka
2022-04-19 23:49:24 +02:00
Astro
d4a5a8247b minidom, tokio-xmpp: switch xml parsing to rxml 2022-04-19 20:42:30 +02:00
Astro
3901068717 tokio-xmpp: remove LocalSet from AsyncClient, making it Sync 2022-04-19 17:44:48 +02:00
Yureka
4920ae83fd tokio_xmpp: missing std::error::Error impls 2022-03-23 12:09:26 +01:00
Emmanuel Gil Peyrot
84622607ed tokio-xmpp: Bump xmpp-parsers 2022-03-07 13:14:47 +01:00
Jonas Schäfer
3cbc7ffacd Publish the starttls helper function
Without it, it seems impossible to start TLS on an XMPPStream object,
preventing any use of that object on its own (not wrapped into
AsyncClient or somesuch).
2022-02-08 20:20:27 +00:00
Emmanuel Gil Peyrot
edba9c9f5d tokio-xmpp: Remove an unwrap() in DNS name parsing 2021-12-01 19:13:31 +00:00
Emmanuel Gil Peyrot
4a8bda1287 tokio-xmpp: Bump dependencies
This removes the pest, semver-parser and ucd-trie transitive
dependencies.
2021-12-01 19:13:31 +00:00
Astro
4766a01d01 tokio-xmpp: release 3.1.0 2021-11-23 19:06:09 +01:00