Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Jun 2011 20:38:08 GMT
From:      Uffe Jakobsen <uffe@uffe.org>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/158355: mail/cone patch (update to cone-0.89)
Message-ID:  <201106272038.p5RKc8Pc019026@red.freebsd.org>
Resent-Message-ID: <201106272040.p5RKeBp1002270@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         158355
>Category:       ports
>Synopsis:       mail/cone patch (update to cone-0.89)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jun 27 20:40:11 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Uffe Jakobsen
>Release:        8.2
>Organization:
>Environment:
FreeBSD aspire1410 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Feb 18 02:24:46 UTC 2011     root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386

>Description:

This patch/diff updates mail/cone port from version 0.77 to version 0.89

Changelog:

2011-05-17  Sam Varshavchik  <mrsam@courier-mta.com>

        * rfc2045/rfc2045cdecode.c: Tolerate lowercase hexadecimal characters
        in quoted-printable-encoded content.

2011-04-25  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/cursesmessage.C (reformat): Typo in error message.

2011-04-22  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/cone.dist.in (TLS_STARTTLS_PROTOCOL): Provide a default
        setting of TLS_STARTTLS_PROTOCOL for new cone installs only.

0.88

2011-04-21  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/cursesmessage.C (beginReformat): Fix bug exposed by cache.H
        bug fix.

0.87

2011-04-20  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/cache.H (Cache): Broken cache logic.

        * cone/htmlparser.C (wordtoolong): A word whose width was larger than
        available display width resulted in an infinite loop.

        * curses/widechar.C (charwidth): Handle wcwidth() returning -1 by
        treating it as 1, for the purposes of estimated character width.

2011-04-11  Sam Varshavchik  <mrsam@courier-mta.com>

        * curses/cursesobject.H (c): Added #include <cstdio> for NULL.

2011-04-07  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/htmlparser.C (htmlParser): Flag an unknown source character
        set, so that a suitable error message shows up instead of completely
        empty content.

        * libmail/smapfetchattr.C (parseMimeHeader): Be more tolerant
        in parsing of broken MIME headers.

0.86

