Commit graph

592 commits

Author SHA1 Message Date
Emmanuel Gil Peyrot
5592c11745 jingle_ice_udp: Use an IpAddr for rel-addr too. 2019-02-28 03:36:04 +01:00
Emmanuel Gil Peyrot
ba875cfd2a jingle_rtp: Put Channel code into a macro, to generate it automatically. 2019-02-28 03:10:21 +01:00
Emmanuel Gil Peyrot
a62b184d54 stanza_error: Use a mutable struct first. 2019-02-28 02:54:13 +01:00
Emmanuel Gil Peyrot
fb4a3dcba8 stanza_error: Add missing attribute checks. 2019-02-28 02:48:50 +01:00
Emmanuel Gil Peyrot
4f64754bdc stanza_error: Simplify serialisation. 2019-02-28 02:44:31 +01:00
Emmanuel Gil Peyrot
2b9a6d57b6 jingle: Support more than one <text/> with different @xml:lang. 2019-02-28 02:40:53 +01:00
Emmanuel Gil Peyrot
b56582c8b5 disco: Use a macro for <identity/>. 2019-02-28 02:26:10 +01:00
Emmanuel Gil Peyrot
c4d867571e Also reexport TryInto from try_from. 2019-02-27 23:27:40 +01:00
Emmanuel Gil Peyrot
f8aedb0da1 jingle_ice_udp: Add missing file… 2019-02-27 18:32:38 +01:00
Emmanuel Gil Peyrot
beacbaeb86 jingle_ice_udp: Add a new parser/serialiser for XEP-0176. 2019-02-27 18:13:37 +01:00
Emmanuel Gil Peyrot
40d397c1fe jingle_rtp: Add a new parser/serialiser for XEP-0167. 2019-02-27 18:13:37 +01:00
Emmanuel Gil Peyrot
017fb0fbd1 stanza_error: Add a constructor. 2019-02-26 21:33:45 +01:00
Emmanuel Gil Peyrot
ab28824b1a presence: Simplify Presence::set_status with Into<String>. 2019-02-26 19:51:52 +01:00
Emmanuel Gil Peyrot
dd80f55c5f disco: Add constructors for Identity, and fix Feature’s. 2019-02-26 19:44:00 +01:00
Emmanuel Gil Peyrot
82eda09ca5 iq: Allow any Into<String> for the constructors’ id. 2019-02-26 19:25:43 +01:00
Emmanuel Gil Peyrot
ae3a5b6725 macros: Remove backwards-compatibility variants introduced in the previous commit. 2019-02-24 20:48:19 +01:00
Emmanuel Gil Peyrot
bcd42a26e3 macros: Use a nicer syntax when declaring attributes.
The previous version had a => required|optional|default token, this was
duplicating information for Option types and didn’t look very good.

This new version looks like a type, which can be either Required<_>,
Option<_> or Default<_>, and means the same thing.
2019-02-24 20:26:42 +01:00
Emmanuel Gil Peyrot
f2c3f45a6f data_forms: Stop duplicating FORM_TYPE in memory.
The FORM_TYPE is now only present once, as the form_type member of the
DataForm struct, it isn’t duplicated in fields anymore.

This removes the need to ignore this special field in every single
protocol built on XEP-0128.
2019-02-24 19:52:59 +01:00
Emmanuel Gil Peyrot
637c3eadd7 Fix clippy lints. 2019-02-21 21:00:58 +01:00
Emmanuel Gil Peyrot
63dcba03b2 iq: Make @id required, as per RFC6120 §8.1.3. 2019-02-21 20:48:02 +01:00
Emmanuel Gil Peyrot
d811c10ed3 pubsub: Make Item common to both pubsub and pubsub#event namespaces. 2019-01-27 18:57:25 +01:00
Emmanuel Gil Peyrot
d60feffc22 pubsub: Add a PubSubPayload trait. 2019-01-27 17:40:46 +01:00
Emmanuel Gil Peyrot
b936ce595f caps: Add a helper constructor for Caps. 2019-01-27 17:20:34 +01:00
Emmanuel Gil Peyrot
ede2b08039 disco: Add a helper constructor for Feature. 2019-01-27 17:18:58 +01:00
Emmanuel Gil Peyrot
376fa9f92e avatar: Fix parsing of avatar data containing whitespace in the base64. 2019-01-27 17:17:12 +01:00
Emmanuel Gil Peyrot
1921f6819e util.helpers: Add a whitespace-aware base64 codec. 2019-01-27 17:16:23 +01:00
Emmanuel Gil Peyrot
b6c7a06edd avatar: Fix build with --features=disable-validation. 2019-01-25 03:45:48 +01:00
Emmanuel Gil Peyrot
35fccafc09 avatar: Add a new XEP-0084 parser. 2019-01-25 03:34:23 +01:00
Emmanuel Gil Peyrot
82015de964 hashes: Add an hex-encoded SHA-1 attribute helper. 2019-01-25 03:03:08 +01:00
Emmanuel Gil Peyrot
b59ca1cbcb lib: Reexport TryFrom and util::error::Error. 2019-01-16 15:22:51 +01:00
Emmanuel Gil Peyrot
bfd90be0c9 lib: Reexport JidParseError from the jid crate. 2019-01-16 14:32:51 +01:00
Emmanuel Gil Peyrot
5efc64490c lib: Reexport Jid from the jid crate. 2019-01-16 13:22:07 +01:00
Emmanuel Gil Peyrot
15b9e65a5d util: Add forgotten mod.rs file. 2019-01-13 14:45:13 +01:00
Emmanuel Gil Peyrot
409a1dafa9 Move Error, helpers and macros into a util module. 2019-01-13 12:39:51 +01:00
Emmanuel Gil Peyrot
2a7cf487a4 roster: Also test for the size of the new Ask attribute. 2019-01-13 12:07:11 +01:00
Emmanuel Gil Peyrot
b6796d54e6 roster: Simplify the @ask parsing using a singleton attribute. 2019-01-13 12:07:08 +01:00
Emmanuel Gil Peyrot
62539cbae3 macros: Add a singleton attribute. 2019-01-13 12:07:05 +01:00
linkmauve
69f77e9cf5 Merge branch 'fix-1-add-ask' into 'master'
Add ask attribute from RFC3921.

