Commit graph

1537 commits

Author SHA1 Message Date
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
0377b5658a parsers: Remove dead get_ns methods
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-01-22 00:50:56 +01:00
fbb0edd93b parsers: cleanup warnings about errors and unused stuff
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-01-22 00:50:56 +01:00
Paul Fariello
c224133382 Add test for openpgp pubkey serialization 2020-01-21 17:23:08 +01:00
Paul Fariello
13afbfd099 Add test for jingle udp transport serialization 2020-01-21 16:59:22 +01:00
Paul Fariello
1432807f11 Add tests for cert management serialization 2020-01-21 16:53:56 +01:00
Paul Fariello
34a87e22a8 Fix fmt 2019-12-30 11:28:52 +01:00
Paul Fariello
8d246975d7 Add serialization test for sm failed element 2019-12-30 11:20:37 +01:00
Paul Fariello
6b14b593d3 Add serialization test for pubsub publish-options and options element 2019-12-30 11:20:37 +01:00
Paul Fariello
8010b5a1e5 Add serialization test for muc item element 2019-12-30 11:20:37 +01:00
Paul Fariello
02e3f93caa fixup! Add more test on Optionnal, Required children serialization 2019-12-30 11:20:37 +01:00
Paul Fariello
ce49b918c6 Add serialization test for mam result and fin element 2019-12-30 11:20:37 +01:00
Paul Fariello
e66a21176a Add serialization test for forwaded element 2019-12-30 11:20:37 +01:00
Paul Fariello
5da5795286 Add serialization test for carbons forwarded elemt 2019-12-30 11:20:37 +01:00
Paul Fariello
0d879eb231 Add more test on Optionnal, Required children serialization 2019-12-30 11:20:37 +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
7c15653fac CI: Remove cache
Gitlab.com's third-parti storage works half the time anyway, and it
takes 8min to build 3mn to get it back..

Maybe someday..

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-08 13:47:43 +00:00
c53f4efbc5 CI: Also include cargo files in cache
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-08 13:47:43 +00:00
c8206455f1 parsers: fix tests indentation with minidom PartialEq changes
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-08 11:03:01 +00:00
e62e870ef0 minidom: strictly compare whitespace in Element's PartialEq impl
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-08 11:03:01 +00:00
c9e6e3d095 minidom: Handle Node::Comment in PartialEq
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-08 11:03:01 +00: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
Emmanuel Gil Peyrot
658c30fba6 examples: Add blake2b and simplify names. 2019-12-01 17:16:46 +01:00
Emmanuel Gil Peyrot
0d01918713 examples: Remove all unwrap()s. 2019-12-01 17:02:11 +01:00
Emmanuel Gil Peyrot
0d58b56920 ecaps2: Use the Error type instead of () or String. 2019-12-01 17:00:20 +01:00
473aaa03ef Merge branch 'fix-serialization' into 'master'
parsers: Fix serialization

See merge request xmpp-rs/xmpp-rs!42
2019-12-01 02:53:41 +00:00
3c92f849d3 pubsub: Add serialization test for configure element
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-01 03:16:24 +01:00
Paul Fariello
689b7cf836 Fix serialisation of Optional field 2019-12-01 03:16:24 +01:00
Paul Fariello
3a2027411e mam: Fix test on serialisation 2019-12-01 03:16:24 +01:00
Paul Fariello
8d41959497 jingle: Add test on serialisation 2019-12-01 03:16:24 +01:00
1c5551a917
minidom: Implement PartialEq manually for Node and Element
Move the NamespaceAwareCompare implementation from xmpp-parsers as Node
and Element's PartialEq implementation. Thanks Astro!

It's a lot more useful in tests to use `assert_eq!` than `assert!`, so
we get both items compared (left and right) instead of a "it failed."
message.

This "breaks" comparison for these two structs in the sense that it is
not strict object comparison anymore but it ensures that namespaces are
all present in the compared objects.

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-11-29 16:02:23 +01:00
ea6e7c24a3 Merge branch 'more-ns-choice' into 'master'
minidom: Use NSChoice in more places

See merge request xmpp-rs/xmpp-rs!40
2019-11-26 22:07:16 +00:00
Xidorn Quan
219b0bbe87 minidom: Use NSChoice in more places 2019-11-26 22:47:35 +11:00
c4c285d3d5 Merge branch 'mam-serialize' into 'master'
parsers/mam: add ignored failing test for serialization

See merge request xmpp-rs/xmpp-rs!38
2019-11-22 17:21:20 +00:00
f3a18711e6
parsers/mam: add ignored failing test for serialization
Add failing test for #20. Thanks Paul.
Now that needs fixing..

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-11-22 17:34:53 +01: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
8042d6ea23
minidom: Move compare_ns out of NamespaceSet into NSChoice
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-11-09 12:45:31 +01:00
28faee8408
minidom: rustfmt latest commit
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-11-09 01:33:46 +01:00
5a254bca1a
parsers/jingle: fixes struct size in tests
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-11-09 01:32:11 +01:00
70f3ef5523
parsers: Use new NSChoice API from minidom. Fixes tests
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-11-09 01:31:36 +01:00
362ceae922
minidom: Add NSChoice enum to extent element.is and .has_ns API
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-11-09 01:26:48 +01:00
276dc4fcb2
minidom: Fix code style
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-11-06 03:51:58 +01:00
Emmanuel Gil Peyrot
877d5c21da minidom: Add a blanket impl for From<Into<Element>> for Node. 2019-11-03 18:49:11 +01:00
a1489a6428
xmpp-rs: Use to_hex conversion from struct directly
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-10-23 15:03:30 +02:00
6d1d441372 Check with nightly image; remove zsh-ism
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-10-23 02:31:14 +02: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
e1b53eae3c Remove unused .gitlab-ci.yml files
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-10-23 01:02:11 +02:00
ae764477c7 Use ref to avoid 'cannot bind by-mode pattern'
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-10-23 01:02:11 +02:00
a55d420979
Temporarily remove features
It's not possible to use them at the top of the workspace.

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-10-23 00:29:28 +02:00
a3922138a3
xmpp-rs: Test that client builds correctly
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-10-22 23:46:50 +02:00