2011-04-02  Sam Varshavchik  <mrsam@courier-mta.com>

        * rfc2045/rfc3676parser.c: Detect content produced by broken mail
        software (I'm looking at you, Apple Mail), that spews out an entire
        paragraph as a single physical line of text. When an excessively long
        line is detected, it gets rewrapped manually.

2011-03-24  Sam Varshavchik  <mrsam@courier-mta.com>

        * curses/cursesstatusbar.C (status): Remove unneeded full redraws.

        * cone/cursesindexdisplay.C (draw): Go to parent CursesVScroll to
        figure out the range to redisplay.

2011-03-19  Sam Varshavchik  <mrsam@courier-mta.com>

        * unicode/unicode.h: Added unicode_isspace().

        * cone/curseseditmessage.C (processKeyInFocus): Use unicode word break
        algorithm to identify words.

        * unicode/unicode_wordbreak.c: Implementation of tr29.

        * cone/htmlparser.C: Reimplemented htmlParser using unicode-based
        wordwrapping logic.

        * cone/htmlentity.C (expand): factor out main logic from operator(),
        which invokes expand and that converts it to the requested charset.
        This provides access to the main demoronization conversion code.

        * curses/widechar.H: move widecharbuf inner class wcwidth_iter into
        the global scope, as towidechar_wcwidth_iter.
        (unicodewordwrapper): enable UNICODE_LB_OPT_PRBREAK and
        UNICODE_LB_OPT_SYBREAK linebreaking options.

        * unicode/unicode.h: unicode_lb_set_opts(), plus derivatives: set
        artbirary linebreaking options. Two options that tailor the unicode
        linebreaking algorithm.

2011-03-16  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/curseseditmessage.C (getMarkedRegion): Incorrect range
        calculation fixed.

2011-03-13  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/leaf.C: Implemented -f.

2011-03-06  Sam Varshavchik  <mrsam@courier-mta.com>

        * curses/widechar.H: Factored out the logic in unicodewordwrap() into
        unicodewordwrapper, an output iterator. Replace unicodewordwrap() with
        a convenience function.

        * cone/cursesmessageflowedtext.C: Use unicodewordwrapper instead of
        whitespacewordwrapper.

        * cone/cursesmessage.C (getflowed): Convenience function for
        retrieving the format and delsp parameters.
        (newmsgformatter): Factor out common code for reformatting plain
        text content as a new reply or a message forward.
        (addHeader): Replace whitespacewordwrap with unicodewordwrap.

        * cone/curseseditmessage.H: The edited text is now stored as a vector
        of CursesFlowedLine objects.

        * cone/curseseditmessage.C (getUTF8Text): Retrieve the line of text
        in its native UTF-8.
        (justifiable): One stop shop for checking if a given line of text
        is allowed to be justified.
        (get_file_helper): is now a CursesFlowedLine iterator.
        (unicode_wordwrap_rewrapper): helper object for unicodewordwrap()
        that saves starting positions of each line of pre-justified text
        (unicode_wordwrap_iterator): iterates over lines of text selected
        for rewrapping. Trims trailing whitespace. Saves the position of the
        first character in each ilne into unicode_wordwrap_rewrapper
        (processKeyInFocus): Replace whitespacewordwrap with unicodewordwrap.
        (inserted): Replace whitespacewordwrap with unicodewordwrap.
        (drawLine): Display an arrow at the end of wrapped lines.
        (load): Receive an indication whether the loaded file contains
        flowed text-formatted content.
        (save): Add a flag whether or not append a space to flowed lines in the
        saved file.

        * curses/widechar.H: Removed whitespacewordwrap.

2011-03-05  Sam Varshavchik  <mrsam@courier-mta.com>

        * rfc2045/rfc2045.c (rfc2045_isdelsp): Convenience function - check
        if content type attribute "delsp" is set to "yes".

        * cone/curseseditmessage.C: replaceTextLine() is a specialization
        that sets the contents of text_UTF8 from either a unicode vector
        or CursesFlowedLine (the eventual global replacement). Removed
        yank_string_iterator, now obsoleted by cutBuffer being a list.
        (processKeyInFocus): Reimplement text justification, now that
        cutBuffer is a list of lines.
        (processMacroKey): Convert the replacement string into a
        list of CursesFlowedLine, before invoking yank(), for now.
        (yank): Pass a list of CursesFlowedLines to yank(), instead of
        a text string.
        (deleteChar): Migrate CLREOL-specific logic into deleteChar().

        * curses/cursesfield.C: Reimplement cutBuffer as a list of
        CursesFlowedLine.

        * curses/cursesflowedline.H: CursesFlowedLine - new abstraction
        for a line of text and a flag whether it is wrapped to the next line.
        Text is encoded in UTF-8.

2011-02-28  Sam Varshavchik  <mrsam@courier-mta.com>

        * curses/widechar.H (whitespacewordwrap): Factored out most of its
        logic into an iterator object, replaced with a shell wrapper that
        iterates over the object.

        * curses/curses.C (erase): Replace wchar_t-based logic with
        unicode_char-based logic.

        * rfc2045/rfc3676parser.c: Eventually successor to rfc2646parser.c

2011-02-27  Sam Varshavchik  <mrsam@courier-mta.com>

        * unicode/mkcommon.pm: Reduce unicode table block size to 256,
        trading in larger table size for faster lookups in the hot code path.

        * Optimize hot code path execution.

2011-02-26  Sam Varshavchik  <mrsam@courier-mta.com>

        * curses/cursesscreen.C: Replace wget_wch() with getch() and using
        iconv() to convert the narrow character stream to unicode.

        * curses: removed last pre-unicode bits of code.

        * unicode/unicode.h (mail): Added iterator-based conversion functions
        to/from unicode chars.

2011-02-25  Sam Varshavchik  <mrsam@courier-mta.com>

        * All: more rewrite of wchar_t-based to unicode_char-based code.

2011-02-24  Sam Varshavchik  <mrsam@courier-mta.com>

        * unicode/unicode.c (save_unicode): Optimize buffering of
        unicode characters.

        * cone/cursesmessage.C (toMyCharset_impl): This overloaded
        mail::iconvert::convert() returns false when the text contains invalid
        characters in its declared character set. Report this as an error
        at the end of the message.

2011-02-21  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/curseseditmessage.C: Reimplemented yankHelper as
        yank_string_iterator that does not touch the original string, but
        converts it to unicode vectors as it iterates over the string, one
        line at a time.
        (setTextBeforeAfter): Set the contents of the current line from
        two separates chunks of unicode vectors and position the cursor
        between the two chunks.
        (processKeyInFocus): Reimplement justify and unjustify (again) using
        yank_string_iterators.
        (yank): Reimplement yank() using yank_string_iterator.
        (deleteChar): Replace direct references to text_UTF8 array with
        replaceTextLines(). Use widecharbuf to calculate the grapheme to
        delete.
        (inserted): Rewrite linewrapping logic. Linewrap only before the
        current cursor position.
        (load): Reimplemented using get_file_helper

        * curses/widechar.H (whitespacewordwrap): Alternative to
        unicodewordwrap() that wraps on whitespace boundaries only.

        * cone/curseseditmessage.C: Replace direct access to text_UTF8 with
        calls to getText().
        (getTextBeforeAfter): Retrieve contents of the line with the cursor.
        Retrieve the contents before and after the cursor position, separately.
        (replaceTextLines, replaceTextLinesImpl): Replace a range of
        existing lines with new content, specified as a beginning and an
        ending iterator for vector<unicode_char>. The existing lines in
        text_UTF8 are removed, and replaced by the content defined by the
        iterators. Specialization optimized for random access iterators, that
        resizes text_UTF8 once, since the size of the replacement content is
        known. Non-random access iterators use a default implementation that
        collects iterator content into a temporary vector, then uses the
        specialized implementation.
        (processKeyInFocus): Rewrite ENTER to use getTextBeforeAfter() and
        replaceTextLines().
        (processKeyInFocus): Rewrite JUSTIFY to use getText() and
        replaceTextLines(). Use whitespacewordwrap() to rejustify text.
        (processKeyInFocus): Rewrite GETFILE to define a custom iterator
        that iterates over the contents of the file, then uses
        replaceTextLines() to load the contents of the file.
        (processKeyInFocus): Rewrite EXTEDITOR to use getText() to retrieve
        the contents of the message and save it in a file, then use
        GETFILE's to read it back in!

        * cone/cursesedit.C (extedited): Reposition the cursor after
        resuming from an external editor.
        (save): Use getText() to access message content.

2011-02-20  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/curseseditmessage.C: Rewrite screen updating code to use
        unicode-based algorithms.

        * cone/cursesedit.C: Ditto.

2011-02-19  Sam Varshavchik  <mrsam@courier-mta.com>

        * curses/cursesmultilinelabel.C: Update to unicode_chars.

        * curses/cursesmoronize.C: Update moronizer to unicode_chars.

        * curses/cursesstatusbar.H (CursesStatusBar): Replaced wchar_t fields
        with ones that use unicode_chars, and rewrote all the logic,
        accordingly.

        * curses/widechar.H: Moved widecharbuf, and other stuff that deals
        with wchar_ts into this new header file.

        * curses: converted towidechar/fromwidechar to iterator-based templates.

        * unicode/unicode.h: converted linebreaking C++ classes to an
        iterator-based implementation.

        * unicode/unicode.h: Enhance C++ support for tr14.

2011-02-17  Sam Varshavchik  <mrsam@courier-mta.com>

        * curses/mycurses.H: New Curses::widechar unicode-based methods.

        * curses/cursesfield.H (Curses): Replace some wchar_t-based objects with
        unicode_char.

        * cone/myserverpromptinfo.H (promptInfo): Replace wchar_t objects with
        unicode_char.

        * unicode/unicode.h: Adjust unicode_wcwidth() to return 0 for BK, CR,
        LF, CM, NL, WJ, ZW characters.

2011-02-16  Sam Varshavchik  <mrsam@courier-mta.com>

        * unicode/unicode.h: Implementation of tr14, linebreaking rules.

2011-02-13  Sam Varshavchik  <mrsam@courier-mta.com>

        * unicode/unicodecpp.C (unicode_wcwidth): Overloaded convenience
        method that takes a vector of unicode_chars as an argument.

        * unicode/unicode_wcwidth.c (unicode_wcwidth_str): New convenience
        function.

        * curses/cursesvscroll.C (writeText): New overloaded function takes a
        vector of unicode_chars as the argument. Will eventually replace
        the version that takes wchar_ts.

        * curses/cursesstatusbar.C (writeText): New overloaded function takes a
        vector of unicode_chars as the argument. Will eventually replace
        the version that takes wchar_ts.

        * curses/cursesscreen.C (writeText): New overloaded function takes a
        vector of unicode_chars as the argument. Will eventually replace
        the version that takes wchar_ts. Temporarily duplicated code from the
        wchar_t version. The overload method that takes a char string
        will use the unicode_char version.

        * curses/cursesmainscreen.C (writeText): New overloaded function takes a
        vector of unicode_chars as the argument. Will eventually replace
        the version that takes wchar_ts.

        * curses/cursesfield.C (CursesField): Major rewrite that replaces
        the internal wchar_t buffer with Curses::editablewidechar.

        * curses/cursesdialog.C (writeText): New overloaded function takes a
        vector of unicode_chars as the argument. Will eventually replace
        the version that takes wchar_ts.

        * curses/curses.C (writeText): New overloaded function takes a
        vector of unicode_chars as the argument. Will eventually replace
        the version that takes wchar_ts.
        (towidechar): Eventual replacement for mbtow(). Mark mbtow() as
        obsolete.
        (fromwidechar): Eventual replacement for wtomb(). Mark wtomb() as
        obsolete.
        widechar: an object that encapsulates a vector of wchar_ts that
        were converted from unicode_chars, in such a way that each unicode
        grapheme, as demarcated by unicode_grapheme_break() is separately
        converted to wchar_ts. Overloaded fromwidechar() converts widechar
        to a vector of unicode_chars. A widechar is initialized from
        a unicode vector.
        (editablewidechar): An editable unicode buffer, initialized from
        two unicode vectors: before cursor position, and after cursor
        position. editablewidechar contains an internal widechar for the
        "before cursor position" contents, and "after cursor position", as well
        as a separate vector of wchar_ts that represent wchar_ts inserted at
        cursor position, together with methods that move the accumulate
        wchar_ts to the "before cursor position" vector. Also, the algorithm
        for maintaining a horizontal scroll window that shows the buffer.

2011-02-12  Sam Varshavchik  <mrsam@courier-mta.com>

        * unicode/unicode_graphemebreak.c: unicode_grapheme_break() is an
        implementation of TR29.

        * rfc822/rfc2047.c (do_encode_words_method): Avoid splitting RFC
        2047-encoded works in a middle of a grapheme.

2011-02-10  Sam Varshavchik  <mrsam@courier-mta.com>

        * curses/cursesscreen.C (doGetKey): Use mvget_wch() to read input.

        * cone/myserverconfig.C (loadFolderIndex): Fix handling of
        bad email message-id: headers.

        * curses/curses.C (wordWrap): Fix bug in counting of wide characters.

        * cone/cursesmessage.C (toMyCharset_noerror): Fix handling of
        bad charset encoding.

2011-01-24  Sam Varshavchik  <mrsam@courier-mta.com>

        * rfc822/rfc2047.c (rfc2047_encode_callback): Rewrite broken logic.

        * unicode/unicode.c (deinit_iconv): Incomplete multibyte character
        remaining at the end of conversion was falsely being reported as
        a callback failure, rather than a conversion failure.

        * cone/cursesmessage.C (toMyCharset): Clear errflag in case the
        shortcut exit is taken.

2011-01-22  Sam Varshavchik  <mrsam@courier-mta.com>

        * Removed the last remains of the old unicode mapping code.

        * unicode/unicode.c (init_default_chset): Move cone's locale charset
        determination logic into unicode_default_chset().

        * libmail/headers.C (listitem): Fix leak.

2011-01-21  Sam Varshavchik  <mrsam@courier-mta.com>

        * unicode/unicode.h: Replace unicode_x_imap_modutf7 with a #define.
        Eliminted unicode_x_smap_modutf7, replaced with
        unicode_x_imap_modutf7, a space, and blacklisted chars.

        * cone/htmlparsertest.C (main): Updated Unicode AP.

        * cone/curseseditmessage.C (processKeyInFocus): Updated Unicode API.
        (processKey): Ditto.
        (search): Ditto.

        * libmail/rfcaddr.H (emailAddress): Rewrite, to store decoded
        name and address portion of an address as unicode chars.
        get/set display name/addr takes a new charset parameter.

        * cone/myserverconfig.C (save): Use new unicode API.
        (loadmacros): Use new unicode API.

        * cone/myfolder.C (messageEnvelopeCallback): Use new unicode API
        (and bug fixes with folder listings of i18n names).
        (toupper): Use new unicode API.

2011-01-18  Sam Varshavchik  <mrsam@courier-mta.com>

        * unicode/unicodecpp.C (convert_tocase): C++ binding for
        libmail_u_convert_tocase().

        * cone/configscreen.C (ConfigScreen): Use new unicode API.

        * cone/addressbook.C (processKey): Use new unicode API (+minor bug fix).

        * cone/cursesindexdisplay.C (drawLine): Use new unicode API.
        (getFilterCmd): Use new unicode API.
        (processKeyInFocus): Use new unicode API.
        (listKeys): Use new unicode API.

        * cone/curseseditmessage.C (string): Use new unicode API.
        (processKeyInFocus): Use new unicode API.
        (checkReplace): Use new unicode API.

        * unicode/unicode.c (init_default_chset): Map GNU libc nl_langinfo()
        return of "ANSI_X3.4*" to "US-ASCII".

        * cone/leaf.C (main): Unicode API update.

        * cone/init.C (init): Unicode API update.

        * cone/cone.C (main): Replace defaultCharset() with
        unicode_default_chset().

2011-01-17  Sam Varshavchik  <mrsam@courier-mta.com>

        * unicode/unicode_ultcase.c (unicode_tc): Convert test character
        to lowercase first, before converting to titlecase -- UnicodeData
        does not specify an uppercase char's titlecase, directly.

        * maildir/maildirsearch.h (mail): New C++ binding method -
        getSearchLen().

        * libmail/search.C (checkNextHeader): Use getSearchLen() to
        abort empty searches.
        (searchEnvelope): Unicode API update.

        * cone/curseseditmessage.C (processKeyInFocus): Unicode API update.
        (load): Unicode API update.
        (save): Unicode API update.

        * cone/cursesedit.C (save): Unicode API update.

        * cone/htmlparser.C (fmtline): Report conversion errors explicitly.

        * cone/htmlentity.C (operator()): Return an indication that a
        conversion error has occured.

        * cone/cursesmessageflowedtext.C (rewrapFlowed): Report conversion
        errors explicitly.

        * cone/cursesmessage.C (reformat): Move the charset warning to the
        end of the message, show only when actual conversion errors occur
        when formatting the message for display.

        * cone/cursesmessage.C: removed the remaining usage of unicode_info.

        * libmail/structure.C (get): Take a charset string parameter instead
        of unicode info. May be an empty string, for no conversion.

        * cone/cursesmessageflowedtext.H (reformatter): Replaced unicode_info
        parameters with charset strings.

        * cone/cursesmessage.H (ShownPart): Replace unicode_info parameter
        with a plain charset string.

        * cone/cursesmessage.C (reformat): Temporarily disable charset
        warning. Temporary incompatibility with the ongoing unicode rewrite.
        (toMyCharset): Replaced unicode_info args with charset strings.
        content_chset may be an empty string, no conversion gets performed.

        * cone/filter.C (getDescription): Updated unicode API.

2011-01-16  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/wraptext.C: Rewrite to use the updated unicode API.

        * cone/htmlparser.C: Updated unicode_api. htmlParser takes plain
        charset names, instead of unicode structure pointers.

        * cone/htmlentity.C: Rewrote html entity handling from C to C++.

        * unicode/unicode.h: Define C++ binding for libmail_u_convert(),
        mail::iconvert.

        * maildir/maildirsearch.h (mail): Convert the C++ binding to use
        the unicode-aware, case-insensitive, whitespace-collapsing algorithm.

        * libmail/search.H: Subclass mail::Search and the new mail::iconvert
        wrapper into a searchengine.

        * libmail/search.C (Searcher::converted): Receives MIME content body
        that's been converted to UCS4. Feed it to the searchengine.
        (go): Use new unicode functions to convert search strings to
        uppercase (use ISO-8859-1 for the header name search string).
        Really reset the mimeSearch array, in header/body/text search init.
        (checkNextHeader): Code update. Flush any partial header line that
        is in the buffer. Flush the UCS-4 conversion buffer. Convert the search
        engine initialization (for the next header) to use the new searchengine
        API, and start the conversion buffer to convert the decoded MIME
        content body to UCS-4.
        (searchEnvelope): Use rfc822_display_hdrvalue_tobuf() to format the
        header being search into display form, convert it to UCS, and
        feed it to the searchengine.
        Removed prepSearch(), beginSearch(), and dosearch(), obsoleted by the
        new searchengine API.
        (search): Update to the new unicode library and searchengine API.
        Use rfc822hdr_namecmp() to compare the header names, when searching
        a specific header. Use rfc822_display_hdrvalue_tobuf() to format it for
        display, before searching it. When searching the contents of MIME body,
        feed the extracted body to the UCS conversion buffer.

        * cone/cursesmessagedisplay.C (processKeyInFocus): Rewrite of the
        search code. Remove whitespace collapsing from the search string, and
        the text being searched, this is now handled in the searchengine API.

        * cone/curseseditmessage.C (processKeyInFocus): Remove collapsing of
        whitespace in the search string, this is now handled in the searchengine
        API.
        (search): Rewrite. Start of the found search string can now be obtained
        via the searchengine API. Remove collapsing of whitespace in the text
        being searched, now handled in the searchengine API.

2011-01-15  Sam Varshavchik  <mrsam@courier-mta.com>

        * unicode/unicode.c: New functions: libmail_u_convert_tou_tobuf,
        libmail_u_convert_fromu_tobuf, libmail_u_convert_tocase.

        * libmail/rfc2047decode.H (rfc2047): Removed unicode_info.

        * libmail/nntp.C (searchMessages): Replaced c2u() with
        libmail_u_convert_tou_init().

        * libmail/mboxfolder.C (defaultName): Replaced unicode_modutf7touc()
        and u2c() with libmail_u_convert_tobuf().
        (createSubFolder): Replaced c2u() and unicode_uctomodutf7x() with
        libmail_u_convert_tobuf().
        (renameFolder): Replaced c2u() and unicode_uctomodutf7x() with
        libmail_u_convert_tobuf().

        * libmail/maildirfolder.C (folder): Replaced unicode_modutf7touc()
        and u2c() with libmail_u_convert_tobuf().
        (scan): Do not abort on an invalid mail folder name, isntead
        return an error message.
        (readFolderInfo): Report an error indication from scan().
        (createSubFolder): Replaced c2u() and unicode_uctomodutf7x() with
        libmail_u_convert_tobuf().
        (renameFolder): Replaced c2u() and unicode_uctomodutf7x() with
        libmail_u_convert_tobuf().

        * libmail/maildir.C (getfilename): Do not abort on an invalid
        mail folder name, instead return an error indication.
        (checkNewMail): Do not abort on an invalid mail folder name,
        instead return an error message.
        (open): Do not abort on an invalid mail folder name, instead return
        an error message.
        (updateKeywords): Do not abort on an invalid mail folder name,
        instead return an error message.

        * libmail/mail.C: Removed mail::appcharset. Replaced with
        unicode_default_chset(). Removed setAppCharset().
        (toutf8): Replaced with a simple wrapper for
        libmail_u_convert_toutf8().
        (fromutf8): Replaced with a simple wrapper for
        libmail_u_convert_fromutf8().
        (translatePathCommon): Replaced c2u() with
        libmail_u_convert_tou_init().

        * libmail/imaplisthandler.C (translatePath): Replaced c2u() and
        unicode_uctomodutf7() with libmail_u_convert_tobuf().
        (translatePath): Replaced c2u() with libmail_u_convert_tou_init().
        Replaced u2c() with libmail_u_convert_fromu_init().
        (get_name): Replaced unicode_modutf7touc() and u2c() with
        libmail_u_convert_tobuf().

        * libmail/imapfolders.C (taggedMessage): Replaced c2u() and
        unicode_uctomodutf7() with libmail_u_convert_toutf8() and
        libmail_u_convert_tobuf().

        * libmail/addressbookget.C (readstructure): Removed some dead code.

        * libmail/addressbook.C (setIndex): Obsoleted unicode_xconvert() with
        libmail_u_convert_tobuf().

2011-01-09  Sam Varshavchik  <mrsam@courier-mta.com>

        * all: rfc2045 library API update.

0.85

2010-11-13  Sam Varshavchik  <mrsam@courier-mta.com>

        * gpglib/configure.in: Use "gpg2" if "gpg" is not found.

        * Refresh autotool config scripts.

2010-08-19  Sam Varshavchik  <mrsam@courier-mta.com>

        * Bind function keys to external commands. Pressing a function key
        runs the external command which receives a copy of a message on
        standard input.

2010-08-17  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/curseseditmessage.C: Undefine a shortcut by pressing ^N when
        nothing is selected.

0.84

2010-05-30  Mr. Sam  <mrsam@courier-mta.com>

        * gpglib/list.c: Handle GnuPG 2 --with-colons output format changes.

        * gpglib/mimegpgfork.c: GnuPG 2 wants --batch when specifying
        passphrase-fd.

        * cone/cursesmessage.C: Strip off trailing CRs from original message
        that's being replied or forwarded (shown as trailing ?s on every line
        in the reply).

        * tcpd/configure.in: Check if explicit linking with libgpg-error is
        required.

