2003-04-28 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Verify): Rewritten to take into account new and
deprecated functions and data types.
gpgme/
2003-04-28 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (struct _gpgme_sig_notation): New structure.
(GpgmeSigNotation): New type.
(struct _gpgme_signature): New structure.
(GpgmeSignature): New type.
(struct _gpgme_op_verify_result): New structure.
(GpgmeVerifyResult): New type.
(gpgme_op_verify_result): New prototype.
(gpgme_get_notation): Remove prototype.
* ops.h (_gpgme_op_verify_init_result): New prototype.
(_gpgme_verify_status_handler): Change first argument to void *.
* util.h (_gpgme_decode_percent_string, _gpgme_map_gnupg_error):
New prototypes.
* conversion.c (_gpgme_decode_percent_string): New function.
(gnupg_errors): New static global.
(_gpgme_map_gnupg_error): New function.
* gpgme.c (gpgme_release): Don't release CTX->notation.
(gpgme_get_notation): Remove function.
* decrypt-verify.c (_gpgme_op_decrypt_verify_start): Call
_gpgme_op_verify_init_result.
* verify.c: Do not include <stdio.h>, <assert.h> and "key.h", but
do include "gpgme.h".
(struct verify_result): Replace with ...
(op_data_t): ... this type.
(release_verify_result): Remove function.
(release_op_data): New function.
(is_token): Remove function.
(skip_token): Remove function.
(copy_token): Remove function.
(gpgme_op_verify_result): New function.
(calc_sig_summary): Rewritten.
(finish_sig): Remove function.
(parse_new_sig): New function.
(parse_valid_sig): New function.
(parse_notation): New function.
(parse_trust): New function.
(parse_error): New function.
(_gpgme_verify_status_handler): Rewritten. Change first argument
to void *.
(_gpgme_op_verify_start): Rework error handling. Call
_gpgme_op_verify_init_result.
(gpgme_op_verify): Do not release or clear CTX->notation.
(gpgme_get_sig_status): Rewritten.
(gpgme_get_sig_string_attr): Likewise.
(gpgme_get_sig_ulong_attr): Likewise.
(gpgme_get_sig_key): Likewise.
2003-04-28 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Decrypt): Descript gpgme_op_decrypt_result and
GpgmeDecryptResult.
gpgme
2003-04-28 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (struct _gpgme_op_decrypt_result): New structure.
(GpgmeDecryptResult): New type.
(gpgme_op_decrypt_result): New prototype.
* ops.h (_gpgme_op_decrypt_init_result): New prototype.
(_gpgme_decrypt_status_handler): Fix prototype.
(_gpgme_decrypt_start): Remove prototype.
* decrypt-verify.c: Do not include <stdio.h>, <stdlib.h>,
<string.h> and <assert.h>, "util.h" and "context.h", but
"gpgme.h".
(decrypt_verify_status_handler): Change first argument to void *,
and rework error handling.
(_gpgme_op_decrypt_verify_start): New function.
(gpgme_op_decrypt_verify_start): Rewrite using
_gpgme_op_decrypt_verify_start.
(gpgme_op_decrypt_verify): Likewise.
* decrypt.c: Include <string.h>, "gpgme.h" and "util.h".
(struct decrypt_result): Change to typedef op_data_t, rewritten.
(is_token): Remove function.
(release_op_data): New function.
(skip_token): Remove function.
(gpgme_op_decrypt_result): New function.
(_gpgme_decrypt_status_handler): Change first argument to void *.
Rework error handling.
(_gpgme_decrypt_start): Rename to ...
(decrypt_start): ... this. Call _gpgme_op_decrypt_init_result.
(_gpgme_op_decrypt_init_result): New function.
(gpgme_op_decrypt_start): Use decrypt_start.
(gpgme_op_decrypt): Likewise.
tests/
2003-04-28 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-decrypt.c: Rewritten.
2003-04-27 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Encrypting a Plaintext): Add info about
GpgmeEncryptResult and gpgme_op_encrypt_result.
gpgme/
2003-04-27 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (GpgmeEncryptResult): New data type.
(gpgme_op_encrypt_result): New prototype.
* ops.h (_gpgme_op_encrypt_init_result): New prototype.
(_gpgme_op_encrypt_status_handler): Fix prototype.
* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Call
_gpgme_op_encrypt_init_result.
* encrypt.c: Do not include <stdio.h>, <assert.h>, "util.h" and
"wait.h". Include <errno.h> and "gpgme.h".
(SKIP_TOKEN_OR_RETURN): Remove macro.
(struct encrypt_result): Rename to ...
(op_data_t): ... new data type. Rewrite for user result data.
(append_xml_encinfo): Remove function.
(release_op_data): New function.
(gpgme_op_encrypt_result): New function.
(_gpgme_op_encrypt_status_handler): Change first argument to void *.
Rewrite result parsing.
(_gpgme_op_encrypt_sym_status_handler): Change first argument to
void *.
(_gpgme_op_encrypt_init_result): New function.
(_gpgme_op_encrypt_start): Rename to ...
(encrypt_start): ... this.
(gpgme_op_encrypt_start): Use encrypt_start, not
gpgme_op_encrypt_start.
(gpgme_op_encrypt): Likewise.
tests/
2003-04-27 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-sign.c: Rewritten.
* gpgsm/t-sign.c: Rewritten.
* gpg/t-encrypt.c: Check for invalid recipients.
* gpgsm/t-encrypt.c: Likewise.
* gpgsm/Makefile.am (./gpgsm.conf): Add a faked system time to
avoid certification's expiry.
* gpgsm/t-encrypt.c (main): Use the short certification name.
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.
(main): Print operation info.
* engine-gpgsm.c (map_assuan_error): Map No_Data_Available to EOF.
* import.c (append_xml_impinfo): Kludge to print fingerprint
instead of keyid for use with gpgsm.
(import_status_handler): Set a flag to know whether any import
occured.
(gpgme_op_import): Reurn -1 if no certificate ewas imported.
* gpgme.texi (Importing Keys): Document the return value -1 of
gpgme_op_import.
* gpg/Makefile (TESTS_ENVIRONMENT): Set GPG_AGENT_INFO empty.
* gpg/t-signers.c, gpg/t-sign.c, gpg/t-encrypt-sym.c
* gpg/t-encrypt-sign.c, gpg/t-decrypt.c
* gpg/t-decrypt-verify.c (main): Changed the GPG_AGENT_INFO check to
match the one in ../../gpgme/rungpg.c.
* gpgsm/t-keylist.c (doit): Print operation info if available.
gpgme/
* keylist.c (struct keylist_result_s): New.
(_gpgme_release_keylist_result): Release it here
(keylist_status_handler): Handle truncated.
(append_xml_keylistinfo): New.
* gpgme.c (_gpgme_release_result): and use it here.
* types.h: Declare the new type here.
* context.h (struct gpgme_context_s): Use it here.
* gpgsm/Makefile.am (./trustlist.txt): Put more into this file to
prevent use of gpg-agent.
(./gpg-agent.conf): Remove target.
(all-local): Remove ./gpg-agent.conf.
* configure.ac (GPG): Substitute this variable.
(GPGSM): Likewise.
tests/
CVS2001-12-14 Marcus Brinkmann <marcus@g10code.de>
* gpg/Makefile.am (GPG): Set to @GPG_PATH@.
(./pubring.gpg): Use $(GPG) instead gpg.
(./secring.gpg): Likewise.
* gpgsm/t-import.c (main): Remove third test case.
* gpgsm/Makefile.am (GPGSM): Set to @GPGSM@.
(all-local): New target.
(./pubcerts.kbx): Likewise.
* gpgsm/t-encrypt.c: New file.
* gpgsm/Makefile.am (TESTS): Add t-encrypt.
2001-12-14 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (struct gpgsm_object_s): New member colon.attic.
(_gpgme_gpgsm_new): Initialize some more members.
(_gpgme_gpgsm_release): Free the colon line handler's attic line.
(gpgsm_status_handler): Rework the inline-data processing.
tests/
2001-12-14 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/t-keylist.c: New file.
* gpgsm/Makefile.am (TESTS): Add t-keylist.