<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/src/engine-gpg.c, branch gpgme-2.0.0</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-2.0.0</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-2.0.0'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2025-05-14T09:16:28Z</updated>
<entry>
<title>Treat empty algorithm the same way as unset algorithm</title>
<updated>2025-05-14T09:16:28Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2025-05-14T09:16:28Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=15ae7da74bc403d19df8d3ca3c0176b7dac98e18'/>
<id>urn:sha1:15ae7da74bc403d19df8d3ca3c0176b7dac98e18</id>
<content type='text'>
* src/engine-gpg.c (gpg_add_algo_usage_expire): Add "default" as
algorithm argument if algo is NULL or an empty string.
--

</content>
</entry>
<entry>
<title>Add algorithm, usage and expire also if only the group flag is set</title>
<updated>2025-05-13T12:54:11Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2025-05-13T12:54:11Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=8f08ca0e382085f9caba8ff969aa1ce66b6a84c8'/>
<id>urn:sha1:8f08ca0e382085f9caba8ff969aa1ce66b6a84c8</id>
<content type='text'>
* src/engine-gpg.c (gpg_add_algo_usage_expire): Check flags for
GPGME_CREATE_GROUP flag.
--

With this change a cert-only group-owned key will be created if only the
group flag is set.

</content>
</entry>
<entry>
<title>Add GPGME_CREATE_GROUP flag for gpgme_op_createkey and _createsubkey.</title>
<updated>2025-05-12T12:42:57Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2025-05-12T12:42:57Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=905bd760a99a455af6717b66311fc2197dea1055'/>
<id>urn:sha1:905bd760a99a455af6717b66311fc2197dea1055</id>
<content type='text'>
* src/gpgme.h.in (GPGME_CREATE_GROUP): New.
* src/engine-gpg.c (gpg_add_algo_usage_expire): Pass to engine.
* tests/run-genkey.c (parse_usage_string): Support here too.
</content>
</entry>
<entry>
<title>Allow signing using an exactly specified subkey.</title>
<updated>2025-05-05T14:01:10Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2025-05-05T13:52:08Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=bfd320abfeaf0c7a16af3057279c77a45bfa961a'/>
<id>urn:sha1:bfd320abfeaf0c7a16af3057279c77a45bfa961a</id>
<content type='text'>
* src/engine-gpg.c (append_args_from_signers): Detect exactly
specified keys and apped the '!' suffix.
--

Due to the ABI break which removed long long deprecated functions we
can also risk to introduce a slight semantic change in the way signer
keys are specified.  The change is that iff a subkey-fingerprint with
the '!' suffix was used to lookup a signer's key we now use this
specific subkey and not any key gpg considers to be a good signing
subkey.  Most people would have considered the old behaviour anyway as
a bug because it differs from what gpg uses at the command line.

GnuPG-bug-id: 3325
Suggested-by: Benjamin Kibbey
</content>
</entry>
<entry>
<title>New decrypt flags GPGME_DECRYPT_LISTONLY.</title>
<updated>2025-03-18T15:22:58Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2025-03-18T15:22:58Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=91a59d2a35540769c055da2341b5face0be6c286'/>
<id>urn:sha1:91a59d2a35540769c055da2341b5face0be6c286</id>
<content type='text'>
* src/gpgme.h.in (GPGME_DECRYPT_LISTONLY): New.
* src/decrypt.c (op_data_t): Add member list_only.
(_gpgme_decrypt_status_handler): Do not return NO_DATA in list_only
mode.
(_gpgme_op_decrypt_init_result): Add arg flags and set the list_only
flag.
(_gpgme_decrypt_start): Pss flags to the init function.
* src/decrypt-verify.c (decrypt_verify_start): Ditto.
* src/engine-gpg.c (gpg_decrypt): Add --list-only if flag is set.

