d98ed61
xmpp: Agent::send_room_private_message takes RoomPrivateMessageSettings
xmppftw created
d98ed61
xmpp: Agent::send_room_private_message takes RoomPrivateMessageSettings
xmppftw created
897c2ab
tokio-xmpp: Refactor to provide channel-binding for ktls
Instead of having a second method to fetch channel-binding from the TlsStream, do it directly in the connect() method, since after that we don’t have enough information to fetch it any longer when using ktls.
Emmanuel Gil Peyrot created
7991cef
Add tests for crate exports ; add structure to imports/exports
xmppftw created
1b4a307
xmpp-parsers: Convert DiscoInfoResult to xso
This disables some tests, but those were controversial anyway. I was thinking about replacing the Feature struct with a plain String, what do you think about it?
Emmanuel Gil Peyrot created
893a2f8
xmpp-parsers: Convert Presence to xso
The two remaining issues, which led to two ignored tests, are that priority now gets always serialized, and that we don’t reject duplicated identical xml:lang in statuses.
Emmanuel Gil Peyrot created
3fd8285
xmpp: RoomNick is newtype wrapper for ResourcePart
xmppftw created
5477cf1
xmpp: Use ResourcePart for sender of room events
xmppftw created
c16456f
parsers/xmpp: MUC bookmarks have nickname typed as ResourcePart
xmppftw created
8c033a3
xso: Implement FromXmlText and AsXmlText for NodePart,DomainPart,ResourcePart
xmppftw created
3c77ee0
xmpp-parsers: Add support for <alternative-session><sid/></>
This was previously unimplemented due to how the enum was treated, now that we moved the reason element to xso we can describe it properly and thus implement everything it supports. This causes one regression on xml:lang validation, but we can live with that until xso implements such verification.
Emmanuel Gil Peyrot created
7074344
xso: correctly handle I/O errors during start event in from_reader
Without this, it'd panic, which is "not ideal", as they say.
Jonas Schäfer created
cd43aa2
xmpp-parsers: Convert the Actor enum into a struct
XEP-0045 doesn’t specify what to do in the case the actor contains both a @jid and a @nick, so let’s not encode anything special about that here. In addition this converted it to use xso. Supersedes !196. Fixes #88.
Emmanuel Gil Peyrot created
ce57ee4
tokio_xmpp: add example to demonstrate stream management
Jonas Schäfer created
35ce862
client: use stanzastream!
Jonas Schäfer created
80f899d
tokio_xmpp: implement high-level, resilient stanza stream
Jonas Schäfer created
56ce57e
xmlstream: use Stanza for XmppStreamElement
Oftentimes, Stanza is at hand anyway, so this saves some typing.
Jonas Schäfer created
c6f928d
xmlstream: make sink implementation generic
This allows to use any serialisable type. The advantage is that moves and clones are avoided (which would otherwise be needed to construct e.g. a XmppStreamElement from a Stanza or Message).
Jonas Schäfer created
519718d
xmlstream: add support for boxing the transport
This is useful in situations where we don't want to care about the specific type of the underlying transport.
Jonas Schäfer created
2388f23
xmlstream: support receiving stream errors
Jonas Schäfer created
8c3c8c7
hello_bot accepts a list of room JIDs to join to say hello
xmppftw created
fdec34a
Add JoinRoomSettings, LeaveRoomSettings, and RoomMessageSettings
xmppftw created
7fca029
xmpp-parsers: Fix jingle thumbnails wrt the XEP changes
Version 0.4.2 added a restriction on width and height to be in the 0..65535 range. The media-type attribute has always been optional as well.
Emmanuel Gil Peyrot created
6d7a95b
Remove xmpp::Event::{JoinRoom,LeaveRoom,LeaveAllRooms}
xmppftw created
fa039c5
xso: improve wording in AsXmlText and AsOptionalXmlText
Jonas Schäfer created
580fdef
Added a test for prosody bug 1664 workaround
xmppftw created
0115855
xmpp: Adapt to xmpp-parsers changes wrt autojoin
This attribute is now a simple bool instead of an enum.
Emmanuel Gil Peyrot created
866991b
xmpp-parsers: Replace all instances of bool attributes with bool
These bring basically nothing, so we can throw them away alongside their generator macro.
Emmanuel Gil Peyrot created
45be2b3
tokio-xmpp: Add 'component' feature
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Maxime “pep” Buquet created
16b2325
xmpp-parsers: Convert vCard-temp to xso
This also keeps all additional elements in the vCard, so they get serialized back on the wire instead of being dropped.
Emmanuel Gil Peyrot created
aaf2dd7
xmpp-parsers: Convert bookmarks2 to xso
Emmanuel Gil Peyrot created
1c22e17
xmpp-parsers: Convert Jingle File Transfer to xso
Emmanuel Gil Peyrot created
af0bd35
xmpp-parsers: Implement XEP-0490: Message Displayed Synchronization
This XEP is used to synchronize where each client has stopped reading a conversation, so that we can e.g. stop displaying a notification when the user has read this particular message on a different device.
Emmanuel Gil Peyrot created
d738939
xmpp-parsers: Simplify hash conversion to Vec
Use `GenericArray::to_vec()` and `slice::to_vec()` directly.
Emmanuel Gil Peyrot created
e358bd4
sasl: Simplify hash conversion to Vec
Use `GenericArray::to_vec()` directly.
Emmanuel Gil Peyrot created
57e6e98
xmpp-parsers: Add test for StartTLS
This tests each element we support, and also keep track of the sizes. Additionally the copyright year was wrong.
Emmanuel Gil Peyrot created
5e9635a
rustfmt has changed, so update xso so CI is happy again
Emmanuel Gil Peyrot created
c390af2
jid: Remove the std feature
Since Rust 1.81, std::error::Error has been moved to core::error::Error, which we can use without depending on std.
Emmanuel Gil Peyrot created
dc842c4
sasl: Make this crate no_std
We mostly had to import from alloc some structs that are part of the std prelude, such as Vec and String.
Emmanuel Gil Peyrot created
0267383
sasl: Improve frame parsing
All keys only have a single char, so avoid allocating a whole String for them. Also move to a BTreeMap as this is more efficient on such keys.
Emmanuel Gil Peyrot created
7d8ffe4
xso: add support for ignoring unknown stuff in extracts
Jonas Schäfer created
66233b0
xso: add support for ignoring unknown children
Jonas Schäfer created
290460b
xso: add support for ignoring unknown attributes
Jonas Schäfer created
74c81b6
xso: add `from_reader`
Jonas Schäfer created
347e8d6
Impl Error for ReadError
Alvaro Parker created
c24275c
tokio-xmpp: Add support for kernel TLS
This drastically improve the debuggability of the network parts, by moving the task of encrypting/decrypting TLS packets from userland to the kernel. This makes them appear in clear in strace as sendto() and recvfrom(). I introduced a new tls-rust-ktls feature which depends on both rustls and ktls, but isn’t enabled by default since it probably isn’t available on every computer. It requires the tls kernel module to be loaded, which then can offload encryption/decryption to dedicated hardware if available. I have tested this change on Linux 6.11 on a rk3588.
Emmanuel Gil Peyrot created
904bdea
add debug to `StreamHeader`
Alvaro Parker created
ebfae4b
tokio-xmpp: Run rustfmt on that one example
It started breaking CI for some reason, probably a rustfmt update.
Emmanuel Gil Peyrot created
2ff89a9
fix typos
Alvaro Parker created
a503c85
parsers: add support for handled-count-too-high error
Jonas Schäfer created
0f0759b
parsers: add support for <optional/> in stream management feature
Jonas Schäfer created