Commit graph

52 commits

Author SHA1 Message Date
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