0.83

2010-05-08  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/sgml/cone-folderindex.sgml (prompt): Mention the inn 2.5.x bug.

2010-05-05  Mr. Sam  <mrsam@courier-mta.com>

        * cone/myreferences.H (m): Fix NULL ptr deref.

2010-05-02  Mr. Sam  <mrsam@courier-mta.com>

        * cone/cursesmessage.C (nextLink): Fix wild pointer.

        * libmail/copymessage.C (fail): Fix segfault if fetching the contents,
        of the message being copied, fails.

        * cone/cursesmessage.C (reformatAddLine): Clear the entire struct
        to suppress warnings from valgrind.

2010-05-02  Andrej Gelenberg <andrej.gelenberg@uni-dortmund.de>

        * gcc 4.5 portability fixes.

2010-05-01  Mr. Sam  <mrsam@courier-mta.com>

        * tcpd/libcouriergnutls.c (tls_connect): Fix bad call to
        gnutls_server_name_set().

0.82

2010-04-29  Mr. Sam  <mrsam@courier-mta.com>

        * cone/curseseditmessage.C (getMarkedRegion): Portability fix
        (gcc 4.4.3).

2010-04-28  Sam Varshavchik  <mrsam@courier-mta.com>

        * all: Some code cleanup.

0.81

2010-02-28  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/spellcheckerAspell.C: Do not set "lang" and "encoding" to empty
        values.

