MHonArc: ANNOUNCE: v2.4.0 released

1999-06-26 03:18:25

MHonArc Users,

v2.4.0 is now available for download from

The following lists the changes and bug fixes in v2.4.0:

    o   Added the following resources:

            ADDRESSMODIFYCODE   Perl expressions to apply to addresses
                                during message header conversion.
            CHECKNOARCHIVE      Check "no archive" flag in messages.
            LOCKMETHOD          The type of archive locking performed.
            SPAMMODE            Perform actions to deter email address
            SSMARKUP            Markup at the *very* beginning of any
                                generated page.
            STDOUT              Destination of stdout messages/data.
            STDERR              Destination of stderr messages/data.
            SUBJECTTHREADS      To check, or not to check, subjects when
                                computing threads.

    o   Added the following resource variables:

            $FROMADDRNAME$      Username portion of From email address.
            $FROMADDRDOMAIN$    Domain portion of From email address.
            $TOADDRNAME$        Username portion of an email address
                                (applicable in MAILTOURL only).
            $TOADDRDOMAIN$      Domain portion of an email address
                                (applicable in MAILTOURL only).

    o   A new utility program: mha-decode.  The program functions
        as a MIME message decoder.  Can be used against mail folders
        or single messages.

    o   The "PARENT" argument to applicable resource variables is now
        called "TPARENT".  This change should not affect anyone since
        the "PARENT" argument did not work properly in previous

    o   SUBJECTHEADER and HEADBODYSEP resource changes will now affect
        existing messages that are edited during normal operations or
        via EDITIDX.  Note, messages created from old versions of
        MHonArc may not be affected.

    o   The default TIMEZONES settings now has a more complete list.

    o   Timezone acronym settings now support [+-]HHMM specifications.

    o   Support for ISO-2022-JP encoded strings in message headers
        is now supported.  It does assume that HTML viewer supports

    o   If Digest::MD5 is installed, md5_hex() will be used to create
        message-ids for messages without message-ids.  This allows
        MHonArc to ignore non-message-id archived messages in ADD mode.
        The MD5 digest is computed only on message header for efficieny.
        If Digest::MD5 is not installed, a message-id will still be
        assigned if none present, but MHonArc will not be able to
        detect if message has already been archived in subsequent ADD

    o   Text/html filter supports the "noscript" option.  If
        specified, any script-related markup will be removed.
        This provides added security to avoid sites being compromised
        with foreign client-side scripting.

    o   Added the following options to (the save-to-file
        filter): forceattach, forceinline, and inlineexts.

    o   Recognize mailing list headers as defined by RFC 2369 and
        hyperlink URLs listed.

    o   If no boundaries exist in a multipart message (even though
        a boundary is defined in the header), MHonArc will treat
        the entire body as the first part.  This prevents "unable
        to process" warnings.

    o   The "<!--X-From" comment declaration at the top of converted
        messages is now munged by a modified ROT13 to facilitate
        anti-spam-bot measures, but still provide the "From"
        information for mha-dbrecover.

    o   When editing message pages, the new version of the page is now
        created as a temporary file and then if successfully created,
        it will get renamed to its proper name.  This help avoids "losing"
        a message page if there is an error during page editing.  The
        same method is applied to the dumping of DBFILE.

    o   Message sorting modified to improve sorting performance when
        sorting by subject and author.

    o   URL matching expression in modified to handle
        '&' characters.

    Bug Fixes
    Problem:    Duplicate message-ids in a message's reference list
                were not removed.
    Solution:   Array changed to my() scope caused remove_dups()
                to not do anything (it takes a typeglob).  Array
                changed back to local().

    Problem:    TFIRST, TLAST, and PARENT arguments to resource
                variables always produced null values.
    Solution:   Fixed.  Note, PARENT is now TPARENT to be consistent
                with other thread-related arguments.

    Problem:    SUBJECTHEADER resource not printed when -savemem is
    Solution:   Problem is due to the new resource variable handling
                in 2.3.  The solution is to support the editing of
                SUBJECTHEADER (and HEADBODYSEP) in existing message

    Problem:    Multipart processing not done properly if boundary
                parameter not enclosed in quotes and is terminated
                by a semi-colon.
    Solution:   Fixed in

    Problem:    %h not recognized in time format strings.
    Solution:   Fixed.

    Problem:    Use of $ICON$ will generate defective tag like
    Solution:   Fixed typo in join() call in

    Problem:    Some messages with specified inline images are not
                having images inlined.
    Solution:   Content-Disposition parsing fixed.

    Problem:    Clip length not handled properly in resource variables.
                Ie.  Characters that are translated into entity
                references are not handled properly when computing clip
                adjustment.  Incorrect clipping can occur.
    Solution:   Fixed.

    Problem:    MHonArc checking for writable OUTDIR in SINGLE mode.
    Solution:   Fixed.

    Problem:    Default resource file not read if located in MHonArc
                lib directory.
    Solution:   Fixed improper assumption of @INC setting.

    Problem:    TLIEND not generated at proper times when thread level
                goes beyond TLEVELS.
    Solution:   A check is made in thread index printing to generate a
                TLIEND properly for TLITXT when deeper than TLEVELS.

<Prev in Thread] Current Thread [Next in Thread>