summaryrefslogtreecommitdiff
path: root/src/rexmpp_jingle.c
AgeCommit message (Collapse)Author
2023-12-27Fix builds without Jingle callsdefanor
2023-10-22Fix a couple of bugs, refactor a littledefanor
Found a couple of issues with -fanalyzer, though CWE-401 (analyzer-malloc-leak) appears to produce false positives still.
2023-09-29Add more checks, tests, and documentationdefanor
2023-09-28Support Nettle and OpenSSL for hashing, in addition to Libgcryptdefanor
2023-09-26Support OpenSSL for DTLS-SRTPdefanor
2023-09-24Move GnuTLS operations from Jingle module into TLS moduledefanor
2023-09-21Handle audio I/O, codecs, and RTP for Jingle callsdefanor
2023-09-08Support libexpat as an alternative XML parserdefanor
2023-06-14Use more pointers to other structures from struct rexmppdefanor
Instead of including them. Those structures can vary depending on configuration options, while for bindings it is easier if they stay the same, and are mere pointers. Besides, some of them may refer to opaque Rust-only structures in the future.
2023-06-09Avoid direct strdup of values returned by rexmpp_xml_find_attr_valdefanor
Better to check those to not be NULL first.
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-02Use a custom base64 implementationdefanor
Reducing dependency on gsasl.
2021-10-02Use libgcrypt for hashing and randomdefanor
Libgsasl will probably be made optional, so another source of random is needed. Libgsasl uses libgcrypt underneath. Gcrypt, unlike nettle, handles random seeding on its own, which would be annoying to implement for different platforms otherwise.
2021-10-01Use sha-256 and sha3-256 for file transfersdefanor
These are preferred in XEP-0414, providing both now.
2021-10-01Add Jingle file transfer over IBBdefanor