0.80

2009-10-30  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/libmail: Link with libidn if this library is installed. Added
        getAddrAddr() and setAddrAddr() methods to mail::emailAddress that
        use libidn, if installed, to decode/encode the hostname portion of the
        email address.

        The GNU IDN library is now required to build Cone

0.79

2009-06-27  Sam Varshavchik  <mrsam@courier-mta.com>

        * all: portability fixes for gcc 4.4.

2009-05-07  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/myserverconfig.C (loadmacros): Fix saved macros that contain
        8-bit text.

0.78

2009-04-26  Sam Varshavchik  <mrsam@courier-mta.com>

        * tcpd/libcouriergnutls.c: Fix off-by-1. Other cleanups.

2009-04-19  Sam Varshavchik  <mrsam@courier-mta.com>

        * libmail/maildiradd.C: gcc 4.4 fixes.

2009-02-15  Sam Varshavchik  <mrsam@courier-mta.com>

        * Updated autoconf, automake, libtool, and gettext.

2008-11-28  Sam Varshavchik  <mrsam@courier-mta.com>

        * cone/configure.in: Update script to work with newer autoconf.

        * cone/Makefile.am: Use XML catalog to locate stylesheet.

        * curses/configure.in: Replace AC_CONFIG_HEADER with AM_CONFIG_HEADER

