<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/src/engine-gpg.c, branch gpgme-1.21.0</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.21.0</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.21.0'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2023-06-21T12:38:50Z</updated>
<entry>
<title>core: Support reading the archive to decrypt/verify directly from a file</title>
<updated>2023-06-21T12:38:50Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-06-21T12:20:52Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=1a9f192ab450288aea7a889527e78afd2c067b59'/>
<id>urn:sha1:1a9f192ab450288aea7a889527e78afd2c067b59</id>
<content type='text'>
* src/engine-gpg.c (add_file_name_arg_or_data): New.
(gpg_decrypt): Use add_file_name_arg_or_data instead of add_data for the
ciphertext.
(gpg_verify): Use add_file_name_arg_or_data instead of add_data for the
signature and the signed text.

* tests/run-decrypt.c (show_usage): New option --direct-file-io.
(main): Parse new option. If option is given, then don't open input
file, create simple data object instead of data object from stream and
set input file name on input data.
* tests/run-verify.c (show_usage): New option --direct-file-io.
(main): Parse new option. If option is given, then don't open input
files, create simple data objects instead of data objects from stream
and set input file names on input data objects.
--

This change makes it possible to tell gpg (and gpgtar) to read the
input (i.e. the signed/encrypted data or the signature or the created
archive) directly from the files with given file names instead of from
streams piped through GpgME's Data IO.

GnuPG-bug-id: 6530
</content>
</entry>
<entry>
<title>core: Support writing the sign/encrypt output directly to a file</title>
<updated>2023-06-19T16:08:47Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-06-19T14:31:17Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=c38b6200396f703917e4c66aca068f90cfbad325'/>
<id>urn:sha1:c38b6200396f703917e4c66aca068f90cfbad325</id>
<content type='text'>
* src/engine-gpg.c (gpg_encrypt): Pass output file name to gpg if output
has file name set.
(gpg_encrypt_sign): Ditto.
(gpg_sign): Ditto.

* tests/run-encrypt.c (show_usage): New option --output.
(main): Parse new option. Set file name on output if --output is given.
Do not print output if --output is given.
* tests/run-sign.c (show_usage): New option --output.
(main): Parse new option. Set file name on output if --output is given.
Do not print output if --output is given.
--

This change makes it possible to tell gpg (and gpgtar) to write the
output (i.e. the signed/encrypted data or the signature or the created
archive) directly to a file with given file name instead of piping
the output back to gpgme.

GnuPG-bug-id: 6530
</content>
</entry>
<entry>
<title>core: Use 64 bit instead of gpgme_off_t for some internal functions.</title>
<updated>2023-06-15T09:01:46Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2023-06-15T08:58:57Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=eb68948c438814b99b81adf44b674738d0b1be34'/>
<id>urn:sha1:eb68948c438814b99b81adf44b674738d0b1be34</id>
<content type='text'>
* src/conversion.c (_gpgme_string_to_off): Return an u64 value.
* src/data.c (_gpgme_data_get_size_hint): Ditto.
(gpgme_data_set_flag): Use u64 for io-buffer-size due to string_to_off
change.
* src/data.h (struct gpgme_data): Change size_hint to u64.
* src/engine-gpg.c (add_input_size_hint): Replace gpgme_off_t by u64.
--

GnuPG-bug-id: 6534
</content>
</entry>
<entry>
<title>core: For key signing and uid revoking allow an empty user id.</title>
<updated>2023-05-30T09:20:34Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2023-05-30T09:20:34Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=fbc3963d6229853fe9fb1fd599ef39ed0fe2eae6'/>
<id>urn:sha1:fbc3963d6229853fe9fb1fd599ef39ed0fe2eae6</id>
<content type='text'>
* src/engine-gpg.c (gpg_keysign): Required USERID to be non-empty.
--

For some language bindings it is easier if the engine considers an
empty user id to be equivalent to NULL.
</content>
</entry>
<entry>
<title>core: Minor code cleanup.</title>
<updated>2023-03-27T14:56:29Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2023-03-27T14:56:29Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=34cc7daba12a2a6baa3cfa337762656c210686fa'/>
<id>urn:sha1:34cc7daba12a2a6baa3cfa337762656c210686fa</id>
<content type='text'>
* src/engine-gpg.c (build_argv): Remove superfluous tes.
--