Closes #1

See merge request xmpp-rs/xmpp-parsers!4
2019-01-13 11:06:17 +00:00
Emmanuel Gil Peyrot
635e8633a8 sasl: Document the reason for the unprefixed @lang test. 2019-01-13 11:56:40 +01:00
Emmanuel Gil Peyrot
c2b7e19378 Rename "compat" into "disable-validation", to insist on it breaking some guarantees. 2019-01-12 22:00:46 +01:00
Emmanuel Gil Peyrot
8b15728bb2 blocking, jingle_ft: Split #[cfg] sections into their own tests. 2019-01-12 20:41:40 +01:00
Emmanuel Gil Peyrot
ee511e653a sasl: Add back the assert, with the correct @xml:lang this time. 2019-01-12 20:41:12 +01:00
O01eg
5ebe92c260
Add ask attribute from RFC3921.
Fixes #1
2019-01-07 16:49:33 +03:00
Astro
95f4ade4ba compat mode that relaxes some of the check_* macros 2018-12-30 00:36:29 +01:00
Astro
1e85abd10c sasl: Add test failure_with_non_prefixed_text_lang. 2018-12-29 22:40:49 +01:00
Emmanuel Gil Peyrot
96c8b05677 Do some manual formatting in macros. 2018-12-29 18:29:11 +01:00
Emmanuel Gil Peyrot
376ccc1c06 Run cargo fmt on some more files. 2018-12-18 16:07:46 +01:00
Emmanuel Gil Peyrot
090a16953b bind: Add forgotten test for attributes. 2018-12-18 16:00:25 +01:00
Emmanuel Gil Peyrot
7a204cd182 Also test the size of IBB StreamId. 2018-12-18 15:44:07 +01:00
Emmanuel Gil Peyrot
5e64dee0ed Only define assert_size!() macro when testing. 2018-12-18 15:43:49 +01:00
Emmanuel Gil Peyrot
83f7c67870 Remove now-useless "extern crate"s. 2018-12-18 15:39:37 +01:00
Emmanuel Gil Peyrot
efd7bd5f2f Run cargo fmt. 2018-12-18 15:32:05 +01:00
Emmanuel Gil Peyrot
6b2dd8fe5e Run cargo fix --edition to move to Edition 2018. 2018-12-18 15:27:30 +01:00
Emmanuel Gil Peyrot
3f4586caba presence: Add status and payload insertion helpers. 2018-11-02 16:29:11 +01:00
Emmanuel Gil Peyrot
c420c87bf5 muc: Document more constructors. 2018-11-02 16:28:40 +01:00
Emmanuel Gil Peyrot
e2c0068af9 disco: Remove errors for out-of-order elements, allowed in XEP-0030 2.5rc3. 2018-11-02 16:27:51 +01:00
Emmanuel Gil Peyrot
e5c1be68d0 muc: Add constructors. 2018-11-01 17:25:24 +01:00
Emmanuel Gil Peyrot
7a2dcbee01 Test struct sizes on 32-bit too. 2018-10-28 13:10:48 +01:00
Emmanuel Gil Peyrot
40aedcf184 Test the size of every struct defined here. 2018-10-26 14:26:16 +02:00
Emmanuel Gil Peyrot
9cb4f00341 caps, ecaps2: Update to RustCrypto 0.8. 2018-10-12 17:23:34 +02:00
Emmanuel Gil Peyrot
0da5639be5 jingle: Document this module. 2018-09-20 21:15:50 +02:00
Emmanuel Gil Peyrot
5582a48b4e message: Everything is already documented, remove the allow(missing_docs). 2018-09-20 21:09:05 +02:00
Emmanuel Gil Peyrot
c508275f40 presence: Finish to document this module. 2018-09-20 21:08:46 +02:00
Emmanuel Gil Peyrot
fbe22e6db1 eme: Fix indentation. 2018-09-20 20:58:53 +02:00
Emmanuel Gil Peyrot
07cccad356 message: Make MessagePayload a trait, and implement it on every payload. 2018-09-20 20:58:27 +02:00
Emmanuel Gil Peyrot
e41de29d9d presence: Make PresencePayload a trait, and implement it on every payload. 2018-09-20 20:51:48 +02:00
Emmanuel Gil Peyrot
709666bb91 jingle: Document most of this module. 2018-09-20 20:28:50 +02:00
Emmanuel Gil Peyrot
f3366b94bb stanza_error: Fix compilation error due to an extra pub. 2018-09-20 20:28:29 +02:00
Emmanuel Gil Peyrot
388941b483 stanza_error: Document this module. 2018-09-19 21:26:21 +02:00
Emmanuel Gil Peyrot
22b424f43a jingle_s5b: Document this module. 2018-08-08 21:07:22 +02:00
Emmanuel Gil Peyrot
eeeae25cb1 jingle_ft: Document this module. 2018-08-08 20:52:27 +02:00
Emmanuel Gil Peyrot
22849f431d sm: Document this module, and add a test. 2018-08-08 20:43:49 +02:00
Emmanuel Gil Peyrot
c41fc1ff69 jingle_message: Document this module. 2018-08-08 20:26:14 +02:00
Emmanuel Gil Peyrot
16b9291475 muc: Document these modules. 2018-08-08 20:22:37 +02:00
Emmanuel Gil Peyrot
d3890d21fb message: Document this module, except for MessagePayload which should be removed. 2018-08-08 20:02:17 +02:00
Emmanuel Gil Peyrot
b8f083eb0a iq: Document this module. 2018-08-08 19:52:37 +02:00
Emmanuel Gil Peyrot
c6ca22e264 stream: Document this module. 2018-08-08 19:47:06 +02:00
Emmanuel Gil Peyrot
4ccf92081c bind: Document this module. 2018-08-08 19:44:55 +02:00
Emmanuel Gil Peyrot
687d744454 websocket: Document this module. 2018-08-08 19:41:03 +02:00
Emmanuel Gil Peyrot
5745108eda data_forms: Document this module. 2018-08-08 19:35:32 +02:00
Emmanuel Gil Peyrot
02db34d94d ibr: Document this module. 2018-08-08 19:15:25 +02:00
Emmanuel Gil Peyrot
250a3fcc98 caps: Document this module. 2018-08-08 19:12:09 +02:00
Emmanuel Gil Peyrot
a61c32176f hashes: Document this module. 2018-08-08 19:02:03 +02:00
Emmanuel Gil Peyrot
7f12d05fd2 Switch allow→deny(missing_docs) for the whole crate. 2018-08-08 18:48:05 +02:00
Emmanuel Gil Peyrot
3477117dea error: Document this module. 2018-08-08 18:40:01 +02:00
Emmanuel Gil Peyrot
bdae556787 error: Remove unused minidom::Error from Error. 2018-08-08 18:30:12 +02:00
Emmanuel Gil Peyrot
93150bcd2a error: Remove unused io::Error from Error. 2018-08-08 18:28:14 +02:00
Emmanuel Gil Peyrot
67029f5b8a sasl: Actually implement <failure/> properly, with tests this time. 2018-08-03 00:53:00 +02:00
Emmanuel Gil Peyrot
83c0e9113c sasl: Add the -PLUS versions of both SCRAM mechanisms. 2018-08-03 00:05:28 +02:00
Emmanuel Gil Peyrot
92cdaaafcc pubsub: Document all of the modules. 2018-08-02 22:16:55 +02:00
Emmanuel Gil Peyrot
89efc89423 pubsub/event: Remove invalid empty items. 2018-08-02 22:06:34 +02:00
Emmanuel Gil Peyrot
679dd14a49 pubsub/event: Remove unused @node in item. 2018-08-02 22:05:23 +02:00
Emmanuel Gil Peyrot
955f2809be rsm: Fix the description of the two <set/> elements. 2018-08-02 20:43:47 +02:00
Emmanuel Gil Peyrot
14b4d51d7f rsm: Split Set into SetQuery and SetResult, and document this. 2018-08-02 20:35:15 +02:00
Emmanuel Gil Peyrot
71dd906e7a mam: Document this module. 2018-08-02 20:05:51 +02:00
Emmanuel Gil Peyrot
d038ddddab mam: Replace Strings with proper wrappers, and make queryid optional as it should be. 2018-08-02 20:05:35 +02:00
Emmanuel Gil Peyrot
a70ce99d91 receipts: Document this module. 2018-08-02 19:24:09 +02:00
Emmanuel Gil Peyrot
36cfe76e4d macros: Merge generate_element_with_text!() into generate_element!(). 2018-08-02 19:07:07 +02:00
Emmanuel Gil Peyrot
b1a7b8019f media_element: Document this module. 2018-08-02 18:47:06 +02:00
Emmanuel Gil Peyrot
f4eea2ded6 component: Document this module. 2018-08-02 18:39:39 +02:00