2002-12-23 21:28:35 +00:00
|
|
|
Noteworthy changes in version 0.4.1 (unreleased)
|
|
|
|
------------------------------------------------
|
|
|
|
|
2002-12-23 22:34:25 +00:00
|
|
|
* GPGME_ATTR_IS_SECRET is not anymore representable as a string.
|
|
|
|
|
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
|
|
|
|
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
|
|
|
* GpgmeIOCb changed from a void function to a function returning a
|
|
|
|
GpgmeError value. However, it will always return 0, so you can
|
|
|
|
safely ignore the return value.
|
|
|
|
|
|
|
|
* 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
|
|
|
|
string, an info structure of the new type GpgmeEngineInfo is
|
|
|
|
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
|
|
|
|
GpgmeProtocol value into a string.
|
|
|
|
|
2003-02-06 20:09:24 +00:00
|
|
|
* The GpgmePassphraseCb type now returns a GpgmeError value, and
|
|
|
|
returns the password string in a new parameter. The gpgme_cancel
|
|
|
|
function has been removed, just return GPGME_Canceled in the
|
|
|
|
passphrase callback directly.
|
|
|
|
|
2003-04-25 11:31:14 +00:00
|
|
|
* The status of a context operation is not checked anymore, so the
|
|
|
|
errors GPGME_Busy and GPGME_No_Request can not occur anymore.
|
|
|
|
|
2003-04-24 14:33:13 +00:00
|
|
|
* For clarity and better reusability, the error codes
|
|
|
|
GPGME_No_Recipients, GPGME_Invalid_Recipient and
|
|
|
|
GPGME_No_Passphrase have been renamed to GPGME_No_UserID,
|
|
|
|
GPGME_Invalid_UserID and GPGME_Bad_Passphrase resp.
|
|
|
|
|
2003-04-24 17:16:28 +00:00
|
|
|
* The FPR argument to gpgme_op_genkey was removed. Instead, use the
|
|
|
|
gpgme_op_genkey_result function to retrieve a GpgmeGenKeyResult
|
|
|
|
pointer to a structure which contains the fingerprint. This also
|
|
|
|
works with gpgme_op_genkey. The structure also provides other
|
|
|
|
information about the generated keys.
|
|
|
|
|
2003-04-24 17:28:05 +00:00
|
|
|
So, instead:
|
|
|
|
|
|
|
|
char *fpr;
|
|
|
|
err = gpgme_op_genkey (ctx, NULL, NULL, &fpr);
|
|
|
|
if (!err && fpr)
|
|
|
|
printf ("%s\n", fpr);
|
|
|
|
|
|
|
|
you should now do:
|
|
|
|
|
|
|
|
GpgmeGenKeyResult result;
|
|
|
|
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
|
|
|
|
GpgmeImportResult and GpgmeImportStatus objects. Thus, the
|
|
|
|
gpgme_op_import_ext variant is deprecated.
|
|
|
|
|
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
|
|
|
|
about the result of a signing operation in GpgmeSignResult,
|
|
|
|
GpgmeInvalidUserID and GpgmeNewSignature objects.
|
|
|
|
|
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.
|
|
|
|
|
2002-12-23 22:34:25 +00:00
|
|
|
* Interface changes relative to the 0.4.0 release:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
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
|
|
|
GpgmeIOCb CHANGED: Return type from void to GpgmeError.
|
|
|
|
GpgmeEventIO CHANGED: New event type (all numbers changed).
|
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-01-30 11:58:42 +00:00
|
|
|
GpgmeEngineInfo NEW
|
|
|
|
gpgme_get_engine_info CHANGED: Return info structure instead XML.
|
|
|
|
gpgme_get_protocol_name NEW
|
2003-02-06 20:09:24 +00:00
|
|
|
GpgmePassphraseCb CHANGED: Return error value, new argument.
|
|
|
|
gpgme_cancel REMOVED: Return error in callback directly.
|
2003-04-25 11:31:14 +00:00
|
|
|
GPGME_Busy DEPRECATED: Not in use.
|
|
|
|
GPGME_No_Request DEPRECATED: Not in use.
|
|
|
|
GPGME_No_Recipients DEPRECATED: Use GPGME_No_UserID.
|
|
|
|
GPGME_No_UserID NEW
|
|
|
|
GPGME_Invalid_Recipient DEPRECATED: Use GPGME_Invalid_UserID.
|
|
|
|
GPGME_Invalid_UserID NEW
|
|
|
|
GPGME_No_Passphrase DEPRECATED: Use GPGME_Bad_Passphrase.
|
|
|
|
GPGME_Bad_Passphrase NEW
|
2003-04-24 17:16:28 +00:00
|
|
|
gpgme_op_genkey CHANGED: FPR argument dropped.
|
|
|
|
gpgme_op_genkey_result NEW
|
|
|
|
GpgmeGenKeyResult 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
|
|
|
|
GpgmeImportStatus NEW
|
doc/
2003-04-27 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Deleting Keys): Document
GPGME_Ambiguous_Specification.
(Error Values): Remove GPGME_Invalid_Type and GPGME_Invalid_Mode.
Add 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.
gpgme/
2003-04-27 Marcus Brinkmann <marcus@g10code.de>
* delete.c: Include <errno.h> and "gpgme.h", but not "util.h" or
"key.h".
(enum delete_problem): Move into function delete_status_handler.
(delete_status_handler): Change first argument to void *. Parse
delete problem with strtol instead atoi. Return better error
values.
(_gpgme_op_delete_start): Rename to ...
(delete_start): ... this. Rework error handling.
(gpgme_op_delete_start): Use delete_start instead
_gpgme_op_delete_start.
(gpgme_op_delete): Likewise.
* gpgme.h (GpgmeDataType): Removed.
2003-04-27 17:35:42 +00:00
|
|
|
GpgmeImportResult 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
|
|
|
GpgmePubKeyAlgo NEW
|
|
|
|
GpgmeHashAlgo NEW
|
|
|
|
GpgmeInvalidUserID NEW
|
|
|
|
GpgmeNewSignature NEW
|
|
|
|
GpgmeSignResult NEW
|
|
|
|
gpgme_op_sign_result NEW
|
|
|
|
gpgme_pubkey_algo_name NEW
|
|
|
|
gpgme_hash_algo_name NEW
|
2003-04-27 22:24:37 +00:00
|
|
|
GpgmeEncryptResult NEW
|
|
|
|
gpgme_op_encrypt_result NEW
|
2003-04-28 21:17:15 +00:00
|
|
|
GpgmeDecryptResult NEW
|
|
|
|
gpgme_op_decrypt_result NEW
|
2003-04-28 23:59:03 +00:00
|
|
|
GpgmeVerifyResult NEW
|
|
|
|
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-04-29 21:53:58 +00:00
|
|
|
GpgmeTrustItem CHANGED: Now has user accessible data members.
|
|
|
|
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.
|
2003-04-30 03:02:50 +00:00
|
|
|
GpgmeSubKey NEW
|
|
|
|
GpgmeKeySig NEW
|
|
|
|
GpgmeUserID NEW
|
|
|
|
GpgmeKey CHANGED: Now has user accessible data members.
|
|
|
|
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
|
|
|
|
GpgmeKeyListResult NEW
|
|
|
|
gpgme_op_keylist_result NEW
|
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
|
|
|
|
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)
|
|
|
|
-------------------------------------------------
|
|
|
|
|
|
|
|
* Fixed some bux with key listings.
|
|
|
|
|
|
|
|
* 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)
|
|
|
|
-------------------------------------------------
|
|
|
|
|
|
|
|
* 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
|
|
|
|
current setting, a fucntion gpgme_get_keylist_mode was added to
|
|
|
|
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)
|
|
|
|
------------------------------------------------
|
|
|
|
|
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)
|
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
|
|
|
2002-01-16 00:46:20 +00:00
|
|
|
Copyright 2001, 2002 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.
|