Commit graph

231 commits

Author SHA1 Message Date
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
Emmanuel Gil Peyrot
6df8062867 Fix size tests on latest Rust release
Since Rust 1.76, and some much older nightly, there have been
improvements to the niche computation, which leads to smaller types
which can encode the same amount of data, variants, and such.

This fixes the tests on this compiler version.
2024-02-27 12:27:31 +01:00
Paul Fariello
1ecfaeb2bf Fix multiple error text lang handling in stanza_error 2024-02-27 08:53:19 +01:00
Werner Kroneman
78158edc3e Added jingle_thumbnails mod to lib.rs. 2024-02-08 16:07:41 +00:00
Werner Kroneman
611c09a8a2 Added jingle_thumbnails module. 2024-02-08 16:07:41 +00:00
Werner Kroneman
b541f8a809 Added ns::JINGLE_THUMBNAILS 2024-02-08 16:07:41 +00:00
famfo
b2ba646fd4 Implement empty before for QuerySet 2024-02-06 12:29:37 +01:00
famfo
a292e19314 Fix 32bit Qurey struct size 2024-02-05 22:19:22 +00:00
famfo
6daf0e906e Implement flip-page for MAM 2024-02-05 22:19:22 +00:00
xmpp ftw
9d5019ecdd Fix last cargo doc warnings
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2024-01-27 17:44:48 +00:00
xmppftw@kl.netlib.re
a6f4600a19 Reexport hashes from parsers 2024-01-16 15:18:26 +01:00
Werner Kroneman
10b204093e Added vCard update to parsers 2024-01-10 23:34:50 +01:00
Werner Kroneman
c0cf672131 Added vCard avatars (XEP-0054) to parsers. 2024-01-10 21:50:34 +01:00
Werner Kroneman
18cb6f6e2d Refactored the "helpers" so that they use a common Codec trait; this makes them composable as well. 2024-01-10 19:49:53 +00:00
Emmanuel Gil Peyrot
3f90e84c5b xmpp-parsers: Add a hexadecimal codec
That one accepts both uppercase and lowercase hexadecimal input, and
outputs in lowercase.

