2005-10-13 [colin] 1.9.15cvs39
[claws.git] / ChangeLog
index 9011f984155ce31c5605aaa0143c0cc56dddf4c9..550b06e46bb0cea39cdd6f3ecca108ec345ab0ef 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,227 @@
+2005-03-04
+
+       * version 1.0.3
+
+2005-03-04
+
+       * src/codeconv.[ch]: removed conv_unmime_header_overwrite() because
+         it had introduced buffer overflow.
+       * src/compose.c: compose_parse_header(): don't use
+         conv_unmime_header_overwrite() which introduced buffer overflow.
+
+2005-03-02
+
+       * src/compose.c: compose_destroy(): destroy paned only if it's not
+         attached to window. Fixed memory leak of popup menu.
+
+2005-02-28
+
+       * version 1.0.2
+
+2005-02-28
+
+       * src/compose.c: compose_parse_header(): generate References: from
+         In-Reply-To: even if the parent message doesn't have Message-Id:
+         (thanks to mori).
+
+2005-02-24
+
+       * src/compose.c: compose_write_attach(): force transfer encoding to
+         protect trailing spaces for PGP signing.
+
+2005-02-10
+
+       * src/compose.c: compose_write_file(): force transfer encoding to
+         protect trailing spaces for PGP signing (fixes incompatibility
+         between gnupg 1.2 and 1.4) (thanks to Thorsten Maerz).
+
+2005-02-02
+
+       * INSTALL, INSTALL.jp: modified description about gpgme.
+
+2005-02-01
+
+       * version 1.0.1
+
+2005-01-28
+
+       * src/select-keys.c: use_untrusted(): modified to use alertpanel().
+
+2005-01-28
+
+       * supported gpgme-1.0 (thanks to Toshio Kuratomi).
+
+2005-1-27
+
+       * src/passphrase.c: gpgmegtk_passphrase_cb(): Removed unused variables:
+         passphrase_cb_info_s *info and gpgme_ctx_t ctx.  The
+         passphrase_cb_info_s * was just to get the ctx.  The ctx is no longer
+         needed as gpgme1.0 returns a blank line as the passphrase when an
+         action is cancelled instead of calling gpgme_cancel on the context.
+       * src/rfc2015.c:
+         - sig_status_full(): Get rid of gpgme_error_t err as we no longer
+           invoke ant gpgme functions that can return an error.
+         - check_signature(): Initialize verifyresult to NULL and be sure it
+           has been set when using it to get a result string.
+         - rfc2015_create_signers_list(): gpg_error_t is not directly
+           comparable to the error types.  Use gpgme_err_code(err) to get the
+           type of error we are dealing with.
+         - pgp_sign(): Initialize result to NULL.  Catches potential bug on
+           error condition later in the function.
+         - rfc2015_sign():
+           + Initialize bytesRW to -1 which may prevent potential bugs on
+             error conditions.
+           + Remove siginfo.  It was replaced by micalg.
+       * src/select-keys.c:
+         - set_row(): When creating the string for the algorithm type, use a
+           normal int rather than a long int.
+         - fill_clist(): Use gpgme_err_code(err) to get type of error as
+           gpg_error_t is not directly comparable to GPG_ERR_* constants.
+         - select_btn_cb(): Remove char *s that temporarily holds the key
+           fingerprint as keylists are now built without using this.
+         - cmp_email(): Remove an extraneous return statement that was left in
+           accidentally when the new code went in above it.
+
+2005-1-27
+
+       * src/select-keys.c:
+         - include gtkdialog.h
+         - use_untrusted(): New function that creates a dialog to ask the user
+           whether to encrypt with an untrusted key.
+         - trust_key_cb(): Callback to use if the user wants to encrypt with
+           an untrusted key.
+         - do_not_trust_key_cb(): Callback to use if the user doesn't want to
+           encrypt with an untrusted key.
+         - select_btn_cb(): Utilize the use_untrusted function to make sure
+           the user wants to encrypt with an untrusted key.
+       * src/rfc2015.c: pgp_encrypt(): Use GPGME_ENCRYPT_ALWAYS_TRUST when
+         encrypting.  It is the responsibility of gpgmegtk_recipient_selection
+         to make sure the user knows if recipients are untrusted.
+
+2005-1-27
+
+       * src/textview.c:
+         - Add a new color entry for untrusted but valid signatures.
+         - textview_add_part(): Color untrusted signatures.
+       * src/rfc2015.c:
+         - Move sigstatus_to_string() and sig_status_with_name() functionality
+           into sigstatus.c: gpgmegtk_sig_status_to_string().
+       * src/sigstatus.c:
+         - gpgmegtk_sig_status_to_string(): Add a boolean name argument that
+           allows us to specify the output should display name information
+           or just a status string.
+           + Check if a signature was created by a trusted key and add that
+             information to the output of the function.
+         - Switch to the new gpgmegtk_sig_status_to_string function.
+       * src/sigstatus.h:
+         - Change the interface to gpgmegtk_sig_status_to_string().
+
+2005-1-27
+
+       * src/rfc2015.c:
+         - rfc2015_find_signature(): Changed to return an array of two
+           MimeInfo structs.  The first has the multipart/signed MimeInfo.
+           The second has the signature part of the MimeInfo.  This allows
+           us to work with messages that contain some mime information that
+           was signed and some that was not (as generated by mailman
+           mailing lists.)
+         - rfc2015_find_signature(): If the toplevel Content-Type is
+           multipart/mixed, recursively scan through the subparts for a
+           multipart/signed block.
+         - rfc2015_check_signature(): Use the new interface to
+           rfc2015_find_signature and free the data returned to us from it.
+       * src/rfc2015.h: Change the signature for rfc2015_find_signature().
+       * src/mimeview.c: Use the new interface to rfc2015_find_signature()
+         and free the data returned from it.
+
+2005-1-27
+
+       * src/rfc2015.c: sig_status_for_key(): Fix a segfault when the key is
+         not found in the user's keyring.
+
+2005-1-27
+
+       * Ported the code to gpgme-1.0.
+         - Many types have had their names changed to conform to GNU
+           standards.  For example, instances of GpgmeCtx have been changed to
+           gpgme_ctx_t.  These cosmetic alterations are not noted below.
+       * configure.in: Enable large file support because the gpgme library is
+         built with it.
+         - Update to require gpgme 0.4.5 or above.
+       * src/main.c: main(): replaced gpgme_check_engine with
+         several calls that do the equivalent in gpgme 0.4.5 and above:
+         gpgme_check_version, gpgme_set_locale, gpgme_get_engine_info,
+         and gpgme_get_protocol_name are used.
+         - Remove gpgme_register_idle callback.  The gpgme library will now
+           block while processing instead of periodically allowing the gtk
+           mainloop to run.  This can be fixed by interfacing to the gpgme
+           io callback interface if anyone has the ambition.
+       * src/passphrase.c: passphrase_mbox(), create_description(), and
+         gpgmegtk_passphrase_cb now take an exploded description of the
+         passphrase to look for since the gpgme library hands us the
+         description in seperate pieces.
+         - gpgmegtk_passphrase_cb(): has been changed to the new gpgme
+           passphrase callback signature -- notably writing the passphrase
+           to a file descriptor and returning a gpgme_error_t to indicate
+           success or failure.
+       * src/passphrase.h: Change to the signature of
+         gpgmegtk_passphrase_cb().
+       * src/rfc2015.c:
+         - Include errno.h.
+         - Use gpgme_data_seek calls instead of deprecated gpgme_data_rewind.
+         - gpgme_data_read and gpgme_data_write have changed signature to be
+           more like fread/fwrite.  Adapted code to use this.
+         - Convert to gpgme_key_t array from removed GpgmeRecipients.
+         - Use gpgme_signature_t's directly instead of GpgmeSigStat.
+         - sig_status_to_string() and sig_status_with_name(): changed to
+           use a gpgme_error_t instead of removed GpgmeSigStat.
+         - pgp_sign(): Calculate the micalg directly from knowledge of the
+           hash as it's no longer returned from a gpgme library function.
+           This obsoletes find_xml_tag() and extract_micalg() so they've
+           been removed.
+       * src/select-keys.c: Adapt struct select_key_s to an array of
+         gpgme_key_t and the length of the array rather than a
+         GpgmeRecipients struct (which is removed.)
+         - gpgmegtk_recipient_selection now returns a gpgme_key_t NULL
+           terminated array instead of a GpgmeRecipients struct.
+         - Use values stored in the gpgme_key_t instead of looking up ATTRs
+           on the key as the ATTR methods are deprecated.
+         - Implement cmp_name() and cmp_email() as wholly separate functions
+           instead of using a common subfunction, cmp_attr() as there's no
+           longer a generic way of combining these two.  Removed cmp_attr()
+           as ATTRs are deprecated.
+       * src/select-keys.h: gpgmegtk_recipient_selection signature changed.
+       * src/sigstatus.c: Get status information directly from the
+         gpgme_ctx variable.
+         - gpgmegtk_sig_status_to_string(): Uses a gpgme_error_t instead of
+           Removed GpgmeSigStat.
+       * src/sigstatus.h: gpgmegtk_sig_status_to_string signature has changed
+         as noted above.
+
+2005-01-25
+
+       * src/template.c: template_write_config(): fixed a memory leak.
+
+2005-01-25
+
+       * src/inc.c: inc_finished(): removed warning when updating a
+         folder item while no folder is selected.
+
+2005-01-19
+
+       * src/mh.c
+         src/utils.c
+         src/procmsg.c: ignore 0-numbered message file. Don't use symbol
+         'fileno' used in stdio.h.
+       * src/messageview.c: messageview_show(): check if
+         procmsg_msginfo_get_full_info() succeeds (fixes crash when
+         opening 0-numbered message) (thanks to WAKAI Kazunao).
+
+2005-01-11
+
+       * src/template.c: template_write_config(): fixed potential memory
+         corruption bug.
+
 2005-01-06
 
        * src/pop.[ch]: added POP3_DONE to Pop3State (it is set when logout