gpg_error_from_syserror is guaranteed not to return 0 even if errno is
not set.
</content>
</entry>
<entry>
<title>core: Initialize error variable</title>
<updated>2023-03-27T14:49:24Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-03-27T14:49:03Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=b608c084b9220d8ed288eb916e88a236abac0707'/>
<id>urn:sha1:b608c084b9220d8ed288eb916e88a236abac0707</id>
<content type='text'>
* src/engine-gpg.c (build_argv): Initialize err.
--

Fixes-commit: fbce7deb3b68af900f692591d5d05fa5c1a83f5f
</content>
</entry>
<entry>
<title>core: Make usage of input size hint compatible with gpgtar</title>
<updated>2023-02-02T08:59:01Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-02-02T08:59:01Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=7ad717f6ba00046a26a99d015d701a178ca30630'/>
<id>urn:sha1:7ad717f6ba00046a26a99d015d701a178ca30630</id>
<content type='text'>
* src/engine-gpg.c (add_input_size_hint): Use add_gpg_arg_with_value
to add the --input-size-hint option.
--

GnuPG-bug-id: 6342
</content>
</entry>
<entry>
<title>core: Allow usage of gpgtar also for new enough gpg 2.2</title>
<updated>2023-02-02T08:47:10Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-02-01T08:27:12Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=7f541547fc1783bb9ea119695fb76e2000bdfcf8'/>
<id>urn:sha1:7f541547fc1783bb9ea119695fb76e2000bdfcf8</id>
<content type='text'>
* src/engine-gpg.c (have_usable_gpgtar): New.
(start): Always pass --status-fd to the called process.
(gpg_decrypt, gpg_encrypt, gpg_encrypt_sign, gpg_sign, gpg_verify):
Use have_usable_gpgtar() to check for suitable gpg.
--

The version check in start() is not needed because versions of gpg
that are unsuitable for the usage of gpgtar are rejected already by
the callers.

GnuPG-bug-id: 6342
</content>
</entry>
<entry>
<title>core: Use signature modes as flags</title>
<updated>2023-01-30T11:49:11Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-01-30T10:58:01Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=48b11f576260286bddef3833e25d0059638fe0bb'/>
<id>urn:sha1:48b11f576260286bddef3833e25d0059638fe0bb</id>
<content type='text'>
* src/engine-backend.h (engine_ops.sign): Rename argument mode to
flags.
* src/engine-gpg.c (gpg_sign): Rename argument mode to flags. Check
for invalid combination of flags.
* src/engine-gpgsm.c (gpgsm_sign): Rename argument mode to flags.
Check for unsupported flags.
* src/engine-uiserver.c (gpgsm_sign): Rename argument mode to flags.
Check for unsupported flags.
* src/engine.c, src/engine.h (_gpgme_engine_op_sign): Rename argument
mode to flags.
* src/gpgme.h.in (GPGME_SIG_MODE_ARCHIVE): Change value to 4.
(gpgme_op_sign_start, gpgme_op_sign): Rename argument mode to flags.
* src/sign.c (sign_start): Rename argument mode to flags. Adjust
check for invalid flags.
(gpgme_op_sign_start, gpgme_op_sign): Rename argument mode to flags.
--

Using the signature mode constants as flags is more natural, even if
currently all flags are mutually exclusive, because archives are
signed with a normal signature.

GnuPG-bug-id: 6342
</content>
</entry>
<entry>
<title>core: Update required GnuPG version for new archive features</title>
<updated>2023-01-26T08:52:11Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-01-26T08:52:11Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=3580bb139b2e41f6c2397e506ee66f4892ceec62'/>
<id>urn:sha1:3580bb139b2e41f6c2397e506ee66f4892ceec62</id>
<content type='text'>
* src/engine-gpg.c (gpg_decrypt, gpg_encrypt, gpg_encrypt_sign,
gpg_sign, gpg_verify): Require gpg 2.4.1.

--

To work properly the archive feature needs a fix added in GnuPG 2.4.1.

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