2008-08-26  Alessandro Vesely <vesely@tana.it>

        * tcpd/libcouriergnutls.c (tls_connect): Fix client certificate request
        settings.

0.77

2008-08-25  Mr. Sam  <mrsam@courier-mta.com>

        * cone/gpg.C (GPG::select_key): When there's only one key in the
        keyring, it was impossible to cancel it.

2008-08-24  Mr. Sam  <mrsam@courier-mta.com>

        * tcpd/libcouriergnutls.c (set_cert): Add support for certificates
        signed by an intermediate CA.

0.76



>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/mail/cone/Makefile,v
retrieving revision 1.38
diff -u -r1.38 Makefile
--- Makefile	11 Apr 2011 08:34:15 -0000	1.38
+++ Makefile	27 Jun 2011 20:27:28 -0000
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	cone
-PORTVERSION=	0.77
+PORTVERSION=	0.89
 PORTREVISION=	1
 CATEGORIES=	mail
 # This is for beta versions, leave it in please:
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/mail/cone/distinfo,v
retrieving revision 1.21
diff -u -r1.21 distinfo
--- distinfo	6 Sep 2008 16:31:18 -0000	1.21
+++ distinfo	27 Jun 2011 20:27:28 -0000
@@ -1,3 +1,2 @@
-MD5 (cone-0.77.tar.bz2) = ab277a293ec29ea6a9bc4c3e9e83f818
-SHA256 (cone-0.77.tar.bz2) = f2b022222feea1bccb400c4715be7d0b6d8031e1372b1988e8917fddb80307f0
-SIZE (cone-0.77.tar.bz2) = 4141280
+SHA256 (cone-0.89.tar.bz2) = 71678cb2a95cd02ce2c734549dee9c542e29c3a29c376b64884022febb0d3fba
+SIZE (cone-0.89.tar.bz2) = 3794802
--- /dev/null	2011-06-27 20:26:59.000000000 +0000
+++ files/patch-curses-cursesscreen.diff	2011-06-27 19:58:50.000000000 +0000
@@ -0,0 +1,13 @@
+--- curses/cursesscreen.C.orig	2011-04-04 11:58:28.000000000 +0000
++++ curses/cursesscreen.C	2011-06-27 19:41:38.000000000 +0000
+@@ -73,7 +73,9 @@
+ 	while (input_buf.size() > 0)
+ 	{
+ 
+-		char *inbuf=&input_buf[0], *outbuf=&winput_buf[winput_cnt];
++		//char *inbuf=&input_buf[0], *outbuf=&winput_buf[winput_cnt];
++		const char *inbuf=&input_buf[0];
++		char *outbuf=&winput_buf[winput_cnt];
+ 		size_t inbytesleft=input_buf.size(),
+ 			outbytesleft=winput_buf.size()-winput_cnt;
+ 


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201106272038.p5RKc8Pc019026>