xmpp-rs/tokio-xmpp
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jonas Schäfer 51ce661f8d tokio-xmpp: do not discard XmlLangStack when boxing the stream
The stream may have read some data already (such as the stream
header). When initially writing this code, I had missed that we do
actually also carry the parser state over: I misread the
AsyncReader::wrap(..) command as something like AsyncReader::new, i.e.
starting off with fresh parser state, so I assumed that we need a fresh
XmlLangStack, too.

This is wrong: `p` comes from `self.parser.into_inner()` above and is
the parser state, so we need to carry the lang stack along, as well.

This fixes:

```
thread 'tokio-runtime-worker' panicked at […]/rxml-0.13.1/src/xml_lang.rs:87:13:
pop from empty XmlLangStack
```

happening during stream shutdown. The panic was first reported by
@ppjet6, so thanks for that and the keen eye.

skip-changelog, because the bug has not been released yet.
2025-05-03 17:41:13 +02:00
..
examples parsers: improve xml:lang handling 2025-04-18 13:16:21 +02:00
src tokio-xmpp: do not discard XmlLangStack when boxing the stream 2025-05-03 17:41:13 +02:00
.gitignore Prepare for merge: Move all tokio-xmpp files into tokio-xmpp/ 2019-10-18 14:16:01 +02:00
Cargo.toml Bump rxml to 0.13.1 2025-04-22 17:47:45 +02:00
ChangeLog Bump rxml to 0.13.1 2025-04-22 17:47:45 +02:00
logo.svg Prepare for merge: Move all tokio-xmpp files into tokio-xmpp/ 2019-10-18 14:16:01 +02:00
README.md tokio-xmpp: remove obsolete TODOs 2020-03-16 00:11:52 +01:00

TODO

  • allow tls verify customization
  • more tests