Age | Commit message (Collapse) | Author |
|
The callback is provided to set socket options, instead of individual
options such as path_mtu_discovery (which is now removed).
Noticed that the Rust rexmpp structure's C representation does not
match that of C, since Rust's "bool" maps to C99's "_Bool", while I
thought that it maps to "int" (c_int). Adjusted C structures to use
"bool" from stdbool.h as well, since C99 (GNU99) is used already.
|
|
|
|
|
|
|
|
Continuing replacement of libxml2, planning to use libexpat or a Rust
XML parser as an alternative for XML parsing.
|
|
The new structure (rexmpp_xml) is simpler, and should allow
manipulation from Rust without any dependency on libxml2 from the Rust
code (while Rust has its own parsers, such as rxml). Alternative XML
parsers (e.g., libexpat) now can be used from the C code.
The replacement/abstraction is not quite complete yet: the parsing
process itself (xmlParseChunk and friends) should be abstracted out.
|
|
|
|
Works with Dino and Conversations, but currently relying on external
players and streamers for actual audio playback and capture.
For now requiring GnuTLS and libnice for calls; OpenSSL should be
supported as an alternative to the former, and the latter should be
made optional, maybe with libjuice as an alternative.
|
|
Only EXTERNAL and PLAIN mechanisms are supported without it for now.
|
|
As well as the ability to set a trusted server certificate.
|
|
Now it builds with newer compiler and library versions, the
ones from Debian 11 repositories.
|
|
|
|
Now it should be usable as a basic CLI client, in addition to an XML
console.
|
|
rexmpp_init may write logs itself, so a logging function should be set
for that.
|
|
The rexmpp_jid_check function now ensures that JID parts are valid
UTF-8 strings, and that only allowed code points (per RFC 8265) are
used in those. Though there is a few more checks to perform still.
|
|
It's not great, but a little less awkward than gets(3). May be nicer
to use pinentry, or at least to disable echoing, but those come with
additional dependencies, which are undesirable for a basic example.
|
|
|
|
|
|
|
|
|
|
|
|
Various checks and utility functions should still be added, and it
currently relies on gpg(1) for key generation and validation, but
PEP-based key distribution and basic OpenPGP functionality are
there.
|
|
|
|
A full assigned JID is a bit too long, particularly for weechat.el.
|
|
|
|
|
|
|
|
Presence of roster contacts is tracked by rexmpp now (optionally, by
default), and the weechat plugin marks online contacts with the "+"
prefix.
|
|
The server buffer's nicklist is filled with roster items, and MUC
buffers' nicklists are filled with active MUC participants. No MUC
role indications, groups, or contact presence tracking yet.
|
|
Exit MUCs on buffer closing, show resource parts instead of full JIDs.
|
|
|
|
|
|
Only usable as an XML console and for basic one-to-one chats, and
quite messy, but probably will be extended and refactored later.
|
|
Leaving required parameters only (i.e., just an initial JID).
|
|
Now it's more generic and usable for manual XMPP feature testing.
|
|
So that a library user's SASL property callback gets a pointer to the
whole rexmpp structure at once, similarly to other callbacks.
|
|
|
|
|
|
|
|
|
|
|