2021-01-08 18:01:50 +00:00
|
|
|
Noteworthy changes in version 1.15.2 (unreleased)
|
|
|
|
-------------------------------------------------
|
|
|
|
|
|
|
|
|
2021-03-04 16:35:57 +00:00
|
|
|
* Interface changes relative to the 1.15.1 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2021-05-04 16:35:29 +00:00
|
|
|
gpgme_key_sig_t EXTENDED: New field 'trust_depth'.
|
|
|
|
gpgme_key_sig_t EXTENDED: New field 'trust_value'.
|
|
|
|
gpgme_key_sig_t EXTENDED: New field 'trust_scope'.
|
2021-03-11 10:49:07 +00:00
|
|
|
GPGME_KEYSIGN_FORCE NEW.
|
2021-03-04 16:35:57 +00:00
|
|
|
qt: CryptoConfig::entry CHANGED: Added overload; deprecated old
|
|
|
|
|
2021-01-08 18:01:50 +00:00
|
|
|
|
2021-01-08 17:14:33 +00:00
|
|
|
Noteworthy changes in version 1.15.1 (2021-01-08)
|
2020-11-12 10:02:58 +00:00
|
|
|
-------------------------------------------------
|
|
|
|
|
2021-01-08 17:14:33 +00:00
|
|
|
* Fix another bug in the secret key export. [#5046]
|
|
|
|
|
|
|
|
* Make listing of signatures work if only secret keys are listed. [#3580]
|
|
|
|
|
|
|
|
* Fix build problem on FreeBSD. [a6220adf30]
|
|
|
|
|
|
|
|
* qt: Avoid empty "rem@gnupg.org" signature notations. [#5142]
|
|
|
|
|
|
|
|
* python: Fix key_export functions. [#5149]
|
|
|
|
|
|
|
|
|
|
|
|
[c=C35/A24/R1 cpp=C18/A12/R1 qt=C12/A5/R1]
|
|
|
|
|
|
|
|
Release-info: https://dev.gnupg.org/T5225
|
2020-11-12 10:02:58 +00:00
|
|
|
|
|
|
|
|
2020-11-12 09:24:22 +00:00
|
|
|
Noteworthy changes in version 1.15.0 (2020-11-12)
|
2020-07-16 15:33:34 +00:00
|
|
|
-------------------------------------------------
|
|
|
|
|
2020-10-27 14:33:51 +00:00
|
|
|
* New function gpgme_op_setexpire to make changing the expiration
|
|
|
|
easier (requires GnuPG 2.1.22). [#4999]
|
|
|
|
|
|
|
|
* New function gpgme_op_revsig to revoke key signatures (requires
|
|
|
|
GnuPG 2.2.24). [#5094]
|
2020-08-04 12:32:31 +00:00
|
|
|
|
2020-11-12 09:24:22 +00:00
|
|
|
* Support exporting secret keys. [#5046]
|
|
|
|
|
2020-08-04 14:22:37 +00:00
|
|
|
* cpp: Support for set expire operations in the C++ bindings. [#5003]
|
|
|
|
|
2020-10-28 11:48:31 +00:00
|
|
|
* cpp: Support for revoking key signatures in the C++ bindings. [#5094]
|
|
|
|
|
2020-08-11 15:02:25 +00:00
|
|
|
* qt: Extended ChangeExpiryJob to support changing the expiry of
|
|
|
|
subkeys. [#4717]
|
|
|
|
|
2020-10-28 16:02:22 +00:00
|
|
|
* qt: Extended QuickJob to support revoking of key signatures. [#5094]
|
|
|
|
|
2020-10-16 09:29:08 +00:00
|
|
|
* qt: Added QDebug stream operator for GpgME::Error.
|
|
|
|
|
2020-11-09 10:48:42 +00:00
|
|
|
* Require a somewhat newer version of libgpg-error (1.36).
|
|
|
|
|
2020-08-04 12:32:31 +00:00
|
|
|
* Interface changes relative to the 1.14.0 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_op_setexpire_start NEW.
|
|
|
|
gpgme_op_setexpire NEW.
|
2020-10-27 14:33:51 +00:00
|
|
|
gpgme_op_revsig_start NEW.
|
|
|
|
gpgme_op_revsig NEW.
|
|
|
|
GPGME_REVSIG_LFSEP NEW.
|
2020-08-04 14:22:37 +00:00
|
|
|
cpp: Context::setExpire NEW.
|
|
|
|
cpp: Context::startSetExpire NEW.
|
2020-10-15 14:50:32 +00:00
|
|
|
cpp: EngineInfo::Version::operator<= NEW.
|
|
|
|
cpp: EngineInfo::Version::operator>= NEW.
|
|
|
|
cpp: EngineInfo::Version::operator!= NEW.
|
2020-10-16 09:53:31 +00:00
|
|
|
cpp: StatusConsumer NEW.
|
|
|
|
cpp: StatusConsumerAssuanTransaction NEW.
|
2020-10-21 16:03:46 +00:00
|
|
|
cpp: Context::cancelPendingOperationImmediately NEW.
|
2020-10-28 11:48:31 +00:00
|
|
|
cpp: Context::revokeSignature NEW.
|
|
|
|
cpp: Context::startRevokeSignature NEW.
|
2020-11-03 07:59:54 +00:00
|
|
|
cpp: UserID::Signature::operator< NEW.
|
2020-10-16 09:29:08 +00:00
|
|
|
qt: operator<<(QDebug debug, const GpgME::Error &err) NEW.
|
2020-10-28 16:02:22 +00:00
|
|
|
qt: QuickJob::startRevokeSignature NEW.
|
2020-11-03 12:50:53 +00:00
|
|
|
qt: QuickJob::result CHANGED: Made params 'auditLogAsHtml'
|
|
|
|
and 'auditLogError' optional.
|
2020-08-04 12:32:31 +00:00
|
|
|
|
2020-11-12 09:24:22 +00:00
|
|
|
[c=C35/A24/R0 cpp=C18/A12/R0 qt=C12/A5/R0]
|
|
|
|
|
|
|
|
Release-info: https://dev.gnupg.org/T5131
|
|
|
|
|
2020-08-04 12:32:31 +00:00
|
|
|
|
2020-07-16 15:17:34 +00:00
|
|
|
Noteworthy changes in version 1.14.0 (2020-07-16)
|
2019-06-13 13:35:58 +00:00
|
|
|
-------------------------------------------------
|
|
|
|
|
2020-07-15 12:10:32 +00:00
|
|
|
* New keylist mode to force the engine to return the keygrip. [#4820]
|
|
|
|
|
2020-07-16 10:00:46 +00:00
|
|
|
* New export mode to export as OpenSSH public key. [#4310]
|
|
|
|
|
2019-10-29 15:11:54 +00:00
|
|
|
* New context flag "extended-edit" to enable expert key edit. [#4734]
|
2019-06-13 13:35:58 +00:00
|
|
|
|
2020-07-15 14:34:24 +00:00
|
|
|
* Deprecate the anyway non working trustlist functions. [#4834]
|
|
|
|
|
2019-10-29 15:26:42 +00:00
|
|
|
* cpp: Add convenience API to obtain remarks. [#4734]
|
|
|
|
|
|
|
|
* cpp: The sign key edit-interactor now supports multiple signatures
|
|
|
|
from the same key. [#4734]
|
|
|
|
|
2019-10-29 15:33:58 +00:00
|
|
|
* qt: Extended signkeyjob to handle remarks and multiple signatures.
|
|
|
|
[#4734]
|
|
|
|
|
2020-02-12 10:52:24 +00:00
|
|
|
* qt: Added job API for gpg-card.
|
|
|
|
|
2020-02-19 10:12:43 +00:00
|
|
|
* qt: The logging category has been changed to gpg.qgpgme to be more
|
|
|
|
consistent with other qt logging categories.
|
|
|
|
|
2019-06-13 13:35:58 +00:00
|
|
|
* Interface changes relative to the 1.13.1 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2020-07-15 12:10:32 +00:00
|
|
|
GPGME_KEYLIST_MODE_WITH_KEYGRIP NEW.
|
2020-07-16 10:00:46 +00:00
|
|
|
GPGME_EXPORT_MODE_SSH NEW.
|
2019-12-13 14:10:51 +00:00
|
|
|
gpgme_user_id_t EXTENDED: New field 'uidhash'.
|
2019-10-29 15:26:42 +00:00
|
|
|
cpp: UserID::remark NEW.
|
2019-11-04 12:54:55 +00:00
|
|
|
cpp: UserID::remarks NEW.
|
2019-10-29 15:26:42 +00:00
|
|
|
cpp: GpgSignKeyEditInteractor::setDupeOk NEW.
|
2020-07-16 15:00:28 +00:00
|
|
|
cpp: Context::exportPublicKeys EXTENDED: New param 'flags'.
|
|
|
|
cpp: Context::startPublicKeyExport EXTENDED: New param 'flags'.
|
|
|
|
cpp: Context::ExportMode NEW.
|
2019-10-29 15:33:58 +00:00
|
|
|
qt: SignKeyJob::setDupeOk NEW.
|
|
|
|
qt: SignKeyJob::setRemark NEW.
|
2020-02-12 10:52:24 +00:00
|
|
|
qt: GpgCardJob NEW.
|
2020-07-16 15:00:28 +00:00
|
|
|
qt: ExportJob::setExportFlags NEW.
|
2019-06-13 13:35:58 +00:00
|
|
|
|
2020-07-16 15:17:34 +00:00
|
|
|
[c=C34/A23/R0 cpp=C17/A11/R0 qt=C11/A4/R0]
|
|
|
|
|
|
|
|
Release-info: https://dev.gnupg.org/T4996
|
|
|
|
|
2019-06-13 13:35:58 +00:00
|
|
|
|
2019-06-13 07:00:38 +00:00
|
|
|
Noteworthy changes in version 1.13.1 (2019-06-13)
|
2019-03-26 17:42:26 +00:00
|
|
|
-------------------------------------------------
|
|
|
|
|
2019-06-13 07:00:38 +00:00
|
|
|
* cpp: gpgme_set_global_flag is now wrapped. [#4471]
|
2019-06-04 01:38:17 +00:00
|
|
|
|
2019-06-13 07:00:38 +00:00
|
|
|
* w32: Improved handling of unicode install paths. [#4453]
|
2019-06-03 11:01:37 +00:00
|
|
|
|
2019-06-13 07:00:38 +00:00
|
|
|
* w32: The gpgme_io_spawn error message is now only shown once. [#4453]
|
2019-06-03 11:01:37 +00:00
|
|
|
|
2019-06-13 07:00:38 +00:00
|
|
|
* Fixed a crash introduced in 1.13.0 when working with S/MIME. [#4556]
|
2019-06-03 11:01:37 +00:00
|
|
|
|
2019-06-13 07:00:38 +00:00
|
|
|
* w32: Fixed format string errors introduced in 1.13.0 that could
|
|
|
|
cause crashes. [#4440]
|
2019-06-03 11:01:37 +00:00
|
|
|
|
2019-06-13 07:00:38 +00:00
|
|
|
* w32: Fixed an error in the new diagnostic gpgsm support introduced
|
|
|
|
in 1.13.0 that caused crashes in low fd scenarios. [#4439]
|
2019-06-03 11:01:37 +00:00
|
|
|
|
2019-06-13 07:00:38 +00:00
|
|
|
* python: Fixed a DecryptionError Exception. [#4478]
|
2019-06-03 11:01:37 +00:00
|
|
|
|
2019-06-13 07:00:38 +00:00
|
|
|
* python: No longer raises BadSignatures from decrypt(verify=True).
|
|
|
|
[#4276]
|
2019-06-03 11:01:37 +00:00
|
|
|
|
2019-04-24 10:34:48 +00:00
|
|
|
* Interface changes relative to the 1.13.0 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
cpp: setGlobalFlag NEW.
|
2019-03-26 17:42:26 +00:00
|
|
|
|
2019-06-13 07:00:38 +00:00
|
|
|
[c=C33/A22/R1 cpp=C16/A10/R0 qt=C10/A3/R4]
|
|
|
|
|
|
|
|
Release-info: https://dev.gnupg.org/T4551
|
|
|
|
|
|
|
|
|
2019-03-26 15:56:39 +00:00
|
|
|
Noteworthy changes in version 1.13.0 (2019-03-26)
|
2018-10-08 09:36:37 +00:00
|
|
|
-------------------------------------------------
|
|
|
|
|
2019-03-26 15:56:39 +00:00
|
|
|
* Support GPGME_AUDITLOG_DIAG for gpgsm. [#4426]
|
|
|
|
|
|
|
|
* New context flag "trust-model".
|
|
|
|
|
|
|
|
* Removed support for WindowsCE and Windows ME.
|
|
|
|
|
|
|
|
* Aligned the gpgrt-config code with our other libaries.
|
|
|
|
|
|
|
|
* Auto-check for all installed Python versions. [#3354]
|
|
|
|
|
|
|
|
* Fixed generating card key in the C++ bindings. [#4428]
|
|
|
|
|
|
|
|
* Fixed a segv due to bad parameters in genkey. [#4192]
|
|
|
|
|
|
|
|
* Fixed crash if the plaintext is ignored in a CMS verify.
|
|
|
|
|
|
|
|
* Fixed memleak on Windows. [T4238]
|
|
|
|
|
|
|
|
* Tweaked the Windows I/O code.
|
|
|
|
|
|
|
|
* Fixed random crashes on Windows due to closing an arbitrary
|
|
|
|
handle. [#4237]
|
|
|
|
|
|
|
|
* Fixed a segv on Windows. [#4369]
|
|
|
|
|
|
|
|
* Fixed test suite problems related to dtags. [#4298]
|
|
|
|
|
|
|
|
* Fixed bunch of python bugs. [#4242,commit 9de1c96ac3cf]
|
|
|
|
|
|
|
|
* Several fixes to the Common Lisp bindings.
|
|
|
|
|
|
|
|
* Fixed minor bugs in gpgme-json. [#4331,#4341,#4342,#4343
|
|
|
|
|
|
|
|
* Require trace level 8 to dump all I/O data.
|
|
|
|
|
|
|
|
* The compiler must now support variadic macros.
|
|
|
|
|
2018-10-25 12:09:37 +00:00
|
|
|
* Interface changes relative to the 1.12.0 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2019-03-26 15:56:39 +00:00
|
|
|
gpgme_set_ctx_flag EXTENDED: New flag 'trust-model'.
|
2018-10-25 12:09:37 +00:00
|
|
|
cpp: Context::create NEW.
|
|
|
|
cpp: Key::isBad NEW.
|
|
|
|
cpp: Subkey::isBad NEW.
|
|
|
|
cpp: UserID::isBad NEW.
|
|
|
|
cpp: UserID::Signature::isBad NEW.
|
2019-03-26 11:02:28 +00:00
|
|
|
cpp: GenCardKeyInteractor::setAlgo NEW.
|
2018-10-25 12:09:37 +00:00
|
|
|
|
2019-03-26 15:56:39 +00:00
|
|
|
[c=C33/A22/R0 cpp=C15/A9/R0 qt=C10/A3/R3]
|
|
|
|
|
|
|
|
Release-info: https://dev.gnupg.org/T4376
|
|
|
|
|
2018-10-08 09:36:37 +00:00
|
|
|
|
2018-10-08 08:28:43 +00:00
|
|
|
Noteworthy changes in version 1.12.0 (2018-10-08)
|
2018-04-20 08:41:38 +00:00
|
|
|
-------------------------------------------------
|
|
|
|
|
2018-10-08 08:28:43 +00:00
|
|
|
* Enhanced the JSON based interface tool gpgme-json to support Native
|
|
|
|
Messaging as well as new Javascript code to support the browser
|
|
|
|
site. See lang/js/README for details.
|
|
|
|
|
|
|
|
* Major overhaul of the Python language bindings documentation.
|
|
|
|
|
2018-05-17 07:14:40 +00:00
|
|
|
* Even for old versions of gpg a missing MDC will now lead to a
|
|
|
|
decryption failure.
|
|
|
|
|
2018-07-03 15:50:23 +00:00
|
|
|
* Added context flag "auto-key-locate" to control the
|
|
|
|
behavior of GPGME_KEYLIST_MODE_LOCATE.
|
|
|
|
|
2018-07-19 07:50:30 +00:00
|
|
|
* New data function to create a data object from an estream.
|
|
|
|
|
2018-10-08 08:28:43 +00:00
|
|
|
* Add more interfaces to the C++ bindings.
|
|
|
|
|
|
|
|
* Improved error codes on decryption failure.
|
|
|
|
|
|
|
|
* Lots of minor fixes.
|
|
|
|
|
2018-05-22 10:08:01 +00:00
|
|
|
* Interface changes relative to the 1.11.1 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2018-07-19 07:50:30 +00:00
|
|
|
gpgme_data_new_from_estream NEW.
|
2018-05-31 23:01:08 +00:00
|
|
|
gpgme_decrypt_result_t EXTENDED: New field legacy_cipher_nomdc.
|
2018-05-31 23:29:20 +00:00
|
|
|
gpgme_set_ctx_flag EXTENDED: New flag 'ignore-mdc-error'.
|
2018-07-04 13:39:01 +00:00
|
|
|
GPGME_AUDITLOG_DEFAULT NEW.
|
|
|
|
GPGME_AUDITLOG_DIAG NEW.
|
2018-07-19 07:50:30 +00:00
|
|
|
gpgme_set_ctx_flag EXTENDED: New flag 'auto-key-locate'.
|
2018-06-01 09:08:12 +00:00
|
|
|
cpp: DecryptionResult::sessionKey NEW.
|
|
|
|
cpp: DecryptionResult::symkeyAlgo NEW.
|
|
|
|
cpp: DecryptionResult::isLegacyCipherNoMDC New.
|
|
|
|
cpp: Data::rewind NEW.
|
|
|
|
cpp: Context::setFlag NEW.
|
|
|
|
cpp: Context::getFlag NEW.
|
2018-06-08 14:19:47 +00:00
|
|
|
cpp: Context::createKeyEx NEW.
|
2018-05-31 23:01:08 +00:00
|
|
|
|
2018-10-08 08:28:43 +00:00
|
|
|
[c=C32/A21/R0 cpp=C14/A8/R0 qt=C10/A3/R2]
|
|
|
|
|
|
|
|
Release-info: https://dev.gnupg.org/T4109
|
|
|
|
|
2018-04-20 08:41:38 +00:00
|
|
|
|
2018-04-20 08:22:12 +00:00
|
|
|
Noteworthy changes in version 1.11.1 (2018-04-20)
|
2018-04-18 18:27:14 +00:00
|
|
|
-------------------------------------------------
|
|
|
|
|
2018-04-20 08:22:12 +00:00
|
|
|
* Fixed build problems in the 1.11.0 release.
|
|
|
|
|
|
|
|
* Added C++ interfaces which were planned for 1.11.0.
|
|
|
|
|
2018-04-19 08:44:01 +00:00
|
|
|
* Interface changes relative to the 1.10.0 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
cpp: Key::origin NEW.
|
|
|
|
cpp: Key::lastUpdate NEW.
|
2018-04-19 09:56:15 +00:00
|
|
|
cpp: UserID::origin NEW.
|
|
|
|
cpp: UserID::lastUpdate NEW.
|
2018-04-18 18:27:14 +00:00
|
|
|
|
2018-04-20 08:22:12 +00:00
|
|
|
[c=C31/A20/R1 cpp=C13/A7/R0 qt=C10/A3/R2]
|
|
|
|
|
|
|
|
|
2018-04-18 17:41:45 +00:00
|
|
|
Noteworthy changes in version 1.11.0 (2018-04-18)
|
2017-12-12 12:11:04 +00:00
|
|
|
-------------------------------------------------
|
|
|
|
|
2018-04-18 15:59:29 +00:00
|
|
|
* New encryption API to support direct key specification including
|
|
|
|
hidden recipients option and taking keys from a file. This also
|
|
|
|
allows to enforce the use of a subkey.
|
|
|
|
|
|
|
|
* New encryption flag for the new API to enforce the use of plain
|
2018-04-18 17:41:45 +00:00
|
|
|
mail addresses (addr-spec).
|
2018-04-18 15:59:29 +00:00
|
|
|
|
|
|
|
* The import API can now tell whether v3 keys are skipped. These old
|
|
|
|
and basically broken keys are not anymore supported by GnuPG 2.1.
|
|
|
|
|
|
|
|
* The decrypt and verify API will now return the MIME flag as
|
|
|
|
specified by RFC-4880bis.
|
|
|
|
|
|
|
|
* The offline mode now has an effect on gpg by disabling all network
|
|
|
|
access. [#3831]
|
|
|
|
|
|
|
|
* A failed OpenPGP verification how returns the fingerprint of the
|
|
|
|
intended key if a recent gpg version was used for signature
|
|
|
|
creation.
|
|
|
|
|
|
|
|
* New tool gpgme-json as native messaging server for web browsers.
|
|
|
|
As of now public key encryption and decryption is supported.
|
|
|
|
Requires Libgpg-error 1.29.
|
|
|
|
|
|
|
|
* New context flag "request-origin" which has an effect when used
|
|
|
|
with GnuPG 2.2.6 or later.
|
|
|
|
|
|
|
|
* New context flag "no-symkey-cache" which has an effect when used
|
|
|
|
with GnuPG 2.2.7 or later.
|
|
|
|
|
|
|
|
* New convenience constant GPGME_KEYLIST_MODE_LOCATE.
|
|
|
|
|
|
|
|
* Improved the Python documentation.
|
|
|
|
|
|
|
|
* Fixed a potential regression with GnuPG 2.2.6 or later.
|
|
|
|
|
|
|
|
* Fixed a crash in the Python bindings on 32 bit platforms. [#3892]
|
|
|
|
|
|
|
|
* Various minor fixes.
|
2018-04-12 07:17:27 +00:00
|
|
|
|
2018-02-16 11:58:54 +00:00
|
|
|
* Interface changes relative to the 1.10.0 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2018-04-17 06:33:44 +00:00
|
|
|
gpgme_op_encrypt_ext NEW.
|
|
|
|
gpgme_op_encrypt_ext_start NEW.
|
|
|
|
gpgme_op_encrypt_sign_ext NEW.
|
|
|
|
gpgme_op_encrypt_sign_ext_start NEW.
|
2018-04-17 07:40:27 +00:00
|
|
|
GPGME_ENCRYPT_WANT_ADDRESS NEW.
|
2018-04-18 15:59:29 +00:00
|
|
|
GPGME_KEYLIST_MODE_LOCATE NEW.
|
2018-04-17 06:33:44 +00:00
|
|
|
gpgme_import_result_t EXTENDED: New field 'skipped_v3_keys'.
|
2018-04-17 11:48:56 +00:00
|
|
|
gpgme_decrypt_result_t EXTENDED: New field 'symkey_algo'.
|
2018-04-18 13:20:35 +00:00
|
|
|
gpgme_decrypt_result_t EXTENDED: New field 'is_mime'.
|
|
|
|
gpgme_verify_result_t EXTENDED: New field 'is_mime'.
|
2018-04-17 06:33:44 +00:00
|
|
|
cpp: Key::locate NEW.
|
|
|
|
cpp: Data::toString NEW.
|
2018-03-15 15:21:00 +00:00
|
|
|
cpp: ImportResult::numV3KeysSkipped NEW.
|
2018-02-16 11:58:54 +00:00
|
|
|
|
2018-04-18 17:41:45 +00:00
|
|
|
[c=C31/A20/R0 cpp=C12/A6/R0 qt=C10/A3/R1]
|
|
|
|
|
2018-04-17 06:33:44 +00:00
|
|
|
|
2017-12-12 11:46:00 +00:00
|
|
|
Noteworthy changes in version 1.10.0 (2017-12-12)
|
2017-08-24 14:19:54 +00:00
|
|
|
-------------------------------------------------
|
2017-03-28 14:38:06 +00:00
|
|
|
|
2017-12-12 11:46:00 +00:00
|
|
|
* Now returns more specific error codes for decryption to distinguish
|
|
|
|
between bad passphrase, user canceled, and no secret key.
|
|
|
|
|
|
|
|
* Now returns key origin information if available.
|
|
|
|
|
|
|
|
* Added context flag "auto-key-retrieve" to selectively enable the
|
|
|
|
corresponding gpg option.
|
|
|
|
|
|
|
|
* Added flag is_de_vs to decryption and verify results.
|
|
|
|
|
|
|
|
* py: Use SEEK_SET as default for data.seek.
|
|
|
|
|
|
|
|
* cpp: Various new APIs.
|
|
|
|
|
|
|
|
* Reduced spawn overhead on Linux again. Added new configure option
|
|
|
|
--disable-linux-getdents to disable this feature for very old
|
|
|
|
Linux versions.
|
|
|
|
|
|
|
|
* Improved the Python bindings build system.
|
|
|
|
|
|
|
|
* Made the test suite less fragile.
|
|
|
|
|
2017-05-30 12:35:57 +00:00
|
|
|
* Interface changes relative to the 1.9.0 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2017-08-24 14:19:54 +00:00
|
|
|
gpgme_decrypt_result_t EXTENDED: New field 'is_de_vs'.
|
|
|
|
gpgme_signature_t EXTENDED: New field 'is_de_vs'.
|
|
|
|
gpgme_keyorg_t NEW.
|
|
|
|
gpgme_op_delete_ext NEW.
|
|
|
|
gpgme_op_delete_ext_start NEW.
|
|
|
|
GPGME_DELETE_ALLOW_SECRET NEW.
|
|
|
|
GPGME_DELETE_FORCE NEW.
|
|
|
|
gpgme_op_conf_dir NEW.
|
2017-08-24 15:17:11 +00:00
|
|
|
gpgme_set_ctx_flag EXTENDED: New flag 'auto-key-retrieve'.
|
2017-09-04 09:23:56 +00:00
|
|
|
cpp: DecryptionResult::isDeVs NEW.
|
|
|
|
cpp: Signature::isDeVs NEW.
|
|
|
|
cpp: EngineInfo::Version::operator> NEW.
|
2017-12-01 12:21:34 +00:00
|
|
|
cpp: Context::createKey NEW.
|
|
|
|
cpp: Context::startCreateKey NEW.
|
|
|
|
cpp: Context::createSubkey NEW.
|
|
|
|
cpp: Context::startCreateSubkey NEW.
|
2017-12-01 13:29:04 +00:00
|
|
|
qt: QuickJob NEW.
|
2017-08-24 14:19:54 +00:00
|
|
|
py: DecryptResult EXTENDED: New boolean field 'is_de_vs'.
|
|
|
|
py: Signature EXTENDED: New boolean field 'is_de_vs'.
|
|
|
|
py: GpgError EXTENDED: Partial results in 'results'.
|
|
|
|
|
2017-12-12 11:46:00 +00:00
|
|
|
[c=C30/A19/R0 cpp=C11/A5/R0 qt=C10/A3/R0]
|
|
|
|
|
2017-03-28 14:38:06 +00:00
|
|
|
|
2017-03-28 14:21:37 +00:00
|
|
|
Noteworthy changes in version 1.9.0 (2017-03-28)
|
2016-11-16 13:03:40 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2017-03-28 14:21:37 +00:00
|
|
|
* Clarified meaning of the 'expire' parameter of gpgme_op_createkey
|
|
|
|
and gpgme_op_createsubkey. New flag to force a key without an
|
|
|
|
expiration date.
|
|
|
|
|
|
|
|
* New function gpgme_op_keylist_from_data_start to list keys from
|
|
|
|
data objects without importing them.
|
|
|
|
|
|
|
|
* New function gpgme_op_set_uid_flag to flag a key as primary.
|
|
|
|
|
|
|
|
* New function gpgme_op_decrypt_ext to run decryption with special
|
|
|
|
flags. This can for example be used to unwrap keys (remove only
|
|
|
|
the encryption layer).
|
|
|
|
|
|
|
|
* New encryption flags to wrap a key (adding an encryption layer to
|
|
|
|
an OpenPGP message) or to create anonymously encrypted messages.
|
|
|
|
|
|
|
|
* Support for adduid and revuid operations in the C++ bindings.
|
|
|
|
|
|
|
|
* Support for smartcard key generation in the C++ bindings.
|
|
|
|
|
|
|
|
* Several new functions for the Python binding.
|
|
|
|
|
|
|
|
* Many smaller bug fixes.
|
2017-01-11 15:14:45 +00:00
|
|
|
|
|
|
|
* Interface changes relative to the 1.8.0 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2017-02-15 15:17:13 +00:00
|
|
|
gpgme_op_createkey CHANGED: Meaning of 'expire' parameter.
|
|
|
|
gpgme_op_createsubkey CHANGED: Meaning of 'expire' parameter.
|
|
|
|
GPGME_CREATE_NOEXPIRE NEW.
|
2017-03-28 09:40:44 +00:00
|
|
|
gpgme_key_t EXTENDED: New field 'origin'.
|
|
|
|
gpgme_key_t EXTENDED: New field 'last_update'.
|
2017-03-21 18:02:20 +00:00
|
|
|
gpgme_subkey_t EXTENDED: New field 'is_de_vs'.
|
2017-03-28 09:40:44 +00:00
|
|
|
gpgme_user_id_t EXTENDED: New field 'origin'.
|
|
|
|
gpgme_user_id_t EXTENDED: New field 'last_update'.
|
2017-03-21 08:38:11 +00:00
|
|
|
gpgme_op_keylist_from_data_start NEW.
|
2017-03-21 18:02:20 +00:00
|
|
|
gpgme_op_set_uid_flag_start NEW.
|
|
|
|
gpgme_op_set_uid_flag NEW.
|
2017-03-24 13:36:54 +00:00
|
|
|
gpgme_op_decrypt_ext_start NEW.
|
|
|
|
gpgme_op_decrypt_ext NEW.
|
2017-03-21 09:39:33 +00:00
|
|
|
GPGME_ENCRYPT_THROW_KEYIDS NEW.
|
2017-03-24 13:36:54 +00:00
|
|
|
GPGME_ENCRYPT_WRAP NEW.
|
|
|
|
GPGME_DECRYPT_VERIFY NEW.
|
|
|
|
GPGME_DECRYPT_UNWRAP NEW.
|
2017-04-05 12:48:04 +00:00
|
|
|
gpgme_data_rewind UN-DEPRECATE.
|
2017-01-11 15:14:45 +00:00
|
|
|
cpp: Context::revUid(const Key&, const char*) NEW.
|
|
|
|
cpp: Context::startRevUid(const Key&, const char*) NEW.
|
|
|
|
cpp: Context::addUid(const Key&, const char*) NEW.
|
|
|
|
cpp: Context::startAddUid(const Key&, const char*) NEW.
|
|
|
|
cpp: Key::UserID::revoke() NEW.
|
|
|
|
cpp: Key::addUid() NEW.
|
2017-03-20 18:56:10 +00:00
|
|
|
cpp: Key::isDeVs NEW.
|
2017-03-01 10:17:27 +00:00
|
|
|
cpp: GpgGenCardKeyInteractor NEW.
|
2017-03-02 08:35:05 +00:00
|
|
|
cpp: Subkey::keyGrip NEW.
|
2017-03-20 18:56:10 +00:00
|
|
|
cpp: Subkey::isDeVs NEW.
|
2017-03-22 15:38:35 +00:00
|
|
|
cpp: Data::toKeys NEW.
|
2017-03-24 16:25:26 +00:00
|
|
|
cpp: Context::setDecryptFlags NEW.
|
|
|
|
cpp: Context::decrypt EXTENDED: Flags added.
|
|
|
|
cpp: Context::startDecrypt EXTENDED: Flags added.
|
|
|
|
cpp: Context::decryptAndVerify EXTENDED: Flags added.
|
|
|
|
cpp: Context::startCombinedDecryptionAndVerification EXTENDED: Flags.
|
|
|
|
cpp: Context::encryptFlags EXTENDED: New flags.
|
2017-01-12 11:57:00 +00:00
|
|
|
qt: CryptoConfig::stringValueList() NEW.
|
2017-02-14 15:30:30 +00:00
|
|
|
py: Context.__init__ EXTENDED: New keyword arg home_dir.
|
|
|
|
py: Context.home_dir NEW.
|
|
|
|
py: Context.keylist EXTENDED: New keyword arg mode.
|
2017-03-21 11:32:31 +00:00
|
|
|
py: Context.keylist EXTENDED: New keyword arg source.
|
2017-02-16 13:53:11 +00:00
|
|
|
py: Context.create_key NEW.
|
2017-02-16 15:38:21 +00:00
|
|
|
py: Context.create_subkey NEW.
|
2017-02-16 16:52:49 +00:00
|
|
|
py: Context.key_add_uid NEW.
|
|
|
|
py: Context.key_revoke_uid NEW.
|
2017-02-17 14:44:35 +00:00
|
|
|
py: Context.key_sign NEW.
|
2017-02-17 16:07:05 +00:00
|
|
|
py: Context.key_tofu_policy NEW.
|
2017-02-14 15:30:30 +00:00
|
|
|
py: core.pubkey_algo_string NEW.
|
|
|
|
py: core.addrspec_from_uid NEW.
|
2017-01-11 15:14:45 +00:00
|
|
|
|
2017-03-28 14:21:37 +00:00
|
|
|
[c=C29/A18/R0 cpp=C10/A4/R0 qt=C9/A2/R0]
|
|
|
|
|
2016-11-16 13:03:40 +00:00
|
|
|
|
2016-11-16 12:29:02 +00:00
|
|
|
Noteworthy changes in version 1.8.0 (2016-11-16)
|
2016-10-18 17:40:11 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2016-10-28 20:45:49 +00:00
|
|
|
* The module of the Python bindings has been renamed to 'gpg'.
|
2016-10-18 17:40:11 +00:00
|
|
|
|
2016-11-16 12:29:02 +00:00
|
|
|
* New interface to query current software versions.
|
|
|
|
|
|
|
|
* New feature to use gpg's --{show,override}session-key options.
|
|
|
|
|
|
|
|
* New interface to set the sender of a mail.
|
|
|
|
|
2016-11-01 17:28:20 +00:00
|
|
|
* qt: Added Distinguished Name parser from libkleo
|
|
|
|
|
2016-11-16 12:29:02 +00:00
|
|
|
* The --homedir option is now used with recent gpgconf versions.
|
|
|
|
|
|
|
|
* On 64 bit Windows systems gpgconf is now properly located.
|
|
|
|
|
|
|
|
* The internal locking functions have been replaced by libgpg-error
|
|
|
|
locking functions.
|
|
|
|
|
2016-10-25 15:27:49 +00:00
|
|
|
* Interface changes relative to the 1.7.1 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_set_sender NEW.
|
|
|
|
gpgme_get_sender NEW.
|
2016-11-03 15:29:45 +00:00
|
|
|
gpgme_op_query_swdb NEW.
|
|
|
|
gpgme_op_query_swdb_result NEW.
|
|
|
|
gpgme_query_swdb_result_t NEW.
|
2016-11-15 08:24:17 +00:00
|
|
|
gpgme_get_ctx_flag NEW.
|
2016-11-16 12:29:02 +00:00
|
|
|
gpgme_decrypt_result_t EXTENDED: New field session_key.
|
2016-11-01 17:28:20 +00:00
|
|
|
qt: DN NEW.
|
|
|
|
qt: DN::Attribute NEW.
|
2016-11-14 19:40:29 +00:00
|
|
|
qt: Job::context(Job*) NEW.
|
2016-11-04 11:29:32 +00:00
|
|
|
cpp: EngineInfo::Version::Version(const char*) NEW.
|
|
|
|
cpp: EngineInfo::Version::Version() NEW.
|
2016-11-04 11:33:57 +00:00
|
|
|
cpp: SwdbResult NEW.
|
2016-11-14 19:40:29 +00:00
|
|
|
cpp: Context::setSender(const char*) NEW.
|
|
|
|
cpp: Context::getSender() NEW.
|
2016-10-25 15:27:49 +00:00
|
|
|
|
2016-11-16 12:29:02 +00:00
|
|
|
[c=C28/A17/R0 cpp=C9/A3/R0 qt=C8/A1/R0]
|
|
|
|
|
2016-10-25 15:27:49 +00:00
|
|
|
|
2016-10-18 17:23:59 +00:00
|
|
|
Noteworthy changes in version 1.7.1 (2016-10-18)
|
2016-09-21 07:40:02 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2016-10-18 17:23:59 +00:00
|
|
|
* Fixed problems with the new language bindings.
|
|
|
|
|
|
|
|
* New helper function gpgme_addrspec_from_uid.
|
|
|
|
|
|
|
|
* Use option --exit-on-status-write-error with newer gpg versions.
|
|
|
|
|
2016-10-11 17:57:35 +00:00
|
|
|
* qt: Missed API from the Qt Binding inclusion has
|
|
|
|
been added again.
|
|
|
|
|
|
|
|
* qt: abstractimportjob.h is now installed to that
|
|
|
|
ImportJobs can be used again.
|
2016-10-08 19:14:52 +00:00
|
|
|
|
2016-10-18 17:23:59 +00:00
|
|
|
* qt: Fixed spelling error in API (startReceive).
|
|
|
|
|
2016-10-08 19:14:52 +00:00
|
|
|
* Interface changes relative to the 1.7.0 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_addrspec_from_uid NEW.
|
2016-10-18 17:23:59 +00:00
|
|
|
qt: WksPublishJob::startRecieve RENAMED to ::startReceive.
|
|
|
|
qt: MultiDeleteJob NEW.
|
|
|
|
qt: AbstractImportJob NEW.
|
|
|
|
qt: SpecialJob NEW.
|
|
|
|
cpp: Signature::key(bool, bool) NEW.
|
|
|
|
cpp: UserID::addrSpecFromString(const char*) NEW.
|
|
|
|
cpp: UserID::addrSpec() NEW.
|
2016-10-08 19:14:52 +00:00
|
|
|
|
2016-10-18 17:23:59 +00:00
|
|
|
[c=C27/A16/R0 cpp=C8/A2/R0 qt=C7/A0/R0]
|
2016-10-10 15:42:10 +00:00
|
|
|
|
2016-10-08 19:14:52 +00:00
|
|
|
|
2016-10-18 17:23:59 +00:00
|
|
|
Noteworthy changes in version 1.7.0 (2016-09-21)
|
2015-08-26 08:16:39 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2016-09-21 06:57:07 +00:00
|
|
|
* New language bindings for Python 2 and 3.
|
2015-08-30 17:04:44 +00:00
|
|
|
|
2016-09-21 06:57:07 +00:00
|
|
|
* New language Bindings for C++ and the Qt-Framework API.
|
|
|
|
|
|
|
|
* New functions gpgme_op_createkey and gpgme_op_createsubkey to make
|
|
|
|
key creation easier (requires GnuPG 2.1).
|
|
|
|
|
|
|
|
* New functions gpgme_op_adduid and gpgme_op_revuid to make user id
|
|
|
|
management easier (requires GnuPG 2.1).
|
|
|
|
|
|
|
|
* New function gpgme_op_keysign to make key signing easier (requires
|
|
|
|
GnuPG 2.1).
|
2016-06-01 09:10:30 +00:00
|
|
|
|
2016-09-21 06:57:07 +00:00
|
|
|
* New function gpgme_op_interact to replace the now deprecated
|
|
|
|
functions gpgme_op_edit and gpgme_op_card_edit.
|
|
|
|
|
|
|
|
* New function gpgme_pubkey_algo_string to convert a public key
|
|
|
|
algorithm into a GnuPG 2.1 style string.
|
|
|
|
|
|
|
|
* Support for GnuPG 2.1's TOFU trust model.
|
|
|
|
|
|
|
|
* Notation flags are now correctly set on verify.
|
2016-08-12 10:28:03 +00:00
|
|
|
|
2016-08-16 16:53:42 +00:00
|
|
|
* New global flag "require-gnupg" to set a minimal gnupg version.
|
|
|
|
|
2016-09-21 06:57:07 +00:00
|
|
|
* More supported items in gpgme_get_dirinfo.
|
|
|
|
|
|
|
|
* New function gpgme_data_set_flag and flag "size-hint".
|
|
|
|
|
|
|
|
* New function gpgme_set_ctx_flag and flags "full-status" and
|
|
|
|
"raw-description".
|
|
|
|
|
|
|
|
* Improved gpgme_data_identify to distinguish more file types.
|
|
|
|
|
|
|
|
* New flag GPGME_ENCRYPT_SYMMETRIC for gpgme_op_encrypt to allow
|
|
|
|
mixed public key and symmetric encryption.
|
|
|
|
|
|
|
|
* New field KEYGRIP in gpgme_subkey_t. New fields FPR in gpgme_key_t.
|
2016-09-15 08:45:04 +00:00
|
|
|
|
2016-09-21 06:57:07 +00:00
|
|
|
* New flag GPGME_DATA_ENCODING_MIME to declare that the encrypted or
|
|
|
|
signed data is a valid MIME part. This is to support future GnuPG
|
|
|
|
versions.
|
2016-09-19 12:21:45 +00:00
|
|
|
|
2015-08-30 17:04:44 +00:00
|
|
|
* Interface changes relative to the 1.6.0 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_pubkey_algo_string NEW.
|
|
|
|
GPGME_PK_EDDSA NEW.
|
2016-05-21 08:29:49 +00:00
|
|
|
gpgme_set_ctx_flag NEW.
|
2016-08-12 13:21:16 +00:00
|
|
|
gpgme_data_set_flag NEW.
|
2016-09-13 16:57:38 +00:00
|
|
|
gpgme_op_createkey NEW.
|
|
|
|
gpgme_op_createkey_start NEW.
|
2016-09-14 07:51:16 +00:00
|
|
|
gpgme_op_createsubkey NEW.
|
|
|
|
gpgme_op_createsubkey_start NEW.
|
2016-09-14 09:40:34 +00:00
|
|
|
gpgme_op_adduid_start NEW.
|
|
|
|
gpgme_op_adduid NEW.
|
2016-09-14 10:41:16 +00:00
|
|
|
gpgme_op_revuid_start NEW.
|
|
|
|
gpgme_op_revuid NEW.
|
2016-09-14 16:44:33 +00:00
|
|
|
gpgme_op_keysign_start NEW.
|
|
|
|
gpgme_op_keysign NEW.
|
2016-09-14 18:21:19 +00:00
|
|
|
gpgme_op_tofu_policy_start NEW.
|
|
|
|
gpgme_op_tofu_policy NEW.
|
2016-09-15 08:45:04 +00:00
|
|
|
gpgme_op_interact_start NEW.
|
|
|
|
gpgme_op_interact NEW.
|
|
|
|
gpgme_interact_cb_t NEW.
|
|
|
|
gpgme_op_edit_start DEPRECATED.
|
|
|
|
gpgme_op_edit DEPRECATED.
|
|
|
|
gpgme_op_card_edit_start DEPRECATED.
|
|
|
|
gpgme_op_card_edit DEPRECATED.
|
|
|
|
gpgme_edit_cb_t DEPRECATED.
|
|
|
|
gpgme_status_code_t DEPRECATED.
|
2016-09-13 16:57:38 +00:00
|
|
|
gpgme_genkey_result_t EXTENDED: New fields pubkey and seckey.
|
2016-08-23 13:22:28 +00:00
|
|
|
gpgme_signature_t EXTENDED: New field key.
|
|
|
|
gpgme_key_t EXTENDED: New field fpr.
|
2016-08-04 14:17:01 +00:00
|
|
|
gpgme_subkey_t EXTENDED: New field keygrip.
|
2016-08-23 13:22:28 +00:00
|
|
|
gpgme_user_id_t EXTENDED: New field tofu.
|
2016-05-21 08:29:49 +00:00
|
|
|
gpgme_tofu_policy_t NEW.
|
|
|
|
gpgme_tofu_info_t NEW.
|
|
|
|
GPGME_STATUS_KEY_CONSIDERED NEW.
|
|
|
|
GPGME_STATUS_TOFU_USER NEW.
|
|
|
|
GPGME_STATUS_TOFU_STATS NEW.
|
|
|
|
GPGME_STATUS_TOFU_STATS_LONG NEW.
|
2016-06-01 09:10:30 +00:00
|
|
|
GPGME_STATUS_NOTATION_FLAGS NEW.
|
2016-08-25 09:38:03 +00:00
|
|
|
GPGME_KEYLIST_MODE_WITH_TOFU NEW.
|
2016-06-21 14:14:02 +00:00
|
|
|
GPGME_DATA_TYPE_PGP_ENCRYPTED NEW.
|
|
|
|
GPGME_DATA_TYPE_PGP_SIGNATURE NEW.
|
2016-07-13 12:45:02 +00:00
|
|
|
GPGME_DATA_ENCODING_MIME NEW.
|
2016-08-09 09:40:29 +00:00
|
|
|
GPGME_ENCRYPT_SYMMETRIC NEW.
|
2016-09-13 16:57:38 +00:00
|
|
|
GPGME_CREATE_SIGN NEW.
|
|
|
|
GPGME_CREATE_ENCR NEW.
|
|
|
|
GPGME_CREATE_CERT NEW.
|
|
|
|
GPGME_CREATE_AUTH NEW.
|
|
|
|
GPGME_CREATE_NOPASSWD NEW.
|
|
|
|
GPGME_CREATE_SELFSIGNED NEW.
|
|
|
|
GPGME_CREATE_NOSTORE NEW.
|
|
|
|
GPGME_CREATE_WANTPUB NEW.
|
|
|
|
GPGME_CREATE_WANTSEC NEW.
|
|
|
|
GPGME_CREATE_FORCE NEW.
|
2016-09-14 16:44:33 +00:00
|
|
|
GPGME_KEYSIGN_LOCAL NEW.
|
|
|
|
GPGME_KEYSIGN_LFSEP NEW.
|
2016-09-15 08:45:04 +00:00
|
|
|
GPGME_INTERACT_CARD NEW.
|
2015-08-30 17:04:44 +00:00
|
|
|
|
2016-10-18 17:23:59 +00:00
|
|
|
[c=C26/A15/R0 cpp=C6/A0/R1 qt=C6/A0/R1]
|
|
|
|
|
2015-08-26 08:16:39 +00:00
|
|
|
|
2015-08-26 07:28:32 +00:00
|
|
|
Noteworthy changes in version 1.6.0 (2015-08-26) [C25/A14/R0]
|
2015-06-08 13:18:56 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2015-08-26 07:28:32 +00:00
|
|
|
* Added gpgme_set_offline to do a key listinging w/o requiring CRL.
|
|
|
|
|
|
|
|
* Added gpgme_set_status_cb to allow a user to see some status
|
|
|
|
messages.
|
|
|
|
|
|
|
|
* Added an export mode for secret keys.
|
|
|
|
|
|
|
|
* More precise error codes are returned if GnuPG >= 2.1.8 is used.
|
|
|
|
|
|
|
|
* The passphrase handler for the loopback mode has been improved and may
|
|
|
|
also be used with genkey.
|
|
|
|
|
2018-11-08 05:34:27 +00:00
|
|
|
* [w32] The standard GnuPG 2.1 install directory is now searched for
|
2015-08-26 07:28:32 +00:00
|
|
|
gpgconf.exe before a registry specified directory and the Gpg4win
|
|
|
|
install directory.
|
|
|
|
|
|
|
|
* [w32] gpgme-w32spawn.exe will now only be searched in the gpgme DLL
|
|
|
|
directory.
|
|
|
|
|
|
|
|
* Interface changes relative to the 1.5.1 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_set_offline NEW.
|
|
|
|
gpgme_get_offline NEW.
|
|
|
|
gpgme_set_status_cb NEW.
|
|
|
|
gpgme_get_status_cb NEW.
|
|
|
|
GPGME_EXPORT_MODE_SECRET NEW
|
|
|
|
GPGME_EXPORT_MODE_RAW NEW.
|
|
|
|
GPGME_EXPORT_MODE_PKCS12 NEW.
|
|
|
|
|
2015-06-08 13:18:56 +00:00
|
|
|
|
2015-06-08 12:58:44 +00:00
|
|
|
Noteworthy changes in version 1.5.5 (2015-06-08) [C24/A13/R4]
|
2015-04-13 13:50:59 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2015-06-08 12:58:44 +00:00
|
|
|
* Fixed crash in key listings for user ids with a backslash.
|
|
|
|
|
|
|
|
* Fixed regression for GPGSM use with GnuPG < 2.1.
|
|
|
|
|
|
|
|
* Properly set signature summary for revoked OpenPGP keys.
|
|
|
|
|
2015-04-13 13:50:59 +00:00
|
|
|
|
2015-04-13 13:43:13 +00:00
|
|
|
Noteworthy changes in version 1.5.4 (2015-04-13) [C24/A13/R3]
|
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
* Fixed a possible crash in the debug code.
|
2014-12-11 11:53:28 +00:00
|
|
|
|
2015-04-13 13:43:13 +00:00
|
|
|
* Fixed building for Windows with newer versions of Mingw.
|
2014-12-11 11:53:28 +00:00
|
|
|
|
|
|
|
|
2014-12-11 11:07:49 +00:00
|
|
|
Noteworthy changes in version 1.5.3 (2014-12-11) [C24/A13/R2]
|
2014-11-21 20:29:11 +00:00
|
|
|
-------------------------------------------------------------
|
|
|
|
|
2014-12-11 11:07:49 +00:00
|
|
|
* The export key functions do now return an error if used with the
|
|
|
|
latest GnuPG version.
|
|
|
|
|
2014-11-21 20:29:11 +00:00
|
|
|
|
2014-11-21 20:19:26 +00:00
|
|
|
Noteworthy changes in version 1.5.2 (2014-11-21) [C24/A13/R1]
|
2014-07-30 10:03:47 +00:00
|
|
|
-------------------------------------------------------------
|
|
|
|
|
2014-08-12 08:36:30 +00:00
|
|
|
* gpgme-tool is now installed.
|
|
|
|
|
2014-11-21 20:19:26 +00:00
|
|
|
* Fix external listing for modern keyservers.
|
|
|
|
|
|
|
|
* Minor other fixes.
|
|
|
|
|
2014-07-30 10:03:47 +00:00
|
|
|
|
2014-07-30 09:47:31 +00:00
|
|
|
Noteworthy changes in version 1.5.1 (2014-07-30) [C24/A13/R0]
|
2014-05-21 07:43:53 +00:00
|
|
|
-------------------------------------------------------------
|
|
|
|
|
2014-07-30 09:47:31 +00:00
|
|
|
* Fixed possible overflow in gpgsm and uiserver engines.
|
|
|
|
[CVE-2014-3564]
|
2014-07-30 09:04:55 +00:00
|
|
|
|
2014-07-30 09:47:31 +00:00
|
|
|
* Added support for GnuPG 2.1's --with-secret option.
|
2014-06-04 07:57:54 +00:00
|
|
|
|
|
|
|
* Interface changes relative to the 1.5.0 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
GPGME_KEYLIST_MODE_WITH_SECRET NEW.
|
|
|
|
|
2014-05-21 07:43:53 +00:00
|
|
|
|
2014-05-21 07:08:42 +00:00
|
|
|
Noteworthy changes in version 1.5.0 (2014-05-21) [C23/A12/R0]
|
|
|
|
-------------------------------------------------------------
|
2013-12-27 15:08:20 +00:00
|
|
|
|
|
|
|
* On Unices the engine file names are not not anymore hardwired but
|
2014-05-21 07:08:42 +00:00
|
|
|
located via the envvar PATH. All options to set the name of the
|
|
|
|
engines for the configure run are removed.
|
2013-12-27 15:08:20 +00:00
|
|
|
|
2014-04-10 09:47:19 +00:00
|
|
|
* If GPGME finds the gpgconf binary it defaults to using gpg2 or
|
2013-12-27 15:08:20 +00:00
|
|
|
whatever gpgconf tells as name for the OpenPGP engine. If gpgconf
|
|
|
|
is not found, GPGME looks for an engine named "gpg".
|
|
|
|
|
2014-05-21 07:08:42 +00:00
|
|
|
* New feature to use the gpgme I/O subsystem to run arbitrary
|
2014-04-10 11:01:00 +00:00
|
|
|
commands.
|
|
|
|
|
2014-05-21 07:08:42 +00:00
|
|
|
* New flag to use encryption without the default compression step.
|
|
|
|
|
|
|
|
* New function to access "gpg-conf --list-dirs"
|
|
|
|
|
|
|
|
* New configure option --enable-fixed-path for use by Android.
|
|
|
|
|
|
|
|
* Support ECC algorithms.
|
2014-05-08 09:31:30 +00:00
|
|
|
|
2014-04-10 09:47:19 +00:00
|
|
|
* Interface changes relative to the 1.4.3 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_get_dirinfo NEW.
|
2014-04-10 11:01:00 +00:00
|
|
|
gpgme_op_spawn_start NEW.
|
|
|
|
gpgme_op_spawn NEW.
|
|
|
|
GPGME_PROTOCOL_SPAWN NEW.
|
|
|
|
GPGME_SPAWN_DETACHED NEW.
|
|
|
|
GPGME_SPAWN_ALLOW_SET_FG NEW.
|
2014-05-08 09:31:30 +00:00
|
|
|
GPGME_ENCRYPT_NO_COMPRESS NEW.
|
2014-05-08 12:03:14 +00:00
|
|
|
GPGME_PK_ECC NEW.
|
|
|
|
GPGME_MD_SHA224 NEW.
|
2014-05-08 18:39:15 +00:00
|
|
|
gpgme_subkey_t EXTENDED: New field curve.
|
2014-05-13 13:44:52 +00:00
|
|
|
GPGME_STATUS_PLAINTEXT_LENGTH NEW.
|
|
|
|
GPGME_STATUS_MOUNTPOINT NEW.
|
|
|
|
GPGME_STATUS_PINENTRY_LAUNCHED NEW.
|
|
|
|
GPGME_STATUS_ATTRIBUTE NEW.
|
|
|
|
GPGME_STATUS_BEGIN_SIGNING NEW.
|
|
|
|
GPGME_STATUS_KEY_NOT_CREATED NEW.
|
2013-12-27 15:08:20 +00:00
|
|
|
|
|
|
|
|
2014-05-21 07:08:42 +00:00
|
|
|
Noteworthy changes in version 1.4.3 (2013-08-12) [C22/A11/R0]
|
|
|
|
-------------------------------------------------------------
|
2013-05-28 10:05:43 +00:00
|
|
|
|
2013-08-02 13:25:23 +00:00
|
|
|
* The default engine names are now taken from the output of gpgconf.
|
|
|
|
If gpgconf is not found the use of gpg 1 is assumed.
|
|
|
|
|
|
|
|
* Under Windows the default engines names are first searched in the
|
|
|
|
installation directory of the gpgme DLL.
|
|
|
|
|
2013-08-09 17:19:26 +00:00
|
|
|
* New function gpgme_data_identify to detect the type of a message.
|
|
|
|
|
2013-06-18 08:27:46 +00:00
|
|
|
* Interface changes relative to the 1.4.2 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_signers_count NEW.
|
2013-08-09 17:19:26 +00:00
|
|
|
gpgme_data_type_t NEW.
|
|
|
|
gpgme_data_identify NEW.
|
2013-06-18 08:27:46 +00:00
|
|
|
|
2013-05-28 10:05:43 +00:00
|
|
|
|
2014-05-21 07:08:42 +00:00
|
|
|
Noteworthy changes in version 1.4.2 (2013-05-28) [C21/A10/R0]
|
|
|
|
-------------------------------------------------------------
|
2013-05-01 12:27:08 +00:00
|
|
|
|
2013-05-22 14:30:12 +00:00
|
|
|
* Allow symmetric encryption with gpgme_op_encrypt_sign.
|
|
|
|
|
2013-05-28 09:05:43 +00:00
|
|
|
* Fixed mismatching off_t definitions on Windows.
|
|
|
|
|
Make definition of off_t robust against misbehaving w32 toolchains.
* configure.ac (NEED__FILE_OFFSET_BITS): Change to define gpgme_off_t
and gpgme_ssize_t.
(API__OFF_T, API__SSIZE_T): New ac_subst.
* src/gpgme.h.in: Replace all ssize_t and off_t by ac_subst macros.
* src/assuan-support.c, src/ath-pthread.c, src/ath.c, src/ath.h
* src/data-compat.c, src/data-fd.c, src/data-mem.c, src/data-stream.c
* src/data-user.c, src/data.c, src/data.h, src/engine-gpgsm.c
* src/engine-uiserver.c, src/gpgme-tool.c, src/gpgme.c: Replace off_t
by gpgme_off_t and sszie_t by gpgme_ssize_t.
* src/ath-pthread.c, src/ath.h: Include gpgme.h.
--
For a detailed description, see the gpgme.texi diff.
2013-04-25 11:00:16 +00:00
|
|
|
* Interface changes relative to the 1.4.1 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_off_t NEW.
|
|
|
|
gpgme_size_t NEW.
|
2013-05-28 09:05:43 +00:00
|
|
|
GPGME_PROTOCOL_OPENPGP NEW alias.
|
Make definition of off_t robust against misbehaving w32 toolchains.
* configure.ac (NEED__FILE_OFFSET_BITS): Change to define gpgme_off_t
and gpgme_ssize_t.
(API__OFF_T, API__SSIZE_T): New ac_subst.
* src/gpgme.h.in: Replace all ssize_t and off_t by ac_subst macros.
* src/assuan-support.c, src/ath-pthread.c, src/ath.c, src/ath.h
* src/data-compat.c, src/data-fd.c, src/data-mem.c, src/data-stream.c
* src/data-user.c, src/data.c, src/data.h, src/engine-gpgsm.c
* src/engine-uiserver.c, src/gpgme-tool.c, src/gpgme.c: Replace off_t
by gpgme_off_t and sszie_t by gpgme_ssize_t.
* src/ath-pthread.c, src/ath.h: Include gpgme.h.
--
For a detailed description, see the gpgme.texi diff.
2013-04-25 11:00:16 +00:00
|
|
|
|
2013-05-01 12:27:08 +00:00
|
|
|
|
2014-05-21 07:08:42 +00:00
|
|
|
Noteworthy changes in version 1.4.1 (2013-05-01) [C20/A9/R1]
|
|
|
|
------------------------------------------------------------
|
2013-02-26 17:32:08 +00:00
|
|
|
|
2013-05-01 11:51:27 +00:00
|
|
|
* Fixed reading of gpg.conf files with excessive use of the group
|
2013-04-30 16:09:13 +00:00
|
|
|
option.
|
|
|
|
|
2013-05-01 11:51:27 +00:00
|
|
|
* Fixed building with the i686-w64-mingw32 toolchain.
|
|
|
|
|
|
|
|
* Disabled FD passing by default for Apple.
|
2013-04-30 16:09:13 +00:00
|
|
|
|
2013-02-26 17:32:08 +00:00
|
|
|
|
2014-05-21 07:08:42 +00:00
|
|
|
Noteworthy changes in version 1.4.0 (2013-02-26) [C20/A9/R0]
|
|
|
|
------------------------------------------------------------
|
2012-05-02 09:30:57 +00:00
|
|
|
|
2013-02-26 16:25:20 +00:00
|
|
|
* New function gpgme_set_global_flag to help debugging on Android.
|
|
|
|
|
|
|
|
* New function gpgme_io_writen as a convenience wrapper around
|
|
|
|
gpgme_io_write.
|
|
|
|
|
|
|
|
* New functions to support the pinentry mode feature of GnuPG 2.1.
|
|
|
|
|
|
|
|
* New macro GPGME_VERSION_NUMBER to allow supporting different API
|
|
|
|
versions without the need for a configure test.
|
|
|
|
|
|
|
|
* Several improvements for gpgme-tool.
|
|
|
|
|
|
|
|
* Better logging of the common "invalid engine" error code.
|
|
|
|
|
|
|
|
* Support for FD passing is now enabled by default. The configure
|
|
|
|
option --disable-fd-passing may be used to disable this.
|
|
|
|
|
2012-09-25 13:38:26 +00:00
|
|
|
* Interface changes relative to the 1.3.1 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2013-02-12 13:02:08 +00:00
|
|
|
GPGME_VERSION_NUMBER NEW.
|
2013-02-07 19:59:16 +00:00
|
|
|
gpgme_io_writen NEW.
|
2012-09-25 13:38:26 +00:00
|
|
|
gpgme_set_global_flag NEW.
|
2013-02-07 19:59:16 +00:00
|
|
|
gpgme_set_pinentry_mode NEW.
|
2013-02-12 09:42:54 +00:00
|
|
|
gpgme_get_pinentry_mode NEW.
|
2013-02-07 19:59:16 +00:00
|
|
|
gpgme_pinentry_mode_t NEW.
|
|
|
|
GPGME_PINENTRY_MODE_DEFAULT NEW.
|
|
|
|
GPGME_PINENTRY_MODE_ASK NEW.
|
|
|
|
GPGME_PINENTRY_MODE_CANCEL NEW.
|
|
|
|
GPGME_PINENTRY_MODE_ERROR NEW.
|
|
|
|
GPGME_PINENTRY_MODE_LOOPBACK NEW.
|
2012-09-25 13:38:26 +00:00
|
|
|
|
2012-05-02 09:30:57 +00:00
|
|
|
|
2012-05-02 08:58:52 +00:00
|
|
|
Noteworthy changes in version 1.3.2 (2012-05-02)
|
2011-07-04 18:44:12 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2011-10-25 16:59:26 +00:00
|
|
|
* Remove support for libgpgme-pth. As far as we know, this was never used,
|
|
|
|
and GnuPG is going to use our own npth in the future.
|
2011-07-04 18:44:12 +00:00
|
|
|
|
2012-05-02 08:30:09 +00:00
|
|
|
* Fix signature summary information for a missing X.509 key.
|
|
|
|
|
|
|
|
* Fix parsing of dates >= year 2038.
|
|
|
|
|
2011-07-04 18:44:12 +00:00
|
|
|
|
2011-06-16 12:38:59 +00:00
|
|
|
Noteworthy changes in version 1.3.1 (2011-06-16)
|
2010-01-11 12:42:59 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2011-05-06 15:46:03 +00:00
|
|
|
* Ported to Windows CE.
|
2010-03-12 18:03:02 +00:00
|
|
|
|
|
|
|
* Detect GPG versions not supporting ---passwd.
|
2010-01-11 12:42:59 +00:00
|
|
|
|
2010-02-16 20:07:03 +00:00
|
|
|
* Interface changes relative to the 1.3.0 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2010-08-18 14:14:27 +00:00
|
|
|
GPGME_EXPORT_MODE_MINIMAL NEW
|
2011-05-06 15:46:03 +00:00
|
|
|
GPGME_STATUS_SUCCESS NEW
|
2010-08-18 14:14:27 +00:00
|
|
|
gpgme_err_code_from_syserror NEW
|
|
|
|
gpgme_err_set_errno NEW
|
|
|
|
gpgme_error_from_errno CHANGED: Return gpgme_error_t (compatible type).
|
|
|
|
gpgme_error_from_syserror NEW
|
2010-02-16 20:07:03 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2010-01-11 12:42:59 +00:00
|
|
|
|
2010-01-11 12:30:22 +00:00
|
|
|
Noteworthy changes in version 1.3.0 (2010-01-11)
|
2009-06-19 02:04:24 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2009-10-20 15:54:34 +00:00
|
|
|
* GPGME does not come with an internal libassuan version anymore.
|
|
|
|
The external libassuan 1.1.0 release or later is required. For
|
|
|
|
application programmers on systems that can resolve inter-library
|
|
|
|
dependencies at runtime, this is a transparent change.
|
2009-06-19 02:04:24 +00:00
|
|
|
|
2009-10-22 16:44:07 +00:00
|
|
|
* New engine GPGME_PROTOCOL_G13 to support the new g13 tool.
|
|
|
|
|
2009-11-10 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Activate UIServer if FD passing is enabled and
Assuan is available.
m4/
2009-11-10 Marcus Brinkmann <marcus@g10code.de>
* libassuan.m4: Fix LIBASSUAN_VERSION.
src/
2009-11-10 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (uiserver_components): New variable.
(main_sources): Add it.
* ops.h, key.c (_gpgme_key_append_name): Take CONVERT argument,
implement it. Adjust callers.
(gpgme_key_from_uid): New function.
* gpgme.h.in (gpgme_protocol_t): Add GPGME_PROTOCOL_DEFAULT.
(gpgme_encrypt_flags_t): Add GPGME_ENCRYPT_PREPARE,
GPGME_ENCRYPT_EXPECT_SIGN.
(gpgme_set_sub_protocol, gpgme_key_from_uid): New functions.
* libgpgme.vers, gpgme.def: Add new functions.
* gpgme.c (gpgme_set_protocol): Add UIServer protocol.
(gpgme_set_sub_protocol): New function.
(gpgme_get_protocol_name): Add UIServer and default protocol.
* assuan-support.c: Return correct error values, implement
socketpair for POSIX.
* priv-io.h, posix-io.c, w32-io.c, w32-glib-io.c,
w32-qt-io.cpp (_gpgme_io_spawn): Add ATFORK and ATFORKVALUE
arguments. Implement it for POSIX. Adjust all callers.
* engine.h, engine-backend.h (_gpgme_engine_set_protocol)
(_gpgme_engine_op_decrypt_verify): New prototypes. Adjust all
users.
* engine.c (engine_ops, gpgme_get_engine_info): Add UIServer
engine.
(_gpgme_engine_set_protocol, _gpgme_engine_op_decrypt_verify): New
function.
* decrypt-verify.c (decrypt_verify_start): Call
_gpgme_engine_op_decrypt_verify.
* util.h, posix-util.c,
w32-util.c (_gpgme_get_uiserver_socket_path): New function.
* engine-gpgsm.c (gpgsm_set_fd): Fix _gpgme_io_pipe invocation.
* gpgme-tool.c: Some support for UIServer protocol.
* engine-uiserver.c: New file.
2009-11-10 09:07:19 +00:00
|
|
|
* New engine GPGME_PROTOCOL_UISERVER to support UI Servers.
|
|
|
|
|
2010-06-29 17:13:07 +00:00
|
|
|
* New API to change the passphrase of a key.
|
2010-01-05 17:36:53 +00:00
|
|
|
|
2009-10-20 15:55:01 +00:00
|
|
|
* Interface changes relative to the 1.2.0 release:
|
2010-01-05 17:36:53 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
GPGME_STATUS_INV_SGNR NEW.
|
|
|
|
GPGME_STATUS_NO_SGNR NEW.
|
|
|
|
GPGME_PROTOCOL_G13 NEW.
|
|
|
|
gpgme_op_g13_mount NEW.
|
|
|
|
gpgme_g13_result_t NEW.
|
|
|
|
GPGME_PK_ECDSA NEW.
|
|
|
|
GPGME_PK_ECDH NEW.
|
|
|
|
gpgme_op_passwd_start NEW.
|
|
|
|
gpgme_op_passwd NEW.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2009-08-06 17:17:18 +00:00
|
|
|
|
2009-06-18 17:16:47 +00:00
|
|
|
Noteworthy changes in version 1.2.0 (2009-06-18)
|
2009-01-26 10:21:10 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2009-05-18 17:38:31 +00:00
|
|
|
* New encryption flag GPGME_ENCRYPT_NO_ENCRYPT_TO to disable default
|
|
|
|
recipients.
|
|
|
|
|
2009-05-28 15:16:01 +00:00
|
|
|
* gpgme_new will fail if gpgme_check_version was not called, or a
|
|
|
|
selftest failed (for example, if -mms-bitfields was not used on
|
|
|
|
MingW32 targets).
|
|
|
|
|
2009-06-09 16:01:02 +00:00
|
|
|
* New functions gpgme_io_read and gpgme_io_write for use with
|
|
|
|
gpgme_passphrase_cb_t and gpgme_edit_cb_t functions.
|
|
|
|
|
2009-06-16 14:43:38 +00:00
|
|
|
* New functions gpgme_result_ref and gpgme_result_unref to detach
|
|
|
|
result structures from a context.
|
|
|
|
|
|
|
|
* New functions gpgme_op_export_keys_start and gpgme_op_export_keys
|
|
|
|
that allow to specify exported keys through gpgme_key_t objects
|
|
|
|
instead of patterns.
|
|
|
|
|
|
|
|
* New mode of operation gpgme_export_mode_t that allows exporting
|
|
|
|
external keys.
|
|
|
|
|
2009-01-26 10:21:10 +00:00
|
|
|
* Interface changes relative to the 1.1.7 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2009-03-18 11:19:29 +00:00
|
|
|
GPGME_KEYLIST_MODE_EPHEMERAL NEW.
|
2009-01-26 10:21:10 +00:00
|
|
|
GPGME_PROTOCOL_ASSUAN NEW.
|
|
|
|
gpgme_assuan_data_cb_t NEW.
|
|
|
|
gpgme_assuan_inquire_cb_t NEW.
|
|
|
|
gpgme_assuan_status_cb_t NEW.
|
|
|
|
gpgme_op_assuan_transact_start NEW.
|
|
|
|
gpgme_op_assuan_transact NEW.
|
|
|
|
gpgme_op_assuan_result NEW.
|
2009-06-16 11:42:21 +00:00
|
|
|
gpgme_op_import_keys NEW.
|
|
|
|
gpgme_op_import_keys_start NEW.
|
2009-02-04 09:51:43 +00:00
|
|
|
gpgme_subkey_t EXTENDED: New fields is_cardkey, card_number.
|
2009-05-18 17:38:31 +00:00
|
|
|
GPGME_ENCRYPT_NO_ENCRYPT_TO NEW.
|
2009-05-28 15:16:01 +00:00
|
|
|
gpgme_check_version CHANGED: Is now a macro.
|
|
|
|
gpgme_new EXTENDED: More failure codes.
|
2009-06-09 16:01:02 +00:00
|
|
|
gpgme_io_read NEW.
|
|
|
|
gpgme_io_write NEW.
|
2009-06-16 11:42:21 +00:00
|
|
|
gpgme_result_ref NEW.
|
|
|
|
gpgme_result_unref NEW.
|
|
|
|
gpgme_export_mode_t NEW.
|
|
|
|
gpgme_export_ext_start EXTENDED: Arg RESERVED is now a MODE flag.
|
|
|
|
gpgme_op_export EXTENDED: Arg RESERVED is now a MODE flag.
|
|
|
|
gpgme_op_export_ext_start EXTENDED: Arg RESERVED is now a MODE flag.
|
|
|
|
gpgme_op_export_ext EXTENDED: Arg RESERVED is now a MODE flag.
|
|
|
|
gpgme_op_export_keys_start NEW.
|
|
|
|
gpgme_op_export_keys NEW.
|
2009-06-16 15:42:37 +00:00
|
|
|
GPGME_DATA_ENCODING_URL NEW.
|
|
|
|
GPGME_DATA_ENCODING_URL0 NEW.
|
|
|
|
GPGME_DATA_ENCODING_URLESC NEW.
|
2009-01-26 10:21:10 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
2008-12-08 19:28:36 +00:00
|
|
|
Noteworthy changes in version 1.1.8 (2008-12-08)
|
2008-10-17 21:03:00 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2008-11-18 11:12:36 +00:00
|
|
|
* SIGPIPE is now again ignored as described in the manual. Fixes
|
2018-11-08 05:34:27 +00:00
|
|
|
regression introduced with 1.1.6.
|
2008-11-18 11:12:36 +00:00
|
|
|
|
2008-10-17 21:03:00 +00:00
|
|
|
|
|
|
|
Noteworthy changes in version 1.1.7 (2008-10-17)
|
2008-01-04 15:10:49 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2008-05-07 15:41:14 +00:00
|
|
|
* Using GPGME_KEYLIST_MODE_LOCAL combined with
|
|
|
|
GPGME_KEYLIST_MODE_EXTERN is now supported; it uses the
|
|
|
|
--locate-keys feature of gpg (>= 2.0.10).
|
2012-05-02 08:30:09 +00:00
|
|
|
|
2008-01-28 19:41:26 +00:00
|
|
|
* The encoding of gpgme_data_t objects can affect the output encoding
|
|
|
|
of export, sign and encrypt operations now (the same operations
|
|
|
|
that are also affected by the ASCII mode switch). We believe this
|
|
|
|
change in the ABI is innocent enough not to break existing
|
|
|
|
applications (it only affects the S/MIME backend on certain
|
|
|
|
operations).
|
2008-01-04 15:10:49 +00:00
|
|
|
|
2008-06-04 14:14:38 +00:00
|
|
|
* The reference manual now includes the specification of "The GnuPG
|
|
|
|
UI Server protocol".
|
|
|
|
|
2008-06-27 16:08:35 +00:00
|
|
|
* A new function gpgme_cancel_async can be used to asynchronously
|
|
|
|
cancel any pending operation at any time, from any thread.
|
|
|
|
|
2008-01-04 15:10:49 +00:00
|
|
|
* Interface changes relative to the 1.1.6 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2008-01-28 19:41:26 +00:00
|
|
|
gpgme_op_encrypt CHANGED: Output encoding can affect result.
|
|
|
|
gpgme_op_encrypt_start CHANGED: Output encoding can affect result.
|
|
|
|
gpgme_op_encrypt_sign CHANGED: Output encoding can affect result.
|
|
|
|
gpgme_op_encrypt_sign_start CHANGED: Output encoding can affect result.
|
|
|
|
gpgme_op_sign CHANGED: Output encoding can affect result.
|
|
|
|
gpgme_op_sign_start CHANGED: Output encoding can affect result.
|
|
|
|
gpgme_op_export CHANGED: Output encoding can affect result.
|
|
|
|
gpgme_op_export_start CHANGED: Output encoding can affect result.
|
|
|
|
gpgme_op_export_ext CHANGED: Output encoding can affect result.
|
|
|
|
gpgme_op_export_ext_start CHANGED: Output encoding can affect result.
|
2008-06-27 16:08:35 +00:00
|
|
|
gpgme_cancel_async NEW
|
2008-01-04 15:10:49 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
2008-01-04 14:34:08 +00:00
|
|
|
Noteworthy changes in version 1.1.6 (2008-01-04)
|
2007-07-09 13:45:06 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2007-09-17 13:24:14 +00:00
|
|
|
* Bug fixes for for W32.
|
2007-07-09 13:45:06 +00:00
|
|
|
|
2008-01-04 14:34:08 +00:00
|
|
|
* A new, experimental (and thus undocumented and potentially
|
|
|
|
unstable) interface for accessing gpg-conf through GPGME has been
|
|
|
|
added.
|
|
|
|
|
2007-08-07 15:21:50 +00:00
|
|
|
* Interface changes relative to the 1.1.1 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_signature_t EXTENDED: New field chain_model.
|
2007-11-22 16:44:37 +00:00
|
|
|
gpgme_op_getauditlog_start NEW.
|
|
|
|
gpgme_op_getauditlog NEW.
|
|
|
|
GPGME_AUDITLOG_HTML NEW.
|
|
|
|
GPGME_AUDITLOG_WITH_HELP NEW.
|
2008-01-04 15:10:49 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2007-08-07 15:21:50 +00:00
|
|
|
|
2007-07-09 13:45:06 +00:00
|
|
|
|
2007-07-09 13:07:51 +00:00
|
|
|
Noteworthy changes in version 1.1.5 (2007-07-09)
|
2007-03-05 11:18:47 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2007-07-09 13:07:51 +00:00
|
|
|
* Bug and portability fixes (mainly for W32).
|
|
|
|
|
2007-03-05 11:18:47 +00:00
|
|
|
|
2007-03-05 10:56:31 +00:00
|
|
|
Noteworthy changes in version 1.1.4 (2007-03-05)
|
2007-02-26 10:36:08 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2007-03-05 10:56:31 +00:00
|
|
|
* Detect and bail out on double plaintext messages. This is required
|
|
|
|
so that applications can properly detect the signed parts of a
|
|
|
|
message. Actual there is now a double protection as GnuPG 1.4.7
|
|
|
|
will detect this case too.
|
2007-02-26 10:36:08 +00:00
|
|
|
|
|
|
|
|
2007-01-29 20:53:59 +00:00
|
|
|
Noteworthy changes in version 1.1.3 (2007-01-29)
|
2006-03-03 10:13:49 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2006-09-25 14:57:00 +00:00
|
|
|
* Fixed a memory leak in gpgme_data_release_and_get_mem.
|
|
|
|
|
2007-01-17 19:38:29 +00:00
|
|
|
* Fixed a bug in Windows command line quoting.
|
|
|
|
|
2006-03-03 10:13:49 +00:00
|
|
|
|
2006-03-02 10:39:59 +00:00
|
|
|
Noteworthy changes in version 1.1.2 (2006-03-02)
|
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
* Fixed a bug in the W32 glib backend.
|
|
|
|
|
|
|
|
|
2006-02-23 16:31:54 +00:00
|
|
|
Noteworthy changes in version 1.1.1 (2006-02-23)
|
2005-10-01 21:58:29 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2005-12-06 16:30:21 +00:00
|
|
|
* Fixed a bug in that the fingerprints of subkeys are not available.
|
|
|
|
|
|
|
|
* Clarified usage of the SECRET flag in key listings. It is now
|
|
|
|
reset for stub keys.
|
|
|
|
|
2005-10-02 14:39:31 +00:00
|
|
|
* Reading signature notations and policy URLs on key signatures is
|
|
|
|
supported. They can be found in the new field notations of the
|
|
|
|
gpgme_key_sig_t structure. This has to be enabled with the keylist
|
|
|
|
mode flag GPGME_KEYLIST_MODE_SIG_NOTATIONS.
|
2005-10-01 21:58:29 +00:00
|
|
|
|
2005-10-06 10:44:26 +00:00
|
|
|
* A new gpgme_free() function solves the problem of using different
|
|
|
|
allocators in a single program. This function should now be used
|
|
|
|
instead calling free() to release the buffer returned by
|
|
|
|
gpgme_data_release_and_get_mem. It is recommended that you always
|
|
|
|
do this, but it is only necessary on certain platforms, so backwards
|
|
|
|
compatibility is provided. In other words: If free() worked for
|
|
|
|
you before, it will keep working.
|
|
|
|
|
2005-12-20 20:22:19 +00:00
|
|
|
* New status codes GPGME_PKA_TRUST_GOOD and GPGME_PKA_TRUST_BAD.
|
|
|
|
They are analyzed by the verify handlers and made available in the
|
2006-01-03 18:31:48 +00:00
|
|
|
new PKA_TRUST and PKA_ADDRESS fields of the signature result structure.
|
2005-12-20 20:22:19 +00:00
|
|
|
|
2005-10-06 10:44:26 +00:00
|
|
|
* Interface changes relative to the 1.1.0 release:
|
2005-10-01 21:58:29 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2005-10-02 14:39:31 +00:00
|
|
|
gpgme_key_sig_t EXTENDED: New field notations.
|
|
|
|
GPGME_KEYLIST_MODE_SIG_NOTATIONS NEW
|
2005-10-06 10:44:26 +00:00
|
|
|
gpgme_free NEW
|
2005-12-20 20:22:19 +00:00
|
|
|
GPGME_STATUS_PKA_TRUST_BAD NEW
|
|
|
|
GPGME_STATUS_PKA_TRUST_GOOD NEW
|
|
|
|
gpgme_signature_t EXTENDED: New field pka_trust.
|
2006-01-03 18:31:48 +00:00
|
|
|
gpgme_signature_t EXTENDED: New field pka_address.
|
2005-10-01 21:58:29 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
2005-10-01 21:31:24 +00:00
|
|
|
Noteworthy changes in version 1.1.0 (2005-10-01)
|
2004-12-07 Marcus Brinkmann <marcus@g10code.de>
* libgpgme.vers (GPGME_1.1): New version.
* engine-backend.h (struct engine_ops): Add argument FILE_NAME to
member get_version(). Add arguments FILE_NAME and HOME_DIR to
member new(). Change return type of get_file_name and get_version
to char *.
* engine-gpgsm.c (gpgsm_get_version): Change return type to char
pointer. Do not cache result.
(gpgsm_new): Add file_name and home_dir argument, and use them
instead of the defaults, if set.
* rungpg.c (struct engine_gpg): New member file_name.
(gpg_get_version): Change return type to char pointer, and do not
cache result.
(gpg_release): Free gpg->file_name.
(gpg_new): Take new arguments file_name and home_dir. Set the
--homedir argument if HOME_DIR is not NULL. Set gpg->file_name.
(start): Use gpg->file_name instead _gpgme_get_gpg_path, if set.
* engine.h (_gpgme_engine_info_copy, _gpgme_engine_info_release):
New prototypes.
(_gpgme_engine_new): Change first argument to gpgme_engine_info_t
info.
* engine.c: Include <assert.h>.
(gpgme_get_engine_info): Set *INFO within the lock. Move
ENGINE_INFO and ENGINE_INFO_LOCK to ....
(engine_info, engine_info_lock): ... here. New static variables.
(engine_get_version): Add file_name argument to
get_version invocation. Change return type to char pointer.
(gpgme_engine_check_version): Rewritten to free() the return value
of engine_get_version after using it.
(_gpgme_engine_info_release): New function.
(gpgme_get_engine_info): Rewritten.
(_gpgme_engine_info_copy): New function.
(_gpgme_set_engine_info): New function.
(gpgme_set_engine_info): New function.
(_gpgme_engine_new): Change first argument to gpgme_engine_info_t
info, and use that.
* gpgme.h (struct _gpgme_engine_info): Change type of file_name
and version to char * (remove the const). New member home_dir.
(gpgme_set_engine_info, gpgme_ctx_get_engine_info,
gpgme_ctx_set_engine_info): New prototypes.
* context.h (struct gpgme_context): New member engine_info.
* gpgme.c (gpgme_new): Allocate CTX->engine_info.
(gpgme_release): Deallocate CTX->engine_info.
(gpgme_ctx_get_engine_info, gpgme_ctx_set_engine_info): New
functions.
* op-support.c (_gpgme_op_reset): Look for correct engine info and
pass it to _gpgme_engine_new.
* version.c (gpgme_check_version): Adjust to
_gpgme_compare_versions returning an int.
(_gpgme_compare_versions): Return an int value, not a const char
pointer.
* ops.h (_gpgme_compare_versions): Same for prototype.
2004-12-07 18:25:54 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
* You can now configure the backend engine file name and home
|
|
|
|
directory to be used, as default and per context.
|
|
|
|
|
2005-06-03 00:42:08 +00:00
|
|
|
* Information about the recipients of an encrypted text is now
|
|
|
|
available at decryption time.
|
|
|
|
|
2005-07-27 01:50:08 +00:00
|
|
|
* New status GPGME_STATUS_PLAINTEXT. This is analyzed by the decrypt
|
|
|
|
and verify handlers, the information about the plaintext filename,
|
2005-09-30 13:24:40 +00:00
|
|
|
if available is made available in the new field file_name of the
|
|
|
|
respective result structure.
|
2005-07-27 01:50:08 +00:00
|
|
|
|
2005-09-12 19:14:36 +00:00
|
|
|
* The code for "automagically detecting the thread library" has been
|
|
|
|
removed from libgpgme. It is deprecated since version 0.4.3.
|
|
|
|
Since then, you had to link against libgpgme-pthread for
|
|
|
|
applications using pthread and libgpgme-pth for applications using
|
|
|
|
GNU Pth.
|
|
|
|
|
|
|
|
The code was removed because it caused compilation problems on
|
|
|
|
systems where the pthread.h header from GNU Pth is available in
|
|
|
|
addition to the system header (FreeBSD 6 and later for example).
|
|
|
|
|
|
|
|
* "./autogen.sh --build-w32" does now build gpgme.dll.
|
|
|
|
|
|
|
|
* [W32] The environment variable GPGME_DEBUG now uses a semicolon as
|
|
|
|
delimiter. The standard install directory is used when locating
|
|
|
|
gpg or gpgsm before finally falling back to the hardwired name.
|
|
|
|
|
2005-09-30 13:24:40 +00:00
|
|
|
* There is a new flag for keys and subkeys, is_qualified, which
|
|
|
|
indicates if a key can be used for qualified signatures according
|
|
|
|
to local government regulations.
|
|
|
|
|
2005-09-30 14:17:47 +00:00
|
|
|
* You can associate a filename with a data object using the new
|
2005-10-01 21:39:42 +00:00
|
|
|
function gpgme_data_set_file_name(). This filename will be stored
|
2005-09-30 14:17:47 +00:00
|
|
|
in the output when encrypting or signing the data and will be
|
|
|
|
returned when decrypting or verifying the output data.
|
|
|
|
|
2005-10-01 02:33:35 +00:00
|
|
|
* You can now set notation data at signature creation with the new
|
|
|
|
function gpgme_sig_notation_add().
|
|
|
|
|
2005-09-30 13:24:40 +00:00
|
|
|
* Interface changes relative to the 1.0.3 release:
|
2004-12-07 Marcus Brinkmann <marcus@g10code.de>
* libgpgme.vers (GPGME_1.1): New version.
* engine-backend.h (struct engine_ops): Add argument FILE_NAME to
member get_version(). Add arguments FILE_NAME and HOME_DIR to
member new(). Change return type of get_file_name and get_version
to char *.
* engine-gpgsm.c (gpgsm_get_version): Change return type to char
pointer. Do not cache result.
(gpgsm_new): Add file_name and home_dir argument, and use them
instead of the defaults, if set.
* rungpg.c (struct engine_gpg): New member file_name.
(gpg_get_version): Change return type to char pointer, and do not
cache result.
(gpg_release): Free gpg->file_name.
(gpg_new): Take new arguments file_name and home_dir. Set the
--homedir argument if HOME_DIR is not NULL. Set gpg->file_name.
(start): Use gpg->file_name instead _gpgme_get_gpg_path, if set.
* engine.h (_gpgme_engine_info_copy, _gpgme_engine_info_release):
New prototypes.
(_gpgme_engine_new): Change first argument to gpgme_engine_info_t
info.
* engine.c: Include <assert.h>.
(gpgme_get_engine_info): Set *INFO within the lock. Move
ENGINE_INFO and ENGINE_INFO_LOCK to ....
(engine_info, engine_info_lock): ... here. New static variables.
(engine_get_version): Add file_name argument to
get_version invocation. Change return type to char pointer.
(gpgme_engine_check_version): Rewritten to free() the return value
of engine_get_version after using it.
(_gpgme_engine_info_release): New function.
(gpgme_get_engine_info): Rewritten.
(_gpgme_engine_info_copy): New function.
(_gpgme_set_engine_info): New function.
(gpgme_set_engine_info): New function.
(_gpgme_engine_new): Change first argument to gpgme_engine_info_t
info, and use that.
* gpgme.h (struct _gpgme_engine_info): Change type of file_name
and version to char * (remove the const). New member home_dir.
(gpgme_set_engine_info, gpgme_ctx_get_engine_info,
gpgme_ctx_set_engine_info): New prototypes.
* context.h (struct gpgme_context): New member engine_info.
* gpgme.c (gpgme_new): Allocate CTX->engine_info.
(gpgme_release): Deallocate CTX->engine_info.
(gpgme_ctx_get_engine_info, gpgme_ctx_set_engine_info): New
functions.
* op-support.c (_gpgme_op_reset): Look for correct engine info and
pass it to _gpgme_engine_new.
* version.c (gpgme_check_version): Adjust to
_gpgme_compare_versions returning an int.
(_gpgme_compare_versions): Return an int value, not a const char
pointer.
* ops.h (_gpgme_compare_versions): Same for prototype.
2004-12-07 18:25:54 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_set_engine_info NEW
|
|
|
|
gpgme_ctx_get_engine_info NEW
|
|
|
|
gpgme_ctx_set_engine_info NEW
|
2005-06-03 00:42:08 +00:00
|
|
|
gpgme_recipient_t NEW
|
|
|
|
gpgme_decrypt_result_t EXTENDED: New field recipients.
|
2005-06-03 19:41:56 +00:00
|
|
|
gpgme_verify_result_t EXTENDED: New fields pubkey_algo, hash_algo.
|
2005-09-30 14:17:47 +00:00
|
|
|
gpgme_decrypt_result_t EXTENDED: New field plaintext_filename.
|
|
|
|
gpgme_verify_result_t EXTENDED: New field plaintext_filename.
|
2005-09-30 13:24:40 +00:00
|
|
|
GPGME_STATUS_PLAINTEXT NEW
|
|
|
|
gpgme_key_t EXTENDED: New field is_qualified.
|
|
|
|
gpgme_subkey_t EXTENDED: New field is_qualified.
|
2005-10-01 21:39:42 +00:00
|
|
|
gpgme_data_get_file_name NEW
|
|
|
|
gpgme_data_set_file_name NEW
|
2005-10-01 02:33:35 +00:00
|
|
|
gpgme_sig_notation_flags_t NEW
|
|
|
|
GPGME_SIG_NOTATION_HUMAN_READABLE NEW
|
|
|
|
GPGME_SIG_NOTATAION_CRITICAL NEW
|
|
|
|
gpgme_sig_notation_clear NEW
|
|
|
|
gpgme_sig_notation_add NEW
|
|
|
|
gpgme_sig_notation_get NEW
|
2005-09-30 13:24:40 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
|
|
Noteworthy changes in version 1.0.3 (2005-06-20)
|
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
* Previousy, GPGME would use a default "include certs" of 1. This
|
|
|
|
has been changed. Now GPGME will use the crypto backend engines
|
|
|
|
default unless you set the value with gpgme_set_include_certs()
|
2018-11-08 05:34:27 +00:00
|
|
|
explicitly. A new macro GPGME_INCLUDE_CERTS_DEFAULT can be used
|
|
|
|
as a value to explicitly request the new default behaviour.
|
2005-09-30 13:24:40 +00:00
|
|
|
|
|
|
|
Because the default changes, this is a slight change of the API
|
|
|
|
semantics. We consider it to be a bug fix.
|
|
|
|
|
|
|
|
* A bug which made GPGME hang has been fixed. If you have
|
|
|
|
experienced hanging before, please try out this version and let me
|
|
|
|
know if you still experience hanging problems.
|
|
|
|
|
|
|
|
* Interface changes relative to the 0.9.0 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_set_include_certs CHANGED DEFAULT
|
|
|
|
GPGME_INCLUDE_CERTS_DEFAULT NEW
|
2005-06-02 22:01:58 +00:00
|
|
|
GPGME_STATUS_SIG_SUBPACKET NEW
|
|
|
|
GPGME_STATUS_NEED_PASSPHRASE_PIN NEW
|
|
|
|
GPGME_STATUS_SC_OP_FAILURE NEW
|
|
|
|
GPGME_STATUS_SC_OP_SUCCESS NEW
|
|
|
|
GPGME_STATUS_CARDCTRL NEW
|
|
|
|
GPGME_STATUS_BACKUP_KEY_CREATED NEW
|
2004-12-07 Marcus Brinkmann <marcus@g10code.de>
* libgpgme.vers (GPGME_1.1): New version.
* engine-backend.h (struct engine_ops): Add argument FILE_NAME to
member get_version(). Add arguments FILE_NAME and HOME_DIR to
member new(). Change return type of get_file_name and get_version
to char *.
* engine-gpgsm.c (gpgsm_get_version): Change return type to char
pointer. Do not cache result.
(gpgsm_new): Add file_name and home_dir argument, and use them
instead of the defaults, if set.
* rungpg.c (struct engine_gpg): New member file_name.
(gpg_get_version): Change return type to char pointer, and do not
cache result.
(gpg_release): Free gpg->file_name.
(gpg_new): Take new arguments file_name and home_dir. Set the
--homedir argument if HOME_DIR is not NULL. Set gpg->file_name.
(start): Use gpg->file_name instead _gpgme_get_gpg_path, if set.
* engine.h (_gpgme_engine_info_copy, _gpgme_engine_info_release):
New prototypes.
(_gpgme_engine_new): Change first argument to gpgme_engine_info_t
info.
* engine.c: Include <assert.h>.
(gpgme_get_engine_info): Set *INFO within the lock. Move
ENGINE_INFO and ENGINE_INFO_LOCK to ....
(engine_info, engine_info_lock): ... here. New static variables.
(engine_get_version): Add file_name argument to
get_version invocation. Change return type to char pointer.
(gpgme_engine_check_version): Rewritten to free() the return value
of engine_get_version after using it.
(_gpgme_engine_info_release): New function.
(gpgme_get_engine_info): Rewritten.
(_gpgme_engine_info_copy): New function.
(_gpgme_set_engine_info): New function.
(gpgme_set_engine_info): New function.
(_gpgme_engine_new): Change first argument to gpgme_engine_info_t
info, and use that.
* gpgme.h (struct _gpgme_engine_info): Change type of file_name
and version to char * (remove the const). New member home_dir.
(gpgme_set_engine_info, gpgme_ctx_get_engine_info,
gpgme_ctx_set_engine_info): New prototypes.
* context.h (struct gpgme_context): New member engine_info.
* gpgme.c (gpgme_new): Allocate CTX->engine_info.
(gpgme_release): Deallocate CTX->engine_info.
(gpgme_ctx_get_engine_info, gpgme_ctx_set_engine_info): New
functions.
* op-support.c (_gpgme_op_reset): Look for correct engine info and
pass it to _gpgme_engine_new.
* version.c (gpgme_check_version): Adjust to
_gpgme_compare_versions returning an int.
(_gpgme_compare_versions): Return an int value, not a const char
pointer.
* ops.h (_gpgme_compare_versions): Same for prototype.
2004-12-07 18:25:54 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
2005-01-12 10:28:42 +00:00
|
|
|
Noteworthy changes in version 1.0.2 (2004-12-28)
|
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
* Changed the license of the library to the GNU Lesser General Public
|
|
|
|
License (LGPL), version 2.1 or later.
|
|
|
|
|
|
|
|
|
2004-10-22 18:11:33 +00:00
|
|
|
Noteworthy changes in version 1.0.1 (2004-10-22)
|
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
* Only bug fixes.
|
|
|
|
|
|
|
|
|
2004-09-30 01:33:49 +00:00
|
|
|
Noteworthy changes in version 1.0.0 (2004-09-30)
|
2004-06-08 18:46:21 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2004-09-30 01:33:49 +00:00
|
|
|
* Version 1.0.0! We are proud to present you with a thoroughly
|
|
|
|
tested and stable version of the GPGME library. A big Thank You!
|
|
|
|
to all the people who made this possible.
|
|
|
|
|
|
|
|
The development will be branched into a stable 1.x.y series and the
|
|
|
|
head.
|
|
|
|
|
|
|
|
* The gpgme.m4 macro supports checking the API version. Just prepend
|
|
|
|
it to the required version string, separated by a colon. For
|
|
|
|
example, this release has the version "1:1.0.0". The last release
|
|
|
|
to which this version is (mostly) ABI compatible is "1:0.4.2",
|
|
|
|
which is the default required version.
|
2004-06-08 18:46:21 +00:00
|
|
|
|
2004-10-22 18:11:33 +00:00
|
|
|
|
2004-06-08 18:46:21 +00:00
|
|
|
Noteworthy changes in version 0.9.0 (2004-06-08)
|
2004-05-21 15:15:21 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
* The type gpgme_key_t has now a new field keylist_mode that contains
|
|
|
|
the keylist mode that was active at the time the key was retrieved.
|
|
|
|
|
2004-05-21 15:51:53 +00:00
|
|
|
* The type gpgme_decrypt_result_t has a new field "wrong_key_usage"
|
|
|
|
that contains a flag indicating that the key should not have been
|
|
|
|
used for encryption.
|
|
|
|
|
2004-05-21 16:39:29 +00:00
|
|
|
* Verifying a signature of a revoked key gives the correct result now
|
|
|
|
(GPG_ERR_CERT_REVOKED error code).
|
|
|
|
|
2004-06-08 17:52:36 +00:00
|
|
|
* Clarified that the error code GPG_ERR_NO_DATA from the decrypt &
|
|
|
|
verify operations still allows you to look at the signature
|
|
|
|
verification result.
|
|
|
|
|
|
|
|
* Clarified that patterns in keylisting operations have an upper
|
|
|
|
limit, and thus are not suited to list many keys at once by their
|
|
|
|
fingerprint. Also improve the error message if the pattern is too
|
|
|
|
long for the CMS protocol to handle.
|
|
|
|
|
2004-05-21 15:15:21 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_key_t EXTENDED: New field keylist_mode.
|
2004-05-21 15:51:53 +00:00
|
|
|
gpgme_decrypt_result_t EXTENDED: New field wrong_key_usage.
|
2004-05-21 15:15:21 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
2004-04-29 21:47:22 +00:00
|
|
|
Noteworthy changes in version 0.4.7 (2004-04-29)
|
2004-04-06 14:42:58 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2004-04-29 11:01:31 +00:00
|
|
|
* Correctly initialize the fields expired, revoked, invalid, and
|
|
|
|
disabled in the gpgme_key_t structures.
|
2004-04-06 14:42:58 +00:00
|
|
|
|
2004-04-29 21:18:40 +00:00
|
|
|
* A bug fix: The flag wrong_key_usage of gpgme_signature_t was
|
2018-11-08 05:34:27 +00:00
|
|
|
accidentally of type int instead unsigned int.
|
2004-04-29 21:18:40 +00:00
|
|
|
|
2004-04-06 14:42:58 +00:00
|
|
|
* Interface changes relative to the 0.4.5 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2004-04-29 21:18:40 +00:00
|
|
|
gpgme_signature_t CHANGED: wrong_key_usage is unsigned int now.
|
2004-04-06 14:42:58 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2004-04-06 14:21:31 +00:00
|
|
|
Noteworthy changes in version 0.4.6 (2004-04-06)
|
2004-03-08 00:57:49 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2004-04-06 14:21:31 +00:00
|
|
|
* Bug fixes
|
2004-03-08 00:57:49 +00:00
|
|
|
|
|
|
|
|
2004-03-07 17:44:28 +00:00
|
|
|
Noteworthy changes in version 0.4.5 (2004-03-07)
|
2004-02-01 13:39:45 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
* GPGME is now compiled with LFS (large file support) by default.
|
|
|
|
This means that _all_ programs using GPGME must be compiled with
|
|
|
|
LFS support enabled by default. You can do this easily with
|
|
|
|
autoconf, by using the AC_SYS_LARGEFILE macro. Or you can do this
|
|
|
|
without autoconf by defining the preprocessor symbol
|
|
|
|
_FILE_OFFSET_BITS to 64 (by passing the -D_FILE_OFFSET_BITS=64 to
|
|
|
|
the C compiler command line, or by defining this preprocessor
|
|
|
|
symbol before including any system header files). For more
|
|
|
|
details, read the section on LFS in the manual.
|
|
|
|
|
|
|
|
Up to now, it was undocumented that GPGME was not using LFS.
|
|
|
|
But the public interfaces use off_t, and file descriptors are
|
|
|
|
exchanged between the application and GPGME. This was an oversight,
|
|
|
|
and bound to cause troubles in the future.
|
|
|
|
|
|
|
|
Writing GPGME as a dual mode library that seamlessly supports LFS
|
|
|
|
while keeping backwards compatibility is possible, but does not
|
|
|
|
solve the problem: Many applications already expect GPGME to have
|
|
|
|
LFS (they are compiled with off_t being a 64bit value). This is true
|
|
|
|
in particular for the popular Gtk+ and Qt programs.
|
|
|
|
|
|
|
|
So, although this is an ABI (but not an API) break, we will not
|
|
|
|
change the library version to reflect that. Because the interfaces
|
|
|
|
affected are probably not used yet in any GPGME 0.4 based
|
|
|
|
application, we don't expect any real failures from this change.
|
|
|
|
In fact, applications already using LFS will have some subtle bugs
|
|
|
|
fixed.
|
|
|
|
|
|
|
|
However, if you encounter an application using GPGME 0.4.x that
|
|
|
|
does _not_ use LFS by default (off_t is a 32bit value), _and_
|
|
|
|
uses at least one of the functions gpgme_data_seek,
|
|
|
|
gpgme_data_new_from_filepart, or a gpgme_data_seek_cb_t with
|
|
|
|
gpgme_data_new_from_cbs, then indeed this library will be ABI
|
|
|
|
incompatible with the program. As said above, we don't believe
|
|
|
|
such a program exists. If we are in error, then you have two
|
|
|
|
options: As a quick hack, you can configure GPGME with the
|
|
|
|
--disable-largefile option. This will revert the change, and GPGME
|
|
|
|
will not use LFS. However, GPGME will be incompatible with
|
|
|
|
programs that expect GPGME to use LFS. All applications are
|
|
|
|
required to use LFS when using GPGME, so this is only good as a
|
|
|
|
temporary local work-around.
|
|
|
|
|
|
|
|
The other option is to change the versioning of the library and
|
|
|
|
recompile all applications. We have reserved a special version of
|
|
|
|
the library for that, so you can do that without expecting a
|
|
|
|
version clash in the future. Furthermore, everyone who does this
|
|
|
|
will agree on the version to use (this is important for
|
|
|
|
distribution makers). Read the comment in configure.ac (before
|
|
|
|
LIBGPGME_LT_AGE) if you want to do this. Please don't do this
|
|
|
|
blindly: As stated above, we think it is unlikely this measure is
|
|
|
|
needed. Still, it is there if necessary. If in doubt, contact us
|
|
|
|
and we will give our advise for your specific situation.
|
|
|
|
|
2004-02-24 23:08:48 +00:00
|
|
|
* New key listing mode GPGME_KEYLIST_MODE_VALIDATE for validation of
|
|
|
|
the listed keys.
|
|
|
|
|
|
|
|
* New interface gpgme_cancel() that can be used to cancel
|
|
|
|
asynchronous operations.
|
2004-02-17 17:26:20 +00:00
|
|
|
|
2004-02-01 13:39:45 +00:00
|
|
|
* Interface changes relative to the 0.4.4 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_data_seek_cb_t CHANGED: off_t is now a largefile type.
|
|
|
|
gpgme_data_seek CHANGED: off_t is now a largefile type.
|
|
|
|
gpgme_data_new_from_filepart CHANGED: off_t is now a largefile type.
|
2004-02-24 23:08:48 +00:00
|
|
|
GPGME_KEYLIST_MODE_VALIDATE NEW
|
|
|
|
gpgme_cancel NEW
|
2004-03-07 17:44:28 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2004-02-01 13:39:45 +00:00
|
|
|
|
2004-01-12 13:28:36 +00:00
|
|
|
Noteworthy changes in version 0.4.4 (2004-01-12)
|
2003-10-06 21:14:23 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2003-12-25 14:38:40 +00:00
|
|
|
* The member "class" in gpgme_key_sig_t and gpgme_new_signature_t has
|
|
|
|
been renamed to "sig_class", to avoid clash with C++ compilers. In
|
|
|
|
the C API, the old name "class" has been preserved for backwards
|
|
|
|
compatibility, but is deprecated.
|
|
|
|
|
|
|
|
* Interface changes relative to the 0.4.3 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_key_sig_t CHANGED: class deprecated, use new sig_class.
|
|
|
|
gpgme_new_signature_t CHANGED: class deprecated, use new sig_class.
|
2004-03-08 00:57:49 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2003-12-25 14:38:40 +00:00
|
|
|
|
2003-10-06 18:30:54 +00:00
|
|
|
Noteworthy changes in version 0.4.3 (2003-10-06)
|
2003-07-31 16:01:13 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2003-08-20 20:20:46 +00:00
|
|
|
* libgpgme should not be used for threaded programs anymore. This
|
|
|
|
never worked reliably in all cases, because you had to
|
|
|
|
be careful about the linking order and libtool wouldn't do that for
|
|
|
|
you automatically. Instead, now you have to link against
|
|
|
|
libgpgme-pthread for applications using pthread and libgpgme-pth for
|
|
|
|
applications using GNU Pth.
|
|
|
|
|
|
|
|
The old code for automagically detecting the thread library is
|
|
|
|
still part of libgpgme, but it is DEPRECATED.
|
|
|
|
|
2003-09-03 01:15:56 +00:00
|
|
|
* There are new automake macros AM_PATH_GPGME_PTH and
|
|
|
|
AM_PATH_GPGME_PTHREAD, which support checking for thread-enabled
|
|
|
|
versions of GPGME. They define GPGME_PTH_CFLAGS, GPGME_PTH_LIBS,
|
|
|
|
GPGME_PTHREAD_CFLAGS and GPGME_PTHREAD_LIBS respectively. These
|
|
|
|
variables of course also include the configuration for the thread
|
|
|
|
package itself. Alternatively, use libtool.
|
|
|
|
|
2003-09-13 21:45:13 +00:00
|
|
|
* gpgme_strerror_r as a thread safe variant of gpgme_strerror was
|
|
|
|
added.
|
|
|
|
|
2003-09-03 01:18:25 +00:00
|
|
|
* gpgme-config doesn't support setting the prefix or exec prefix
|
|
|
|
anymore. I don't think it ever worked correctly, and it seems to
|
|
|
|
be pointless.
|
|
|
|
|
2003-07-31 16:01:13 +00:00
|
|
|
* gpgme_get_key fails with GPG_ERR_AMBIGUOUS_NAME if the key ID
|
|
|
|
provided was not unique, instead returning the first matching key.
|
|
|
|
|
2003-07-31 16:59:36 +00:00
|
|
|
* gpgme_key_t and gpgme_subkey_t have a new field, can_authenticate,
|
|
|
|
that indicates if the key can be used for authentication.
|
|
|
|
|
2003-08-04 21:13:49 +00:00
|
|
|
* gpgme_signature_t's status field is now correctly set to an error
|
|
|
|
with error code GPG_ERR_NO_PUBKEY if public key is not found.
|
|
|
|
|
2003-08-14 17:32:18 +00:00
|
|
|
* gpgme_new_signature_t's class field is now an unsigned int, rather
|
|
|
|
than an unsigned long (the old class field is preserved for
|
|
|
|
backwards compatibility).
|
|
|
|
|
2003-09-14 00:02:41 +00:00
|
|
|
* A new function gpgme_set_locale() is provided to allow configuring
|
|
|
|
the locale for the crypto backend. This is necessary for text
|
|
|
|
terminals so that programs like the pinentry can be started with
|
|
|
|
the right locale settings for the terminal the application is running
|
|
|
|
on, in case the terminal has different settings than the system
|
|
|
|
default (for example, if it is a remote terminal). You are highly
|
|
|
|
recommended to call the following functions directly after
|
|
|
|
gpgme_check_version:
|
|
|
|
|
|
|
|
#include <locale.h>
|
|
|
|
|
|
|
|
setlocale (LC_ALL, "");
|
|
|
|
gpgme_set_locale (NULL, LC_CTYPE, setlocale (LC_CTYPE, NULL));
|
|
|
|
gpgme_set_locale (NULL, LC_MESSAGES, setlocale (LC_MESSAGES, NULL));
|
|
|
|
|
|
|
|
GPGME can not do this for you, as setlocale is not thread safe, and
|
|
|
|
there is no alternative.
|
|
|
|
|
2003-10-06 16:32:21 +00:00
|
|
|
* The signal action for SIGPIPE is now set to SIG_IGN by
|
|
|
|
gpgme_check_version, instead the first time a crypto engine is
|
|
|
|
started (which is not well defined).
|
|
|
|
|
2003-09-30 17:19:13 +00:00
|
|
|
* In the output of gpgme_hash_algo_name, change RMD160 to RIPEMD160,
|
|
|
|
TIGER to TIGER192, CRC32-RFC1510 to CRC32RFC1510, and CRC24-RFC2440
|
|
|
|
to CRC24RFC2440. For now, these strings can be used as the MIC
|
|
|
|
parameter for PGP/MIME (if appropriately modified).
|
|
|
|
|
2003-09-13 21:45:13 +00:00
|
|
|
* Interface changes relative to the 0.4.2 release:
|
2003-07-31 16:01:13 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2003-09-13 21:45:13 +00:00
|
|
|
gpgme_strerror_t NEW
|
2003-07-31 16:01:13 +00:00
|
|
|
gpgme_get_key CHANGED: Fails correctly if key ID not unique.
|
2003-07-31 16:59:36 +00:00
|
|
|
gpgme_key_t EXTENDED: New field can_authenticate.
|
|
|
|
gpgme_subkey_t EXTENDED: New field can_authenticate.
|
2003-08-14 17:32:18 +00:00
|
|
|
gpgme_new_signature_t CHANGED: New type for class field.
|
2003-09-14 00:02:41 +00:00
|
|
|
gpgme_set_locale NEW
|
2003-09-30 17:19:13 +00:00
|
|
|
gpgme_hash_algo_name CHANGED: Slight adjustment of algo names.
|
2003-07-31 16:01:13 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2003-07-30 12:56:28 +00:00
|
|
|
Noteworthy changes in version 0.4.2 (2003-07-30)
|
2003-07-22 11:48:43 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
* Allow gpg-error to be in non-standard place when linking the test suite.
|
|
|
|
|
|
|
|
* Configure will fail now if gpg-error can not be found.
|
|
|
|
|
|
|
|
* Fixed initialized memory backed data objects for writing, which
|
|
|
|
caused the test program to crash (but only on Mac OS, surprisingly).
|
|
|
|
|
|
|
|
* Eliminate use of C99 constructs.
|
|
|
|
|
|
|
|
* Small improvements to the manual.
|
|
|
|
|
|
|
|
|
2003-06-06 03:04:09 +00:00
|
|
|
Noteworthy changes in version 0.4.1 (2003-06-06)
|
2002-12-23 21:28:35 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2003-05-27 02:16:54 +00:00
|
|
|
This is the release that 0.4.0 should have been. There are many
|
|
|
|
interface changes, please see below for the details. The changes are
|
|
|
|
sometimes the result of new functionality, but more often express a
|
|
|
|
paradigm shift. Others are an overdue cleanup to get GPGME in line
|
|
|
|
with the GNU coding standards and to make the interface more
|
|
|
|
self-consistent. Here is an overview on the changes:
|
|
|
|
|
|
|
|
All types have been renamed to conform to the GNU coding standards,
|
2003-05-28 02:11:25 +00:00
|
|
|
most of the time by keeping the whole name in lowercase and inserting
|
2003-05-27 02:16:54 +00:00
|
|
|
underscores between words.
|
|
|
|
|
|
|
|
All operations consistently only accept input parameters in their
|
|
|
|
invocation function, and return only an error code directly. Further
|
|
|
|
information about the result of the operation has to be retrieved
|
|
|
|
afterwards by calling one of the result functions. This unifies the
|
|
|
|
synchronous and the asynchronous interface.
|
|
|
|
|
2003-06-05 23:20:29 +00:00
|
|
|
The error values have been completely replaced by a more
|
|
|
|
sophisticated model that allows GPGME to transparently and accurately
|
2018-11-08 05:34:27 +00:00
|
|
|
report all errors from the other GnuPG components, regardless of
|
2003-06-05 23:20:29 +00:00
|
|
|
process boundaries. This is achieved by using the library
|
|
|
|
libgpg-errors, which is shared by all GnuPG components. This library
|
|
|
|
is now required for GPGME.
|
|
|
|
|
2003-05-27 02:16:54 +00:00
|
|
|
The results of all operations are now provided by pointers to C
|
|
|
|
structs rather than by XML structs or in other ways.
|
|
|
|
|
|
|
|
Objects which used to be opaque (for example a key) are now pointers
|
doc/
2003-05-28 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Exporting Keys): Change argument type from
gpgme_recipient_t to gpgme_user_id_t.
(Encrypting a Plaintext): Likewise.
(Selecting Recipients): Rewritten.
gpgme/
2003-05-28 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (libgpgme_la_SOURCES): Remove recipient.c, add
user-id.c.
* gpgme.h (gpgme_recipients_t): Removed.
(gpgme_recipients_new, gpgme_recipients_release,
gpgme_recipients_add_name,
gpgme_recipients_add_name_with_validity, gpgme_recipients_count,
gpgme_recipients_enum_open, gpgme_recipients_enum_read,
gpgme_recipients_enum_close): Removed.
(gpgme_op_encrypt, gpgme_op_encrypt_start, gpgme_op_encrypt_sign,
gpgme_op_encrypt_sign_start, gpgme_op_export_start,
gpgme_op_export): Change second argument to gpgme_user_id_t.
(gpgme_user_ids_release): New prototype.
(gpgme_user_ids_append): Likewise.
* ops.h (_gpgme_recipients_all_valid): Remove.
(_gpgme_user_ids_all_valid): Add.
* context.h (struct gpgme_recipients): Removed.
* user-id.c: New file.
* recipient.c: Removed file.
* rungpg.c (append_args_from_recipients): Change last arg to
gpgme_user_id_t. Reimplement.
(gpg_encrypt): Change second arg to gpgme_user_id_t.
(gpg_encrypt_sign): Likewise.
(gpg_export): Likewise. Rewrite user ID list code.
* engine.c (_gpgme_engine_op_encrypt): Change second arg to
gpgme_user_id_t.
(_gpgme_engine_op_encrypt_sign): Likewise.
(_gpgme_engine_op_export): Likewise.
* engine.h (_gpgme_engine_op_encrypt, _gpgme_engine_op_encrypt_sign,
_gpgme_engine_op_export): Likewise.
* engine-gpgsm.c (set_recipients): Likewise. Rewrite loop code.
(gpgsm_encrypt): Likewise.
(gpgsm_export): Likewise.
* engine-backend.h (struct engine_ops): Likewise for members
ENCRYPT, ENCRYPT_SIGN and EXPORT.
* export.c (export_start, gpgme_op_export_start, gpgme_op_export):
Likewise.
* encrypt.c (encrypt_start): Likewise. Don't check for count of
recipients.
(gpgme_op_encrypt_start): Likewise.
(gpgme_op_encrypt): Likewise.
* encrypt-sign.c (encrypt_sign_start): Likewise.
(gpgme_op_encrypt_sign): Likewise.
(gpgme_op_encrypt_sign_start): Likewise.
tests/
2003-05-28 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-eventloop.c (main): Rewrite recipient management.
* gpg/t-encrypt-sign.c (main): Likewise.
* gpg/t-encrypt.c (main): Likewise.
* gpg/t-export.c (main): Likewise.
2003-05-28 01:15:38 +00:00
|
|
|
to accessible structs, so no accessor functions are necessary.
|
2003-05-27 02:16:54 +00:00
|
|
|
|
|
|
|
Backward compatibility is provided where it was possible without too
|
|
|
|
much effort and did not collide with the overall sanitization effort.
|
2003-06-05 23:20:29 +00:00
|
|
|
However, this is only for ease of transition. NO DEPRECATED FUNCTION
|
|
|
|
OR DATA TYPE IS CONSIDERED A PART OF THE API OR ABI AND WILL BE
|
|
|
|
DROPPED IN THE FUTURE WITHOUT CHANGING THE SONAME OF THE LIBRARY.
|
|
|
|
Recommendations how to replace deprecated or removed functionality
|
|
|
|
can be found within the description of each change.
|
2003-05-27 02:16:54 +00:00
|
|
|
|
|
|
|
What follows are all changes to the interface and behaviour of GPGME
|
|
|
|
in detail.
|
|
|
|
|
2003-05-18 20:45:24 +00:00
|
|
|
* If gpgme.h is included in sources compiled by GCC 3.1 or later,
|
|
|
|
deprecated attributes will warn about use of obsolete functions and
|
2003-06-05 23:20:29 +00:00
|
|
|
type definitions. You can suppress these warnings by passing
|
|
|
|
-Wno-deprecated-declarations to the gcc command.
|
2003-05-18 20:45:24 +00:00
|
|
|
|
|
|
|
* The following types have been renamed. The old types are still
|
|
|
|
available as aliases, but they are deprecated now:
|
|
|
|
Old name: New name:
|
|
|
|
GpgmeCtx gpgme_ctx_t
|
|
|
|
GpgmeData gpgme_data_t
|
|
|
|
GpgmeError gpgme_error_t
|
|
|
|
GpgmeDataEncoding gpgme_data_encoding_t
|
|
|
|
GpgmeSigStat gpgme_sig_stat_t
|
|
|
|
GpgmeSigMode gpgme_sig_mode_t
|
|
|
|
GpgmeAttr gpgme_attr_t
|
|
|
|
GpgmeValidity gpgme_validity_t
|
|
|
|
GpgmeProtocol gpgme_protocol_t
|
|
|
|
GpgmeKey gpgme_key_t
|
|
|
|
GpgmePassphraseCb gpgme_passphrase_cb_t
|
|
|
|
GpgmeProgressCb gpgme_progress_cb_t
|
|
|
|
GpgmeIOCb gpgme_io_cb_t
|
|
|
|
GpgmeRegisterIOCb gpgme_register_io_cb_t
|
|
|
|
GpgmeRemoveIOCb gpgme_remove_io_cb_t
|
|
|
|
GpgmeEventIO gpgme_event_io_t
|
|
|
|
GpgmeEventIOCb gpgme_event_io_cb_t
|
|
|
|
GpgmeIOCbs gpgme_io_cbs
|
|
|
|
GpgmeDataReadCb gpgme_data_read_cb_t
|
|
|
|
GpgmeDataWriteCb gpgme_data_write_cb_t
|
|
|
|
GpgmeDataSeekCb gpgme_data_seek_cb_t
|
|
|
|
GpgmeDataReleaseCb gpgme_data_release_cb_t
|
|
|
|
GpgmeDataCbs gpgme_data_cbs_t
|
|
|
|
GpgmeTrustItem gpgme_trust_item_t
|
|
|
|
GpgmeStatusCode gpgme_status_code_t
|
|
|
|
|
2003-06-05 23:20:29 +00:00
|
|
|
* gpgme_error_t is now identical to gpg_error_t, the error type
|
|
|
|
provided by libgpg-error. More about using libgpg-error with GPGME
|
|
|
|
can be found in the manual. All error symbols have been removed!
|
|
|
|
|
|
|
|
* All functions and types in libgpg-error have been wrapped in GPGME.
|
|
|
|
The new types are gpgme_err_code_t and gpgme_err_source_t. The new
|
|
|
|
functions are gpgme_err_code, gpgme_err_source, gpgme_error,
|
|
|
|
gpgme_err_make, gpgme_error_from_errno, gpgme_err_make_from_errno,
|
|
|
|
gpgme_err_code_from_errno, gpgme_err_code_to_errno,
|
|
|
|
gpgme_strsource.
|
|
|
|
|
2002-12-23 22:34:25 +00:00
|
|
|
* GPGME_ATTR_IS_SECRET is not anymore representable as a string.
|
|
|
|
|
2003-05-26 21:50:45 +00:00
|
|
|
* GnuPG 1.2.2 is required. The progress callback is now also invoked
|
|
|
|
for encrypt, sign, encrypt-sign, decrypt, verify, and
|
|
|
|
decrypt-verify operations. For verify operations on detached
|
|
|
|
signatures, the progress callback is invoked for both the detached
|
|
|
|
signature and the plaintext message, though.
|
|
|
|
|
2003-05-27 02:16:54 +00:00
|
|
|
* gpgme_passphrase_cb_t has been changed to not provide a complete
|
2003-05-27 01:31:06 +00:00
|
|
|
description, but the UID hint, passphrase info and a flag
|
|
|
|
indicating if this is a repeated attempt individually, so the user
|
2003-05-27 02:16:54 +00:00
|
|
|
can compose his own description from this information.
|
|
|
|
|
|
|
|
The passphrase is not returned as a C string, but must be written
|
|
|
|
to a file descriptor directly. This allows for secure passphrase
|
|
|
|
entries.
|
|
|
|
|
|
|
|
The return type has been changed to gpgme_error_t value. This
|
|
|
|
allowed to remove the gpgme_cancel function; just return
|
2003-06-05 23:20:29 +00:00
|
|
|
the error code GPG_ERR_CANCELED in the passphrase callback directly.
|
2003-05-27 01:31:06 +00:00
|
|
|
|
|
|
|
* gpgme_edit_cb_t has been changed to take a file descriptor argument.
|
|
|
|
The user is expected to write the response to the file descriptor,
|
|
|
|
followed by a newline.
|
|
|
|
|
2003-05-29 03:21:02 +00:00
|
|
|
* The recipients interface has been removed. Instead, you use
|
|
|
|
NULL-terminated lists of keys for specifying the recipients of an
|
|
|
|
encryption operation. Use the new encryption flag
|
|
|
|
GPGME_ENCRYPT_ALWAYS_TRUST if you want to override the validity of
|
|
|
|
the keys (but note that in general this is not a good idea).
|
doc/
2003-05-28 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Exporting Keys): Change argument type from
gpgme_recipient_t to gpgme_user_id_t.
(Encrypting a Plaintext): Likewise.
(Selecting Recipients): Rewritten.
gpgme/
2003-05-28 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (libgpgme_la_SOURCES): Remove recipient.c, add
user-id.c.
* gpgme.h (gpgme_recipients_t): Removed.
(gpgme_recipients_new, gpgme_recipients_release,
gpgme_recipients_add_name,
gpgme_recipients_add_name_with_validity, gpgme_recipients_count,
gpgme_recipients_enum_open, gpgme_recipients_enum_read,
gpgme_recipients_enum_close): Removed.
(gpgme_op_encrypt, gpgme_op_encrypt_start, gpgme_op_encrypt_sign,
gpgme_op_encrypt_sign_start, gpgme_op_export_start,
gpgme_op_export): Change second argument to gpgme_user_id_t.
(gpgme_user_ids_release): New prototype.
(gpgme_user_ids_append): Likewise.
* ops.h (_gpgme_recipients_all_valid): Remove.
(_gpgme_user_ids_all_valid): Add.
* context.h (struct gpgme_recipients): Removed.
* user-id.c: New file.
* recipient.c: Removed file.
* rungpg.c (append_args_from_recipients): Change last arg to
gpgme_user_id_t. Reimplement.
(gpg_encrypt): Change second arg to gpgme_user_id_t.
(gpg_encrypt_sign): Likewise.
(gpg_export): Likewise. Rewrite user ID list code.
* engine.c (_gpgme_engine_op_encrypt): Change second arg to
gpgme_user_id_t.
(_gpgme_engine_op_encrypt_sign): Likewise.
(_gpgme_engine_op_export): Likewise.
* engine.h (_gpgme_engine_op_encrypt, _gpgme_engine_op_encrypt_sign,
_gpgme_engine_op_export): Likewise.
* engine-gpgsm.c (set_recipients): Likewise. Rewrite loop code.
(gpgsm_encrypt): Likewise.
(gpgsm_export): Likewise.
* engine-backend.h (struct engine_ops): Likewise for members
ENCRYPT, ENCRYPT_SIGN and EXPORT.
* export.c (export_start, gpgme_op_export_start, gpgme_op_export):
Likewise.
* encrypt.c (encrypt_start): Likewise. Don't check for count of
recipients.
(gpgme_op_encrypt_start): Likewise.
(gpgme_op_encrypt): Likewise.
* encrypt-sign.c (encrypt_sign_start): Likewise.
(gpgme_op_encrypt_sign): Likewise.
(gpgme_op_encrypt_sign_start): Likewise.
tests/
2003-05-28 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-eventloop.c (main): Rewrite recipient management.
* gpg/t-encrypt-sign.c (main): Likewise.
* gpg/t-encrypt.c (main): Likewise.
* gpg/t-export.c (main): Likewise.
2003-05-28 01:15:38 +00:00
|
|
|
|
2003-05-29 03:21:02 +00:00
|
|
|
This change has been made to the prototypes of gpgme_op_encrypt,
|
|
|
|
gpgme_op_encrypt_start, gpgme_op_encrypt_sign and
|
|
|
|
gpgme_op_encrypt_sign_start.
|
doc/
2003-05-28 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Exporting Keys): Change argument type from
gpgme_recipient_t to gpgme_user_id_t.
(Encrypting a Plaintext): Likewise.
(Selecting Recipients): Rewritten.
gpgme/
2003-05-28 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (libgpgme_la_SOURCES): Remove recipient.c, add
user-id.c.
* gpgme.h (gpgme_recipients_t): Removed.
(gpgme_recipients_new, gpgme_recipients_release,
gpgme_recipients_add_name,
gpgme_recipients_add_name_with_validity, gpgme_recipients_count,
gpgme_recipients_enum_open, gpgme_recipients_enum_read,
gpgme_recipients_enum_close): Removed.
(gpgme_op_encrypt, gpgme_op_encrypt_start, gpgme_op_encrypt_sign,
gpgme_op_encrypt_sign_start, gpgme_op_export_start,
gpgme_op_export): Change second argument to gpgme_user_id_t.
(gpgme_user_ids_release): New prototype.
(gpgme_user_ids_append): Likewise.
* ops.h (_gpgme_recipients_all_valid): Remove.
(_gpgme_user_ids_all_valid): Add.
* context.h (struct gpgme_recipients): Removed.
* user-id.c: New file.
* recipient.c: Removed file.
* rungpg.c (append_args_from_recipients): Change last arg to
gpgme_user_id_t. Reimplement.
(gpg_encrypt): Change second arg to gpgme_user_id_t.
(gpg_encrypt_sign): Likewise.
(gpg_export): Likewise. Rewrite user ID list code.
* engine.c (_gpgme_engine_op_encrypt): Change second arg to
gpgme_user_id_t.
(_gpgme_engine_op_encrypt_sign): Likewise.
(_gpgme_engine_op_export): Likewise.
* engine.h (_gpgme_engine_op_encrypt, _gpgme_engine_op_encrypt_sign,
_gpgme_engine_op_export): Likewise.
* engine-gpgsm.c (set_recipients): Likewise. Rewrite loop code.
(gpgsm_encrypt): Likewise.
(gpgsm_export): Likewise.
* engine-backend.h (struct engine_ops): Likewise for members
ENCRYPT, ENCRYPT_SIGN and EXPORT.
* export.c (export_start, gpgme_op_export_start, gpgme_op_export):
Likewise.
* encrypt.c (encrypt_start): Likewise. Don't check for count of
recipients.
(gpgme_op_encrypt_start): Likewise.
(gpgme_op_encrypt): Likewise.
* encrypt-sign.c (encrypt_sign_start): Likewise.
(gpgme_op_encrypt_sign): Likewise.
(gpgme_op_encrypt_sign_start): Likewise.
tests/
2003-05-28 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-eventloop.c (main): Rewrite recipient management.
* gpg/t-encrypt-sign.c (main): Likewise.
* gpg/t-encrypt.c (main): Likewise.
* gpg/t-export.c (main): Likewise.
2003-05-28 01:15:38 +00:00
|
|
|
|
2003-05-29 03:21:02 +00:00
|
|
|
The export interface has been changed to use pattern strings like
|
|
|
|
the keylist interface. Thus, new functions gpgme_op_export_ext and
|
|
|
|
gpgme_op_export_ext_start have been added as well. Now the
|
|
|
|
prototypes of gpgme_op_export_start and gpgme_op_export finally
|
|
|
|
make sense.
|
doc/
2003-05-28 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Exporting Keys): Change argument type from
gpgme_recipient_t to gpgme_user_id_t.
(Encrypting a Plaintext): Likewise.
(Selecting Recipients): Rewritten.
gpgme/
2003-05-28 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (libgpgme_la_SOURCES): Remove recipient.c, add
user-id.c.
* gpgme.h (gpgme_recipients_t): Removed.
(gpgme_recipients_new, gpgme_recipients_release,
gpgme_recipients_add_name,
gpgme_recipients_add_name_with_validity, gpgme_recipients_count,
gpgme_recipients_enum_open, gpgme_recipients_enum_read,
gpgme_recipients_enum_close): Removed.
(gpgme_op_encrypt, gpgme_op_encrypt_start, gpgme_op_encrypt_sign,
gpgme_op_encrypt_sign_start, gpgme_op_export_start,
gpgme_op_export): Change second argument to gpgme_user_id_t.
(gpgme_user_ids_release): New prototype.
(gpgme_user_ids_append): Likewise.
* ops.h (_gpgme_recipients_all_valid): Remove.
(_gpgme_user_ids_all_valid): Add.
* context.h (struct gpgme_recipients): Removed.
* user-id.c: New file.
* recipient.c: Removed file.
* rungpg.c (append_args_from_recipients): Change last arg to
gpgme_user_id_t. Reimplement.
(gpg_encrypt): Change second arg to gpgme_user_id_t.
(gpg_encrypt_sign): Likewise.
(gpg_export): Likewise. Rewrite user ID list code.
* engine.c (_gpgme_engine_op_encrypt): Change second arg to
gpgme_user_id_t.
(_gpgme_engine_op_encrypt_sign): Likewise.
(_gpgme_engine_op_export): Likewise.
* engine.h (_gpgme_engine_op_encrypt, _gpgme_engine_op_encrypt_sign,
_gpgme_engine_op_export): Likewise.
* engine-gpgsm.c (set_recipients): Likewise. Rewrite loop code.
(gpgsm_encrypt): Likewise.
(gpgsm_export): Likewise.
* engine-backend.h (struct engine_ops): Likewise for members
ENCRYPT, ENCRYPT_SIGN and EXPORT.
* export.c (export_start, gpgme_op_export_start, gpgme_op_export):
Likewise.
* encrypt.c (encrypt_start): Likewise. Don't check for count of
recipients.
(gpgme_op_encrypt_start): Likewise.
(gpgme_op_encrypt): Likewise.
* encrypt-sign.c (encrypt_sign_start): Likewise.
(gpgme_op_encrypt_sign): Likewise.
(gpgme_op_encrypt_sign_start): Likewise.
tests/
2003-05-28 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-eventloop.c (main): Rewrite recipient management.
* gpg/t-encrypt-sign.c (main): Likewise.
* gpg/t-encrypt.c (main): Likewise.
* gpg/t-export.c (main): Likewise.
2003-05-28 01:15:38 +00:00
|
|
|
|
2002-12-24 13:08:56 +00:00
|
|
|
* gpgme_op_verify and gpgme_op_decrypt_verify don't return a status
|
2003-04-30 03:02:50 +00:00
|
|
|
summary anymore. Use gpgme_get_sig_status to retrieve the individual
|
|
|
|
stati.
|
2002-12-24 13:08:56 +00:00
|
|
|
|
2003-05-18 20:45:24 +00:00
|
|
|
* gpgme_io_cb_t changed from a void function to a function returning
|
|
|
|
a gpgme_error_t value. However, it will always return 0, so you
|
|
|
|
can safely ignore the return value.
|
doc/
2003-01-29 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (I/O Callback Interface): Document new even
GPGME_EVENT_START.
(Waiting For Completion): Document new possible return values.
(I/O Callback Interface): Document return type of GpgmeIOCb.
gpgme/
2003-01-29 Marcus Brinkmann <marcus@g10code.de>
* context.h (gpgme_context_s): Remove member ERROR.
* types.h (GpgmeStatusHandler): Change return type to GpgmeError.
(GpgmeCommandHandler): Change return type to GpgmeError and add
new argument RESULT.
* gpgme.h (GpgmeIOCb): Change return type to GpgmeError.
(GpgmeEventIO): New event GPGME_EVENT_START.
(GpgmeIdleFunc): Remove type.
(gpgme_register_idle): Remove prototype.
* data.c: Include <assert.h>.
(_gpgme_data_inbound_handler): Change return type to GpgmeError.
Return any error instead ignoring it, don't close file descriptor
on error.
(_gpgme_data_outbound_handler): Likewise.
* decrypt.c: Do not include <stdio.h>, <string.h> and <assert.h>.
(_gpgme_decrypt_status_handler): Change return type to GpgmeError.
Return error instead setting ctx->error. Return success at end of
function.
(gpgme_op_decrypt): Don't work around the old kludge anymore.
* decrypt-verify.c (decrypt_verify_status_handler): Change return
type to GpgmeError. Return possible errors.
* delete.c: Do not include <stdio.h>, <string.h>, <time.h> and
<assert.h>.
(delete_status_handler): Change return type to GpgmeError. Return
error instead setting ctx->error. Return success at end of
function.
* edit.c: Do not include <stdio.h> and <string.h>.
(_gpgme_edit_status_handler): Change type to GpgmeError,
make static and rename to ...
(edit_status_handler): ... this. Return error directly.
(command_handler): Change return type to GpgmeError, add result
argument. Return error directly.
* encrypt.c (status_handler_finish): Remove function.
(_gpgme_encrypt_status_handler): Change return type to GpgmeError.
Return error directly.
(_gpgme_encrypt_sym_status_handler): Likewise.
* encrypt-sign.c (encrypt_sign_status_handler): Likewise.
* engine-gpgsm.c (close_notify_handler): Do not signal done event
anymore.
(status_handler): Change return type to GpgmeError. Diddle things
around a bit to return errors directly.
(start): Send start event.
* export.c: Do not include <stdio.h>, <string.h> and <assert.h>.
(export_status_handler): Change return type to GpgmeError. Don't
check ctx->error.
* genkey.c: Do not include <stdio.h> and <assert.h>.
(genkey_status_handler): Change return type to GpgmeError. Don't
check ctx->error. Return errors directly.
* gpgme.c (_gpgme_release_result): Do not initialize ctx->error.
(_gpgme_op_event_cb): Function removed.
(_gpgme_op_event_cb_user): Likewise.
* import.c: Do not include <stdio.h>, <string.h> and <assert.h>.
(import_status_handler): Change return type to GpgmeError. Don't
check ctx->error.
* keylist.c (keylist_colon_handler, keylist_status_handler, finish_key):
Change return type to GpgmeError, return error directly.
* Makefile (libgpgme_la_SOURCES): Add wait-global.c,
wait-private.c and wait-user.c
* ops.h (test_and_allocate_result): Return error instead setting
ctx->error.
(_gpgme_data_inbound_handler, _gpgme_data_outbound_handler,
_gpgme_verify_status_handler, _gpgme_decrypt_status_handler,
_gpgme_sign_status_handler, _gpgme_encrypt_staus_handler,
_gpgme_passphrase_status_handler, _gpgme_progress_status_handler):
Change return type to GpgmeError.
(_gpgme_passphease_command_handler): Change return type to
GpgmeError and add new argument RESULT.
* op-support.c: Use new callback functions, and change private
data to ctx everywhere.
* passphrase.c (_gpgme_passphrase_status_handler): Change return
type to GpgmeError, return error directly.
(_gpgme_passphrase_command_handler): Change return type to
GpgmeError, add result argument. Return results accordingly.
* progress.c (_gpgme_progress_status_handler): Change return type
to GpgmeError, return errors directly.
* rungpg.c (status_handler): Change return type to GpgmeError.
Return error directly.
(close_notify_handler): Don't send done event.
(colon_line_handler): Change return type to GpgmeError, return
errors directly.
* rungpg.c (start): Send start event.
* sign.c (_gpgme_sign_status_handler): Change return type to
GpgmeError, return errors directly.
* trustlist.c (trustlist_status_handler): Change return type to
GpgmeError. Return 0.
(trustlist_colon_handler): Change return type GpgmeError. Return
errors directly.
* verify.c (add_notation): Change return type to GpgmeError,
return errors directly.
(_gpgme_verify_status_handler): Likewise.
* wait.h (struct fd_table): Remove lock member.
(struct wait_item_s): Moved here from wait.c.
(struct tag): New structure.
(_gpgme_wait_event_cb): Remove prototype.
(_gpgme_wait_private_event_cb, _gpgme_wait_global_event_cb,
_gpgme_wait_user_add_io_cb, _gpgme_wait_user_remove_io_cb,
_gpgme_wait_user_event_io_cb): New prototypes.
* wait.c: Don't include <stdio.h>.
(ftd_global, ctx_done_list, ctx_done_list_size,
ctx_done_list_length, ctx_done_list_lock, idle_function): Remove
global variable.
(gpgme_register_idle, do_select, _gpgme_wait_event_cb): Remove
function.
(gpgme_wait): Move to file wait-global.c.
(_gpgme_add_io_cb): Take ctx as private argument, initialize ctx
member in wait item and tag.
(_gpgme_remove_io_cb): Take ctx from tag. Don't use FDT lock.
(_gpgme_wait_one, _gpgme_wait_on_condition): Move to
wait-private.c.
(gpgme_fd_table_init): Don't initialize FDT->lock.
(gpgme_fd_table_deinit): Don't destroy FDT->lock.
(_gpgme_fd_table_put): Make static and rename to ...
(fd_table_put): ... this function. Don't use FDT->lock.
(struct wait_item_s): Move to wait.h.
* wait-global.c: New file.
* wait-private.c: New file.
* wait-user.c: New file.
2003-01-29 15:20:58 +00:00
|
|
|
|
|
|
|
* A new I/O callback event GPGME_EVENT_START has been added. The new
|
|
|
|
requirement is that you must wait until this event until you are
|
|
|
|
allowed to call the I/O callback handlers previously registered for
|
|
|
|
this context operation. Calling I/O callback functions for this
|
|
|
|
context operation before the start event happened is unsafe because
|
|
|
|
it can lead to race conditions in a multi-threaded environment.
|
|
|
|
|
|
|
|
* The idle function feature has been removed. It was not precisely
|
|
|
|
defined in a multi-threaded environment and is obsoleted by the
|
|
|
|
user I/O callback functions. If you still need a simple way to
|
|
|
|
call something while waiting on one or multiple asynchronous
|
|
|
|
operations to complete, don't set the HANG flag in gpgme_wait (note
|
|
|
|
that this will return to your program more often than the idle
|
|
|
|
function did).
|
|
|
|
|
|
|
|
* gpgme_wait can return NULL even if hang is true, if an error
|
|
|
|
occurs. In that case *status contains the error code.
|
|
|
|
|
2003-01-30 11:58:42 +00:00
|
|
|
* gpgme_get_engine_info was radically changed. Instead an XML
|
2003-05-18 20:45:24 +00:00
|
|
|
string, an info structure of the new type gpgme_engine_info_t is
|
2003-01-30 11:58:42 +00:00
|
|
|
returned. This makes it easier and more robust to evaluate the
|
|
|
|
information in an application.
|
|
|
|
|
|
|
|
* The new function gpgme_get_protocol_name can be used to convert a
|
2003-05-18 20:45:24 +00:00
|
|
|
gpgme_protocol_t value into a string.
|
2003-01-30 11:58:42 +00:00
|
|
|
|
2003-06-05 23:20:29 +00:00
|
|
|
* The status of a context operation is not checked anymore. Starting
|
|
|
|
a new operation will silently cancel the previous one. Calling a
|
|
|
|
function that requires you to have started an operation before without
|
|
|
|
doing so is undefined.
|
2003-04-24 14:33:13 +00:00
|
|
|
|
2003-04-24 17:16:28 +00:00
|
|
|
* The FPR argument to gpgme_op_genkey was removed. Instead, use the
|
2003-05-18 20:45:24 +00:00
|
|
|
gpgme_op_genkey_result function to retrieve a gpgme_genkey_result_t
|
2003-04-24 17:16:28 +00:00
|
|
|
pointer to a structure which contains the fingerprint. This also
|
2003-05-04 14:58:38 +00:00
|
|
|
works with gpgme_op_genkey_start. The structure also provides
|
|
|
|
other information about the generated keys.
|
2003-04-24 17:16:28 +00:00
|
|
|
|
2003-04-24 17:28:05 +00:00
|
|
|
So, instead:
|
|
|
|
|
|
|
|
char *fpr;
|
2012-05-02 08:30:09 +00:00
|
|
|
err = gpgme_op_genkey (ctx, NULL, NULL, &fpr);
|
2003-04-24 17:28:05 +00:00
|
|
|
if (!err && fpr)
|
|
|
|
printf ("%s\n", fpr);
|
|
|
|
|
|
|
|
you should now do:
|
|
|
|
|
2003-05-18 20:45:24 +00:00
|
|
|
gpgme_genkey_result_t result;
|
2003-04-24 17:28:05 +00:00
|
|
|
err = gpgme_op_genkey (ctx, NULL, NULL);
|
|
|
|
if (!err)
|
|
|
|
{
|
|
|
|
result = gpgme_op_genkey_result (ctx);
|
|
|
|
if (result->fpr)
|
|
|
|
printf ("%s\n", result->fpr);
|
|
|
|
}
|
|
|
|
|
doc/
2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Importing Keys): Add documentation for
GpgmeImportStatus, GpgmeImportResult and gpgme_op_import_result.
gpgme/
2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h: New enum for GPGME_IMPORT_NEW, GPGME_IMPORT_UID,
GPGME_IMPORT_SIG, GPGME_IMPORT_SUBKEY, GPGME_IMPORT_PRIVATE.
(GpgmeError): GPGME_Unknown_Reason, GPGME_Not_Found,
GPGME_Ambiguous_Specification, GPGME_Wrong_Key_Usage,
GPGME_Key_Revoked, GPGME_Key_Expired, GPGME_No_CRL_Known,
GPGME_CRL_Too_Old, GPGME_Policy_Mismatch, GPGME_No_Secret_Key,
GPGME_Key_Not_Trusted, GPGME_Issuer_Missing, GPGME_Chain_Too_Long,
GPGME_Unsupported_Algorithm, GPGME_Sig_Expired,
GPGME_Bad_Signature, GPGME_No_Public_Key): New error codes.
(struct _gpgme_import_status): New structure.
(GpgmeImportStatus): New type.
(struct _gpgme_op_import_result): New structure.
(GpgmeImportResult): New type.
(gpgme_op_import_result): New function.
* import.c: Include <errno.h> and "gpgme.h", but not "util.h".
(struct import_result): Change to type op_data_t.
(release_import_result): Rename to ...
(release_op_data): ... this.
(append_xml_impinfo): Function removed.
(gpgme_op_import_result): New function.
(parse_import): New function.
(parse_import_res): Likewise.
(import_status_handler): Change first argument to void *. Rewrite
to use new functions.
(_gpgme_op_import_start): Rework error handling.
2003-04-25 15:56:24 +00:00
|
|
|
* The new gpgme_op_import_result function provides detailed
|
|
|
|
information about the result of an import operation in
|
2003-05-18 20:45:24 +00:00
|
|
|
gpgme_import_result_t and gpgme_import_status_t objects.
|
|
|
|
Thus, the gpgme_op_import_ext variant is deprecated.
|
doc/
2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Importing Keys): Add documentation for
GpgmeImportStatus, GpgmeImportResult and gpgme_op_import_result.
gpgme/
2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h: New enum for GPGME_IMPORT_NEW, GPGME_IMPORT_UID,
GPGME_IMPORT_SIG, GPGME_IMPORT_SUBKEY, GPGME_IMPORT_PRIVATE.
(GpgmeError): GPGME_Unknown_Reason, GPGME_Not_Found,
GPGME_Ambiguous_Specification, GPGME_Wrong_Key_Usage,
GPGME_Key_Revoked, GPGME_Key_Expired, GPGME_No_CRL_Known,
GPGME_CRL_Too_Old, GPGME_Policy_Mismatch, GPGME_No_Secret_Key,
GPGME_Key_Not_Trusted, GPGME_Issuer_Missing, GPGME_Chain_Too_Long,
GPGME_Unsupported_Algorithm, GPGME_Sig_Expired,
GPGME_Bad_Signature, GPGME_No_Public_Key): New error codes.
(struct _gpgme_import_status): New structure.
(GpgmeImportStatus): New type.
(struct _gpgme_op_import_result): New structure.
(GpgmeImportResult): New type.
(gpgme_op_import_result): New function.
* import.c: Include <errno.h> and "gpgme.h", but not "util.h".
(struct import_result): Change to type op_data_t.
(release_import_result): Rename to ...
(release_op_data): ... this.
(append_xml_impinfo): Function removed.
(gpgme_op_import_result): New function.
(parse_import): New function.
(parse_import_res): Likewise.
(import_status_handler): Change first argument to void *. Rewrite
to use new functions.
(_gpgme_op_import_start): Rework error handling.
2003-04-25 15:56:24 +00:00
|
|
|
|
doc/
2003-04-27 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Creating a Signature): Add info about
GpgmeNewSignature, GpgmeSignResult and gpgme_op_sign_result.
(Crypto Operations): Add GpgmeInvalidUserID.
(Algorithms): New chapter.
gpgme/
2003-04-27 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (GpgmePubKeyAlgo, GpgmeHashAlgo, GpgmeInvalidUserID,
GpgmeNewSignature, GpgmeSignResult): New data types.
(gpgme_op_sign_result, gpgme_pubkey_algo_name,
gpgme_hash_algo_name): New prototypes.
* gpgme.c (gpgme_pubkey_algo_name): New function.
(gpgme_hash_algo_name): Likewise.
* ops.h (_gpgme_parse_inv_userid, _gpgme_op_sign_init_result): New
prototype.
(_gpgme_op_sign_status_handler): Fix prototype.
* op-support.c: Include <errno.h> and <string.h>.
(_gpgme_parse_inv_userid): New function.
* sign.c: Include <errno.h> and "gpgme.h", but not <stdio.h>,
<assert.h> and "util.h".
(SKIP_TOKEN_OR_RETURN): Remove macro.
(struct sign_result): Change to op_data_t type and rework it.
(release_sign_result): Rename to ...
(release_op_data): ... this and rewrite it.
(append_xml_info): Remove function.
(gpgme_op_sign_result): New function.
(parse_sig_created): New function.
(_gpgme_sign_status_handler): Change first argument to void *.
Rewrite the function to use the new result structure and functions.
(_gpgme_op_sign_init_result): New function.
(_gpgme_op_sign_start): Rename to ...
(sign_start): ... this. Call _gpgme_op_sign_init_result.
(gpgme_op_sign_start): Use sign_start instead _gpgme_op_sign_start.
(gpgme_op_sign): Likewise.
2003-04-27 20:53:04 +00:00
|
|
|
* The new gpgme_op_sign_result function provides detailed information
|
2003-05-18 20:45:24 +00:00
|
|
|
about the result of a signing operation in gpgme_sign_result_t,
|
2003-06-06 00:56:03 +00:00
|
|
|
gpgme_invalid_key_t and gpgme_new_signature_t objects.
|
doc/
2003-04-27 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Creating a Signature): Add info about
GpgmeNewSignature, GpgmeSignResult and gpgme_op_sign_result.
(Crypto Operations): Add GpgmeInvalidUserID.
(Algorithms): New chapter.
gpgme/
2003-04-27 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (GpgmePubKeyAlgo, GpgmeHashAlgo, GpgmeInvalidUserID,
GpgmeNewSignature, GpgmeSignResult): New data types.
(gpgme_op_sign_result, gpgme_pubkey_algo_name,
gpgme_hash_algo_name): New prototypes.
* gpgme.c (gpgme_pubkey_algo_name): New function.
(gpgme_hash_algo_name): Likewise.
* ops.h (_gpgme_parse_inv_userid, _gpgme_op_sign_init_result): New
prototype.
(_gpgme_op_sign_status_handler): Fix prototype.
* op-support.c: Include <errno.h> and <string.h>.
(_gpgme_parse_inv_userid): New function.
* sign.c: Include <errno.h> and "gpgme.h", but not <stdio.h>,
<assert.h> and "util.h".
(SKIP_TOKEN_OR_RETURN): Remove macro.
(struct sign_result): Change to op_data_t type and rework it.
(release_sign_result): Rename to ...
(release_op_data): ... this and rewrite it.
(append_xml_info): Remove function.
(gpgme_op_sign_result): New function.
(parse_sig_created): New function.
(_gpgme_sign_status_handler): Change first argument to void *.
Rewrite the function to use the new result structure and functions.
(_gpgme_op_sign_init_result): New function.
(_gpgme_op_sign_start): Rename to ...
(sign_start): ... this. Call _gpgme_op_sign_init_result.
(gpgme_op_sign_start): Use sign_start instead _gpgme_op_sign_start.
(gpgme_op_sign): Likewise.
2003-04-27 20:53:04 +00:00
|
|
|
|
2003-04-27 22:24:37 +00:00
|
|
|
* The new gpgme_op_encrypt_result function provides detailed
|
|
|
|
information about the result of an encryption operation in
|
|
|
|
a GpgmeEncryptResult object.
|
|
|
|
|
2003-04-28 21:17:15 +00:00
|
|
|
* The new gpgme_op_decrypt_result function provides detailed
|
2003-04-30 03:02:50 +00:00
|
|
|
information about the result of a decryption operation in
|
2003-04-28 21:17:15 +00:00
|
|
|
a GpgmeDecryptResult object.
|
|
|
|
|
2003-04-28 23:59:03 +00:00
|
|
|
* The new gpgme_op_verify_result function provides detailed
|
|
|
|
information about the result of an verify operation in
|
|
|
|
a GpgmeVerifyResult object. Because of this, the GPGME_SIG_STAT_*
|
|
|
|
values, gpgme_get_sig_status, gpgme_get_sig_ulong_attr,
|
|
|
|
gpgme_get_sig_string_attr and gpgme_get_sig_key are now deprecated,
|
|
|
|
and gpgme_get_notation is removed.
|
|
|
|
|
2003-04-29 21:53:58 +00:00
|
|
|
* GpgmeTrustItem objects have now directly accessible data, so the
|
|
|
|
gpgme_trust_item_get_string_attr and gpgme_trust_item_get_ulong_attr
|
|
|
|
accessor functions are deprecated. Also, reference counting is
|
|
|
|
available through gpgme_trust_item_ref and gpgme_trust_item_unref
|
|
|
|
(the gpgme_trust_item_release alias for the latter is deprecated).
|
|
|
|
|
2003-04-29 22:24:37 +00:00
|
|
|
* Keys are not cached internally anymore, so the force_update argument
|
|
|
|
to gpgme_get_key has been removed.
|
|
|
|
|
2003-04-30 03:02:50 +00:00
|
|
|
* GpgmeKey objects have now directly accessible data so the
|
|
|
|
gpgme_key_get_string_attr, gpgme_key_get_ulong_attr,
|
|
|
|
gpgme_key_sig_get_string_attr and gpgme_key_sig_get_ulong_attr
|
|
|
|
functions are deprecated. Also, gpgme_key_release is now
|
|
|
|
deprecated. The gpgme_key_get_as_xml function has been dropped.
|
|
|
|
|
|
|
|
* Because all interfaces using attributes are deprecated, the
|
|
|
|
GpgmeAttr data type is also deprecated.
|
|
|
|
|
|
|
|
* The new gpgme_op_keylist_result function provides detailed
|
|
|
|
information about the result of a key listing operation in
|
|
|
|
a GpgmeKeyListResult object.
|
|
|
|
|
doc/
2003-04-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Encrypting a Plaintext): Remove reference to
gpgme_get_op_info.
(Detailed Results): Subsection removed.
gpgme/
2003-04-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (gpgme_get_op_info): Remove prototype.
* ops.h (_gpgme_set_op_info,
_gpgme_data_release_and_return_string, _gpgme_data_get_as_string,
_gpgme_data_append, _gpgme_data_append_string,
_gpgme_data_append_string_for_xml, _gpgme_data_append_for_xml,
_gpgme_data_append_percentstring_for_xml): Likewise.
(_gpgme_progress_status_handler): Change first arg to void *.
* progress.c (_gpgme_progress_status_handler): Likewise.
* conversion.c: Do not include <string.h>, <errno.h>, <ctype.h>,
and <sys/types.h>, but <string.h>.
(_gpgme_data_append): Remove function.
(_gpgme_data_append_string): Likewise.
(_gpgme_data_append_for_xml): Likewise.
(_gpgme_data_append_string_for_xml): Likewise.
(_gpgme_data_append_percentstring_for_xml): Likewise.
* data-mem.c (_gpgme_data_get_as_string): Likewise.
(_gpgme_data_release_and_return_string): Likewise.
* gpgme.c (gpgme_get_op_info): Likewise.
(_gpgme_set_op_info): Likewise.
tests/
2003-04-30 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-eventloop.c (main): Do not call print_op_info.
(print_op_info): Function removed.
2003-04-30 03:34:30 +00:00
|
|
|
* Now that each function comes with its own result retrieval
|
|
|
|
interface, the generic gpgme_get_op_info interface is not useful
|
|
|
|
anymore and dropped.
|
|
|
|
|
2003-06-05 23:20:29 +00:00
|
|
|
* The type and mode of data objects is not available anymore.
|
2003-05-04 14:55:00 +00:00
|
|
|
|
2002-12-23 22:34:25 +00:00
|
|
|
* Interface changes relative to the 0.4.0 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2003-05-18 20:45:24 +00:00
|
|
|
GpgmeCtx DEPRECATED: Use gpgme_ctx_t.
|
|
|
|
GpgmeData DEPRECATED: Use gpgme_data_t.
|
|
|
|
GpgmeError DEPRECATED: Use gpgme_error_t.
|
|
|
|
GpgmeDataEncoding DEPRECATED: Use gpgme_data_encoding_t.
|
|
|
|
GpgmeSigStat DEPRECATED: Use gpgme_sig_stat_t.
|
|
|
|
GpgmeSigMode DEPRECATED: Use gpgme_sig_mode_t.
|
|
|
|
GpgmeAttr DEPRECATED: Use gpgme_attr_t.
|
|
|
|
GpgmeValidity DEPRECATED: Use gpgme_validity_t.
|
|
|
|
GpgmeProtocol DEPRECATED: Use gpgme_protocol_t.
|
|
|
|
GpgmeKey DEPRECATED: Use gpgme_key_t.
|
|
|
|
GpgmePassphraseCb DEPRECATED: Use gpgme_passphrase_cb_t.
|
|
|
|
GpgmeProgressCb DEPRECATED: Use gpgme_progress_cb_t.
|
|
|
|
GpgmeIOCb DEPRECATED: Use gpgme_io_cb_t.
|
|
|
|
GpgmeRegisterIOCb DEPRECATED: Use gpgme_register_io_cb_t.
|
|
|
|
GpgmeRemoveIOCb DEPRECATED: Use gpgme_remove_io_cb_t.
|
|
|
|
GpgmeEventIO DEPRECATED: Use gpgme_event_io_t.
|
|
|
|
GpgmeEventIOCb DEPRECATED: Use gpgme_event_io_cb_t.
|
|
|
|
GpgmeIOCbs DEPRECATED: Use gpgme_io_cbs.
|
|
|
|
GpgmeDataReadCb DEPRECATED: Use gpgme_data_read_cb_t.
|
|
|
|
GpgmeDataWriteCb DEPRECATED: Use gpgme_data_write_cb_t.
|
|
|
|
GpgmeDataSeekCb DEPRECATED: Use gpgme_data_seek_cb_t.
|
|
|
|
GpgmeDataReleaseCb DEPRECATED: Use gpgme_data_release_cb_t.
|
|
|
|
GpgmeDataCbs DEPRECATED: Use gpgme_data_cbs_t.
|
|
|
|
GpgmeTrustItem DEPRECATED: Use gpgme_trust_item_t.
|
|
|
|
GpgmeStatusCode DEPRECATED: Use gpgme_status_code_t.
|
|
|
|
gpgme_ctx_t NEW
|
|
|
|
gpgme_data_t NEW
|
|
|
|
gpgme_recipients_t NEW
|
|
|
|
gpgme_error_t NEW
|
|
|
|
gpgme_data_encoding_t NEW
|
|
|
|
gpgme_sig_stat_t NEW
|
|
|
|
gpgme_sig_mode_t NEW
|
|
|
|
gpgme_attr_t NEW
|
|
|
|
gpgme_validity_t NEW
|
|
|
|
gpgme_protocol_t NEW
|
|
|
|
gpgme_key_t NEW
|
|
|
|
gpgme_passphrase_cb_t NEW
|
|
|
|
gpgme_progress_cb_t NEW
|
|
|
|
gpgme_io_cb_t NEW
|
|
|
|
gpgme_register_io_cb_t NEW
|
|
|
|
gpgme_remove_io_cb_t NEW
|
|
|
|
gpgme_event_io_t NEW
|
|
|
|
gpgme_event_io_cb_t NEW
|
|
|
|
gpgme_io_cbs NEW
|
|
|
|
gpgme_data_read_cb_t NEW
|
|
|
|
gpgme_data_write_cb_t NEW
|
|
|
|
gpgme_data_seek_cb_t NEW
|
|
|
|
gpgme_data_release_cb_t NEW
|
|
|
|
gpgme_data_cbs_t NEW
|
|
|
|
gpgme_trust_item_t NEW
|
|
|
|
gpgme_status_code_t NEW
|
2003-06-05 23:20:29 +00:00
|
|
|
GPGME_{some error code} REMOVED! Use GPG_ERR_* from libgpg-error.
|
|
|
|
gpgme_err_code_t NEW
|
|
|
|
gpgme_err_source_t NEW
|
|
|
|
gpgme_err_code NEW
|
|
|
|
gpgme_err_source NEW
|
|
|
|
gpgme_error NEW
|
|
|
|
gpgme_err_make NEW
|
|
|
|
gpgme_error_from_errno NEW
|
|
|
|
gpgme_err_make_from_errno NEW
|
|
|
|
gpgme_err_code_from_errno NEW
|
|
|
|
gpgme_err_code_to_errno NEW
|
|
|
|
gpgme_strsource NEW
|
2003-05-18 20:45:24 +00:00
|
|
|
gpgme_io_cb_t CHANGED: Return type from void to GpgmeError.
|
|
|
|
gpgme_event_io_t CHANGED: New event type (all numbers changed).
|
2003-05-27 01:31:06 +00:00
|
|
|
gpgme_passphrase_cb_t CHANGED: Desc decomposed, write directly to FD.
|
|
|
|
gpgme_edit_cb_t CHANGED: Write directly to FD.
|
2002-12-24 13:08:56 +00:00
|
|
|
gpgme_key_get_string_attr CHANGED: Don't handle GPGME_ATTR_IS_SECRET.
|
|
|
|
gpgme_op_verify CHANGED: Drop R_STAT argument.
|
|
|
|
gpgme_op_decrypt_verify CHANGED: Drop R_STAT argument.
|
doc/
2003-01-29 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (I/O Callback Interface): Document new even
GPGME_EVENT_START.
(Waiting For Completion): Document new possible return values.
(I/O Callback Interface): Document return type of GpgmeIOCb.
gpgme/
2003-01-29 Marcus Brinkmann <marcus@g10code.de>
* context.h (gpgme_context_s): Remove member ERROR.
* types.h (GpgmeStatusHandler): Change return type to GpgmeError.
(GpgmeCommandHandler): Change return type to GpgmeError and add
new argument RESULT.
* gpgme.h (GpgmeIOCb): Change return type to GpgmeError.
(GpgmeEventIO): New event GPGME_EVENT_START.
(GpgmeIdleFunc): Remove type.
(gpgme_register_idle): Remove prototype.
* data.c: Include <assert.h>.
(_gpgme_data_inbound_handler): Change return type to GpgmeError.
Return any error instead ignoring it, don't close file descriptor
on error.
(_gpgme_data_outbound_handler): Likewise.
* decrypt.c: Do not include <stdio.h>, <string.h> and <assert.h>.
(_gpgme_decrypt_status_handler): Change return type to GpgmeError.
Return error instead setting ctx->error. Return success at end of
function.
(gpgme_op_decrypt): Don't work around the old kludge anymore.
* decrypt-verify.c (decrypt_verify_status_handler): Change return
type to GpgmeError. Return possible errors.
* delete.c: Do not include <stdio.h>, <string.h>, <time.h> and
<assert.h>.
(delete_status_handler): Change return type to GpgmeError. Return
error instead setting ctx->error. Return success at end of
function.
* edit.c: Do not include <stdio.h> and <string.h>.
(_gpgme_edit_status_handler): Change type to GpgmeError,
make static and rename to ...
(edit_status_handler): ... this. Return error directly.
(command_handler): Change return type to GpgmeError, add result
argument. Return error directly.
* encrypt.c (status_handler_finish): Remove function.
(_gpgme_encrypt_status_handler): Change return type to GpgmeError.
Return error directly.
(_gpgme_encrypt_sym_status_handler): Likewise.
* encrypt-sign.c (encrypt_sign_status_handler): Likewise.
* engine-gpgsm.c (close_notify_handler): Do not signal done event
anymore.
(status_handler): Change return type to GpgmeError. Diddle things
around a bit to return errors directly.
(start): Send start event.
* export.c: Do not include <stdio.h>, <string.h> and <assert.h>.
(export_status_handler): Change return type to GpgmeError. Don't
check ctx->error.
* genkey.c: Do not include <stdio.h> and <assert.h>.
(genkey_status_handler): Change return type to GpgmeError. Don't
check ctx->error. Return errors directly.
* gpgme.c (_gpgme_release_result): Do not initialize ctx->error.
(_gpgme_op_event_cb): Function removed.
(_gpgme_op_event_cb_user): Likewise.
* import.c: Do not include <stdio.h>, <string.h> and <assert.h>.
(import_status_handler): Change return type to GpgmeError. Don't
check ctx->error.
* keylist.c (keylist_colon_handler, keylist_status_handler, finish_key):
Change return type to GpgmeError, return error directly.
* Makefile (libgpgme_la_SOURCES): Add wait-global.c,
wait-private.c and wait-user.c
* ops.h (test_and_allocate_result): Return error instead setting
ctx->error.
(_gpgme_data_inbound_handler, _gpgme_data_outbound_handler,
_gpgme_verify_status_handler, _gpgme_decrypt_status_handler,
_gpgme_sign_status_handler, _gpgme_encrypt_staus_handler,
_gpgme_passphrase_status_handler, _gpgme_progress_status_handler):
Change return type to GpgmeError.
(_gpgme_passphease_command_handler): Change return type to
GpgmeError and add new argument RESULT.
* op-support.c: Use new callback functions, and change private
data to ctx everywhere.
* passphrase.c (_gpgme_passphrase_status_handler): Change return
type to GpgmeError, return error directly.
(_gpgme_passphrase_command_handler): Change return type to
GpgmeError, add result argument. Return results accordingly.
* progress.c (_gpgme_progress_status_handler): Change return type
to GpgmeError, return errors directly.
* rungpg.c (status_handler): Change return type to GpgmeError.
Return error directly.
(close_notify_handler): Don't send done event.
(colon_line_handler): Change return type to GpgmeError, return
errors directly.
* rungpg.c (start): Send start event.
* sign.c (_gpgme_sign_status_handler): Change return type to
GpgmeError, return errors directly.
* trustlist.c (trustlist_status_handler): Change return type to
GpgmeError. Return 0.
(trustlist_colon_handler): Change return type GpgmeError. Return
errors directly.
* verify.c (add_notation): Change return type to GpgmeError,
return errors directly.
(_gpgme_verify_status_handler): Likewise.
* wait.h (struct fd_table): Remove lock member.
(struct wait_item_s): Moved here from wait.c.
(struct tag): New structure.
(_gpgme_wait_event_cb): Remove prototype.
(_gpgme_wait_private_event_cb, _gpgme_wait_global_event_cb,
_gpgme_wait_user_add_io_cb, _gpgme_wait_user_remove_io_cb,
_gpgme_wait_user_event_io_cb): New prototypes.
* wait.c: Don't include <stdio.h>.
(ftd_global, ctx_done_list, ctx_done_list_size,
ctx_done_list_length, ctx_done_list_lock, idle_function): Remove
global variable.
(gpgme_register_idle, do_select, _gpgme_wait_event_cb): Remove
function.
(gpgme_wait): Move to file wait-global.c.
(_gpgme_add_io_cb): Take ctx as private argument, initialize ctx
member in wait item and tag.
(_gpgme_remove_io_cb): Take ctx from tag. Don't use FDT lock.
(_gpgme_wait_one, _gpgme_wait_on_condition): Move to
wait-private.c.
(gpgme_fd_table_init): Don't initialize FDT->lock.
(gpgme_fd_table_deinit): Don't destroy FDT->lock.
(_gpgme_fd_table_put): Make static and rename to ...
(fd_table_put): ... this function. Don't use FDT->lock.
(struct wait_item_s): Move to wait.h.
* wait-global.c: New file.
* wait-private.c: New file.
* wait-user.c: New file.
2003-01-29 15:20:58 +00:00
|
|
|
gpgme_wait CHANGED: Can return NULL even if hang is true.
|
|
|
|
GpgmeIdleFunc REMOVED
|
|
|
|
gpgme_register_idle REMOVED
|
2003-05-29 03:21:02 +00:00
|
|
|
GpgmeRecipients REMOVED
|
|
|
|
gpgme_recipients_new REMOVED
|
|
|
|
gpgme_recipients_release REMOVED
|
|
|
|
gpgme_recipients_add_name REMOVED
|
|
|
|
gpgme_recipients_add_name_with_validity REMOVED
|
|
|
|
gpgme_recipients_count REMOVED
|
|
|
|
gpgme_recipients_enum_open REMOVED
|
|
|
|
gpgme_recipients_enum_read REMOVED
|
|
|
|
gpgme_recipients_enum_close REMOVED
|
|
|
|
gpgme_encrypt_flags_t NEW
|
|
|
|
GPGME_ENCRYPT_ALWAYS_TRUST NEW
|
|
|
|
gpgme_op_encrypt CHANGED: Recipients passed as gpgme_key_t[].
|
|
|
|
gpgme_op_encrypt_start CHANGED: Recipients passed as gpgme_key_t[].
|
|
|
|
gpgme_op_encrypt_sign CHANGED: Recipients passed as gpgme_key_t[].
|
|
|
|
gpgme_op_encrypt_sign_start CHANGED: Recipients passed as gpgme_key_t[].
|
|
|
|
gpgme_op_export_start CHANGED: User IDs passed as patterns.
|
|
|
|
gpgme_op_export CHANGED: User IDs passed as patterns.
|
|
|
|
gpgme_op_export_ext_start NEW
|
|
|
|
gpgme_op_export_ext NEW
|
|
|
|
gpgme_keylist_mode_t NEW
|
|
|
|
gpgme_sigsum_t NEW
|
2003-05-18 20:45:24 +00:00
|
|
|
gpgme_engine_info_t NEW
|
2003-01-30 11:58:42 +00:00
|
|
|
gpgme_get_engine_info CHANGED: Return info structure instead XML.
|
|
|
|
gpgme_get_protocol_name NEW
|
2003-02-06 20:09:24 +00:00
|
|
|
gpgme_cancel REMOVED: Return error in callback directly.
|
2003-04-24 17:16:28 +00:00
|
|
|
gpgme_op_genkey CHANGED: FPR argument dropped.
|
|
|
|
gpgme_op_genkey_result NEW
|
2003-05-18 20:45:24 +00:00
|
|
|
gpgme_genkey_result_t NEW
|
doc/
2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Importing Keys): Add documentation for
GpgmeImportStatus, GpgmeImportResult and gpgme_op_import_result.
gpgme/
2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h: New enum for GPGME_IMPORT_NEW, GPGME_IMPORT_UID,
GPGME_IMPORT_SIG, GPGME_IMPORT_SUBKEY, GPGME_IMPORT_PRIVATE.
(GpgmeError): GPGME_Unknown_Reason, GPGME_Not_Found,
GPGME_Ambiguous_Specification, GPGME_Wrong_Key_Usage,
GPGME_Key_Revoked, GPGME_Key_Expired, GPGME_No_CRL_Known,
GPGME_CRL_Too_Old, GPGME_Policy_Mismatch, GPGME_No_Secret_Key,
GPGME_Key_Not_Trusted, GPGME_Issuer_Missing, GPGME_Chain_Too_Long,
GPGME_Unsupported_Algorithm, GPGME_Sig_Expired,
GPGME_Bad_Signature, GPGME_No_Public_Key): New error codes.
(struct _gpgme_import_status): New structure.
(GpgmeImportStatus): New type.
(struct _gpgme_op_import_result): New structure.
(GpgmeImportResult): New type.
(gpgme_op_import_result): New function.
* import.c: Include <errno.h> and "gpgme.h", but not "util.h".
(struct import_result): Change to type op_data_t.
(release_import_result): Rename to ...
(release_op_data): ... this.
(append_xml_impinfo): Function removed.
(gpgme_op_import_result): New function.
(parse_import): New function.
(parse_import_res): Likewise.
(import_status_handler): Change first argument to void *. Rewrite
to use new functions.
(_gpgme_op_import_start): Rework error handling.
2003-04-25 15:56:24 +00:00
|
|
|
gpgme_op_import_ext DEPRECATED: Use gpgme_op_import_result.
|
|
|
|
gpgme_op_import_result NEW
|
2003-05-18 20:45:24 +00:00
|
|
|
gpgme_import_status_t NEW
|
|
|
|
gpgme_import_result_t NEW
|
|
|
|
gpgme_pubkey_algo_t NEW
|
|
|
|
gpgme_hash_algo_t NEW
|
2003-06-06 00:56:03 +00:00
|
|
|
gpgme_invalid_key_t NEW
|
2003-05-18 20:45:24 +00:00
|
|
|
gpgme_new_signature_t NEW
|
|
|
|
gpgme_sign_result_t NEW
|
doc/
2003-04-27 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Creating a Signature): Add info about
GpgmeNewSignature, GpgmeSignResult and gpgme_op_sign_result.
(Crypto Operations): Add GpgmeInvalidUserID.
(Algorithms): New chapter.
gpgme/
2003-04-27 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (GpgmePubKeyAlgo, GpgmeHashAlgo, GpgmeInvalidUserID,
GpgmeNewSignature, GpgmeSignResult): New data types.
(gpgme_op_sign_result, gpgme_pubkey_algo_name,
gpgme_hash_algo_name): New prototypes.
* gpgme.c (gpgme_pubkey_algo_name): New function.
(gpgme_hash_algo_name): Likewise.
* ops.h (_gpgme_parse_inv_userid, _gpgme_op_sign_init_result): New
prototype.
(_gpgme_op_sign_status_handler): Fix prototype.
* op-support.c: Include <errno.h> and <string.h>.
(_gpgme_parse_inv_userid): New function.
* sign.c: Include <errno.h> and "gpgme.h", but not <stdio.h>,
<assert.h> and "util.h".
(SKIP_TOKEN_OR_RETURN): Remove macro.
(struct sign_result): Change to op_data_t type and rework it.
(release_sign_result): Rename to ...
(release_op_data): ... this and rewrite it.
(append_xml_info): Remove function.
(gpgme_op_sign_result): New function.
(parse_sig_created): New function.
(_gpgme_sign_status_handler): Change first argument to void *.
Rewrite the function to use the new result structure and functions.
(_gpgme_op_sign_init_result): New function.
(_gpgme_op_sign_start): Rename to ...
(sign_start): ... this. Call _gpgme_op_sign_init_result.
(gpgme_op_sign_start): Use sign_start instead _gpgme_op_sign_start.
(gpgme_op_sign): Likewise.
2003-04-27 20:53:04 +00:00
|
|
|
gpgme_op_sign_result NEW
|
|
|
|
gpgme_pubkey_algo_name NEW
|
|
|
|
gpgme_hash_algo_name NEW
|
2003-05-18 20:45:24 +00:00
|
|
|
gpgme_encrypt_result_t NEW
|
2003-04-27 22:24:37 +00:00
|
|
|
gpgme_op_encrypt_result NEW
|
2003-05-18 20:45:24 +00:00
|
|
|
gpgme_decrypt_result_t NEW
|
2003-04-28 21:17:15 +00:00
|
|
|
gpgme_op_decrypt_result NEW
|
2003-05-18 20:45:24 +00:00
|
|
|
gpgme_verify_result_t NEW
|
2003-04-28 23:59:03 +00:00
|
|
|
gpgme_op_verify_result NEW
|
|
|
|
gpgme_get_notation REMOVED: Access verify result directly instead.
|
|
|
|
gpgme_get_sig_key DEPRECATED: Use gpgme_get_key with fingerprint.
|
|
|
|
gpgme_get_sig_ulong_attr DEPRECATED: Use verify result directly.
|
|
|
|
gpgme_get_sig_string_attr DEPRECATED: Use verify result directly.
|
|
|
|
GPGME_SIG_STAT_* DEPRECATED: Use error value in sig status.
|
|
|
|
gpgme_get_sig_status DEPRECATED: Use verify result directly.
|
2003-05-18 20:45:24 +00:00
|
|
|
gpgme_trust_item_t CHANGED: Now has user accessible data members.
|
2003-04-29 21:53:58 +00:00
|
|
|
gpgme_trust_item_ref NEW
|
|
|
|
gpgme_trust_item_unref NEW
|
|
|
|
gpgme_trust_item_release DEPRECATED: Use gpgme_trust_item_unref.
|
|
|
|
gpgme_trust_item_get_string_attr DEPRECATED
|
|
|
|
gpgme_trust_item_get_ulong_attr DEPRECATED
|
2003-04-29 22:24:37 +00:00
|
|
|
gpgme_get_key CHANGED: Removed force_update argument.
|
2013-05-24 15:51:16 +00:00
|
|
|
gpgme_subkey_t NEW
|
2003-05-18 20:45:24 +00:00
|
|
|
gpgme_key_sig_t NEW
|
|
|
|
gpgme_user_id_t NEW
|
|
|
|
gpgme_key_t CHANGED: Now has user accessible data members.
|
2003-04-30 03:02:50 +00:00
|
|
|
gpgme_key_get_string_attr DEPRECATED
|
|
|
|
gpgme_key_get_ulong_attr DEPRECATED
|
|
|
|
gpgme_key_sig_get_string_attr DEPRECATED
|
|
|
|
gpgme_key_sig_get_ulong_attr DEPRECATED
|
|
|
|
gpgme_key_get_as_xml REMOVED
|
2003-05-18 20:45:24 +00:00
|
|
|
gpgme_key_list_result_t NEW
|
2003-04-30 03:02:50 +00:00
|
|
|
gpgme_op_keylist_result NEW
|
doc/
2003-04-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Encrypting a Plaintext): Remove reference to
gpgme_get_op_info.
(Detailed Results): Subsection removed.
gpgme/
2003-04-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (gpgme_get_op_info): Remove prototype.
* ops.h (_gpgme_set_op_info,
_gpgme_data_release_and_return_string, _gpgme_data_get_as_string,
_gpgme_data_append, _gpgme_data_append_string,
_gpgme_data_append_string_for_xml, _gpgme_data_append_for_xml,
_gpgme_data_append_percentstring_for_xml): Likewise.
(_gpgme_progress_status_handler): Change first arg to void *.
* progress.c (_gpgme_progress_status_handler): Likewise.
* conversion.c: Do not include <string.h>, <errno.h>, <ctype.h>,
and <sys/types.h>, but <string.h>.
(_gpgme_data_append): Remove function.
(_gpgme_data_append_string): Likewise.
(_gpgme_data_append_for_xml): Likewise.
(_gpgme_data_append_string_for_xml): Likewise.
(_gpgme_data_append_percentstring_for_xml): Likewise.
* data-mem.c (_gpgme_data_get_as_string): Likewise.
(_gpgme_data_release_and_return_string): Likewise.
* gpgme.c (gpgme_get_op_info): Likewise.
(_gpgme_set_op_info): Likewise.
tests/
2003-04-30 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-eventloop.c (main): Do not call print_op_info.
(print_op_info): Function removed.
2003-04-30 03:34:30 +00:00
|
|
|
gpgme_get_op_info REMOVED
|
2002-12-23 22:34:25 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2002-12-23 21:28:35 +00:00
|
|
|
|
2002-12-23 21:19:23 +00:00
|
|
|
Noteworthy changes in version 0.4.0 (2002-12-23)
|
2002-10-08 21:52:38 +00:00
|
|
|
------------------------------------------------
|
2002-09-20 13:33:42 +00:00
|
|
|
|
2002-12-23 21:19:23 +00:00
|
|
|
* Key generation returns the fingerprint of the generated key.
|
|
|
|
|
|
|
|
* New convenience function gpgme_get_key.
|
|
|
|
|
2002-12-04 16:28:34 +00:00
|
|
|
* Supports signatures of user IDs in keys via the new
|
|
|
|
GPGME_KEYLIST_MODE_SIGS keylist mode and the
|
|
|
|
gpgme_key_sig_get_string_attr and gpgme_key_sig_get_ulong_attr
|
|
|
|
interfaces. The XML info about a key also includes the signatures
|
|
|
|
if available.
|
|
|
|
|
gpgme/
2002-10-08 Marcus Brinkmann <marcus@g10code.de>
New data object component:
* gpgme.h (GpgmeDataReadCb, GpgmeDataWriteCb, GpgmeDataSeekCb,
GpgmeDataReleaseCb): New types.
(struct GpgmeDataCbs): New structure.
(gpgme_data_read): Changed prototype to match that of read() closely.
(gpgme_data_write): Similar for write().
(gpgme_data_seek, gpgme_data_new_from_cbs, gpgme_data_new_from_fd,
gpgme_data_new_from_stream): New prototypes.
(gpgme_data_get_type, gpgme_check_engine): Prototype removed.
* Makefile.am (libgpgme_la_SOURCES): Add data.h, data-fd.c,
data-stream.c, data-mem.c, data-user.c and data-compat.c.
* data.c: Reimplemented from scratch.
* (data-compat.c, data-fd.c, data.h, data-mem.c, data-stream.c,
data-user.c): New file.
* context.h (struct gpgme_data_s): Removed.
* conversion.c: Include <errno.h> and <sys/types.h>.
(_gpgme_data_append): New function.
* data.c (_gpgme_data_append_string): Move to ...
* conversion.c (_gpgme_data_append_string): ... here.
* data.c (_gpgme_data_append_for_xml): Move to ...
* conversion.c (_gpgme_data_append_for_xml): ... here.
* data.c (_gpgme_data_append_string_for_xml): Move to ...
* conversion.c (_gpgme_data_append_string_for_xml): ... here.
* data.c (_gpgme_data_append_percentstring_for_xml): Move to ...
* conversion.c (_gpgme_data_append_percentstring_for_xml): ... here.
* ops.h (_gpgme_data_get_mode, _gpgme_data_set_mode): Prototype
removed.
* types.h (GpgmeDataMode): Type removed.
* decrypt.c (_gpgme_decrypt_start): Don't check data type or mode.
* edit.c (_gpgme_op_edit_start): Likewise.
* encrypt.c (_gpgme_op_encrypt_start): Likewise.
* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Likewise.
* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Likewise.
* export.c (_gpgme_op_export_start): Likewise.
* genkey.c (_gpgme_op_genkey_start): Likewise.
* import.c (_gpgme_op_import_start): Likewise.
* sign.c (_gpgme_op_sign_start): Likewise.
* verify.c (_gpgme_op_verify_start): Likewise.
* encrypt.c (gpgme_op_encrypt): Remove hack that returns invalid
no recipient if no data was returned.
* encrypt-sign.c (gpgme_op_encrypt_sign): Remove hack that returns
no recipient if no data was returned.
* encrypt-sign.c (gpgme_op_encrypt_sign): Remove hack that returns
no recipient if no data was returned.
* engine.c (_gpgme_engine_op_verify): Add new argument to
differentiate detached from normal signatures.
* engine.h (_gpgme_engine_op_verify): Likewise for prototype.
* engine-gpgsm.c (_gpgme_gpgsm_op_verify): Likewise. Don't check
mode of data argument.
* engine-gpgsm.h (_gpgme_gpgsm_op_verify): Likewise for prototype.
* gpgme.h (gpgme_op_verify_start): Likewise for prototype.
(gpgme_op_verify): Likewise for prototype.
* rungpg.c (_gpgme_gpg_op_verify): Likewise.
* rungpg.h (_gpgme_gpg_op_verify): Likewise for prototype.
* verify.c (_gpgme_op_verify_start): Likewise.
(gpgme_op_verify_start): Likewise.
(gpgme_op_verify): Likewise.
* rungpg.c (struct arg_and_data_s): New member INBOUND to hold
direction of data object.
(_gpgme_gpg_add_data): Add new argument INBOUND. Use it to
determine direction of data object.
(_gpgme_gpg_add_pm_data, _gpgme_gpg_set_command_handler,
_gpgme_gpg_op_decrypt, _gpgme_gpg_op_edit, _gpgme_gpg_op_encrypt,
_gpgme_gpg_op_encrypt_sign, _gpgme_gpg_op_export,
_gpgme_gpg_op_genkey, _gpgme_gpg_op_import, _gpgme_gpg_op_sign,
_gpgme_gpg_op_verify): Add new argument to _gpgme_gpg_add_data
invocation.
(build_argv): Use new member INBOUND to determine direction of
file descriptor. Don't check the data type.
* rungpg.h (_gpgme_gpg_add_data): Add new argument to prototype.
* gpgme.c (gpgme_get_op_info): Don't call
_gpgme_data_get_as_string if CTX->op_info is NULL.
* version.c (gpgme_check_engine): Function removed.
tests/
2002-10-09 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-decrypt.c (print_data): Update to new gpgme_data_read
interface, and use gpgme_engine_check_version instead
gpgme_check_version.
* gpg/t-decrypt-verify.c (print_data): Likewise.
* gpg/t-edit.c (main): Likewise.
* gpg/t-encrypt.c (print_data): Likewise.
* gpg/t-encrypt-sign.c (print_data): Likewise.
* gpg/t-encrypt-sym.c (print_data): Likewise.
* gpg/t-eventloop.c (print_data): Likewise.
* gpg/t-export.c (print_data): Likewise.
* gpg/t-sign.c (print_data): Likewise.
* gpg/t-signers.c (print_data): Likewise.
* gpgsm/t-decrypt.c (print_data): Likewise.
* gpgsm/t-encrypt.c (print_data): Likewise.
* gpgsm/t-export.c (print_data): Likewise.
* gpgsm/t-sign.c (print_data): Likewise.
* gpg/t-verify.c (main): Likewise for gpgme_op_verify.
* gpgsm/t-verify.c (main): Likewise for gpgme_op_verify.
* t-data.c (read_once_test): Likewise.
(write_test): Update for new behaviour of data objects.
(main): Remove type test.
2002-10-09 00:16:38 +00:00
|
|
|
* New data object interface, which is more flexible and transparent.
|
|
|
|
|
2002-12-23 21:19:23 +00:00
|
|
|
* Interface changes relative to the 0.3.9 release:
|
gpgme/
2002-10-08 Marcus Brinkmann <marcus@g10code.de>
New data object component:
* gpgme.h (GpgmeDataReadCb, GpgmeDataWriteCb, GpgmeDataSeekCb,
GpgmeDataReleaseCb): New types.
(struct GpgmeDataCbs): New structure.
(gpgme_data_read): Changed prototype to match that of read() closely.
(gpgme_data_write): Similar for write().
(gpgme_data_seek, gpgme_data_new_from_cbs, gpgme_data_new_from_fd,
gpgme_data_new_from_stream): New prototypes.
(gpgme_data_get_type, gpgme_check_engine): Prototype removed.
* Makefile.am (libgpgme_la_SOURCES): Add data.h, data-fd.c,
data-stream.c, data-mem.c, data-user.c and data-compat.c.
* data.c: Reimplemented from scratch.
* (data-compat.c, data-fd.c, data.h, data-mem.c, data-stream.c,
data-user.c): New file.
* context.h (struct gpgme_data_s): Removed.
* conversion.c: Include <errno.h> and <sys/types.h>.
(_gpgme_data_append): New function.
* data.c (_gpgme_data_append_string): Move to ...
* conversion.c (_gpgme_data_append_string): ... here.
* data.c (_gpgme_data_append_for_xml): Move to ...
* conversion.c (_gpgme_data_append_for_xml): ... here.
* data.c (_gpgme_data_append_string_for_xml): Move to ...
* conversion.c (_gpgme_data_append_string_for_xml): ... here.
* data.c (_gpgme_data_append_percentstring_for_xml): Move to ...
* conversion.c (_gpgme_data_append_percentstring_for_xml): ... here.
* ops.h (_gpgme_data_get_mode, _gpgme_data_set_mode): Prototype
removed.
* types.h (GpgmeDataMode): Type removed.
* decrypt.c (_gpgme_decrypt_start): Don't check data type or mode.
* edit.c (_gpgme_op_edit_start): Likewise.
* encrypt.c (_gpgme_op_encrypt_start): Likewise.
* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Likewise.
* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Likewise.
* export.c (_gpgme_op_export_start): Likewise.
* genkey.c (_gpgme_op_genkey_start): Likewise.
* import.c (_gpgme_op_import_start): Likewise.
* sign.c (_gpgme_op_sign_start): Likewise.
* verify.c (_gpgme_op_verify_start): Likewise.
* encrypt.c (gpgme_op_encrypt): Remove hack that returns invalid
no recipient if no data was returned.
* encrypt-sign.c (gpgme_op_encrypt_sign): Remove hack that returns
no recipient if no data was returned.
* encrypt-sign.c (gpgme_op_encrypt_sign): Remove hack that returns
no recipient if no data was returned.
* engine.c (_gpgme_engine_op_verify): Add new argument to
differentiate detached from normal signatures.
* engine.h (_gpgme_engine_op_verify): Likewise for prototype.
* engine-gpgsm.c (_gpgme_gpgsm_op_verify): Likewise. Don't check
mode of data argument.
* engine-gpgsm.h (_gpgme_gpgsm_op_verify): Likewise for prototype.
* gpgme.h (gpgme_op_verify_start): Likewise for prototype.
(gpgme_op_verify): Likewise for prototype.
* rungpg.c (_gpgme_gpg_op_verify): Likewise.
* rungpg.h (_gpgme_gpg_op_verify): Likewise for prototype.
* verify.c (_gpgme_op_verify_start): Likewise.
(gpgme_op_verify_start): Likewise.
(gpgme_op_verify): Likewise.
* rungpg.c (struct arg_and_data_s): New member INBOUND to hold
direction of data object.
(_gpgme_gpg_add_data): Add new argument INBOUND. Use it to
determine direction of data object.
(_gpgme_gpg_add_pm_data, _gpgme_gpg_set_command_handler,
_gpgme_gpg_op_decrypt, _gpgme_gpg_op_edit, _gpgme_gpg_op_encrypt,
_gpgme_gpg_op_encrypt_sign, _gpgme_gpg_op_export,
_gpgme_gpg_op_genkey, _gpgme_gpg_op_import, _gpgme_gpg_op_sign,
_gpgme_gpg_op_verify): Add new argument to _gpgme_gpg_add_data
invocation.
(build_argv): Use new member INBOUND to determine direction of
file descriptor. Don't check the data type.
* rungpg.h (_gpgme_gpg_add_data): Add new argument to prototype.
* gpgme.c (gpgme_get_op_info): Don't call
_gpgme_data_get_as_string if CTX->op_info is NULL.
* version.c (gpgme_check_engine): Function removed.
tests/
2002-10-09 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-decrypt.c (print_data): Update to new gpgme_data_read
interface, and use gpgme_engine_check_version instead
gpgme_check_version.
* gpg/t-decrypt-verify.c (print_data): Likewise.
* gpg/t-edit.c (main): Likewise.
* gpg/t-encrypt.c (print_data): Likewise.
* gpg/t-encrypt-sign.c (print_data): Likewise.
* gpg/t-encrypt-sym.c (print_data): Likewise.
* gpg/t-eventloop.c (print_data): Likewise.
* gpg/t-export.c (print_data): Likewise.
* gpg/t-sign.c (print_data): Likewise.
* gpg/t-signers.c (print_data): Likewise.
* gpgsm/t-decrypt.c (print_data): Likewise.
* gpgsm/t-encrypt.c (print_data): Likewise.
* gpgsm/t-export.c (print_data): Likewise.
* gpgsm/t-sign.c (print_data): Likewise.
* gpg/t-verify.c (main): Likewise for gpgme_op_verify.
* gpgsm/t-verify.c (main): Likewise for gpgme_op_verify.
* t-data.c (read_once_test): Likewise.
(write_test): Update for new behaviour of data objects.
(main): Remove type test.
2002-10-09 00:16:38 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
GpgmeDataReadCb NEW
|
|
|
|
GpgmeDataWriteCb NEW
|
|
|
|
GpgmeDataSeekCb NEW
|
|
|
|
GpgmeDataReleaseCb NEW
|
|
|
|
GpgmeDataCbs NEW
|
|
|
|
gpgme_data_read CHANGED: Match read() closely.
|
|
|
|
gpgme_data_write CHANGED: Match write() closely.
|
|
|
|
gpgme_data_seek NEW
|
2002-11-21 13:34:33 +00:00
|
|
|
gpgme_data_new_from_fd NEW
|
|
|
|
gpgme_data_new_from_stream NEW
|
|
|
|
gpgme_data_new_from_cbs NEW
|
gpgme/
2002-10-08 Marcus Brinkmann <marcus@g10code.de>
New data object component:
* gpgme.h (GpgmeDataReadCb, GpgmeDataWriteCb, GpgmeDataSeekCb,
GpgmeDataReleaseCb): New types.
(struct GpgmeDataCbs): New structure.
(gpgme_data_read): Changed prototype to match that of read() closely.
(gpgme_data_write): Similar for write().
(gpgme_data_seek, gpgme_data_new_from_cbs, gpgme_data_new_from_fd,
gpgme_data_new_from_stream): New prototypes.
(gpgme_data_get_type, gpgme_check_engine): Prototype removed.
* Makefile.am (libgpgme_la_SOURCES): Add data.h, data-fd.c,
data-stream.c, data-mem.c, data-user.c and data-compat.c.
* data.c: Reimplemented from scratch.
* (data-compat.c, data-fd.c, data.h, data-mem.c, data-stream.c,
data-user.c): New file.
* context.h (struct gpgme_data_s): Removed.
* conversion.c: Include <errno.h> and <sys/types.h>.
(_gpgme_data_append): New function.
* data.c (_gpgme_data_append_string): Move to ...
* conversion.c (_gpgme_data_append_string): ... here.
* data.c (_gpgme_data_append_for_xml): Move to ...
* conversion.c (_gpgme_data_append_for_xml): ... here.
* data.c (_gpgme_data_append_string_for_xml): Move to ...
* conversion.c (_gpgme_data_append_string_for_xml): ... here.
* data.c (_gpgme_data_append_percentstring_for_xml): Move to ...
* conversion.c (_gpgme_data_append_percentstring_for_xml): ... here.
* ops.h (_gpgme_data_get_mode, _gpgme_data_set_mode): Prototype
removed.
* types.h (GpgmeDataMode): Type removed.
* decrypt.c (_gpgme_decrypt_start): Don't check data type or mode.
* edit.c (_gpgme_op_edit_start): Likewise.
* encrypt.c (_gpgme_op_encrypt_start): Likewise.
* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Likewise.
* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Likewise.
* export.c (_gpgme_op_export_start): Likewise.
* genkey.c (_gpgme_op_genkey_start): Likewise.
* import.c (_gpgme_op_import_start): Likewise.
* sign.c (_gpgme_op_sign_start): Likewise.
* verify.c (_gpgme_op_verify_start): Likewise.
* encrypt.c (gpgme_op_encrypt): Remove hack that returns invalid
no recipient if no data was returned.
* encrypt-sign.c (gpgme_op_encrypt_sign): Remove hack that returns
no recipient if no data was returned.
* encrypt-sign.c (gpgme_op_encrypt_sign): Remove hack that returns
no recipient if no data was returned.
* engine.c (_gpgme_engine_op_verify): Add new argument to
differentiate detached from normal signatures.
* engine.h (_gpgme_engine_op_verify): Likewise for prototype.
* engine-gpgsm.c (_gpgme_gpgsm_op_verify): Likewise. Don't check
mode of data argument.
* engine-gpgsm.h (_gpgme_gpgsm_op_verify): Likewise for prototype.
* gpgme.h (gpgme_op_verify_start): Likewise for prototype.
(gpgme_op_verify): Likewise for prototype.
* rungpg.c (_gpgme_gpg_op_verify): Likewise.
* rungpg.h (_gpgme_gpg_op_verify): Likewise for prototype.
* verify.c (_gpgme_op_verify_start): Likewise.
(gpgme_op_verify_start): Likewise.
(gpgme_op_verify): Likewise.
* rungpg.c (struct arg_and_data_s): New member INBOUND to hold
direction of data object.
(_gpgme_gpg_add_data): Add new argument INBOUND. Use it to
determine direction of data object.
(_gpgme_gpg_add_pm_data, _gpgme_gpg_set_command_handler,
_gpgme_gpg_op_decrypt, _gpgme_gpg_op_edit, _gpgme_gpg_op_encrypt,
_gpgme_gpg_op_encrypt_sign, _gpgme_gpg_op_export,
_gpgme_gpg_op_genkey, _gpgme_gpg_op_import, _gpgme_gpg_op_sign,
_gpgme_gpg_op_verify): Add new argument to _gpgme_gpg_add_data
invocation.
(build_argv): Use new member INBOUND to determine direction of
file descriptor. Don't check the data type.
* rungpg.h (_gpgme_gpg_add_data): Add new argument to prototype.
* gpgme.c (gpgme_get_op_info): Don't call
_gpgme_data_get_as_string if CTX->op_info is NULL.
* version.c (gpgme_check_engine): Function removed.
tests/
2002-10-09 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-decrypt.c (print_data): Update to new gpgme_data_read
interface, and use gpgme_engine_check_version instead
gpgme_check_version.
* gpg/t-decrypt-verify.c (print_data): Likewise.
* gpg/t-edit.c (main): Likewise.
* gpg/t-encrypt.c (print_data): Likewise.
* gpg/t-encrypt-sign.c (print_data): Likewise.
* gpg/t-encrypt-sym.c (print_data): Likewise.
* gpg/t-eventloop.c (print_data): Likewise.
* gpg/t-export.c (print_data): Likewise.
* gpg/t-sign.c (print_data): Likewise.
* gpg/t-signers.c (print_data): Likewise.
* gpgsm/t-decrypt.c (print_data): Likewise.
* gpgsm/t-encrypt.c (print_data): Likewise.
* gpgsm/t-export.c (print_data): Likewise.
* gpgsm/t-sign.c (print_data): Likewise.
* gpg/t-verify.c (main): Likewise for gpgme_op_verify.
* gpgsm/t-verify.c (main): Likewise for gpgme_op_verify.
* t-data.c (read_once_test): Likewise.
(write_test): Update for new behaviour of data objects.
(main): Remove type test.
2002-10-09 00:16:38 +00:00
|
|
|
gpgme_data_rewind DEPRECATED: Replaced by gpgme_data_seek().
|
|
|
|
gpgme_data_new_from_read_cb DEPRECATED: Replaced by gpgme_data_from_cbs().
|
|
|
|
gpgme_data_get_type REMOVED: No replacement.
|
|
|
|
gpgme_op_verify CHANGED: Take different data objects for
|
|
|
|
signed text and plain text.
|
|
|
|
gpgme_op_verify_start CHANGED: See gpgme_op_verify.
|
|
|
|
gpgme_check_engine REMOVED: Deprecated since 0.3.0.
|
2002-11-19 16:41:17 +00:00
|
|
|
gpgme_op_genkey CHANGED: New parameter FPR.
|
2002-12-04 16:28:34 +00:00
|
|
|
GPGME_KEYLIST_MODE_SIGS NEW
|
|
|
|
gpgme_key_sig_get_string_attr NEW
|
|
|
|
gpgme_key_sig_get_ulong_attr NEW
|
|
|
|
gpgme_get_key NEW
|
|
|
|
GPGME_ATTR_SIG_CLASS NEW
|
gpgme/
2002-10-08 Marcus Brinkmann <marcus@g10code.de>
New data object component:
* gpgme.h (GpgmeDataReadCb, GpgmeDataWriteCb, GpgmeDataSeekCb,
GpgmeDataReleaseCb): New types.
(struct GpgmeDataCbs): New structure.
(gpgme_data_read): Changed prototype to match that of read() closely.
(gpgme_data_write): Similar for write().
(gpgme_data_seek, gpgme_data_new_from_cbs, gpgme_data_new_from_fd,
gpgme_data_new_from_stream): New prototypes.
(gpgme_data_get_type, gpgme_check_engine): Prototype removed.
* Makefile.am (libgpgme_la_SOURCES): Add data.h, data-fd.c,
data-stream.c, data-mem.c, data-user.c and data-compat.c.
* data.c: Reimplemented from scratch.
* (data-compat.c, data-fd.c, data.h, data-mem.c, data-stream.c,
data-user.c): New file.
* context.h (struct gpgme_data_s): Removed.
* conversion.c: Include <errno.h> and <sys/types.h>.
(_gpgme_data_append): New function.
* data.c (_gpgme_data_append_string): Move to ...
* conversion.c (_gpgme_data_append_string): ... here.
* data.c (_gpgme_data_append_for_xml): Move to ...
* conversion.c (_gpgme_data_append_for_xml): ... here.
* data.c (_gpgme_data_append_string_for_xml): Move to ...
* conversion.c (_gpgme_data_append_string_for_xml): ... here.
* data.c (_gpgme_data_append_percentstring_for_xml): Move to ...
* conversion.c (_gpgme_data_append_percentstring_for_xml): ... here.
* ops.h (_gpgme_data_get_mode, _gpgme_data_set_mode): Prototype
removed.
* types.h (GpgmeDataMode): Type removed.
* decrypt.c (_gpgme_decrypt_start): Don't check data type or mode.
* edit.c (_gpgme_op_edit_start): Likewise.
* encrypt.c (_gpgme_op_encrypt_start): Likewise.
* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Likewise.
* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Likewise.
* export.c (_gpgme_op_export_start): Likewise.
* genkey.c (_gpgme_op_genkey_start): Likewise.
* import.c (_gpgme_op_import_start): Likewise.
* sign.c (_gpgme_op_sign_start): Likewise.
* verify.c (_gpgme_op_verify_start): Likewise.
* encrypt.c (gpgme_op_encrypt): Remove hack that returns invalid
no recipient if no data was returned.
* encrypt-sign.c (gpgme_op_encrypt_sign): Remove hack that returns
no recipient if no data was returned.
* encrypt-sign.c (gpgme_op_encrypt_sign): Remove hack that returns
no recipient if no data was returned.
* engine.c (_gpgme_engine_op_verify): Add new argument to
differentiate detached from normal signatures.
* engine.h (_gpgme_engine_op_verify): Likewise for prototype.
* engine-gpgsm.c (_gpgme_gpgsm_op_verify): Likewise. Don't check
mode of data argument.
* engine-gpgsm.h (_gpgme_gpgsm_op_verify): Likewise for prototype.
* gpgme.h (gpgme_op_verify_start): Likewise for prototype.
(gpgme_op_verify): Likewise for prototype.
* rungpg.c (_gpgme_gpg_op_verify): Likewise.
* rungpg.h (_gpgme_gpg_op_verify): Likewise for prototype.
* verify.c (_gpgme_op_verify_start): Likewise.
(gpgme_op_verify_start): Likewise.
(gpgme_op_verify): Likewise.
* rungpg.c (struct arg_and_data_s): New member INBOUND to hold
direction of data object.
(_gpgme_gpg_add_data): Add new argument INBOUND. Use it to
determine direction of data object.
(_gpgme_gpg_add_pm_data, _gpgme_gpg_set_command_handler,
_gpgme_gpg_op_decrypt, _gpgme_gpg_op_edit, _gpgme_gpg_op_encrypt,
_gpgme_gpg_op_encrypt_sign, _gpgme_gpg_op_export,
_gpgme_gpg_op_genkey, _gpgme_gpg_op_import, _gpgme_gpg_op_sign,
_gpgme_gpg_op_verify): Add new argument to _gpgme_gpg_add_data
invocation.
(build_argv): Use new member INBOUND to determine direction of
file descriptor. Don't check the data type.
* rungpg.h (_gpgme_gpg_add_data): Add new argument to prototype.
* gpgme.c (gpgme_get_op_info): Don't call
_gpgme_data_get_as_string if CTX->op_info is NULL.
* version.c (gpgme_check_engine): Function removed.
tests/
2002-10-09 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-decrypt.c (print_data): Update to new gpgme_data_read
interface, and use gpgme_engine_check_version instead
gpgme_check_version.
* gpg/t-decrypt-verify.c (print_data): Likewise.
* gpg/t-edit.c (main): Likewise.
* gpg/t-encrypt.c (print_data): Likewise.
* gpg/t-encrypt-sign.c (print_data): Likewise.
* gpg/t-encrypt-sym.c (print_data): Likewise.
* gpg/t-eventloop.c (print_data): Likewise.
* gpg/t-export.c (print_data): Likewise.
* gpg/t-sign.c (print_data): Likewise.
* gpg/t-signers.c (print_data): Likewise.
* gpgsm/t-decrypt.c (print_data): Likewise.
* gpgsm/t-encrypt.c (print_data): Likewise.
* gpgsm/t-export.c (print_data): Likewise.
* gpgsm/t-sign.c (print_data): Likewise.
* gpg/t-verify.c (main): Likewise for gpgme_op_verify.
* gpgsm/t-verify.c (main): Likewise for gpgme_op_verify.
* t-data.c (read_once_test): Likewise.
(write_test): Update for new behaviour of data objects.
(main): Remove type test.
2002-10-09 00:16:38 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2002-09-20 13:33:42 +00:00
|
|
|
|
2004-12-07 21:24:03 +00:00
|
|
|
Noteworthy changes in version 0.3.16 (2003-11-19)
|
|
|
|
-------------------------------------------------
|
|
|
|
|
|
|
|
* Compatibility fixes for GnuPG 1.9.x
|
|
|
|
|
2003-04-24 13:46:27 +00:00
|
|
|
Noteworthy changes in version 0.3.15 (2003-02-18)
|
|
|
|
-------------------------------------------------
|
|
|
|
|
|
|
|
* The progress status is sent via the progress callbacks in
|
|
|
|
gpgme_op_edit.
|
|
|
|
|
|
|
|
* Bug fix for signing operations with explicit signer settings for
|
|
|
|
the CMS protocol.
|
|
|
|
|
2002-12-22 13:55:00 +00:00
|
|
|
Noteworthy changes in version 0.3.14 (2002-12-04)
|
|
|
|
-------------------------------------------------
|
|
|
|
|
|
|
|
* GPGME-Plug is now in its own package "cryptplug".
|
|
|
|
|
|
|
|
* Workaround for a setlocale problem. Fixed a segv related to not
|
|
|
|
correctly as closed marked file descriptors.
|
|
|
|
|
2002-11-28 19:39:48 +00:00
|
|
|
Noteworthy changes in version 0.3.13 (2002-11-20)
|
|
|
|
-------------------------------------------------
|
|
|
|
|
|
|
|
* Release due to changes in gpgmeplug.
|
|
|
|
|
|
|
|
Noteworthy changes in version 0.3.12 (2002-10-15)
|
|
|
|
-------------------------------------------------
|
|
|
|
|
2012-05-02 08:30:09 +00:00
|
|
|
* Fixed some bux with key listings.
|
2002-11-28 19:39:48 +00:00
|
|
|
|
|
|
|
* The development has been branched to clean up some API issues.
|
|
|
|
This 0.3 series will be kept for compatibility reasons; so do don't
|
|
|
|
expect new features.
|
|
|
|
|
2002-09-20 11:48:27 +00:00
|
|
|
Noteworthy changes in version 0.3.11 (2002-09-20)
|
|
|
|
-------------------------------------------------
|
2012-05-02 08:30:09 +00:00
|
|
|
|
2002-09-20 11:48:27 +00:00
|
|
|
* Bug fixes.
|
|
|
|
|
2002-09-01 22:30:28 +00:00
|
|
|
Noteworthy changes in version 0.3.10 (2002-09-02)
|
2002-08-21 00:52:06 +00:00
|
|
|
-------------------------------------------------
|
|
|
|
|
2002-08-29 11:58:41 +00:00
|
|
|
* Setting the signing keys for the CMS protocol does now work.
|
|
|
|
|
2002-09-01 22:24:58 +00:00
|
|
|
* The signers setting is honoured by gpgme_op_edit.
|
2002-08-29 11:58:41 +00:00
|
|
|
|
2002-08-21 00:09:52 +00:00
|
|
|
Noteworthy changes in version 0.3.9 (2002-08-21)
|
2002-06-25 19:22:12 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2002-07-02 20:43:25 +00:00
|
|
|
* A spec file for creating RPMs has been added.
|
2002-07-02 09:08:21 +00:00
|
|
|
|
2002-07-28 18:45:52 +00:00
|
|
|
* An experimental interface to GnuPG's --edit-key functionality is
|
2002-08-21 00:09:52 +00:00
|
|
|
introduced, see gpgme_op_edit.
|
|
|
|
|
|
|
|
* The new gpgme_import_ext function provides a convenient access to
|
|
|
|
the number of processed keys.
|
2002-07-28 18:45:52 +00:00
|
|
|
|
2002-06-25 19:22:12 +00:00
|
|
|
* Interface changes relative to the 0.3.8 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2002-07-28 18:45:52 +00:00
|
|
|
GpgmeStatusCode NEW
|
|
|
|
GpgmeEditCb NEW
|
|
|
|
gpgme_op_edit_start NEW
|
|
|
|
gpgme_op_edit NEW
|
2002-08-21 00:09:52 +00:00
|
|
|
gpgme_op_import_ext NEW
|
2002-06-25 19:22:12 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2002-06-25 18:32:20 +00:00
|
|
|
Noteworthy changes in version 0.3.8 (2002-06-25)
|
2002-06-04 12:28:17 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2002-06-14 19:40:55 +00:00
|
|
|
* It is possible to use an outside event loop for the I/O to the
|
|
|
|
crypto engine by setting the I/O callbacks with gpgme_set_io_cbs.
|
|
|
|
|
2002-06-04 12:28:17 +00:00
|
|
|
* Interface changes relative to the 0.3.6 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2002-06-14 19:40:55 +00:00
|
|
|
GpgmeIOCb NEW
|
|
|
|
GpgmeRegisterIOCb NEW
|
|
|
|
GpgmeRemoveIOCb NEW
|
|
|
|
GpgmeEventIO NEW
|
|
|
|
GpgmeEventIOCb NEW
|
|
|
|
struct GpgmeIOCbs NEW
|
|
|
|
gpgme_set_io_cbs NEW
|
|
|
|
gpgme_get_io_cbs NEW
|
2002-06-14 20:05:26 +00:00
|
|
|
GPGME_ATTR_ERRTOK NEW
|
2002-06-04 12:28:17 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2002-06-04 12:19:00 +00:00
|
|
|
Noteworthy changes in version 0.3.7 (2002-06-04)
|
2002-05-03 20:08:21 +00:00
|
|
|
------------------------------------------------
|
|
|
|
|
2002-06-04 12:19:00 +00:00
|
|
|
* GPGME_ATTR_OTRUST is implemented now.
|
|
|
|
|
|
|
|
* A first step toward thread safeness has been achieved, see the
|
|
|
|
documentation for details. Supported thread libraries are pthread
|
|
|
|
and Pth.
|
2002-05-03 20:08:21 +00:00
|
|
|
|
2002-05-03 19:49:04 +00:00
|
|
|
Noteworthy changes in version 0.3.6 (2002-05-03)
|
|
|
|
------------------------------------------------
|
|
|
|
|
2002-06-25 18:32:20 +00:00
|
|
|
* All error output of the gpgsm backend is send to the bit bucket.
|
2002-05-03 19:49:04 +00:00
|
|
|
|
|
|
|
* The signature verification functions are extended. Instead of
|
|
|
|
always returning GPGME_SIG_STATUS_GOOD, the functions new codes for
|
|
|
|
expired signatures. 2 new functions may be used to retrieve more
|
|
|
|
detailed information like the signature expiration time and a
|
|
|
|
validity information of the key without an extra key looking.
|
2002-05-03 14:06:56 +00:00
|
|
|
|
2002-04-22 21:58:26 +00:00
|
|
|
* The current passphrase callback and progress meter callback can be
|
|
|
|
retrieved with the new functions gpgme_get_passphrase_cb and
|
|
|
|
gpgme_get_progress_cb respectively.
|
|
|
|
|
|
|
|
* Interface changes relative to the 0.3.5 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_get_passphrase_cb NEW
|
|
|
|
gpgme_get_progress_cb NEW
|
2002-04-27 12:16:48 +00:00
|
|
|
GpgmeDataEncoding NEW
|
|
|
|
gpgme_data_set_encoding NEW
|
|
|
|
gpgme_data_get_encoding NEW
|
2002-05-03 14:06:56 +00:00
|
|
|
GPGME_SIG_STAT_GOOD_EXP NEW
|
|
|
|
GPGME_SIG_STAT_GOOD_EXPKEY NEW
|
|
|
|
gpgme_op_verify CHANGED: Returns more status codes.
|
|
|
|
GPGME_ATTR_SIG_STATUS NEW
|
|
|
|
gpgme_get_sig_string_attr NEW
|
|
|
|
gpgme_get_sig_ulong_attr NEW
|
2002-05-03 18:20:24 +00:00
|
|
|
gpgme_get_protocol NEW
|
2002-04-22 21:58:26 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2002-04-01 08:40:10 +00:00
|
|
|
Noteworthy changes in version 0.3.5 (2002-04-01)
|
|
|
|
------------------------------------------------
|
|
|
|
|
2002-03-06 01:40:25 +00:00
|
|
|
* gpgme_op_encrypt can be called with RECIPIENTS being 0. In this
|
|
|
|
case, symmetric encryption is performed. Note that this requires a
|
|
|
|
passphrase from the user.
|
|
|
|
|
2002-03-28 17:43:02 +00:00
|
|
|
* More information is returned for X.509 certificates.
|
|
|
|
|
2002-03-06 01:40:25 +00:00
|
|
|
* Interface changes relative to the 0.3.4 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_op_encrypt EXTENDED: Symmetric encryption possible
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2002-03-04 11:16:11 +00:00
|
|
|
Noteworthy changes in version 0.3.4 (2002-03-04)
|
|
|
|
------------------------------------------------
|
2002-02-25 18:31:07 +00:00
|
|
|
|
2002-02-27 00:59:31 +00:00
|
|
|
* gpgme_op_encrypt does now fail with GPGME_Invalid_Recipients if
|
|
|
|
some recipients have been invalid, whereas earlier versions
|
|
|
|
succeeded in this case. The plaintext is still encrypted for all valid
|
|
|
|
recipients, so the application might take this error as a hint that
|
|
|
|
the ciphertext is not usable for all requested recipients.
|
|
|
|
Information about invalid recipients is available with gpgme_get_op_info.
|
|
|
|
|
2002-03-03 16:46:33 +00:00
|
|
|
* gpgme_op_verify now allows to pass an uninitialized data object as
|
|
|
|
its plaintext argument to check for normal and cleartext
|
|
|
|
signatures. The plaintext is then returned in the data object.
|
|
|
|
|
2002-02-25 18:31:07 +00:00
|
|
|
* New interfaces gpgme_set_include_certs and gpgme_get_include_certs
|
|
|
|
to set and get the number of certifications to include in S/MIME
|
|
|
|
signed messages.
|
|
|
|
|
2002-02-26 00:08:09 +00:00
|
|
|
* New interfaces gpgme_op_encrypt_sign and gpgme_op_encrypt_sign_start
|
|
|
|
to encrypt and sign a message in a combined operation.
|
|
|
|
|
2002-02-27 00:59:31 +00:00
|
|
|
* New interface gpgme_op_keylist_ext_start to search for multiple patterns.
|
2002-02-26 23:39:58 +00:00
|
|
|
|
2002-03-03 17:37:34 +00:00
|
|
|
* gpgme_key_get_ulong_attr supports the GPGME_ATTR_EXPIRE attribute.
|
|
|
|
|
2002-02-25 18:31:07 +00:00
|
|
|
* Interface changes relative to the 0.3.3 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2002-02-26 23:39:58 +00:00
|
|
|
gpgme_op_encrypt CHANGED: Can fail with GPGME_Invalid_Recipients
|
2002-03-03 16:46:33 +00:00
|
|
|
gpgme_op_verify EXTENDED: Accepts uninitialized text argument
|
2002-03-03 17:37:34 +00:00
|
|
|
gpgme_key_get_ulong_attr EXTENDED: Supports GPGME_ATTR_EXPIRE
|
2002-02-25 18:31:07 +00:00
|
|
|
gpgme_set_include_certs NEW
|
|
|
|
gpgme_get_include_certs NEW
|
2002-02-26 00:08:09 +00:00
|
|
|
gpgme_op_encrypt_sign NEW
|
|
|
|
gpgme_op_encrypt_sign_start NEW
|
2002-02-27 00:59:31 +00:00
|
|
|
gpgme_op_keylist_ext_start NEW
|
2002-02-25 18:31:07 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2002-02-12 22:08:10 +00:00
|
|
|
Noteworthy changes in version 0.3.3 (2002-02-12)
|
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
* Fix the Makefile in jnlib.
|
|
|
|
|
|
|
|
* Fix the test suite (hopefully). It should clean up all its state
|
|
|
|
with `make check' now.
|
|
|
|
|
|
|
|
|
2002-02-10 13:31:36 +00:00
|
|
|
Noteworthy changes in version 0.3.2 (2002-02-10)
|
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
* Remove erroneous dependency on libgcrypt in jnlib.
|
|
|
|
|
|
|
|
|
2002-02-09 00:26:58 +00:00
|
|
|
Noteworthy changes in version 0.3.1 (2002-02-09)
|
|
|
|
------------------------------------------------
|
|
|
|
|
2002-01-22 15:32:44 +00:00
|
|
|
* There is a Texinfo manual documenting the API.
|
|
|
|
|
2002-02-06 00:08:47 +00:00
|
|
|
* The gpgme_set_keylist_mode function returns an error, and changed
|
|
|
|
its meaning. It is no longer usable to select between normal and
|
|
|
|
fast mode (newer versions of GnuPG will always be fast), but
|
|
|
|
selects between local keyring, remote keyserver, or both.
|
|
|
|
For this, two new macros are defined, GPGME_KEYLIST_MODE_LOCAL
|
|
|
|
and GPGME_KEYLIST_MODE_EXTERN. To make it possible to modify the
|
2018-11-08 05:34:27 +00:00
|
|
|
current setting, a function gpgme_get_keylist_mode was added to
|
2002-02-06 00:08:47 +00:00
|
|
|
retrieve the current mode.
|
|
|
|
|
2002-02-06 01:20:49 +00:00
|
|
|
* gpgme_wait accepts a new argument STATUS to return the error status
|
|
|
|
of the operation on the context. Its definition is closer to
|
|
|
|
waitpid() now than before.
|
|
|
|
|
2002-01-22 15:21:42 +00:00
|
|
|
* The LENGTH argument to gpgme_data_new_from_filepart changed its
|
|
|
|
type from off_t to the unsigned size_t.
|
|
|
|
|
2002-01-22 15:32:44 +00:00
|
|
|
* The R_HD argument to the GpgmePassphraseCb type changed its type
|
|
|
|
from void* to void**.
|
2002-01-16 00:44:28 +00:00
|
|
|
|
|
|
|
* New interface gpgme_op_trustlist_end() to match
|
2002-01-30 01:47:29 +00:00
|
|
|
gpgme_op_keylist_end().
|
2002-01-16 00:44:28 +00:00
|
|
|
|
2002-01-22 16:55:58 +00:00
|
|
|
* The CryptPlug modules have been renamed to gpgme-openpgp and
|
|
|
|
gpgme-smime, and they are installed in pkglibdir by `make install'.
|
|
|
|
|
2002-01-30 01:47:29 +00:00
|
|
|
* An idle function can be registered with gpgme_register_idle().
|
2002-01-29 22:58:25 +00:00
|
|
|
|
2002-02-09 00:26:58 +00:00
|
|
|
* The GpgSM backend supports key generation with gpgme_op_genkey().
|
|
|
|
|
2002-01-22 15:21:42 +00:00
|
|
|
* Interface changes relative to the 0.3.0 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_data_new_from_filepart CHANGED: Type of LENGTH is size_t.
|
2002-01-22 15:32:44 +00:00
|
|
|
GpgmePassphraseCb CHANGED: Type of R_HD is void **.
|
2002-02-06 01:20:49 +00:00
|
|
|
gpgme_wait CHANGED: New argument STATUS.
|
2002-02-06 00:08:47 +00:00
|
|
|
gpgme_set_keylist_mode CHANGED: Type of return value is GpgmeError.
|
|
|
|
The function has a new meaning!
|
|
|
|
gpgme_get_keylist_mode NEW
|
|
|
|
GPGME_KEYLIST_MODE_LOCAL NEW
|
|
|
|
GPGME_KEYLIST_MODE_EXTERN NEW
|
2002-01-22 15:21:42 +00:00
|
|
|
gpgme_op_trustlist_next NEW
|
2002-01-29 22:58:25 +00:00
|
|
|
GpgmeIdleFunc NEW
|
|
|
|
gpgme_register_idle NEW
|
2002-01-22 15:21:42 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2001-12-18 23:51:20 +00:00
|
|
|
Noteworthy changes in version 0.3.0 (2001-12-19)
|
|
|
|
------------------------------------------------
|
2012-05-02 08:30:09 +00:00
|
|
|
|
2001-12-18 22:22:18 +00:00
|
|
|
* New interface gpgme_set_protocol() to set the protocol and thus the
|
|
|
|
crypto engine to be used by the context. Currently, the OpenPGP
|
|
|
|
and the CMS protocols are supported. They are specified by the new
|
|
|
|
preprocessor symbols GPGME_PROTOCOL_OpenPGP and GPGME_PROTOCOL_CMS.
|
|
|
|
A new context uses the OpenPGP engine by default.
|
|
|
|
|
|
|
|
* gpgme_get_engine_info() returns information for all crypto engines
|
|
|
|
compiled into the library. The XML format has changed. To
|
|
|
|
reliably get the version of a crypto engine, the <version> tag
|
|
|
|
after the appropriate <protocol> tag has to be looked for.
|
|
|
|
|
|
|
|
* New interface gpgme_engine_check_version(), obsoleting
|
|
|
|
gpgme_check_engine(). Check the version of all engines you are
|
|
|
|
supporting in your software.
|
|
|
|
|
2001-12-18 19:54:00 +00:00
|
|
|
* GpgmeKey lists the user ids in the order as they are returned by
|
|
|
|
GnuPG, first the primary key with index 0, then the sub-user ids.
|
|
|
|
|
2001-12-14 01:39:05 +00:00
|
|
|
* New operation gpgme_op_decrypt_verify() to decrypt and verify
|
2001-11-16 01:44:49 +00:00
|
|
|
signatures simultaneously.
|
|
|
|
|
2001-12-18 22:54:49 +00:00
|
|
|
* The new interface gpgme_op_keylist_end() terminates a pending
|
|
|
|
keylist operation. A keylist operation is also terminated when
|
|
|
|
gpgme_op_keylist_next() returns GPGME_EOF.
|
|
|
|
|
2001-12-14 01:39:05 +00:00
|
|
|
* GPGME can be compiled without GnuPG being installed (`--with-gpg=PATH'),
|
|
|
|
cross-compiled, or even compiled without support for GnuPG
|
|
|
|
(`--without-gpg').
|
|
|
|
|
|
|
|
* GPGME can be compiled with support for GpgSM (GnuPG for S/MIME,
|
|
|
|
`--with-gpgsm=PATH'). It is enabled by default if the `gpgsm' is found
|
|
|
|
in the path, but it can also be compiled without support for GpgSM
|
|
|
|
(`--without-gpgsm').
|
|
|
|
|
|
|
|
* CryptPlug modules for GPGME are included and can be enabled at
|
|
|
|
configure time (`--enable-gpgmeplug'). There is one module which
|
|
|
|
uses the GnuPG engine (`gpgmeplug') and one module which uses the
|
|
|
|
GpgSM engine (`gpgsmplug').
|
|
|
|
|
2002-01-22 15:21:42 +00:00
|
|
|
* Interface changes relative to the latest 0.2.x release:
|
2001-12-18 22:22:18 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
gpgme_key_get_as_xml CHANGED: Sub-user ids reversed in order.
|
|
|
|
gpgme_key_get_string_attr CHANGED: User ids reversed in order.
|
|
|
|
gpgme_key_get_ulong_attr CHANGED: User ids reversed in order.
|
|
|
|
gpgme_get_engine_info CHANGED: New format, extended content.
|
|
|
|
gpgme_engine_check_version NEW
|
|
|
|
gpgme_decrypt_verify_start NEW
|
|
|
|
gpgme_decrypt_verify NEW
|
2001-12-18 22:54:49 +00:00
|
|
|
gpgme_op_keylist_next NEW
|
2001-12-18 22:22:18 +00:00
|
|
|
gpgme_set_protocol NEW
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2001-12-14 01:39:05 +00:00
|
|
|
|
2001-09-17 08:25:36 +00:00
|
|
|
Noteworthy changes in version 0.2.3 (2001-09-17)
|
|
|
|
------------------------------------------------
|
2001-08-28 11:11:10 +00:00
|
|
|
|
|
|
|
* New function gpgme_get_op_info which can be used to get the micalg
|
|
|
|
parameter needed for MOSS.
|
|
|
|
|
2001-09-17 08:25:36 +00:00
|
|
|
* New functions gpgme_get_armor and gpgme_get_textmode.
|
|
|
|
|
|
|
|
* The usual bug fixes and some minor functionality improvements.
|
|
|
|
|
|
|
|
* Added a simple encryption component for MS-Windows; however the
|
|
|
|
build procedure might have some problems.
|
2001-09-17 10:36:05 +00:00
|
|
|
|
2001-12-14 01:39:05 +00:00
|
|
|
|
2001-06-12 07:37:15 +00:00
|
|
|
Noteworthy changes in version 0.2.2 (2001-06-12)
|
|
|
|
------------------------------------------------
|
2012-05-02 08:30:09 +00:00
|
|
|
|
2001-06-12 07:37:15 +00:00
|
|
|
* Implemented a key cache.
|
|
|
|
|
|
|
|
* Fixed a race condition under W32 and some other bug fixes.
|
|
|
|
|
|
|
|
|
2001-04-02 08:40:32 +00:00
|
|
|
Noteworthy changes in version 0.2.1 (2001-04-02)
|
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
* Changed debug output and GPGME_DEBUG variable (gpgme/debug.c)
|
|
|
|
|
|
|
|
* Handle GnuPG's new key capabilities output and support revocation
|
|
|
|
et al. attributes
|
|
|
|
|
|
|
|
* Made the W32 support more robust.
|
|
|
|
|
|
|
|
|
2010-01-05 17:36:53 +00:00
|
|
|
Copyright 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009,
|
|
|
|
2010 g10 Code GmbH
|
2001-04-02 08:40:32 +00:00
|
|
|
|
|
|
|
This file is free software; as a special exception the author gives
|
|
|
|
unlimited permission to copy and/or distribute it, with or without
|
|
|
|
modifications, as long as this notice is preserved.
|
|
|
|
|
|
|
|
This file is distributed in the hope that it will be useful, but
|
|
|
|
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
|
|
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|