5b1706a311
tokio-xmpp: Update dependencies
...
Update tokio_rustls, idna, webpki_roots.
https://github.com/rustls/rustls/releases/tag/v%2F0.22.0
> ConfigBuilder::with_safe_defaults - calls to this can simply be deleted since safe defaults are now implicit.
> OwnedTrustAnchor - use rustls_pki_types::TrustAnchor instead, and replace from_subject_spki_name_constraints with direct assignment to the struct fields.
`RootCertStore::add_trust_anchors` seems to be removed too.
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2024-07-25 20:51:20 +02:00
Emmanuel Gil Peyrot
e9b226e1ae
tokio-xmpp: Import Jid, BareJid and Element properly
...
xmpp-parsers has stopped reexporting them, instead it reexports only the
crates themselves.
2024-07-25 14:36:09 +00:00
Parker
eb0bc1b82f
Changed name to XmppCodec
2024-06-15 13:02:15 -04:00
Parker
6d449e9aaa
Make XmppCodec public
2024-06-15 13:02:02 -04:00
Jonas Schäfer
84de007640
Update rxml to 0.11.0
2024-06-15 12:58:39 +02:00
xmppftw
aabd19f78c
State is disconnected, not invalid
2024-06-06 19:44:53 +00:00
Emmanuel Gil Peyrot
002c2803d4
Fix typos across the codebase (thanks codespell!)
2024-05-14 05:46:02 +00:00
Astro
6c3081d656
tokio-xmpp: let happy_eyeballs connect to records in parallel
2024-05-02 22:24:54 +02:00
Astro
598ffdbecf
tokio-xmpp: set resolve ip_strategy to Ipv4AndIpv6
...
The happy_eyeballs implementation should try to connect on both address
families. The default of Ipv4thenIpv6 wouldn't query for AAAA if it got
A.
2024-05-02 22:24:54 +02:00
Jonas Schäfer
0298caf97a
tokio-xmpp: allow docs build with --all-features
...
This affects only the docs and is quite an ugly hack, but seems to be
the only way for now.
2024-04-23 19:22:04 +02:00
Jonas Schäfer
b648b4668b
Fix broken build with tls-native feature
2024-04-23 19:22:04 +02:00
Jonas Schäfer
fb63ac8e50
Update rxml to 0.10.0
...
See release notes [1] for details.
[1]: https://codeberg.org/jssfr/rxml/releases/tag/v0.10.0
2024-03-16 17:39:55 +01:00
Jonas Schäfer
7fce1146e0
Offer {Resource,Node,Domain}Ref on Jid API
...
This provides a non-copying API, which is generally favourable. The
other accessors were removed, because the intent was to provide this
"most sensible" API via the "default" (i.e. shortest, most concisely
named) functions.
2024-03-10 10:51:01 +01:00
Emmanuel Gil Peyrot
1bab5c3cd9
Remove redundant imports
...
These became warnings in a recent nightly.
The TryFrom/TryInto imports were missed in
4089891f6c
, but the rest are truly
redundant.
2024-02-27 22:57:18 +01:00
famfo
28ab91f46a
Add Sync to ServerConnectError
2024-01-27 17:26:07 +00:00
famfo
060088be29
Implement function to get stream features
2024-01-23 16:09:07 +01:00
moparisthebest
019450ff4b
Add disabled-by-default insecure-tcp feature to tokio-xmpp for use by component connections
2024-01-03 19:34:03 -05:00
moparisthebest
733d005f51
DNS/TLS deps are now optional, component now also uses ServerConnector
2024-01-01 02:09:41 -05:00
moparisthebest
e784b15402
ServerConnector and AsyncClient support channel binding, SimpleClient uses ServerConnector
2024-01-01 02:08:40 -05:00
moparisthebest
3cab603a4c
Add AsyncServerConnector to AsyncClient to be able to support any stream
...
Unfortunately API breaking unless we do some export mangling
2024-01-01 02:08:13 -05:00
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
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
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
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
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
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
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
Paul Fariello
88ab74c92f
Set tokio_xmpp::client::async_client::Config as public
2023-05-17 16:56:42 +00: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
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
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
fe2a94456c
tokio-xmpp: remove deny(unused) as long as it breaks nightly
...
Find a way to make it conditional on stable or something? Is that even
possible?
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2021-09-02 03:21:56 +02:00
moparisthebest
6fc016c006
Add into_inner() to tokio_xmpp::SimpleClient
2021-03-24 02:26:04 -04:00
Paul Fariello
15255a6b30
Extend build fix workaround from 1.48 to 1.46
2021-03-08 14:50:04 +00:00
Paul Fariello
8d3c7a3bd6
Add TLS server roots from webpki
2021-02-18 02:38:32 +00:00
Paul Fariello
ae52f6444d
Add support for both rustls and tlsnative
2021-02-18 02:38:32 +00:00
Paul Fariello
5463a0aa99
Srv entry is no longer optional when using connect_with_srv
2021-01-12 23:17:34 +01:00
Paul Fariello
7b4a6e3ace
Use ServerConfig enum for tokio-xmpp client config
...
And expose connect_to_host from happy_eyeballs to let clients explicitly
choose to use SRV or not. (Rename connect to connect_with_srv)
2021-01-12 23:17:34 +01:00
Paul Fariello
08e58e44b1
Fmt for tokio-xmpp Client initialisation
2021-01-12 23:17:34 +01:00
Paul Fariello
fb1b4cdbbc
Use a Config struct for async_client
2021-01-12 23:17:34 +01:00
Paul Fariello
c6376e1d28
Add server and port to connect_with_jid method on async_client
2021-01-12 23:17:34 +01:00
Emmanuel Gil Peyrot
521bf6e7d7
tokio-xmpp: Bump sasl to 0.5
2021-01-12 19:26:21 +01:00
Emmanuel Gil Peyrot
dea95d06e1
tokio-xmpp: Bump trust-dns to 0.20
2020-12-30 03:18:17 +01:00
Emmanuel Gil Peyrot
a38ff39b77
tokio-xmpp: Bump tokio to 1.0 and replace tokio-tls with tokio-native-tls
2020-12-30 03:14:21 +01:00
Emmanuel Gil Peyrot
e1ff9da681
tokio-xmpp: Remove workaround for unknown broken server
...
This is so we can find and fix the server, instead of cargo culting this
workaround forever.
2020-12-26 16:25:34 +01:00
Astro
f6cb4a8080
tokio-xmpp: rustfmt
2020-12-25 02:25:17 +01:00
Astro
52a2d962ee
tokio-xmpp: add build script to work around build fail on rustc 1.48
2020-12-25 02:05:02 +01:00
Astro
439a09122a
Revert "tokio-xmpp: remove unneeded mut on self"
...
This reverts commit e23c161c0a
. It broke
compilation on Rustc 1.45.
2020-12-19 01:09:26 +01:00
e23c161c0a
tokio-xmpp: remove unneeded mut on self
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-08-30 01:57:19 +02:00
Emmanuel Gil Peyrot
3db9eeae2f
tokio-xmpp: Bump tokio-util
2020-08-03 15:54:44 +00:00
Astro
e501addb96
tokio-xmpp: use xmpp_parsers::ns everywhere
2020-05-30 01:25:06 +02:00
Astro
1e1f593233
tokio-xmpp: rustfmt
2020-05-30 00:45:22 +02:00
Astro
537b4825a8
tokio-xmpp: rename Client to AsyncClient
2020-05-30 00:43:53 +02:00
Astro
eb13634571
tokio-xmpp: rename OneshotClient to SimpleClient
2020-05-30 00:43:48 +02:00
Astro
3e2b51f148
tokio-xmpp: improve error logging
2020-05-30 00:43:48 +02:00
Astro
2cd1ad217b
tokio-xmpp: add onshot_client
2020-05-30 00:43:48 +02:00
Astro
c13712b158
tokio-xmpp client: condense fn connect(), refactor out into stream_features
2020-05-30 00:43:35 +02:00
Astro
4d24e6bebb
tokio-xmpp: name Event::Online fields, add resumed flag
2020-05-29 18:21:31 +02:00
33ee71bcb4
tokio-xmpp: update for minidom changes
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-04-21 22:23:36 +02:00
Astro
a4325c787a
tokio-xmpp: doc
2020-03-16 00:34:46 +01:00
Astro
b6828b9674
tokio-xmpp: remove obsolete TODOs
2020-03-16 00:11:52 +01:00
Astro
23cb34e026
tokio-xmpp: rewrite for futures-0.3
2020-03-06 18:01:31 +01:00
44eaa5a6ea
tokio-xmpp: Prevent XmppCodec from producing invalid stanza
...
This bug was introduced by 2e97f4de2e
, to
fix another bug where the parser would choke on whitespace.
The bug would manifest whenever a stanza was sent in different parts,
for example:
<< "<message "
<< "type='chat><body>foo</body></message>"
Would produce the following once parsed:
`<messagetype='chat'><body>foo</body></messagetype='chat'>`
This commit ensures this doesn't happen anymore (by not trimming
whitespaces before feeding the parser), and also ensures that
whitespaces are now handled at the correct layer.
The removal of xmpp_codec::test_lone_whitespace only happens because I'm
not sure if it's supposed to be here anymore. Maybe it should be at a
different layer? Or written differently?
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-01-22 01:25:15 +01:00
db9f7a76be
tokio-xmpp: Add some ugly premature logging useful for debugging
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-09 03:46:03 +01:00
fd2bd2468d
tokio-xmpp: changer .into_iter to .iter to avoid ambiguity
...
Follow compiler warnings. See
https://github.com/rust-lang/rust/issues/66145
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-07 23:43:54 +00:00
141d11ad38
minidom: Don't prepend xml prelude in writer. Add new API
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-11-10 01:01:42 +01:00
a104ebc3f6
Rustfmt pass, and rustfmt --check in CI"
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-10-23 01:36:02 +02:00
34aa710366
Prepare for merge: Move all tokio-xmpp files into tokio-xmpp/
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-10-18 14:16:01 +02:00