doc/
[gpgme.git] / gpgme / ChangeLog
index f2bf8b3..a69c048 100644 (file)
@@ -1,3 +1,283 @@
+2003-08-14  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpgme.h (struct _gpgme_new_signature): Rename member CLASS to
+       _OBSOLETE_CLASS, add member CLASS with type unsigned int.
+       * sign.c (parse_sig_created): Also set SIG->_unused_class for
+       backward compatibility.
+
+2003-08-04  Marcus Brinkmann  <marcus@g10code.de>
+
+       * verify.c (parse_new_sig): Fix status parsing case.
+
+2003-07-31  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpgme.h (struct _gpgme_subkey): Add flag CAN_AUTHENTICATE.
+       Lower _UNUSED to 23 bits.
+       (struct _gpgme_key): Likewise.
+       * keylist.c (set_mainkey_capability): Support 'a' and 'A'.
+       (set_subkey_capability): Support 'a'.
+
+       * keylist.c (gpgme_get_key): Check if there is more than one key
+       listed, and return GPG_ERR_AMBIGUOUS_NAME in that case.
+
+       * util.h (_gpgme_decode_c_string): Change type of LEN argument to
+       size_t.
+       (_gpgme_decode_percent_string): Likewise.
+       * conversion.c (_gpgme_decode_c_string): Likewise.
+       (_gpgme_decode_percent_string): Likewise.
+       (_gpgme_map_gnupg_error): Change type of I to unsigned int.
+       * signers.c (gpgme_signers_clear): Likewise.
+       (gpgme_signers_enum): New unsigned variable SEQNO, set to SEQ.
+       Use SEQNO instead SEQ.
+       * wait.c (fd_table_put): Change type of I and J to unsigned int.
+       * wait-global.c (_gpgme_wait_global_event_cb): Change type of IDX
+       to unsigned int.
+       (gpgme_wait): Change type of I and IDX to unsigned int.
+       * wait-private.c (_gpgme_wait_on_condition): Change type of IDX
+       and I to unsigned int.
+       * posix-io.c (_gpgme_io_close): Cast return value of macro DIM to
+       int to suppress gcc warning.
+       (_gpgme_io_set_close_notify): Likewise.
+       (_gpgme_io_select): Change type of I to unsigned int.
+       * engine.c (gpgme_get_engine_info): Change type of PROTO to
+       unsigned int.
+       * wait-user.c (_gpgme_user_io_cb_handler): Change type of IDX and
+       I to unsigned int.
+
+2003-07-29  Marcus Brinkmann  <marcus@g10code.de>
+
+       * decrypt-verify.c (decrypt_verify_status_handler): Expand silly
+       and wrong expression.
+       * encrypt-sign.c (encrypt_sign_status_handler): Likewise.
+       * encrypt.c (encrypt_sym_status_handler): Likewise.
+       * sign.c (sign_status_handler): Likewise.
+       * verify.c (verify_status_handler): Likewise.
+       * decrypt.c (decrypt_status_handler): Likewise.
+
+       * engine.c (gpgme_get_engine_info): Initialize NULL.
+
+2003-07-23  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpgme-config.in (gpg_error_libs): Quote GPG_ERROR_CFLAGS and
+       GPG_ERROR_LIBS when setting the corresponding variables.
+       Reported by St├ęphane Corth├ęsy.
+
+2003-07-22  Marcus Brinkmann  <marcus@g10code.de>
+
+       * engine-gpgsm.c (set_recipients): Move declaration of NEWLEN to
+       the beginning of the block.
+
+2003-06-22  Marcus Brinkmann  <marcus@g10code.de>
+
+       * data-mem.c (mem_write): Copy original buffer content.
+
+2003-06-22  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpgme.h (gpgme_user_ids_release, gpgme_user_ids_append): Remove
+       prototypes.
+
+2003-06-06  Marcus Brinkmann  <marcus@g10code.de>
+
+       * Makefile.am (AM_CPPFLAGS): Add @GPG_ERROR_CFLAGS@.
+       * gpgme-config.in (gpg_error_libs, gpg_error_cflags): New variables.
+       Print them.
+
+       * op-support.c (_gpgme_parse_inv_userid): Rename to
+       _gpgme_parse_inv_recp and change to new datatype.
+       * ops.h (_gpgme_parse_inv_key): Fix prototype.
+       * gpgme.h (struct _gpgme_invalid_user_id): Rename to
+       __gpgme_invalid_key.  Rename field ID to KEY.
+       (gpgme_invalid_user_id_t): Rename to gpgme_invalid_key_t.
+       (struct _gpgme_op_encrypt_result): Here, too.
+       (struct _gpgme_op_sign_result): Likewise.
+       * encrypt.c (struct op_data): Likewise.
+       (release_op_data): Likewise.
+       * sign.c (struct op_data): Likewise.
+       (release_op_data): Likewise.
+
+       * posix-io.c (_gpgme_io_read): Save errno across debug calls.
+       (_gpgme_io_write): Likewise.
+       (_gpgme_io_pipe): Likewise.
+       (_gpgme_io_select): Likewise.
+
+       * rungpg.c (struct engine_gpg): Remove arg_error.
+       (add_arg): Don't set arg_error.
+       (add_data): Likewise.
+       (start): Don't check arg_error.
+       (gpg_new): Check return value of add_arg.
+       * verify.c (parse_notation): Free allocated memory at error.
+
+2003-06-05  Marcus Brinkmann  <marcus@g10code.de>
+
+       Everywhere: Use libgpg-error error codes.
+
+       * Makefile.am (EXTRA_DIST): Remove mkerrors.
+       (BUILT_SOURCES): Remove errors.c.
+       (MOSTLYCLEANFILES): Likewise.
+       (libgpgme_la_SOURCES): Likewise.  Add error.c.
+       (errors.c): Remove target.
+       * mkerrors: File removed.
+       * error.c: New file.
+
+       * gpgme.h (gpgme_error_t): Change to type gpg_error_t.
+       (gpgme_err_code_t, gpgme_err_source_t): New types.
+       (gpgme_err_code, gpgme_err_source, gpgme_error, gpgme_err_make):
+       New static inline functions.
+       (gpgme_strsource, gpgme_err_code_from_errno,
+       gpgme_err_code_to_errno, gpgme_err_make_from_errno,
+       gpgme_error_from_errno): New prototypes.
+
+2003-05-29  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpgme.h (gpgme_op_export_start): Change second arg to const char *.
+       (gpgme_op_export): Likewise.
+       (gpgme_op_export_ext_start): New prototype.
+       (gpgme_op_export_ext): Likewise.
+       * engine.h: Likewise for _gpgme_engine_op_export and
+       _gpgme_engine_op_export_ext.
+       * engine-backend.h (struct engine_ops): Change second argument of
+       prototype of export to const char *, and add reserverd int as
+       third argument.  Add prototype for export_ext.
+       * engine.c (_gpgme_engine_op_export_ext): New function.
+       (_gpgme_engine_op_export): Change second argument of prototype of
+       export to const char *, and add reserverd int as third argument.
+       * rungpg.c (gpg_export): Change second argument of prototype of
+       export to const char *, and add reserverd int as third argument.
+       (gpg_export_ext): New function.
+       (gpg_keylist_ext): Break loop at error.
+       (_gpgme_engine_ops_gpg): Add gpg_export_ext.
+       * engine-gpgsm.c (gpgsm_export): Change second argument of
+       prototype of export to const char *, and add reserverd int as
+       third argument.
+       (gpgsm_export_ext): New function.
+       (_gpgme_engine_ops_gpgsm): Add gpgsm_export_ext.
+       * export.c (export_start): Change second argument of prototype of
+       export to const char *, and add reserverd int as third argument.
+       (gpgme_op_export_start): Likewise.
+       (export_ext_start): New function.
+       (gpgme_op_export_ext_start): Likewise.
+       (gpgme_op_export_ext): Likewise.
+
+       * gpgme.h (gpgme_keylist_mode_t): New type for anonymous enum.
+       (gpgme_sigsum_t): New type for anonymous enum.
+
+       * encrypt-sign.c (encrypt_sign_start): Check for errors earlier,
+       and return an error if RECP is not set.
+
+       * Makefile.am (libgpgme_la_SOURCES): Remove user-id.c.
+       * user-id.c: Remove file.
+       * ops.h: Remove prototype for _gpgme_user_ids_all_valid.
+       * gpgme.h (gpgme_encrypt_flags_t): New type.
+       (gpgme_op_encrypt_start): Change second parameter to type
+       gpgme_key_t[], and add third parameter.
+       (gpgme_op_encrypt): Likewise.
+       (gpgme_op_encrypt_sign_start): Likewise.
+       (gpgme_op_encrypt_sign): Likewise.
+       * encrypt.c (encrypt_start): Likewise.
+       (gpgme_op_encrypt_start): Likewise.
+       (gpgme_op_encrypt): Likewise.  Pass flags to engine.
+       * encrypt-sign.c (encrypt_sign_start): Likewise.
+       (gpgme_op_encrypt_sign_start): Likewise.
+       (gpgme_op_encrypt_sign): Likewise.
+       * engine-backend.h (struct engine_ops): Likewise for prototypes of
+       encrypt and encrypt_sign.
+       * engine.h: Likewise for prototypes of _gpgme_engine_op_encrypt
+       and _gpgme_engine_op_encrypt_sign.
+       * engine.c (_gpgme_engine_op_encrypt): Likewise.
+       (_gpgme_engine_op_encrypt_sign): Likewise.
+       * rungpg.c (gpg_encrypt): Likewise.
+       (gpg_encrypt_sign): Likewise.
+       * rungpg.c (gpg_encrypt): Check flags for always trust option.
+       * engine-gpgsm.c (gpgsm_encrypt): Likewise.
+       (set_recipients): Rewritten to use keys instead user IDs.
+       * rungpg.c (append_args_from_recipients): Rewritten to use keys
+       instead user IDs.
+       * encrypt.c (_gpgme_encrypt_status_handler): Change errors
+       returned to GPGME_Invalid_Key and GPGME_General_Error.
+
+2003-05-28  Marcus Brinkmann  <marcus@g10code.de>
+
+       * engine-gpgsm.c: Rename GpgsmObject to engine_gpgsm_t.
+       (struct gpgsm_object_s): Rename to struct engine_gpgsm.
+       * rungpg.c: Rename GpgObject to engine_gpg_t.
+       (struct gpg_object_s): Rename to struct engine_gpg.
+
+       * context.h (struct gpgme_context): Change EngineObject to
+       engine_object_t.
+       (enum ctx_op_data_type): Rename to ctx_op_data_id_t.
+       (ctx_op_data_t): New type.
+       (struct gpgme_context): Use it.
+       * ops.h (_gpgme_op_data_lookup): Use new type name.
+       * op-support.c (_gpgme_op_data_lookup): Likewise.
+       * engine.c: Rename EngineObject to engine_t in the file.  Also
+       EngineStatusHandler to engine_status_handler_t,
+       EngineCommandHandler to engine_command_handler_t and
+       EngineColonLineHandler to engine_colon_line_handler.    
+       * rungpg.c (start): Likewise.
+       * engine-gpgsm.c: Likewise.
+       * engine-backend.h (struct engine_ops): Likewise
+       * engine.h (struct engine_object_s): Rename to struct engine.
+       (EngineObject): Rename to engine_t.  Also everywhere else in the
+       file.
+       (EngineStatusHandler): Rename to engine_status_handler_t.
+       (EngineColonLineHandler): Rename to engine_colon_line_handler_t.
+       (EngineCommandHandler): Rename to engine_command_handler_t.
+
+       * engine-gpgsm.c (gpgsm_export): Fix bug in last change.
+
+       * 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.
+
+2003-05-27  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpgme.h (struct _gpgme_op_import_result): Add skipped_new_keys.
+       * import.c (parse_import_res): Add skipped_new_keys parser.
+
+       * op-support.c (_gpgme_parse_inv_userid): Add missing break
+       statements.
+       * encrypt.c (gpgme_op_encrypt): Use gpgme_error_t instead of int.
+
 2003-05-27  Marcus Brinkmann  <marcus@g10code.de>
 
        * encrypt.c (gpgme_op_encrypt_result): Use intermediate variable