It requires no separator between bytes, unlike ColonSeparatedHex.
2024-01-05 17:36:43 +01:00
xmppftw
0a6ee5b32e Support legacy integer <error> code. Don't expose it. 2023-12-22 12:26:28 +01:00
xmppftw
f9b71c8da0 Improve documentation 2023-12-16 17:29:00 +01:00
xmppftw
f1713231c4 Add Private XML Storage (XEP-0049) support for legacy bookmarks (XEP-0048 v1.0) 2023-12-16 17:28:13 +01:00
xmppftw
7a55608433 Document bookmarks2 module 2023-12-16 17:19:13 +01:00
xmppftw
d1b63a52a5 Add method to convert bookmarks::Conference to bookmarks2::Conference
Autojoin is now same struct in both modules
2023-12-16 17:19:13 +01: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
c8f312e89d
parsers/xhtml: keep iterating on all bodies
Some checks are pending
Build / lint (push) Waiting to run
Build / test-stable (push) Blocked by required conditions
Build / test-nightly (push) Blocked by required conditions
Revert part of b522eaf7f3.

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-12-15 20:39:09 +01:00
b522eaf7f3 parsers: clippy pass
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-12-15 19:26:06 +00:00
Werner Kroneman
a7ab45cb2d Avatars can now be 32 bit sizes. (see https://xmpp.org/extensions/xep-0084.html) size can be xs:unsignedInt 2023-12-03 16:38:14 +01:00
2f47bdb1d3
parsers: Add TODO to remove superfluous exports from jid on next major release
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-10-26 17:46:42 +02:00
3a0336bed0
parsers: re-export the jid module entirely
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-10-26 14:03:21 +02:00
Emmanuel Gil Peyrot
4460a59bc8 xmpp-parsers: XEP-0257: Correctly serialise no-cert-management
This element was previously always put in the generated element.
2023-09-05 17:08:30 +02:00
Emmanuel Gil Peyrot
c7887efbc7 xmpp-parsers: Fix size tests on 32-bit 2023-06-20 18:59:26 +02:00
Emmanuel Gil Peyrot
91736ec0ed xmpp-parsers: Fix size tests on 64-bit 2023-06-20 18:59:26 +02:00
Emmanuel Gil Peyrot
022a920300 xmpp-parsers: Update to the new jid crate 2023-06-20 18:59:26 +02:00
f9d4419513
parsers: Document new MucUser helpers
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-06-07 19:17:06 +02:00
9fa8a9f6ba
parsers: Rename MucUser::with_status to with_statuses
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-06-07 19:16:55 +02:00
b8ba74e336
parser: Add helpers on MucUser
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-06-07 18:44:37 +02:00
d0ec8739d5 parsers: impl MessagePayload for MucUser
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-06-07 16:54:20 +02:00
6cd4addc1a parsers: Add with_payload/with_payloads helpers on Message
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-06-07 16:49:19 +02:00
xmppftw
c8dcf5e7a7 Fix expected struct sizes for nightly optimizations (no more CI warnings) 2023-06-06 09:37:16 +00:00
xmppftw
6fa6deddcb Message now has constructors for each type, and a with_body builder method (#78) 2023-06-03 12:39:55 +02:00
xmppftw
512c1d1aae Presence now has constructors for each type variant, and a with_payload builder method (closes #79) 2023-06-03 08:59:19 +00:00
e8a7d909c1 parsers: derive PartialEq on Iq too
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-05-30 19:04:33 +02:00
Emmanuel Gil Peyrot
2955a0fe60 parsers: Bump base64
Version 0.21 replaced base64::decode() with an Engine trait and multiple
structs implementing it for various alphabets, various performance
profiles, etc.  It is slightly longer to import but in the end does the
very same thing.
2023-04-03 11:28:41 +02:00
Emmanuel Gil Peyrot
6bd407605b xmpp-parsers: Add Message Reactions (XEP-0444) support 2022-12-30 15:26:37 +01:00
a0e6054eb8 parsers: Update IETF URLs in documentation
sed -i -e 's/tools\.ietf\.org\/html/www\.rfc-editor\.org\/rfc/' src/**.rs

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-12-27 17:36:19 +01:00
afcf9fb2d0 parsers: correct cargo doc warnings
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-12-27 17:36:19 +01:00
f4084bcc83 parsers: with_ helpers for muc::user::Item
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-12-27 17:36:19 +01:00
82ed8f4991
parsers/muc: Rephrase comment, s/he or she/they/
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-12-17 12:09:00 +01:00
f0139b4d88
parsers/muc/user: Add 333 status: Status::ServiceErrorKick
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-12-17 12:01:28 +01:00
f8cd3c4fff
parsers/muc/user: Add status code in docstrings
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-12-17 11:51:26 +01:00
4244dc2be1
parsers: Conditional on rustc version for test_size tests
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-12-16 20:30:17 +01:00
309b4cf87d parsers/presence: derive PartialEq on Presence
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-12-16 19:26:00 +01:00
b0e5ca0be8 Revert "parsers: Update test_size tests take 2"
This reverts commit f3e1160f6e.
It doesn't fail yet in stable.
2022-12-16 12:59:01 +01:00
6d98ad97cd
parsers: Change deprecated FixedOffset::{east,west} for *_opt
For the second call, the doc says that None is returned when secs is
out-of-bound. It looks like it should be alright to unwrap here

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-11-30 17:21:40 +01:00
f3e1160f6e
parsers: Update test_size tests take 2
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-11-30 16:39:24 +01:00
4795b2c628
parsers: Update test_size tests
Change certainly due to https://github.com/rust-lang/rust/pull/94075

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-09-30 16:32:18 +02:00
b6b0c5ee52
parsers: cargo fmt the last commit on parsers
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-09-16 19:57:44 +02:00
a425a039ca muc/user: impl PresencePayload for MucUser
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>


(cherry picked from commit 7e211619e3b51ab86ecf5cf0b746c5e16b790418)
2022-09-15 09:52:24 +00:00
Jonas Schäfer
ea366c2334 Rip out quick-xml 2022-04-24 13:27:48 +02:00
Jonas Schäfer
0fcb8285c5 Ignore size tests for jingle_ft struct on 32bit architectures
Apparently, i686 and AArch32/PowerPC seem to disagree here. So instead
of trying to figure this out now, we just ignore the test.
2022-04-24 13:27:48 +02:00
Jonas Schäfer
96065dc26d Fix size tests on architectures with 32-bit pointers 2022-04-23 15:31:46 +02:00
Astro
d4a5a8247b minidom, tokio-xmpp: switch xml parsing to rxml 2022-04-19 20:42:30 +02:00
Emmanuel Gil Peyrot
eb19f8329c xmpp-parsers: Add forgotten RTT documentation
Sorry about that!
2022-04-11 18:59:32 +02:00
Emmanuel Gil Peyrot
95c6b12d9c xmpp-parsers: Run cargo fmt on legacy_omemo 2022-04-04 21:09:49 +02:00
Yureka
60b848ed5d
parsers: add omemo parsers 2022-04-03 11:39:39 +02:00
Emmanuel Gil Peyrot
e076ba52e2 xmpp-parsers: Add In-Band Real Time Text support 2022-03-22 15:14:43 +00:00
39c7fd2b0c parsers/bookmarks2: uncomment 'wrapped' test
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-03-22 15:07:43 +00:00
Emmanuel Gil Peyrot
9e9f484bd9 xmpp-parsers: Simplify trailing comma handling in macros
Since Rust 1.32.0 (so basically forever ago) we can use the $(…)?
construct in macros to mean one or zero times this chunk of tokens.
This allows making the last comma optional in lists of things.
2022-03-22 15:59:00 +01:00
Emmanuel Gil Peyrot
014582461e extdisco: Use the correct size of Service on 32-bit platforms
This has been tested on my Wii U.
2022-02-02 15:03:54 +01:00
Emmanuel Gil Peyrot
f2af82718e bookmarks2: Simplify the type of the extensions 2022-01-03 12:34:24 +01:00
Emmanuel Gil Peyrot
1cc16e65db dataforms: Add helper constructors for Field and DataForm. 2022-01-03 11:53:52 +01:00
dc6dd19a44 parsers: http_upload: allow any case header
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2021-12-28 15:24:17 +00:00
9b6fcd1bd7 parsers: http_upload: add tests
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2021-12-28 15:24:17 +00:00
ee01d12838 parsers: http_upload: Make Header an enum as required per the XEP
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2021-12-28 15:24:17 +00:00
94cf8afdff parsers: XEP-0363: HTTP File Upload
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2021-12-28 15:24:17 +00:00
Emmanuel Gil Peyrot
e4d20c47bb parsers: Only warn on missing docs
Erroring out was making us add /// TODO to avoid the error, and that is
much less visible than a warning.
2021-12-27 12:30:57 +01:00
Emmanuel Gil Peyrot
9401b79a02 parsers/extdisco: Document missing TODOs. 2021-12-27 12:30:06 +01:00
Emmanuel Gil Peyrot
1a03588bdb xmpp-parsers: Bump all hash crates. 2021-12-25 14:55:45 +01:00
Emmanuel Gil Peyrot
8ddd488b7f parsers/ssma: Use an enum for @semantics.
This one comes from RFC5588.
2021-10-23 15:56:18 +02:00
Emmanuel Gil Peyrot
b30572612b parsers/ssma: ssrc-id is actually an u32.
Now that this XEP has an XML schema[1], it should be more evident.

[1] https://github.com/xsf/xeps/pull/1120
2021-10-23 15:44:02 +02:00
Emmanuel Gil Peyrot
7bdf7656eb parsers/hdrext: Parse the @id as u16 instead of String
The specification says it can only be in the 1-256, 4096-4351 ranges, so
use the closest type available.  This doesn’t validate that the value is
correct, but that will be done in a future commit.

Thanks gst-meet for making me notice this issue!
2021-10-23 12:26:19 +02:00
Emmanuel Gil Peyrot
3a6cd23166 parsers: Add support for XEP-0215: External Service Discovery 2021-10-15 15:02:28 +00:00
Emmanuel Gil Peyrot
464b5de0d0 parsers: Fix some issues reported by clippy. 2021-10-11 16:17:09 +02:00
Emmanuel Gil Peyrot
9410849d7a Rename the xmpp-parsers directory to parsers
This doesn’t change anything to the name of the crate, just makes
autocompletion easier by not sharing the same prefix as the xmpp crate.
2021-10-11 08:24:16 +02:00