fix ESMTP AUTH CRAM-MD5
[claws.git] / ChangeLog
index fc2f3848871739c7300f2f320fb73971d3e29a76..7f4566c3b17638219ccd555a81e22a6c188b4332 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,543 @@
+2003-03-22
+
+       * src/smtp.c: smtp_auth_recv(): fixed CRAM-MD5 authentication.
+
+2003-03-20
+
+       * src/session.[ch]: session_start_tls(): new.
+         session_recv_msg(): made it static.
+
+2003-03-20
+
+       * implemented asynchronous network I/O.
+       * src/session.[ch]: the interface to communicate with servers through
+         child process.
+       * src/smtp.[ch]
+         src/send_message.[ch]: rewrote using new I/O system.
+       * src/socket.[ch]: renamed *_write() to *_write_all(), and made
+         *_write() as just a simple wrapper for write().
+       * src/utils.c: get_outgoing_rfc2822_str(): new. It modifies the
+         message to send with SMTP or NNTP.
+         file_read_stream_to_str(): new.
+
+2003-03-12
+
+       * src/textview.c: textview_button_pressed(): corrected the range of
+         URI link.
+       * src/compose.c: compose_wrap_line_all_full(): treat UTF-8 characters
+         represented with more than 2 bytes as 2 character width and 2 bytes
+         one as a single character width as a workaround for wrapping problem.
+
+2003-03-12
+
+       * src/utils.c: subject_compare_for_sort(): allow null strings (fixes
+         summary sorting).
+
+2003-03-11
+
+       * implemented HTML link correctly.
+       * src/html.[ch]: HTMLAttr, HTMLTag: new structure for attributes /
+         tags.
+         html_get_tag(): new. It parses tag and returns HTMLTag object.
+         html_parse_tag(): also parses <a> tags and 'href' attributes.
+       * src/textview.c: textview_write_link(): new. It creates link string.
+
+2003-03-10
+
+       * src/compose.c: compose_wrap_line_all_full(): fixed an infinite
+         loop / crash bug (thanks to Darko Koruga).
+         compose_write_to_file(): put correct charset element when
+         conversion failed but want to send anyway.
+
+2003-03-10
+
+       * src/headerview.c: headerview_show()
+         src/textview.c: textview_write_line(): remove unreadable characters
+         from displayed strings to prevent crashes on multi-byte
+         environments.
+       * src/codeconv.[ch]: conv_unreadable_locale(): new. It was separated
+         from conv_localetodisp().
+
+2003-03-10
+
+       * src/procmsg.c: procmsg_cmp_by_subject()
+         src/summaryview.c: summary_cmp_by_subject(): ignore Re: when
+         comparing subjects.
+       * src/utils.[ch]:
+         subject_compare_for_sort()
+         trim_subject_for_sort(): new.
+
+2003-03-07
+
+       * version 0.8.11
+
+2003-03-07
+
+       * src/defs.h: added -i option to the default sendmail command.
+
+2003-03-06
+
+       * src/codeconv.[ch]: added missing character encodings and locales.
+
+2003-03-06
+
+       * src/procmsg.[ch]:
+         procmsg_get_mark_sum()
+         procmsg_open_mark_file()
+         procmsg_read_mark_file(): take FolderItem instead of directory
+         path.
+
+2003-03-05
+
+       * src/codeconv.c: conv_encode_header(): fixed a bug that spaces
+         which is on the wrap boundary would be lost when encoding long
+         non-ascii strings (thanks to Sergey Vlasov).
+         Don't force wrapping within a long word until it reaches hard line
+         length limit (998 characters) (workaround for the breakage of
+         long address list with no spaces).
+
+2003-03-03
+
+       * src/prefs_account.c: fixed compile failure when using neither
+         gpg or ssl.
+
+2003-03-03
+
+       * src/codeconv.c: fixed UTF-8 locale support.
+         conv_get_code_conv_func(): return conv_noconv if locale encoding
+         is UTF-8. Return conv_latintodisp on ISO-8859-* to locale encoding
+         conversion.
+         conv_convert(): call conv_iconv_strdup() instead of
+         conv_codeset_strdup().
+         conv_codeset_strdup(): moved some codes into conv_iconv_strdup().
+
+2003-02-28
+
+       * src/prefs_account.[ch]: added an option to use command output for
+         signature.
+       * src/compose.c: compose_insert_sig(): use command output if
+         specified.
+         compose_insert_command_output(): new.
+
+2003-02-28
+
+       * src/main.c: main(): remove lock socket if sylpheed is not running
+         when --status command is executed.
+         lock_socket_remove(): new.
+
+2003-02-27
+
+       * src/codeconv.c: conv_codeset_strdup(): don't convert if current
+         codeset is US-ASCII (or POSIX).
+
+2003-02-21
+
+       * src/codeconv.c: conv_iconv_strdup(): try to skip invalid characters
+         and continue conversion.
+
+2003-02-21
+
+       * src/summaryview.c: summary_selected(): always update widget
+         sensitivity.
+
+2003-02-20
+
+       * src/utils.c: tzoffset_sec(): fixed a bug that displayed wrong
+         date in timezones more than GMT+12 or less than GMT-12.
+
+2003-02-18
+
+       * src/prefs_common.[ch]
+         src/sourcewindow.c: remember the size of source window.
+       * src/md5.c: fixed a compile problem with gcc 3.3.
+
+2003-02-17
+
+       * src/about.c: about_create(): modified the copyright notice.
+
+2003-02-17
+
+       * src/colorlabel.c: don't use pixmaps for label color rect but draw
+         rectangles so we can respect the color map of palette based visuals
+         (fixes the long time crashes on Solaris - thanks to Alfons
+         Hoogervorst).
+
+2003-02-17
+
+       * src/procheader.c: procheader_date_parse(): made month string case
+         insensitive.
+       * src/prefs_filter.c: prefs_filter_close(): fixed the crash when the
+         selection list is empty.
+
+2003-02-14
+
+       * src/quote_fmt_parse.y: removed gettext translatable strings.
+       * src/unmime.c: unmime_header(): remove broken characters when
+         code conversion failed.
+       * src/codeconv.c: conv_encode_header(): fixed a bug that broken
+         headers if long words more than 75 characters are entered.
+
+2003-02-13
+
+       * src/prefs_account.c: prefs_account_receive_create()
+         src/utils.c: to_human_readable(): made units translatable.
+
+2003-02-13
+
+       * src/codeconv.c: isprintableeuckanji(): don't allow more than 0xf4
+         at first byte (fixes abort() problem of glibc).
+       * src/html.c: html_read_line(): remove characters which can't be
+         displayed on the current locale.
+
+2003-02-11
+
+       * src/utils.[ch]:
+         trim_subject_for_compare(): renamed from trim_subject().
+         trim_subject(): new. It removes [...] or (...) at the beginning
+         of subject.
+       * src/prefs_folder_item.c
+         src/folder.[ch]:
+         added options for trimming summary / compose subject.
+       * src/summaryview.c: summary_set_header(): trim subject if the folder
+         option is set.
+       * src/compose.c: compose_reply_set_entry(): trim subject if the folder
+         option is set.
+
+2003-02-09
+
+       * src/codeconv.c:
+         LBREAK_IF_REQUIRED(): don't break lines before first word (fixes
+         X-Face header problem).
+         conv_encode_header(): allow up to 97 characters for one word.
+
+2003-02-07
+
+       * src/filter.c: filter_match_condition(): fixed the bug that
+         second condition ignored regex.
+       * src/news.h: NewsGroupInfo: use guint for message numbers
+         (fix count in grouplist dialog) (thanks to Thorsten Maerz).
+
+2003-02-06
+
+       * src/codeconv.c: conv_encode_header(): fixed a segfault bug
+         on code conversion failure.
+         conv_get_charset_str()
+         conv_get_charset_from_str(): optimized using hash table.
+
+2003-02-06
+
+       * src/quote_fmt_parse.y:
+         SHOW_MESSAGE_NO_SIGNATURE, SHOW_QUOTED_MESSAGE_NO_SIGNATURE:
+         treat only "\n-- \n" as a signature separator.
+
+2003-02-05
+
+       * src/gtkutils.[ch]: gtkut_ctree_node_prev(): new.
+       * src/summary_search.c: summary_search_execute(): search collapsed
+         nodes, too.
+
+2003-02-05
+
+       * src/codeconv.c:
+         conv_unreadable_latin(): include 0x7f as an unreadable character.
+         conv_localetodisp(): don't remove 8bit characters by default.
+         conv_get_current_charset()
+         conv_get_outgoing_charset(): return ISO-8859-15 if "@euro" is
+         appended at the last of locale name.
+       * src/compose.c: compose_write_to_file(): show from and to encoding
+         when code conversion failed.
+
+2003-02-04
+
+       * version 0.8.10
+
+2003-02-04
+
+       * src/procmsg.h: WRITE_CACHE_DATA(): little speed improvement
+         (thanks to Colin Leroy).
+       * src/mh.c: mh_get_msginfo(): added NULL check (thanks to Thorsten
+         Maerz).
+
+2003-02-03
+
+       * src/textview.c: textview_write_line(): don't convert if conv is
+         NULL.
+
+2003-02-03
+
+       * src/codeconv.[ch]:
+         renamed conv_guess_encoding() to conv_guess_ja_encoding().
+         conv_localetodisp(): new. It removes unreadable characters from
+         (assumed) current locale string.
+         conv_codeset_strdup(): convert into ISO-8859-1 if dest_code is
+         NULL and current locale encoding is US-ASCII.
+         conv_get_code_conv_func(): return conv_ustodisp if US-ASCII is
+         specified for destination charset.
+       * src/textview.c: textview_write_line(): use conv_localetodisp()
+         instead of strncpy2() if conversion failed.
+
+2003-01-31
+
+       * src/codeconv.c: conv_iconv_strdup()
+         src/imap.c:
+         imap_modified_utf7_to_locale()
+         imap_locale_to_modified_utf7(): use ICONV_CONST macro to remove
+         a warning on some systems.
+       * src/codeconv.c: conv_iconv_strdup(): flush iconv() output and
+         truncate buffer.
+         Return NULL instead of incomplete string if conversion failed.
+
+2003-01-30
+
+       * src/summaryview.c: summary_execute(): select appropriate node
+         if currently selected node is to be deleted.
+       * src/gtkutils.[ch]: gtkut_ctree_node_is_selected(): new. Returns
+         TRUE if the specified node is selected.
+
+2003-01-30
+
+       * src/summaryview.c: summary_status_show(): fixed a occasional crash
+         on deleting or moving.
+
+2003-01-29
+
+       * src/codeconv.c: conv_unreadable_eucjp(): made the validity check
+         of EUC-JP more accurate.
+         isprintableeuckanji(): new. Use table for validity check of EUC-JP.
+
+2003-01-17
+
+       * version 0.8.9
+
+2003-01-17
+
+       * updated INSTALL.
+
+2003-01-17
+
+       * src/quoted-printable.c: qp_encode_line(): fixed linebreak
+         duplication bug if the source string has CRLF.
+       * src/utils.[ch]:
+         canonicalize_str(): new. Returns newly allocated canonicalized
+         string.
+         uncanonicalize_file(): new. Uncanonicalize (CRLF -> LF) text.
+         uncanonicalize_file_replace(): new.
+       * src/compose.c: always canonicalize body before processing, and
+         uncanonicalize before returning.
+
+2003-01-17
+
+       * src/procmime.c: procmime_get_encoding_for_charset(): prefer
+         ENC_8BIT for Russian charsets.
+       * src/compose.c: compose_write_to_file(): use base64 when signing
+         8bit message.
+
+2003-01-16
+
+       * src/prefs_common.c: prefs_send_create(): added a description for
+         the setting of Content-Transfer-Encoding.
+
+2003-01-16
+
+       * src/codeconv.c: fixed locale_table for Russian locales (thanks to
+         Sergey Vlasov).
+       * src/procmime.c: procmime_get_encoding_for_charset(): return
+         ENC_BASE64 for ISO-8859-5, KOI8-* and Windows-1251.
+       * src/compose.c: compose_attach_append(): set correct Content-
+         Transfer-Encoding for message/rfc822.
+         compose_write_to_file(): enabled user-definable Content-Transfer-
+         Encoding.
+       * src/prefs_common.[ch]: added an option for user-defined Content-
+         Transfer-Encoding.
+
+2003-01-15
+
+       * src/quoted-printable.[ch]: qp_encode_line(): fixed a bug if the
+         line doesn't end with linebreak.
+
+2003-01-15
+
+       * implemented quoted-printable encoding.
+       * src/quoted-printable.[ch]: qp_encode_line(): new.
+       * src/compose.c:
+         compose_write_to_file()
+         compose_write_attach(): implemented quoted-printable encoding.
+         compose_attach_property_create(): enabled quoted-printable menu
+         item.
+       * src/procmime.c: procmime_get_encoding_for_charset(): return
+         ENC_QUOTED_PRINTABLE for ISO-8859-* and CP125* charset.
+       * src/Makefile.am: added $(LIBICONV) to sylpheed_LDADD for libiconv
+         support.
+
+2003-01-14
+
+       * src/folderview.c
+         src/summaryview.c
+         src/utils.[ch]: get_abbrev_newsgroup_name(): improved the way
+         of abbreviation of newsgroup name.
+
+2003-01-14
+
+       * configure.in: show the result of iconv detection.
+
+2003-01-13
+
+       * src/codeconv.[ch]: made the transition from libjconv to iconv().
+         conv_iconv_strdup(): new.
+       * src/about.c
+         src/imap.c
+         src/mainwindow.c
+         src/prefs_common.c: replaced HAVE_LIBJCONV to HAVE_ICONV.
+
+2003-01-10
+
+       * src/compose.c
+         src/folderview.c
+         src/prefs_folder_item.c: English fix (property -> properties).
+       * src/prefs_filter.c: alert if entry is not saved.
+         prefs_filter_dialog_to_filter(): new.
+
+2003-01-09
+
+       * src/codeconv.c: conv_encode_header(): fixed a bug which output raw
+         strings after linefeed.
+       * updated INSTALL.
+
+2003-01-08
+
+       * src/codeconv.[ch]: code cleanup and optimization.
+         conv_code_converter_new()
+         conv_convert(): use functions obtained by conv_get_code_conv_func()
+         when using libjconv.
+         conv_codeset_strdup(): code cleanup.
+         conv_get_code_conv_func(): added an argument for destination
+         character set, and generalized.
+
+2003-01-06
+
+       * src/codeconv.c: LBREAK_IF_REQUIRED(): break line only if some
+         characters follow.
+       * src/compose.c: compose_convert_header(): remove trailing spaces.
+       * src/customheader.c: custom_header_read_str(): strip the spaces
+         of name and value.
+       * src/prefs_customheader.c: prefs_custom_header_clist_set_row():
+         strip the spaces of name and value.
+
+2002-12-25
+
+       * version 0.8.8
+
+2002-12-25
+
+       * src/codeconv.c: conv_encode_header(): fixed a bug which will run
+         into infinite loop when encountering invalid characters.
+
+2002-12-25
+
+       * src/procmsg.[ch]: procmsg_sort_msg_list(): new. It sorts message
+         list.
+       * src/summaryview.c: summary_show(): removed summary_sort() because
+         it is done inside folder_item_get_msg_list(). This will improve
+         the performance of summary display.
+         Sorted out the summary sort functions using macros.
+       * src/mh.c
+         src/imap.c
+         src/news.c
+         src/folder.[ch]: folder_item_get_msg_list(): return pre-sorted
+         list if FolderItem::sort_key is set.
+         Added SORT_BY_TO to FolderSortKey enum.
+       * src/mainwindow.c: added "View/Sort/by recipient".
+
+2002-12-20
+
+       * version 0.8.7
+
+2002-12-20
+
+       * src/codeconv.c: conv_encode_header(): fix for redundant space on
+         line-breaking.
+       * src/compose.c: compose_convert_header(): always pass string to
+         conv_encode_header() for line-breaking.
+
+2002-12-20
+
+       * src/textview.c: textview_make_clickable_parts(): fixed incorrect
+         parsing of email addresses.
+
+2002-12-19
+
+       * src/defs.h: added DEFAULT_BROWSER_CMD.
+       * src/mimeview.c: mimeview_view_file()
+         src/prefs_common.c: prefs_other_create()
+         src/utils.c: open_uri(): changed the default web browser to
+         mozilla, and changed 'raise' command (which is undocumented)
+         to 'new-window' in 'netscape -remote'.
+
+2002-12-19
+
+       * src/compose.c: compose_send_control_enter(): fixed crash on
+         Ctrl-Enter when Message/Send has no accelerator key (thanks to
+         Sergey Vlasov).
+
+2002-12-18
+
+       * src/mainwindow.c:
+         set_charset_cb()
+         sort_summary_cb()
+         sort_summary_type_cb(): prevent unwanted processing on unchecking
+         menu items.
+
+2002-12-18
+
+       * src/main.c: process command line option before gtk_init() to
+         enable remote operation without X (thanks to Ruslan N. Balkin).
+       * src/codeconv.c: conv_encode_header(): fixed a potential buffer
+         overflow.
+
+2002-12-18
+
+       * src/Makefile.am: changed $(target_alias) to $(target_triplet)
+         (the spec of autotools seems to be changed).
+
+2002-12-18
+
+       * src/imap.c: get path separator using LIST command if server
+         doesn't support NAMESPACE (based on the patch by Brian Sammon).
+         imap_parse_list(): added an argument to return path separator.
+         imap_get_namespace_by_list(): new.
+
+2002-12-17
+
+       * src/addr_compl.c: add_address(): removed the debug print.
+       * src/gtkutils.[ch]: gtkut_window_popup()
+         src/mainwindow.c: main_window_popup(): applied the patch to fix
+         the behavior of window popup from Sergey Vlasov (thanks!)
+       * src/account.c: account_edit_create(): use signal_connect_after
+         for row_move signal to fix the row position bug.
+         account_row_moved(): scroll the CList half page.
+       * src/prefs_filter.c: prefs_filter_row_move(): scroll the CList
+         half page.
+       * src/summaryview.c: summary_reply(): use selection text only if
+         the displayed message is selected (thanks to Sergey Vlasov).
+
+2002-12-13
+
+       * src/codeconv.c: conv_encode_header(): reimplemented the routine
+         of MIME header encoding. And use Q-encoding method if the current
+         locale is single-byte one.
+       * src/utils.[ch]: is_next_nonascii(): take multi-byte string instead
+         of wide-character string. Consider control codes as non-ASCII.
+         get_next_word_len(): new. It returns the length of next word.
+         is_next_mbs(), find_wspace(): removed.
+       * src/quoted-printable.[ch]: new.
+         qp_decode_line(): decodes one QP line.
+         qp_decode_q_encoding(): decodes Q-encoded string in MIME header.
+         qp_get_q_encoding_len(): returns the length when a string is
+         Q-encoded.
+         qp_q_encode(): Q-encode a string (RFC 2047).
+       * src/unmime.c: moved the functions for quoted-printable to
+         quoted-printable.c.
+
 2002-12-05
 
        * src/send.c: send_message_local(): escape line that only have one