summaryrefslogtreecommitdiff
path: root/src/rexmpp_openpgp.c
AgeCommit message (Collapse)Author
10 daysFix builds with --disable-callsHEADmasterdefanor
2023-11-11Check realloc(3) return valuesdefanor
2023-09-29Add more checks, tests, and documentationdefanor
2023-09-15Abstract out random generationdefanor
Still depending on gcrypt for hashing, but this is a step towards making that dependency optional.
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-09-06Fix XML node freeing in rexmpp_openpgp.cdefanor
It used xmlFreeNode instead of rexmpp_xml_free.
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.
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-09-24Pass user-provided pointers to <iq> callback functionsdefanor
2021-09-22Fix a few GCC warningsdefanor
2021-09-19Make GPGME optionaldefanor
2021-03-10Allow to choose which OpenPGP keys to use for signingdefanor
2021-02-12Add a few XEP-0060 (pubsub) helper functionsdefanor
2021-02-11Allow to reupload OpenPGP keys, without stripping signaturesdefanor
For potential use of key revocation and/or of the WOT trust model.
2021-02-08Adjust and document XEP-0373 APIdefanor
2021-02-07Add dedicated functions for message signing and encryptiondefanor
2021-02-07Add rexmpp_openpgp_set_signers functiondefanor
Now there are can_sign/can_encrypt checks, and this should be more suitable for future sign-only and encrypt-only functions.
2021-02-07Use gsasl_nonce for random paddingdefanor
2021-02-07Use gpgme_key_unref instead of gpgme_key_releasedefanor
gpgme_key_release is deprecated.
2021-02-07Clear the list of signers before filling it againdefanor
Retracted keys may still stay there otherwise.
2021-02-07Delete OpenPGP key node on key retractiondefanor
2021-02-07Add the rexmpp_openpgp_retract_key functiondefanor
2021-02-07Only attempt to sign messages with available secret keysdefanor
2021-02-07Add the rexmpp_openpgp_set_home_dir utility functiondefanor
2021-01-19Add XEP-0373 (OpenPGP for XMPP) implementation notesdefanor
2020-11-23Use stricter compiler checksdefanor
2020-11-20Handle XEP-0402: PEP Native Bookmarksdefanor
2020-11-20Add rexmpp_xml_parsedefanor
This is intended mostly for language bindings, which may prefer to avoid libxml2, and to rely on serialized XML for bridging.
2020-11-20Add XEP-0373 message verificationdefanor
2020-11-20Use gmtime_r instead of gmtimedefanor
2020-11-20Fix signcrypt's random padding's length, check for errorsdefanor
2020-11-20Don't include own JID into <signcrypt/>, always encrypt for selfdefanor
2020-11-19Sign messages with appropriate keysdefanor
That is, the keys which are both published for the account and available.
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.