Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-01-29 | Set CURLOPT_INFILESIZE on HTTP file uploadHEADmaster | defanor | |
2023-12-27 | Fix builds without Jingle calls | defanor | |
2023-12-07 | Provide a callback after socket creation, use _Bool | defanor | |
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-11-17 | Implement MUC self-ping (XEP-0410) | defanor | |
2023-11-12 | Skip full capabilities string composition | defanor | |
A hash is composed more directly now: parts of the string are fed into a hash function instead of being concatenated first. | |||
2023-11-11 | Check realloc(3) return values | defanor | |
2023-11-02 | Use Rust enums for C tagged unions | defanor | |
Used to manually implement tagged unions in Rust as well, but the C representation of Rust enums with fields is supposed to match those. | |||
2023-10-22 | Fix a couple of bugs, refactor a little | defanor | |
Found a couple of issues with -fanalyzer, though CWE-401 (analyzer-malloc-leak) appears to produce false positives still. | |||
2023-10-14 | Mark `xmpp' in xmpp.el for autoload | defanor | |
2023-10-07 | Use file descriptors instead of streams, update Rust sources | defanor | |
File descriptors tend to be easier to handle with FFI. | |||
2023-09-29 | Add more checks, tests, and documentation | defanor | |
2023-09-28 | Fix roster handling | defanor | |
It was broken by the XML handling changes. | |||
2023-09-28 | Support Nettle and OpenSSL for hashing, in addition to Libgcrypt | defanor | |
2023-09-26 | Support OpenSSL for DTLS-SRTP | defanor | |
2023-09-24 | Move GnuTLS operations from Jingle module into TLS module | defanor | |
2023-09-21 | Handle audio I/O, codecs, and RTP for Jingle calls | defanor | |
2023-09-15 | Abstract out random generation | defanor | |
Still depending on gcrypt for hashing, but this is a step towards making that dependency optional. | |||
2023-09-15 | Update the test | defanor | |
2023-09-15 | Declare rexmpp_str_putc_escaped as "static inline" | defanor | |
2023-09-09 | Use rxml for XML parsing when building with Rust | defanor | |
2023-09-08 | Support libexpat as an alternative XML parser | defanor | |
2023-09-07 | Implement rexmpp_xml_eq in Rust | defanor | |
2023-09-07 | Build rexmpp_xml_t directly on SAX parsing | defanor | |
Afterwards it is used for the input queue, too. | |||
2023-09-07 | Implement XML serialization in C and in Rust | defanor | |
Continuing replacement of libxml2, planning to use libexpat or a Rust XML parser as an alternative for XML parsing. | |||
2023-09-06 | Fix XML node freeing in rexmpp_openpgp.c | defanor | |
It used xmlFreeNode instead of rexmpp_xml_free. | |||
2023-08-09 | Fix pinging | defanor | |
It was broken since commit 938963c1d1c6a9b929d28a90030332d4f397ca61, since seconds from monotonic clocks were compared to calendar ones. Now last_network_activity is a timespec, using monotonic clocks as well. | |||
2023-06-22 | Make use of pointer::as_mut and pointer::write | defanor | |
It doesn't seem to add much, but experimenting with different approaches. | |||
2023-06-20 | Add Rust versions of the TCP module and of a few structures | defanor | |
2023-06-18 | Duplicate most of the XML functions in Rust, use Cargo | defanor | |
2023-06-14 | Use more pointers to other structures from struct rexmpp | defanor | |
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-09 | Avoid direct strdup of values returned by rexmpp_xml_find_attr_val | defanor | |
Better to check those to not be NULL first. | |||
2023-05-23 | Replace libxml2's xmlNode with a custom XML structure | defanor | |
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-17 | Rebuild the Rust-based static library on source file changes | defanor | |
2023-05-05 | Introduce an alternative implementation of rexmpp_socks in Rust | defanor | |
Possibly other modules will follow. Aiming to provide memory-safe(r) alternatives, while keeping the C versions as well. | |||
2023-05-02 | Use timespec and monotonic clock for timers | defanor | |
2023-04-15 | Add a path MTU discovery setting for TCP sockets | defanor | |
2023-04-15 | Fix an inet_pton argument | defanor | |
2022-12-13 | Add console commands for blocklist management | defanor | |
2022-12-10 | Add console commands for service discovery and pubsub node removal | defanor | |
2022-04-04 | Add a DOAP file | defanor | |
2022-01-10 | Add a basic test | defanor | |
2022-01-10 | Check in rexmpp_tcp_connected whether DNS records are resolved | defanor | |
They may not be if an IP address is used instead of a hostname. | |||
2021-12-28 | Fix integer overflow on stanzas_out_acknowledged > stanzas_out_count | defanor | |
2021-12-25 | Handle MUC private messages in xmpp.el | defanor | |
2021-10-23 | Add xmpp-restart into xmpp.el | defanor | |
For restarting the rexmpp_xml_interface process (e.g., switching to a newer version) without killing corresponding buffers. | |||
2021-10-13 | Implement Jingle RTP sessions with ICE-UDP and DTLS-SRTP | defanor | |
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-03 | Return REXMPP_E_AGAIN upon scheduling a reconnect | defanor | |
So that an application would wait instead of giving up; perhaps other errors should be reserved for cases when a reconnect is undesirable and user intervention is needed. | |||
2021-10-03 | Fix IPv6 address handling | defanor | |
2021-10-03 | Free rexmpp_dns_query_cb_data structures | defanor | |
2021-10-02 | Make libgsasl optional | defanor | |
Only EXTERNAL and PLAIN mechanisms are supported without it for now. |