Commit Graph

40 Commits

Author SHA1 Message Date
b8e1a63f93 build: add missing includes to header files
This change adds necessary `#include` directives that were previously
omitted in some header files. Without these includes, compilation
could fail or produce undefined behavior when the headers are used
in isolation (i.e., before their dependencies are included elsewhere).

Ensures better modularity and reliability of header usage.
2025-09-01 19:31:45 +00:00
Steffen Jaeckel
c5a131ee46 Introduce our own shutdown callback mechanism.
Instead of adding stuff to `_shutdown()`, we can now register a shutdown
routine from the respective `init()` function of our modules.

This also has the advantage, that we're sure they're called in reverse
order from how the initialization happened.

I didn't simply use `atexit()` because POSIX says that the number of
possible callbacks is limited (min 32) and I was not sure whether
we will maybe extend this number at one point.

Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2025-03-07 21:09:16 +01:00
John Hernandez
36784738fc Add optional pgp public key autoimport
Refactor `p_gpg_list_keys`
Add `/pgp autoimport` command,
it's not described in XEP-0027, but used in some clients,
such as PSI, Pidgin. It will autoimport keys received with
`/pgp sendpub`, in plain text as a message, or using features,
provided in other clients. It doesn't autoassign them, but shows
command to assign, letting user to decide.
Improve documentation for some preexisting functions
Add contact argument to `/pgp sendpub`
2023-07-02 14:25:55 +02:00
John Hernandez
a59623a007 Add /pgp sendpub command
Command allows to share your PGP pub key with ease,
it's not described in XEP-0027, but used in some clients,
such as PSI, Pidgin.
Fix typos
Minor improvements
2023-07-02 14:25:55 +02:00
Michael Vetter
a40a0f5189 Split ox functions from gpg.c to ox.c 2022-06-29 09:17:15 +02:00
DebXWoody
0552e50c78 OX: XEP-0373: OpenPGP for XMPP - Version 0.5.0 (2020-06-19)
Discovering Public Keys via PEP

* 4.3 Discovering Public Keys of a User
* 4.4 Requesting Public Keys

* Import Public Keys into GnuPG's local keyring.

Issue: #1331
2020-07-10 13:40:00 +02:00
Michael Vetter
a2726b6a7d Apply coding style 2020-07-07 14:18:57 +02:00
Michael Vetter
a4cadf78fa Revert "Apply coding style"
This reverts commit 9b55f2dec0.

Sorting the includes creates some problems.
2020-07-07 13:53:30 +02:00
Michael Vetter
9b55f2dec0 Apply coding style
Regards https://github.com/profanity-im/profanity/issues/1396
2020-07-07 09:43:28 +02:00
DebXWoody
5a17957253 OX: Announce public key on PEP
src/pgp/gpg.c:p_ox_gpg_readkey

Used to read a public key from a file. The function will return the fingerprint
of the file and the base64 encoded key.

src/xmpp/ox.[hc]

ox_announce_public_key(const char* const filename) can be called from the /ox
announce <filename> command. The key within the file will be pushed on PEP and
the Metadata node will be set.

Issue: #1331
2020-07-06 13:19:18 +02:00
DebXWoody
2c94ee5a88 Feature request - XEP-0373: OpenPGP for XMPP (OX)
Basic implementation of XEP-0373: OpenPGP for XMPP.
https://xmpp.org/extensions/xep-0373.html

Command /ox

Issue: #1331
2020-06-29 19:05:41 +02:00
Paul Fariello
a52e3ea1d8 Add context to autocomplete_with_func and use it for omemo trust command
Fix #1068
2020-01-31 10:07:08 +01:00
Michael Vetter
46fd7150e5 Add vim modeline 2019-11-13 12:11:05 +01:00
Michael Vetter
706af9a900 Update copyright to include 2019 2019-01-22 11:31:45 +01:00
James Booth
250e972b7a Update copyright 2018-01-21 15:00:02 +00:00
James Booth
6b830277a6 Allow previous autocompletion with shift tab 2017-04-01 00:27:11 +01:00
James Booth
68a3daedb9 Update Copyright 2017-01-28 17:24:22 +00:00
James Booth
9cff37352a Make header defines consistent 2016-07-24 14:51:39 +01:00
James Booth
e8fc80f5c1 Update GPL link in headers 2016-07-24 01:14:49 +01:00
James Booth
7b138b71db PGP: Also encrypt using sender public key 2016-03-29 21:24:37 +01:00
James Booth
e53e94f1e2 Updated copyright 2016-02-14 22:54:46 +00:00
James Booth
88fd2a25ee Show PGP error strings 2015-12-15 00:38:16 +00:00
James Booth
39d183fe23 Applied coding style to src/pgp/ 2015-10-25 22:43:19 +00:00
James Booth
688be91c23 PGP: Format fingerprints 2015-08-30 02:12:05 +01:00
James Booth
cb19be2ffc Added PGP key autocompleter 2015-08-25 23:44:03 +01:00
James Booth
55c2d1cc21 PGP: Display whether contact public key was received or manually set 2015-08-25 23:04:21 +01:00
James Booth
fc1ee79190 PGP: Show key IDs for assigned public keys 2015-08-25 22:45:51 +01:00
James Booth
f6a91145b6 Show public/private indicator when listing PGP keys 2015-08-25 00:21:49 +01:00
James Booth
525876770a Removed unused barejid argument from PGP decryption 2015-08-24 00:13:57 +01:00
James Booth
57ca441f02 Check for valid PGP key on start 2015-08-23 22:54:41 +01:00
James Booth
2af5c151a0 Tidied pgp memory allocations 2015-08-11 01:00:23 +01:00
James Booth
358e9d6af0 Added /pgp setkey command 2015-06-23 23:29:10 +01:00
James Booth
6617bb5a2b Added window encyption mode for PGP 2015-06-20 23:49:24 +01:00
James Booth
0f6bc9b55d Decrypt incoming messages 2015-03-25 00:05:32 +00:00
James Booth
eb5cb7b2f8 Send encrypted messages 2015-03-24 23:34:24 +00:00
James Booth
551f7df1f7 Added signature verification, /pgp fps command 2015-03-24 00:47:13 +00:00
James Booth
475dfebd97 Added pgpkeyid account setting, send signed presence 2015-03-23 23:38:06 +00:00
James Booth
8a5d1fef29 Added Id and fingerprint to pgp key list 2015-03-22 01:03:06 +00:00
James Booth
fd86615549 Added /pgp libver command 2015-03-22 00:29:57 +00:00
James Booth
2490c3ed20 Added pgp key list command 2015-03-22 00:12:14 +00:00