summaryrefslogtreecommitdiff
path: root/examples
AgeCommit message (Collapse)Author
2023-12-07Provide a callback after socket creation, use _Booldefanor
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.
2023-09-24Move GnuTLS operations from Jingle module into TLS moduledefanor
2023-09-09Use rxml for XML parsing when building with Rustdefanor
2023-09-08Support libexpat as an alternative XML parserdefanor
2023-09-07Implement XML serialization in C and in Rustdefanor
Continuing replacement of libxml2, planning to use libexpat or a Rust XML parser as an alternative for XML parsing.
2023-05-23Replace libxml2's xmlNode with a custom XML structuredefanor
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.
2023-05-02Use timespec and monotonic clock for timersdefanor
2021-10-13Implement Jingle RTP sessions with ICE-UDP and DTLS-SRTPdefanor
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.
2021-10-02Make libgsasl optionaldefanor
Only EXTERNAL and PLAIN mechanisms are supported without it for now.
2021-09-20Restore client certificate (SASL EXTERNAL) authenticationdefanor
As well as the ability to set a trusted server certificate.
2021-08-29Update to Debian 11 versions of dependenciesdefanor
Now it builds with newer compiler and library versions, the ones from Debian 11 repositories.
2021-02-28Add the initial Emacs interfacedefanor
2021-02-15Add optional text console usage into basic.cdefanor
Now it should be usable as a basic CLI client, in addition to an XML console.
2021-02-12Set log_function on initialisationdefanor
rexmpp_init may write logs itself, so a logging function should be set for that.
2021-02-11Add initial JID checksdefanor
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.
2021-01-25Use getline(3) for examples/basic.c password readingdefanor
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.
2020-11-26Introduce rexmpp_strerrordefanor
2020-11-22Add the console moduledefanor
2020-11-20Handle XEP-0402: PEP Native Bookmarksdefanor
2020-11-20Add XEP-0373 message verificationdefanor
2020-11-20Don't include own JID into <signcrypt/>, always encrypt for selfdefanor
2020-11-19Implement XEP-0373: OpenPGP for XMPPdefanor
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.
2020-11-17Add initial JID parsingdefanor
2020-09-11Print own messages as originating from ">" in the weechat plugindefanor
A full assigned JID is a bit too long, particularly for weechat.el.
2020-08-23Comment examples/basic.c and include it into the manualdefanor
2020-08-10Get rid of the weechat plugin's compiler warningsdefanor
2020-07-19Document a few functions and the weechat plugindefanor
2020-07-05Add presence trackingdefanor
Presence of roster contacts is tracked by rexmpp now (optionally, by default), and the weechat plugin marks online contacts with the "+" prefix.
2020-07-04Fill weechat nicklistsdefanor
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.
2020-06-23Improve MUC support in the weechat plugindefanor
Exit MUCs on buffer closing, show resource parts instead of full JIDs.
2020-06-02WeeChat plugin: improve message printing, add MUC joiningdefanor
2020-06-02Add examples/weechat.c into the distributiondefanor
2020-06-01Add a crude WeeChat plugindefanor
Only usable as an XML console and for basic one-to-one chats, and quite messy, but probably will be extended and refactored later.
2020-05-30Remove callback functions from rexmpp_init argumentsdefanor
Leaving required parameters only (i.e., just an initial JID).
2020-05-18Accept JID and raw XML input in the "basic" exampledefanor
Now it's more generic and usable for manual XMPP feature testing.
2020-05-09Wrap the SASL property callbackdefanor
So that a library user's SASL property callback gets a pointer to the whole rexmpp structure at once, similarly to other callbacks.
2020-03-29Fix input buffer sizedefanor
2020-03-27Add optional roster cachingdefanor
2020-03-02Verify X.509 certificatesdefanor
2020-03-01Add SOCKS5 supportdefanor
2020-02-29Add the draftdefanor