* tests/run-decrypt.c (main): Add option --list-only.
</content>
</entry>
<entry>
<title>Add API gpgme_op_random_bytes.</title>
<updated>2025-02-26T13:11:20Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2025-02-26T12:09:05Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=0a64c7d0c6d0463cf2e06b3a01ef5be4d879bcf0'/>
<id>urn:sha1:0a64c7d0c6d0463cf2e06b3a01ef5be4d879bcf0</id>
<content type='text'>
* src/genrandom.c: New.
* src/Makefile.am: Add new file.
* src/engine-backend.h (struct engine_ops): Add func ptr getdirect.
Adjust all engine_ops.
* src/engine-gpg.c (gpg_getdirect): New.
(_gpgme_engine_ops_gpg): Connect new handler.
* src/gpgme.h.in (gpgme_random_mode_t): New.
(GPGME_RANDOM_MODE_NORMAL): New.
(GPGME_RANDOM_MODE_ZBASE32): New.
(gpgme_op_random_bytes): New public function
* src/libgpgme.vers: Add function.
* src/gpgme.def: Add function.

* tests/run-genrandom.c: New.
* tests/Makefile.am: Add new file.
--

This is a first take on this the mode parameter allows to extend the
function if ever needed.  Due to the gpg calling and fd setup overhead
this function is not yet very fast but its purpose is to get
"approved" random bytes.  We might eventually extend it to keep a
small internal cache of random numbers and get for example 128 random
bytes directly from gpg and deliver only the few required.

GnuPG-bug-id: 6694
</content>
</entry>
<entry>
<title>core: New context flags "known-notations".</title>
<updated>2024-10-29T11:00:11Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2024-10-29T10:59:51Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=a304ec0ede937e21df5b4a311cbaf8d89f13ef59'/>
<id>urn:sha1:a304ec0ede937e21df5b4a311cbaf8d89f13ef59</id>
<content type='text'>
* src/gpgme.c (gpgme_set_ctx_flag): Add "known-notations".
(gpgme_get_ctx_flag): Ditto.
(gpgme_release): Free variable.
* src/context.h (struct gpgme_context): Add "known_notations".

* src/engine-gpg.c (struct engine_gpg): Add "known_notations".
(gpg_release): Free variable.
(gpg_set_engine_flags): Set variable.
(add_known_notations): New.
(gpg_decrypt, gpg_verify): Call function.

* tests/run-decrypt.c (main): Add option --known-notations.
* tests/run-verify.c (main): Ditto.
--

GnuPG-bug-id: 4060
</content>
</entry>
<entry>
<title>core: fix passing --proc-all-sigs to gpgtar</title>
<updated>2024-10-09T07:17:11Z</updated>
<author>
<name>Tobias Fella</name>
<email>tobias.fella@gnupg.com</email>
</author>
<published>2024-10-04T11:17:11Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=227c9c763b30072e9a58bbbe7f66056aa966378f'/>
<id>urn:sha1:227c9c763b30072e9a58bbbe7f66056aa966378f</id>
<content type='text'>
* src/engine-gpg.c: Pass --gpg-args before passing --proc-all-sigs
  if using gpgtar
--

GnuPG-Bug-ID: 7320
</content>
</entry>
<entry>
<title>core: Allow GPGME_CREATE_ADSK also for gnupg 2.2.45</title>
<updated>2024-09-26T09:18:56Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2024-09-26T09:18:56Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=3bf1ea97bcabac31d29f17320cdad2f75f759435'/>
<id>urn:sha1:3bf1ea97bcabac31d29f17320cdad2f75f759435</id>
<content type='text'>
* src/engine-gpg.c (gpg_addadsk): Extend the version check.
</content>
</entry>
<entry>
<title>core: New encryption flags GPGME_ENCRYPT_ADD_RECP and _CHG_RECP.</title>
<updated>2024-09-09T15:33:29Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2024-09-09T15:33:29Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=cd79fc39736fda6ce38f1f79700cf658c47372f9'/>
<id>urn:sha1:cd79fc39736fda6ce38f1f79700cf658c47372f9</id>
<content type='text'>
* src/gpgme.h.in (GPGME_ENCRYPT_ADD_RECP, GPGME_ENCRYPT_CHG_RECP):
New flag values.
* src/engine-gpg.c (have_cmd_modify_recipients): New.
(gpg_encrypt): Check availability of the feature and prepare command.

* tests/run-encrypt.c (main): New options --add-recipients
and --change-recipients.
--

GnuPG-bug-id: 1825
</content>
</entry>
</feed>
