Version Changes for Hypermail
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Peter McCluskey (Mar 27, 2006)
Add rel="nofollow" to text message URLs (option txtsuffix = 1).
Peter McCluskey (Mar 14, 2006)
Fixed a core dump with linkquotes = 1 caused by Daigo's changes.
Peter McCluskey (Sep 30, 2005)
Fixed missing links at top when show_index_links is 1 or 3.
Peter McCluskey (Aug 4, 2005)
Fixed double counting of messages deleted with the delete_msgnum option,
which sometimes caused top level index page to show wrong number of
messages and not link to a folder.
Peter McCluskey (Jul 29, 2005)
Changed to sort on sender date rather than from date when displaying
sender date as a result of use_sender_date = 1.
Peter McCluskey (Jun 23, 2005)
Some small changes from Vincent McIntyre to make date-range in index of
folders link to default index page, to use CSS instead of <th> to
distinguish that column, and some whitespace changes.
Added explanation of how to handle strcasestr prototype error to INSTALL.
Peter McCluskey (Mar 19, 2005)
Fixes to files_by_thread option submitted by Oliver Meili.
Peter McCluskey (Dec 2, 2004)
Patch from Ulf Härnhammar to fix two format string bugs in Hypermail.
They could have caused crashes if using incremental mode on edited
pre-existing archives with data like "%n%n%n%n%n%n%n%n" in certain lines.
Peter McCluskey (Nov 28, 2004)
Add filename_base option.
Peter McCluskey (Sep 29, 2004)
Add support for JAVT timezone.
Add mailbox_date_trimmer to contrib, faq.
Peter McCluskey (Jun 2, 2004)
Add language code substitution cookie patch from Shane Wegner.
============================
HYPERMAIL VERSION 2.2.0:
============================
Peter McCluskey (May 25, 2004)
Changed some of the addresses to hypermail-project.org.
Made the "We delete ... " message print only if progress != 0.
Peter McCluskey (Mar 23, 2004)
Changes to speed up incremental update when there are deleted files if
using usegdbm (it's still slow if usegdbm = 0).
============================
HYPERMAIL VERSION 2.1.9:
============================
Peter McCluskey (Feb 23, 2004)
Released version 2.1.9 tar file.
Peter McCluskey (Feb 17, 2004)
Add use_sender_date option.
Fix instructions for doing "make install" so that the documentation will
be installed.
Peter McCluskey (Feb 5, 2004)
Update much of the documentation.
Peter McCluskey (Feb 4, 2004)
Change default in setup.c for spamprotect and spamprotect_id to On.
Peter McCluskey (Feb 2, 2004)
Add set_report_new_file and set_report_new_folder options.
Peter McCluskey (Jan 23, 2004)
Add in missing <a name="end"> for index files.
Removed a misleading, nonportable timezone string from link titles in
toplevel index pages.
Peter McCluskey (Jan 9, 2004)
Change to make mbox_shortened option work a little better with
discard_dup_msgids = 0.
Change folder_by_date option to use "From " date rather than "Date: "
to decide which subdirectory to use. This makes it consistent with
top level index page.
Peter McCluskey (Dec 26, 2003)
Add increment = -1 mode to enable automatic determination of whether
to update or append in most cases.
Peter McCluskey (Dec 3, 2003)
Added a mbox_shortened option to handle mboxes that have had messages
deleted from the start of the mbox.
Peter McCluskey (Dec 1, 2003)
Fix mismatch in <ul>, </ul> in date.html with indextable = 0.
Peter McCluskey (Nov 17, 2003)
Add a check for the problem with the starting message number that was
partly fixed on Oct 1. Now old archives with a startmsgnum = 0 .hmrc but
a first message of 0001.html in this case will be treated as if startmsgnum
was 0.
Peter McCluskey (Nov 15, 2003)
Add Portugese support from Hugo Cisneiros.
Peter McCluskey (Oct 1, 2003)
Fix some problems with starting message number that caused bugs when
increment = 1, linkquotes = 1 and using folder_by_date.
Peter McCluskey (Sep 11, 2003)
Fixes to make pcre work.
Peter McCluskey (Sep 3, 2003)
Applied patches from Mike McDonald to use nowrap option in the author and
date columns in the index tables and get rid of all of the 'width=100%'
options to the tables.
Peter McCluskey (Sep 3, 2003)
French language improvements from Olivier Kaloudoff.
Peter McCluskey (Sep 1, 2003)
Applied patches from Mike McDonald to make spamify_replacedomain use
set_antispam_at, change printdates to include the dates in the table
version of the bydate index, and make the table use the whole screen
width instead of 80%.
Jose Kahan (Aug 18, 2003)
- Changed to lowercase the suffixes added to the message indexes. That is,
from "archive name By Date" to "archive name by date" because the
upper case seemed out of style as we don't have any control on what
is the string used for the archive's name. Did this change only for
the English messages as I don't know if this convention works well for
other languages.
Jose Kahan (Aug 18, 2003)
- Made the links to the different indexes show the index of the current entry.
This change originated from the feedback we got on the WAI enhanced archievs.
People find that this small changes increases the usability of the archive.
Jose Kahan (Aug 18, 2003)
- The links to the first message (aka #first) were not working in the
by attachment, by author, and by subject indexes.
Peter McCluskey (Aug 16, 2003)
- applied fix from Jean-Charles Meyrignac to handle 0x1A in mbox.
Jose Kahan (Aug 14, 2003)
- After receiving more feedback, reverted the changes done for converting the
displayed value of the Date: header. The reason is that users like to know
when they send a message. This information was getting lost because we
were converting the date to the local time.
- Made the Received on date be shown in converted local time.
- Added a new configuration option, indexdateformat, so that people can
specify a different format for indexes than the one used elsewhere. If this
variable is not defined., it'll use the dateformat by default.
- Made the index by date compare dates independently of the value of dateformat.
Jose Kahan (Aug 13, 2003)
- Made the Received on footnote line use the same date format as that used for the
Date: header on top of the messages.
Jose Kahan (Aug 18, 2003)
- Small WAI change to the list of indexes to show the entry corresponding to
the current index, but outside of a link. This comes from feedback, where
people said it was less distracting to see the same index to links all
the time.
Jose Kahan (Aug 18, 2003)
- Add the <title> WAI enhancement that I had forgotten to do for messages.
The new format is: [subject] from [author] on [date] ([mailing list label]).
I also removed the 64 characters maximum limit check we had on the title.
The reason is that this is not part of the HTML specification, but rather
a writing style. Dominique says we shouldn't be so strict in this case. In
addition, just adding a \0 after 64 characters could break entity names and
generate invalid HTML.
Jose Kahan (Aug 13, 2003)
- The mailcommand option didn't work when applied to a paragraph that had
a previously converted href string that includes the '@' char. I added
a quick hack to ConvURlsString to avoid doing the mailto: convertion if an href
already exists in that line. The best solution would be to do something
similar to ConvURLsWithHrefs.
Also fixed a memory leak.
Peter McCluskey (Aug 8, 2003)
- Applied haof fixes from Bernhard Reiter.
Jose Kahan (Aug 4, 2003)
- As a side effect of PNK's use of an SGML entity for the @ char, the
mailcommand option stopped working on all the headers except for
the To: one.
Jose Kahan (Aug 1, 2003)
- In order to guarantee the validity of XHTML documents, changed the
behavior of hypermail when including customized footers. Previously,
when using this option, the custom markup had to include the </body>
and </html> end tags. As we also need to include a </div> in some
cases for XHTML and it's much harder to guess when to add it, I
made hypermail always add those three end tags as needed, regardless
of whether the custom footer option is being used.
Jose Kahan (Jul 30, 2003)
- After talking with Dom Hazel-Massieux, I added some extra WAI enhancements
to the list of indexes generated by hypermai. Specifically, the date
is shown in a verbose name in the title attribute of each entry and in
an abbreviated version in the markup that's being displayed.
Jose Kahan (Jul 30, 2003)
- When rebuilding an archive, the attachment files were not being overwritten
correctly. . Fixed this by adding an O_TRUNC flag.
Jose Kahan (Jul 29, 2003)
- Removed a memory leak in file.c as reported by insure.
- The ietf-mbox option didn't work on "quoted printable" encoded attachments.
Peter McCluskey (July 22, 2003)
Fix show_msg_links = 3 option (Jose's changes assumed it didn't exist).
Updates to German from Tobias Weber.
Kent Landfield (Jul 14, 2003)
- When show_headers was used in print.c, the newline was not recognized
early enough in printheaders. A check was added to assure the newline
was recognized properly.
Kent Landfield (Jul 10, 2003)
- Small typo in print.c corrected.
fprintf(fp, "%s ^lt;<em>%s</em>>"...
========================
HYPERMAIL VERSION 2.1.8:
========================
Kent Landfield (Jun 28, 2003)
- Updated pcre library with pcre-4.3 sources. We were distributing a
much older version. We were distributing version was 3.3 from
August 1, 2000.
- Updated FILES with the lcc files and the pcre changes.
- Removed the deprecated "show_hr" from the tests/test.rc file.
Jose Kahan (Jul 2, 2003)
- parseurl didn't work well when an URL was quoted and enclosed inside
tags. Such as:
<dd>some url</dd> </dd was put as part of the url.
Jose Kahan (Jul 1, 2003)
- Added WAI enhancements to the list of indexes generated by hypermail.
To make things perfect, we would need a new configuration option to give
the format of the date in the list of indexes format. I hard coded it
for the moment as I ran out of time to do it right now. As it has to
use an abbreviated date format to avoid having a too big list of indexes,
we can' t reuse the standard set_dateformat value.
- Removed warnings detected thru gcc Wall.
Peter McCluskey (June 30, 2003)
- Increased max_tokens used to allocate space for linkquotes data struct.
Jose Kahan (Jun 28, 2003)
- Code cleaning. Removed the deprecated code for set_showhr and
set_usetable options.
Kent Landfield (Jun 28, 2003)
- Arkadiusz Miskiewicz <arekm@sse.pl> reported progerr() was being
called with NULL instead of the previously constructed error message.
His supplied patches were applied.
Peter McCluskey (June 27, 2003)
- Made dates in subdirectory index files reflect subdirectory date range,
rather than the date range for the whole archive.
Peter McCluskey (June 24, 2003)
- Fix print_index_header_links to print MSG_ENDING date correctly (had
been using 2 getdatestr() calls in one argument list).
Peter McCluskey (June 20, 2003)
- Fix a core dump with empty Date:.
Jose Kahan (Jun 10, 2003)
- Some extra WAI enhancements requested during the period of public comments:
Order the date index by dates, like in subjects, add <dfn> to the start and
end period in the indexes, change the title of "jump to first message" to
"jump to list of messages".
- The top respond link didn't take into account the msgid or subject. It was
just a plain mailto. Made it work as the bottom one.
Jose Kahan (Jun 10, 2003)
- Adding new messages using the -u option to an existing file sometimes
resulted in warnings saying "Message-ID is missing, ignoring message
with subject..." Patch idea submitted by Peter.
Jose Kahan (Jun 10, 2003)
- The incremental option (-u) always started new archives with 0001, rather
than 0000. It will now start with 0000 as before
For those people who had this problem and don't want to break any links to
their archives when rebuilding them, there's a new configuration option
allowing you to tell from which number you want to start your archive:
startmsgnum. You should only set it up once and not modify it for an
existing archive or your links may break.
A warning message appeared systematically because the showhr, which is
now deprecated, was turned on by default.
Peter McCluskey (May 22, 2003)
- add Italian support from Gabriele Bartolini and Marco Nenciarini.
Peter McCluskey (May 16, 2003)
- Fixed initialization of prior_subdir when dirs created out of
order. That fixes a case where a subdir wasn't in index files with
reverse_folders = 1.
Jose Kahan (May 13, 2003)
- Add the WAI enhancements proposed in
http://www.w3.org/2002/03/archives-improvements/.
As a consequence of this change, the sethr and usetable configuration
options are deprecated. The new markup takes into account the changes
that those options proposed and offers them in a WAI friendly way.
Some code cleaning needs yet to be done to remove all the cases
where those rules were used. Previous code version is tagged as
"before-wai".
Fixed some invalid XHTML markup too.
Peter McCluskey (May 12, 2003)
- fix txtsuffix to not crash on null pointer.
- fix discard_dup_msgids to work when showprogress = 0.
Peter McCluskey (April 24, 2003)
- spam encoding from Peter Karlsson. Currently enabled via the
spamprotect option.
Jose Kahan (Apr 23, 2003)
- As a consequence of the XHTML convertion, unconvchars() wasn't
storing information into the buffer when there were no entities.
Jose Kahan (Apr 10, 2003)
- Converted hypermail to XHTML. The only remaining issue concerns
charsets. Some mail clients don't specify a correct charset or
specify a charset and include characters belonging to other
charset spaces. The solution to detect and convert the
foreign charset into a Unicode entity or, for the adventurous
hacker, convert hypermail's output to UTF-8. For the moment, only
the former is implemented partially; there is only one a winlatin1
(Windows CP 1252) to Unicode convertion/detection being done.
See string.c:convchars, unconvwinlatin1, and uconvert.h for more
details.
The best solution will be to move to UTF-8, but this has to be planned.
If you have a charset issue, your XHTML document will be invalid.
As XHTML is backwards compatible with HTML, you can avoid this problem
by continuing to use the text/html MIME type.
Peter McCluskey (April 3, 2003)
- Fixed so attachment.html doesn't list .meta directory.
Kent Landfield (Mar 20, 2003)
- Added Splint (www.splint.org) support to src/Makefile.in
- Corrected Initializer block for ltable[12]. Had 2 fields, but struct
language_entry has 3 fields.
- Removed unused gp variable in update_deletions().
- modified print_main_header() to assure title meets HTML recommendations
of no longer than 64 characters.
- Updated docs/hypermail.rc
Peter McCluskey (Mar 18, 2003)
- Fixed overwrite = 0 to avoid rewrite of many files involved in replies
with folder_by_date option.
Peter McCluskey (Mar 14, 2003)
- Fixed two bugs with deleting messages with the incremental mode. One bug
meant that the message body was only rewritten or removed with the
delete_msgnum option, not delete_older / delete_newer. The other bug
involved only updating the is_deleted flag in the gdbm file if the
message body was redone to update a MSG_IN_REPLY_TO line.
Kent Landfield (Mar 9, 2003)
- updated domains.h to accurately reflect the current set of root domains.
Peter McCluskey (Mar 7, 2003)
- Fixed problem with reverse_folders option that caused the index file
to leave out folders when there were some unusual mismatches between the
2 dates in one message.
Kent Landfield (Feb 28, 2003)
- changed wait.h sys/wait.h for portability in msg2archive
- removed unused variable in finelink.c
Kent Landfield (Feb 20, 2003)
- corrected docs/Makefile.in to create the images dir if it does not exist.
Kent Landfield (Feb 20, 2003)
- added wait.h to msg2archive that was needed for s_popen()
- removed unused variable in finelink.c
========================
HYPERMAIL VERSION 2.1.7:
========================
Peter McCluskey (Feb 20, 2003)
- Made version 2.1.7 tar file.
Jose Kahan (jose@w3.org) (Feb 20, 2003)
- makemailcommand wasn't escaping non-ascii characters in the URLS
that it generated.
Peter McCluskey (Feb 19, 2003)
- Fix to append option to handle some lines getting discarded in mdecodeQP.
Kent Landfield (Feb 19, 2003)
- Updated TODO with configure issues and other corrections we want
to make to the code in the near future.
Jose Kahan (jose@w3.org) (Feb 19, 2003)
- Upgraded extract_rfc2047_content() as the previous extracting
algorithm was broken.
Kent Landfield (Feb 18, 2003)
- Added missing contrib utilities, contrib/msg2hypermailarchive.py
and contrib/runtest to FILES
- Added checking in struct.c to limit the length of Subject: line to
avoid theoretical Denial-of-Service
- Removed code that was ifdef'ed NOTUSED
Peter McCluskey (Feb 17, 2003)
- Fix to attachment Content-Type parsing to strip all whitespace off
end of type rather than just newline.
Kent Landfield (Feb 17, 2003)
- Added safe_tmpfile() usage instead of internal usage.
Peter McCluskey (Feb 14, 2003)
- Disabled conversion of file:// into href - it seemed to allow anyone
who could access the web server via local host could read any file
that the web server had permission to read rather than just files
in the archive directory.
Peter McCluskey (Feb 13, 2003)
- Add -DTRIO_MINIMAL. Solves a trio compile problem in SunOS and makes
binary a little smaller.
- Strip mail.c down to minimal warning message so we don't have to worry
about analyzing it's security problems.
- Changes to get strerror, memmove from pcre when missing (e.g. on SunOS).
How was this working on SunOS before?
- Fix faulty sizeof in snprintf for MSG_ENCODING_IS_NOT_SUPPORTED.
Kent Landfield (kent@hypermail.org) (February 12, 2003)
- Converted msg2archive.c to use Thomas Biege's <thomas@suse.de>
s_popen() instead of popen().
Kent Landfield (kent@hypermail.org) (February 11, 2003)
- Modified configure.in to test for snprintf. This is needed
since Solaris 2.5.1 does not have snprintf. This only affects
the msg2archive and mbox2hypermail in the archive directory.
Kent Landfield (kent@hypermail.org) (February 10, 2003)
- Modified configure to assure on Solaris that the ctype functions
were used instead of the macroes. New NO_MACRO define in config.h.
- Added most of the patches submitted by Thomas Biege <thomas@suse.de>
- Cleaned up compilation commenting out unused variables with NOT_USED.
Need to remove them and other unnecessary code soon.
- Various other minor compilation issues.
- Corrected prototype issue in print.c
- Added parameter checking to archive/*.c source
Peter McCluskey (Feb 10, 2003)
- Fixed the append option to handle lines between end of headers through
mime boundary correctly.
Jose Kahan (jose@w3.org) (February 06, 2003)
- Added a protection against the use of the nonsequential messaging option
when hypermail wasn't compiled with the libfnv.
Kent Landfield (kent@hypermail.org) (February 06, 2003)
- Hypermail 2.1.6 runs on a DEC Alpha running TRU64 when compiled
with GCC 2.95. It does however require the -mieee flag be set for the
trionan.c sources.
- Modified configure.in script to support setting the the -mieee flag
for an Alpha TRU64 build.
- Modified various Makefile.in files to assure clean/clobber/distclean
worked universally.
Peter McCluskey (Feb 1, 2003)
- Changes to make stack overflow less common.
Peter McCluskey (January 29, 2003)
- Fixed faulty freeing of memory that caused core dump with files_by_thread
option.
- Fixed missing function call argument with files_by_thread option. I suspect
this was causing some random behavior, but I only found it due to valgrind.
- Fix for placement of link to next msg with incremental update, usetable = 0.
Peter McCluskey (January 28, 2003)
- Fix from Zvi Har'El to leading zeroes in anchors in index pages with
indextable=0.
- Changes to Swedish from Peter Karlsson.
Peter McCluskey (January 26, 2003)
- Fix for placement of link to next msg with incremental update.
========================
HYPERMAIL VERSION 2.1.6:
========================
Peter McCluskey (January 24, 2003)
- Released version 2.1.6 tar file.
- Fix buffer overflow when progress = 2 (triggered by long attachment
names). Was a security risk.
- Fix buffer overflow in mail (cgi) program that probably created security
risk if gethostbyaddr returned h_name of about 80 chars for an ip address.
- Disabled the functionality of the mail program and replaced it by default
with warning about abuse by spammers. Added warnings about use of program.
- Change size of boundbuffer (in parse.c) to 256, limit sscanf that fills it
to 255 bytes. This prevents a buffer overflow with long mime boundaries. The
buffer overflow didn't seemed to produce only minor problems, but it's hard
to rule out security risks.
- Add check for inline attachment name overflowing attachname buffer (like
the check that Jose added today for non-inlined attachments).
- Add check for append_filename and alts_text exceeding buffer size.
- Delete attachment directory of messages that are discarded due to a missing
or duplicate message-id.
Jose Kahan (jose@w3.org) (January 24, 2003)
- Fixed a buffer overflow reported by Ulf Harnhammar from VSU security.
Peter McCluskey (January 22, 2003)
- If mime message has an end boundary but no start boundary (as a buggy
version of Microsoft Outlook seems to create), the body is now treated
as a plain text message rather than discarded.
- Update trio code to trio version 1.9.
Peter McCluskey (January 20, 2003)
- Several fixes to avoid uninitialized memory reads reported by valgrind.
Peter McCluskey (January 18, 2003)
- Fix random behavior in parseurl which sometimes caused core dumps on lines
ending in http://, ftp://, etc.
Peter McCluskey (December 19, 2002)
- Apply patch from Wolfgang Spraul fixing link from subdir attachment.html to
index.html when defaultindex = date
Peter McCluskey (November 26, 2002)
- Changed attachment naming back to what it was before Jose added
set_nonsequential.
- Changed attachment naming so that files are stored using the names
provided without any %d- prepended whenever that doesn't cause conflicts.
Kent Landfield (kent@hypermail.org) (November 24, 2002)
- Made some updates to the docs. Still need to update the
docs to include writehaof, nonsequential, msgsperfolder and
assure other config file directives are listed and current.
Kent Landfield (kent@hypermail.org) (November 24, 2002)
- Added Russian language support.
Submitted by Igor Solovyoff" <siv@intear.com.ua>
Kent Landfield (kent@hypermail.org) (November 24, 2002)
- Made the "_at_" antispam bit configurable by config file, using
antispam_at = __somestring__ (does not have to have __ in it)
Anything hardcoded by default, can be figured out and used by
spammers. Particularly something like "_at_".
Submitted by Philip Brown <phil@bolthole.com>
Jose Kahan (jose@w3.org) (October 17, 2002)
- URL generation was broken when a URL had a '@' char and hypermail
was using the mailcommand option. parseemail() didn't take this
case into account yet (there's just an empty statement). I added a
quick patch to convert the '@' into an HTML entity when doing the
convertion inside a URL. The change is in translateurl().
Jose Kahan (jose@w3.org) (October 2, 2002)
- In order to avoid hashed filename collisions, the filename
is now built with a hash of the msgid concatenated to the
Epoch seconds of the From date. This gives a total of
16 characters (all data is represented in hex). Only messages
that have the same msgid and that arrive in the same second
will have a collision.
I also compiled with the Warning flags and removed some
warnings.
Jose Kahan (jose@w3.org) (October 2, 2002)
- The access righs of the msgindex file (for the hashed filenames)
were not being set at all.
Jose Kahan (jose@w3.org) (October 1, 2002)
- The non-sequential msgid mode didn't work when updating the
archives by one message. Fixed a confusion in the generation of
the msgindex file.
Jose Kahan (jose@w3.org) (September 26, 2002)
- Cleaned the autoconf files for passing the libnvf compile parameters
(what a difference does reading the manual make).
Peter McCluskey (September 25, 2002)
- Fix threading bug with incremental update and spamprotect_id = 1,
usegdbm = 0.
Jose Kahan (jose@w3.org) (September 25, 2002)
- Commited the ~/hypermail/ltmain.sh file and also put it in the
FILES section. Somehow, without this file, it was impossible to
compile the file generated thru a make tgz. The same kind of
file already existed in the pcre and fnv directories.
Added a rule to pass the FNV optional CFLAGS from the
~/hypermail/Makefile file, so that you can do a make from the top-level
(previously, you had to do it in the src directory... oops!).
Jose Kahan (jose@w3.org) (September 25, 2002)
- Updated the FILES tgz file (added libfnv, removed two non-existent
tests).
- Fixed the make tgz rule (how long was it since it was last used?)
Jose Kahan (jose@w3.org) (September 25, 2002)
- Added a new option to compute the archived filenames using an fnv hash
of the msgid + received From date. The resulting filename is 8 bytes long
(a space of 2^32 bits) + the extension. You can eventually change it to
16 bytes if this is too short. Just look at the code.
The advantage of this is that you can add and remove items from the
archive and not worry anymore about broken links if the sequence
changes (e.g., if you are rebuilding an archive). To activate this
option, you need to do a ./ configure --enable-libfnv, then
recompile hypermail. The name of the new option is nonsequential
(lack of imagination!).
Peter McCluskey (September 17, 2002)
- Added reverse_folders option.
Peter McCluskey (August 30, 2002)
- Fix segfaults in mdecodeRFC2047 (with headers encoded as quoted printable),
and in ConvURLsString.
- Add files_by_thread option.
Peter McCluskey (August 20, 2002)
- Change preferedcontent to fall back on type "text/" or on encoding if
it can't find any prefered types.
- Fix mdecodeRFC2047 to decode headers of any length (removing 128 byte limit).
- Add classes to default stylesheet to set colors of headers, standard links,
and of quoted text according to quote nesting depth.
Peter McCluskey (August 16, 2002)
- Fix bug internal error in crossindexthread2 resulting from message with
unterminated mime.
Peter McCluskey (August 11, 2002)
- Add Norwegian language support from Bosse Klykken.
Peter McCluskey (August 7, 2002)
- Add contrib/msg2hypermailarchive.py from Bernhard Reiter.
- Add antispamdomain option from Vincent McIntyre.
- Add delete_newer option.
Peter McCluskey (August 3, 2002)
- Fix expires option to work in incremental mode.
- Add delete_older option.
========================
HYPERMAIL VERSION 2.1.5:
========================
Peter McCluskey (July 31, 2002)
- Release version 2.1.5 tar file.
Peter McCluskey (July 22, 2002)
- Apply gdbm patch from Bernhard Reiter, mainly altering messages.
- Apply German language patch from Bernhard Reiter.
- Apply haof patch from Bernhard Reiter.
Peter McCluskey (July 15, 2002)
- Fix some missing links to multipart attachments with save_alts option.
Peter McCluskey (July 11, 2002)
- Add base_url option, and warning about it being needed when the
latest_folder option is used and the folder_by_date option contains a '/'.
Peter McCluskey (July 8, 2002)
- Fix endless loop that save_alts option often produced.
Peter McCluskey (June 18, 2002)
- Applied changes from Carlos Martín Ugalde to Spanish text.
Peter McCluskey (June 13, 2002)
- Fix call to compute_quoted_percent so that it doesn't crash on deleted msg
with incremental update.
Peter McCluskey (May 14, 2002)
- Add spamprotect_id option.
Peter McCluskey (Apr 26, 2002)
- Changed to convert ampersands in urls to &.
Peter McCluskey (Apr 22, 2002)
- Add Greek language support from Akis Karnouskos.
- Surpress <p> within <pre>.
Peter McCluskey (Mar 22, 2002)
- Fixed to rewrite old messages that have new replies (some links to
replies/next in thread had been missing for overwrite=0, increment=0,
and also for linkquotes = 1).
- Updated configure to reflect Daniel's changes to fix --without-gdbm
in configure.in.
Peter McCluskey (Mar 19, 2002)
- Increase MAXSTACK from 20 to 200.
Peter McCluskey (Feb 4, 2002)
- Fix to avoid converting strings like ftp://user@host.com to mailto's.
Peter McCluskey (Feb 4, 2002)
- Patch from William R. Knox to add meta date tag.
Jose Kahan (jose@w3.org) (Jan 25, 2002)
- When a message had a charset of type US-ASCII or ISO-8959-1, it wasn't
being stored in the HTML version of the message. This could result in
a correct decoding of the message, as browsers assume a user-given
default charset in those cases.
Peter McCluskey (Jan 11 2002)
- Patch from William R. Knox to fix possible race condition in creating dirs.
Peter McCluskey (Jan 10 2002)
- Add %t substitution cookies to provide path to top folder.
Peter McCluskey (Jan 5 2002)
- Fix segfault in incremental mode with linkquotes.
========================
HYPERMAIL VERSION 2.1.4:
========================
Peter McCluskey (Dec 19 2001)
- Create version 2.1.4 tarball.
Peter McCluskey (Dec 14 2001)
- Applied patch from William King adding </li>'s.
Peter McCluskey (Dec 10 2001)
- Fix bug in chronological ordering of folders.
Peter McCluskey (Dec 6 2001)
- Applied patch from William King to fix footer links on attachment index.
Peter McCluskey (Dec 4 2001)
- Change to detect start of new message when mime boundary missing,
treat unbounded text as plain text body.
Peter McCluskey (Dec 2 2001)
- Applied patches from William King:
- DTD changed to strict.
- </p> now emitted.
- Some tags were not contained properly. Now wrapped in <p></p>.
Peter McCluskey (Dec 1 2001)
- Applied patches from William King to string function defines and gdbm
configuration.
Peter McCluskey (Nov 30 2001)
- Add Polish language support from Piotr Waskiewicz. Change some hardcoded
From's to new macro MSG_FROM, change a Date to MSG_CDATE.
- update config.sub, config.guess from ftp.gnu.org/gnu/config/.
Peter McCluskey (Nov 26 2001)
- Applied patches from William King to update man pages for body, lang
options changes, and add new domain codes.
Peter McCluskey (Nov 24 2001)
- Applied patch from William King to add lang= to <html> tag, get rid of
duplicate <em>.
Peter McCluskey (Nov 23 2001)
- Added support for locales of form en_US. Changed language code "se" to
"sv", provide warning for old code.
Peter McCluskey (Nov 22 2001)
- Applied patch from William King to create meta tag with hypermail version
number.
- better French support from Emmanuel Blot.
Daniel Stenberg (Nov 21 2001)
- Updates to congfiure and trio.
Peter McCluskey (Nov 21 2001)
- Applied patches from William King to conform better to HTML 4.01:
* remove body option, replace default <body> bgcolor=, text= with inline
style sheet (unless user-defined style sheet present).
* change <div align=...> to <div class=...>, same for <h1 align=...>
- add $BINARY, $NONPLAIN types to ignore_types option.
- add warn_surpressions option
- add unsafe_chars option
- Remove tmpname from parse.c (to get rid of warning about mktemp).
Peter McCluskey (Nov 19 2001)
- Applied patches from William King to conform better to HTML 4.01:
* remove noshade from <hr>
* change the default DTD
* escape &'s, add image/png in test.rc, hmrc.example
- Changed the fix*header() routines so that they handle incremental updates
sensibly when given a mailbox with multiple messages. In the process, I
fixed 2 problems with single-message incremental updates, one which left
out the "Next message" link, and one which created a "Reply" link that should
have been a "Maybe reply".
- Add warning for mbox that starts with different msg than gdbm file if
not using -u (overwrite) option.
- Change default for overwrite option to off.
- Fixed segfault that happened when %m parsed in header but mailto was NULL.
Peter McCluskey (Nov 18 2001)
- Folder list now sorted chronologically.
Peter McCluskey (Nov 16 2001)
- Added save_alts and alts_text options.
Peter McCluskey (Nov 15 2001)
Updated some old documentation, added some security warnings.
Peter McCluskey (Nov 14 2001)
- Changes relevant to security:
1. attachment filenames ending in .shtml get changed to .html.
2. attachment descriptions are passed through convchars to prevent html tags
from being used there.
Peter McCluskey (Nov 13 2001)
- Fixed malloc bug that caused segfault with linkquotes=1.
Peter McCluskey (Nov 12 2001)
- Update to trio-1.4 (from 1.2) to fix Alpha compile problem.
Peter McCluskey (Nov 7 2001)
- Changes to hypetombox.pl:
1. add some support for handling attachments.
2. fixed some problems arising from some tags being changed to lowercase.
3. add -S option to specify htmlsuffix.
4. changed to convert <p> to blank line (instead of to nothing).
5. additions to improve handling of archives produced linkquotes=1 option.
Peter McCluskey (Nov 5 2001)
- change parse.c to treat lines containing only a carriage return as
blank lines for purpose of deciding whether they indicate the end of
headers or a continued header line.
========================
HYPERMAIL VERSION 2.1.3:
========================
Peter McCluskey (Aug 22 2001)
- fix Makefile to clean pcre directory.
Peter McCluskey (Aug 7 2001)
- removed In-Reply-To from mailcommand default.
Peter McCluskey (Jul 25 2001)
- fix to abort before unlinking gdbm file if need it and cannot open it.
- fix latest_folder option (didn't work in incremental mode).
Peter McCluskey (Jul 17 2001)
- patch from Brian Kirkby to fix links between folders with usetable.
Peter McCluskey (Jun 26 2001)
- fixed parsing of integer/octal/switch environment variable values.
- fixed bugs in latest_folder option (includes fix from David Bau
<davidbau@hotmail.com>).
Peter McCluskey (Jun 23 2001)
- fixed FILES so that hypermail.html gets into tarballs.
Peter McCluskey (May 31 2001)
- patches from Moritz Willers to surpress empty "messages sorted by:" line,
add | after "Previous Folder, Thread view", etc.
Peter McCluskey (May 30 2001)
- changes to Swedish from peter karlsson.
========================
HYPERMAIL VERSION 2.1.2:
========================
Peter McCluskey (May 22 2001)
- change default value for avoid_top_indices to none.
- fixed make to handle pcre properly.
Peter McCluskey (May 16 2001)
- fix pathnames in inline attachments with msgsperfolder/folder_by_date
Peter McCluskey (May 11 2001)
- add filter options (using pcre regular expressions):
filter_out
filter_require
filter_out_full_body
filter_require_full_body
Peter McCluskey (May 9 2001)
- fix links to attachments in subdir index files.
Peter McCluskey (May 8 2001)
- fixed bug with incremental update that caused the index files to
ignore messages beyond set_searchbackmsgnum.
Daniel Stenberg (May 8 2001)
- Removed the last traces of mprintf.[ch] and made the trio stuff work
completely as a replacement.
Peter McCluskey (May 7 2001)
- fixes to trio configuration.
Peter McCluskey (May 4 2001)
- another fix to avoid_top_indices = folders.
- enhance show_msg_links to support links only at top or only at bottom.
- add show_index_links option to control links from message page to indices.
- add txtsuffix option
- On/Yes now converted to 1 for CFG_INTEGER options (for compatibility
with options that used to be CFG_SWITCH's)
- fix append option so that it handles uuencoded attachments and
mdecodeQP() calls correctly.
Kent Landfield (May 4 2001)
- corrected compilation issue for Sun CC in string.c
- corrected check for set_custom_archives in hypermail.c
Peter McCluskey (May 1 2001)
- convert mprintf calls to trio calls
Peter McCluskey (Apr 27 2001)
- allow incremental update with folder_by_date on empty archive, improve
error messages for missing gdbm file with folder_by_date, incremental update.
Peter McCluskey (Apr 26 2001)
- fixed so that avoid_top_indices = folders works.
Peter McCluskey (Apr 24 2001)
- fix urls at end of index page with folder_by_date.
Peter McCluskey (Apr 20 2001)
- patch from Hisashi Gotoh <gotoh@horae.dti.ne.jp> to fix message/rfc822
handling with showhtml = 0.
========================
HYPERMAIL VERSION 2.1.1:
========================
Peter McCluskey (Apr 18 2001)
- changed configure script to check several directories for gdbm.h,
provide --with-gdbm=DIR option.
Peter McCluskey (Apr 16 2001)
- added patch from David Eisner <cradle@glue.umd.edu> to prevent subject
matching on subject lines which have no Re:.
- made hashreplylookup use the same code as hashreplynumlookup (fixes
missing "Maybe in reply to" links in some messages.
- made find_quote_prefix more cautious about recognizing nonstandard
prefixes as quote prefixes (affects linkquotes and showhtml=2 options).
Peter McCluskey (Apr 14 2001)
- add missing <ul> when set_show_msg_links == 0, pointed out by
Emre Bastuz <info@emre.de>
Peter McCluskey (Apr 13 2001)
- fixed portability problem in strcasestr.
- fixed custom_archives to handle NONE properly.
- removed a poorly thought out maybereply check in crossindexthread2
that was apparently dropping some messages from the thread list.
Peter McCluskey (Apr 12 2001)
- convert html tags for monthly_index, yearly_index to lowercase.
- fixed indexing error in getname reported by David Eisner <cradle@glue.umd.edu>
- fixed set_usegdbm compile error reported by Daniel.
- fixed parentheses in printattachments
Peter McCluskey (Apr 10 2001)
- Add check for *html deleted, gdbm index still present.
- fix count of messages.
- sped up linkquotes 2.5x by better mallocs
- replaced strcasestr with faster one from glibc via Scott Rose
- PushNString, PushString speedups
- fixed bug in parseemail (faulty sscanf return value check) that
added bogus strings in odd mailto's.
Peter McCluskey (Apr 9 2001)
- add new options: deleted, expires, delete_msgnum, delete_level
- togdbm args: fix misuse of secs_to_iso which made
email->date == email->fromdate
- fix subdir bug with thread_file_depth
- fix threading bugs with linkquotes
- fixreplyheader with linkquotes bugs fixed
Peter McCluskey (Apr 6 2001)
- patch from Hisashi Gotoh <gotoh@horae.dti.ne.jp> adding iso2022jp option
and fixing bug when config file not found.
Peter McCluskey (Apr 5 2001)
- fixed faulty urls in thread index files in subdirs with folder_by_date,
msgsperfolder
Peter McCluskey (Apr 3 2001)
- changed htmlfilename, articlehtmlfilename to allocate mem dynamically.
- redid config section of hypermail.html to describe some of the most
important options and refer to hmrc.html for a full description.
Changed style of hmrc.html, added folder_by_date mention to
hypermail-faq.html.
- fixed typo in FILES.
========================
HYPERMAIL VERSION 2.1.0:
========================
Peter McCluskey (Mar 31 2001)
- fixed core dump with showhtml=2 created by yesterday's checkin.
- added isodate, gmtime options.
- bug fixes to mime decoding and to libcgi/form_ent.c from
Greg Shenaut <greg@bogslab.ucdavis.edu>
- add fixhtime.pl (changes timestamps to match From:)
Peter McCluskey (Mar 30 2001)
- Reorganized hmrc.html.
- Add options to split archive into subdirectories:
folder_by_date
msgsperfolder
latest_folder
describe_folder
avoid_top_indices
Peter McCluskey (Mar 22 2001)
- Enabled attachments index file, added sublists of attachment
names and file sizes.
Peter McCluskey (Mar 22 2001)
- Fixed problem with GDBM defines.
- Improved speed by replacing O(N^2) code in these functions with
code that is at least typically close to O(N):
addreply, crossindexthread1, crossindexthread2, nextinthread,
writearticles (if set_showreplies)
Accidentally improved threading under linkquotes option in the process.
Overall performance probably scales up linearly with the number of
messages under normal conditions (but not with linkquotes, which has other
performance problems as well). Code is ifdef'd under FASTREPLYCODE for now.
Peter McCluskey (Mar 19 2001)
- Added new usegdbm and append options from Scott Rose.
Peter McCluskey (Mar 14 2001)
- Added avoid_indices option.
Peter McCluskey (Mar 13 2001)
- Sped up by balancing the datelist tree a bit (it had been virtually
a linked list) and by removing redundant call to nextinthread.
Peter McCluskey (Mar 12 2001)
- Added contrib/cron_hypermail
- Added some files in contrib and tests/mboxes to FILES.
Peter McCluskey (Mar 2 2001)
Added features originally implemented in critmail. New source files:
finelink.c
finelink.h
quotes.c
search.c
search.h
txt2html.c
txt2html.h
New options:
- showhtml: new option value 2 gives richer conversion to html borrowed
from txt2html.pl.
- monthly_index: create additional index files broken up by month.
- yearly_index: create additional index files broken up by year.
- thread_file_depth: break the threads index file into multiple files,
roughly one per thread.
- linkquotes: creates fine-grained links from quoted text to the text
where the quote originated. It also improves the threads index file
by more accurately matching messages with replies.
- searchbackmsgnum: with linkquotes and -u, speeds up processing, with
some risk that linkquotes won't find all links it should.
- link_to_replies: generate links from original quoted text to the
location(s) in replies which quote them.
- quote_hide_threshold: If the linkquotes option is on, replaces quoted
text with links in messages which quote too much.
- quote_link_string: with quote_hide_threshold, use this text in place
of first line of quoted text.
Peter McCluskey (Feb 20 2001)
- replaced the bodymailcommand with the following, to be more compatible:
* mailcommand - works as before unless replymsg_command specified
* replymsg_command - used for sending a reply to the list; if not specified,
is set to the value in mailcommand for compatibility with old .hmrc's
* newmsg_command - used for sending a new message to the list
========================
HYPERMAIL VERSION 2.0.0:
========================
Peter McCluskey (Feb 19 2001) applied patches from "W. Tasin" <tasin@fhm.edu>
- some changes in the german translation
- if a Content-Base is found set content=CONTENT_IGNORE because it is on
another server and it would never be parsed well inside the mail...
(this is more a workaround than a good patch... a better way would be to
include this to every link inside the content... to show up also this
external site... but I think it is an easy way to handle this problem)
- add NONE as value for set_mailcommand, so "New Message" will not be shown
- improve handling of inline attachments after signature.
- prevent "(no email)" in emailaddr from becoming mailto.
- add option set_bodymailcommand to configure mailto's other than one
used in MSG_NEW_MESSAGE or MSG_REPLY.
- changes to makemailcommand to prevent (nil) from showing when no Subject:.
Daniel Stenberg (Jan 3, 2001)
- Added checks for more functions in the configure script
Ashley M. Kirchner (May 31, 2000)
- I converted all uppercase HTML tags to lowercase in the main hypermail
base source. Stuff that got contributed (under the contrib directory)
were not touched. I'm going to leave those for their respective
contributors to change.
Daniel Stenberg (daniel@haxx.nu) (May 25, 2000)
- Added 'spamprotect' as a new flag. It replaces @-letters with "_at_" to
confuse spam-email-robots a bit.
- Found a terrible bug when an URL contains a @-letter, since it'll first
become <href>-tagged and then <mailto>-converted... :-/
- Added https:// as a recognized URL type (deja-vu, didn't I do this before?)
- Corrected the alternative parser not being reset at the end of all mails
Daniel Stenberg (daniel@haxx.nu) (May 23, 2000)
- Corrected the output on %> appearences in the template files
- Applied the beauty fix supplied by Darryl Lee <lee@darryl.com>
Daniel Stenberg (Apr 10, 2000)
- I made %<unknown letter> in printfile display exactly as used the other
day. Today I changed my email address all over!
- Added https:// to the recognized URL types to <a>-ify
Jose Kahan (jose@w3.org) (Jan 17, 2000)
- The quoted printable decoding didn't take into account the
ietf-mbox option.
Jose Kahan (jose@w3.org) (Dec 24, 1999)
- Removed an invalid </A> tag when using tables.
- When using the showhtml option, invalid HTML was generated in the
headers: <P><P> before the </PRE>.
- Stopped the generation of a Mailto on msgid's.
- Rearranged the format of the index and messages when not using
tables. My aim was to make the format more symetrical.
- Added a new item, "Mail actions", in the control menu. This item
is only active when using the mailcommand and hmail options, and
when the tables are turned off. This option duplicates the one found in
the table.
- Added two new options for linking external stylesheets to the index
and the messages, respectively: icss_url, mcss_url. The link is added
as a META element in the header.
- The default value of the mailcommand mailto: had some typos: non
escaped chars, use of reply-to instead of in-reply-to.
- Two protections were missing to avoid having empty HREFs when the
about and archives options were defined in the .hmrc file, but wihout
any given value.
Jose Kahan (jose@w3.org) (Dec 15, 1999)
- The inline changes from 29/Nov had the side effect that other
inline attachments, like text/html were being linked like inline
images.
Kent Landfield <kent@landfield.com> (Dec 8, 1999)
- Bjarni R. Einarsson <bre@netverjar.is> pointed out that the
"Reply:" and "Maybe Reply:" output was not correct. pcm@rahul.net
(Peter C. McCluskey) submitted a patch that fixes them as well
as the current threading allows.
Kent Landfield <kent@landfield.com> (Dec 7, 1999)
- Added hoaf-28 python index generator written and contributed
by Bernhard Reiter <bernhard@climate2.geog.uwm.edu> to the basline.
- Added ls2mail script written by David Kilzer <ddkilzer@ti.com>
to the basline.
- Converted libcgi.doc to libcgi.html.
Kent Landfield <kent@landfield.com> (Dec 1, 1999)
- hypermail-2b28 rolled.
Kent Landfield <kent@landfield.com> (Nov 29, 1999)
- Corrected a parsing error in parsemail when dealing with
attachments. If the filename was "quoted" things worked
properly. If the filename was not quoted then the name
of the attachment was dropping the first letter of the
filename and adding '_' to the end.
- Corrected a conditional statement that was limiting storage
of 'inline' types to only recording inline types that were
of type image/.
- Changed strstr usage when searching MIME headers to
use strcasestr instead as the case sensitivity was
getting in the way.
Kent Landfield <kent@landfield.com> (Nov 28, 1999)
- Inconsistencies in write* routines called in hypermail.c
pointed out by Bernhard Reiter <bernhard@uwm.edu>. set_*
variables were used but still passing values in with the
function call. Removed unneeded parameters.
Kent Landfield <kent@landfield.com> (Nov 22, 1999)
- The .hmrc resources didn't seem to override the default values, but
rather got added to them. This was corrected for list usage. If
a list value is set in the .hmrc file, it should completely replace
the default values. This need only occur on the first occurance
after the builtin initialization.
- Jeff Katcher pointed out 'At the bottom of index.html and date.html,
"Last message date:" is output twice. It's only present once on the
author and subject pages.' This has been corrected so it is only
printed once.
Jose Kahan <jose@w3.org> (Nov 23, 1999)
- A typo in setup.c:PreConfig gave problems (memory overwrite) when
dealing with CFG_LIST configuration options.
- uudecode wasn't working with the ietf-mbox option.
Kent Landfield <kent@landfield.com> (Nov 22, 1999)
- Error in setting of defaultindex in configure.in caused no index.html
file to be created. configure.in was corrected to set the default
index to "thread" instead of thread.html.
- Added .indent.pro files to FILES file.
- Added "-p" option to mkdir so all parent directories will be made if
needed.
- Added requests to TODO file.
Kent Landfield <kent@landfield.com> (Nov 17, 1999)
- hypermail-2b27 rolled.
Kent Landfield <kent@landfield.com> (Nov 17, 1999)
- Changed the install dependencies for the Makefile.in files
so that install-sh is used through out.
- Assured all includes are checked for in configure.
- Updated FILES
- Corrected dependencies on defaults.h
Kent Landfield <kent@landfield.com> (Nov 14, 1999)
- Corrected CFG_LIST storage of defaults other than NULL in
the function ConfigAddItem().
- Assured struct hmlist variables set_text_types,
set_inline_types, set_prefered_types, set_ignore_types,
and set_show_headers set to NULL initially. Othewise
add_list was checking garbage when called from ConfigAddItem().
- Reworked some of the defaults in setup.c
- Added a dump_configI() routine to print out all internal variables
for debugging. Use #ifdef DEBUG to get it included.
- Removed unused defines in setup.h
- Added defaults.h.in so sites could setup reasonable global defaults.
- Added additional configure support for setting defaults for
language, htmlsuffix, defaultindex and domainaddr in defaults.h.
- Added cleanup of defaults.h and mail-archive test directory to Makefile
- Removed old method from Makefile.in and lists.h in the archive directory.
- Regenerated configure from configure.in.
- Regenerated the dependencies in src/Makefile.in
- Removed some #if 0 code in date.c
- Changed strdup calls to strsav calls in getname.c and mail.c
- Cleaned up html page output if usetable was selected.
- Removed unnecessary variable passing into the writedates(),
writethreads(), writesubjects(), writeauthors() routines.
- Freed up memory alocated for configfile variable.
- Removed unneeded variables in hypermail.h (previously #if 0'ed)
- Updated README a bit.
- Updated Changelog
Kent Landfield <kent@landfield.com> (Nov 11, 1999)
- Removed strdup declarations that were causing gcc to fail
on certain systems.
- Added French language support contributed by Nicolas NOBLE
<pixels@chez.com>
- Updated documents about "is" and "fr" language support.
Kent Landfield <kent@landfield.com> (Nov 9, 1999)
- Added checking the return value of getpwuid() in readconfigs. If
the value is NULL then see if the $HOME is set in the environment.
This avoids a crash for Win32 users who don't bother to set up
/etc/passwd in cygwin environment.
- Added support for proper naming of executables (hypermail on
Unix hypemail.exe on Dos/Windows/NT).
- Corrected getlocaltime so it would not print the timezone twice
if the timezone was also specified in the dateformat directive.
- Corrected print.c so From: is printed when the email address
is the same as email name.
- Removed tests/testhm from the baseline. Replaced it with testhm.in
so configure can generate the proper path to the test hypermail
executable.
- Modified configure.in so that it can determine if it is running
in cygwin environment. Added tests/testhm.in support.
- Removed acconfig.h from the baseline as it is no longer needed
with the current configure changes.
- Assured destination directories exist for all installed files.
- Added uninstall option in makefiles.
- Cleaned up the docs/Install-win32.txt to reflect the changes made.
Bjarni R. Einarsson <bre@netverjar.is> (Nov 5, 1999)
- "is" message table translation.
- Added a stripsubject feature to hypermail, which
makes it remove all occurances of a given word from the subject line,
which is really useful for un-cluttering the subjects of some mailing
lists (my lists all have their subjects prefixed with [listname]: -
which is quite redundant in an archive).
Jose Kahan <jose@w3.org> (Nov 4, 1999)
- Cleaned a bit the HTML format as well as the arranging of the indexes,
to make them look a bit more coherent.
- Commented the code that assumed we have an HTML text when finding a
line with <HTML>. The best way is to send HTML text using a correct
content type.
- New configuration option, custom_archives, that allows to define
a proprietary HTML text to be shown in the Other mailing archives
item.
- New configuration option, ietf_mbox, for parsing IETF-formatted mboxes
(see the doc).
Jose Kahan <jose@w3.org> (Nov 2, 1999)
- When using the showhtml option, </PRE> tags were being added to each
line of the signatures.
Martin Schulze <joey@infodrom.north.de> (October 27, 1999)
- Some where the showheaders functionality was lost. It has been
partially added in. The 'hm_show_headers = list_of_RFC_Headers_to_display'
functionality did not work and has been corrected.
- If the show_headers directive contains the special character ``*'',
hypermail will display all header lines.
- Hypermail 2.x can now read hypermail 1.02 config files. Needed
to assure minimal impact of existing sites that use the older
version of hypermail.
- hmrc.4 and hypermail.1 have been updated.
Kent Landfield <kent@landfield.com> (October 27, 1999)
- Edited documentation to the text more readable by using two spaces
after a fullstop.
- Cleaned up prototypes so they are consistent through out the include files.
- Found many locations where a local variable was shadowing a global
variable. Renamed certain variables to assure no compiler confusion.
- Extended the warning switches in WARNINGS in the Makefile.in.
Kent Landfield <kent@landfield.com> (October 23, 1999)
- Added additional checks in configure for the operating system. Set -Ae for
HP-UX and added checks for functions in libsocket and libnsl. Added sanity
checks to assure you are on the same machine if you are using the existing
config.cache and added acconfig.h config.guess config.sub support files.
Additional cleanup to configure.in and a regenerated configure script.
Scott Rose <srose@direct.ca> (October 20, 1999)
- When a URL has trailing punctuation, it is almost certainly not part of
the URL. This version of parseurl() therefore excludes trailing
punctuation from URLs it finds.
- If the content-description of a message was empty, and at the end of a
line, the link to the associated attachment was anchored on null text.
Fixed to assure the text is anchored on the filename in the generated HTML.
Scott Rose <srose@direct.ca> (October 19, 1999)
- Added contrib/canonicalize.pl
Comparing two archives is complicated by the fact that each message is
marked by the time at which it's archived. Attached is a script that
standardizes that date, if weakly, useful for such comparisons.
- Added contrib/hyperfeed.pl
Feed messages from an mbox into hypermail one at a time so as
to test the incremental mode of hypermail.
- The idea here is that we are zipping along through an mbox, gathering
information about a message, when we encounter a "From " line that signals
the start of the next message. A side effect is populating dp with the
date from that "From " line. In the existing code, that value is copied
into fromdate[] just before the old message is hashed, which causes it
to be associated with the previous message. This caused different output
depending on incremental or mbox updating. This patch corrects that
by moving the date copy until after the addhash function is called.
Kent (October 18, 1999)
- Updated parseurl fuction as done by Scott Rose <srose@direct.ca>
provided 25% faster processing than the existing version while
maintaining the same functionality.
Kent (October 8, 1999)
- Changed msg2archive.c to be able to use the command line
- Made changes to runtest to assure msg2archive could be tested.
- Added the indent file .indent.pro in archive, src and lib.
- Ran indent on all sources in archive, src, and lib.
- Made changes to configure.in to better support libsocket.a
- Corrected configure.in check from gethostbyname to gethostbyaddr.
- Added configure check for inet_addr
- Added addition header checks and function checks in configure.in
- Regenerated config.h.in with autoheader
- Regenerated configure with autoconf
- Updated the source files to use the HAVE_* definitions in config.h
- Minor editing on the README
- Minor updates to the TODO file and Changelog file.
- Updated KNOWN_BUGS with the content of tests/Problems
- Removed tests/Problems from the baseline as it was duplicating
KNOWN_BUGS
- Removed src/Formatting from the baselien as it was a junk working
file of mine that should never have been baselined originally.
- Added tests/mboxes/embedded.msg as a test file and updated
tests/testhm to exersize it.
- Removed the listing for tests/Problems and src/Formatting, while
adding tests/mboxes/embedded.msg to the FILES file.
- Added the corrected version of hypetombox.pl done by
Peter McCluskey (pcm@rahul.net) to the baseline.
Jose (October 7, 1999)
- Changed the HTML DTD string of the generated strings to HTML 4.0
Transitional.
- Updated the doc to correspond to the suppression of the
options's hm_ prefix. Made the doc's HTML documents valid HTML 4.0 docs.
Kent (September 20, 1999)
- Cleanup of prototypes.
- Removed the generated getdate.c from the baseline. (Generated
from getdate.y.
- Purified and removed array bounds read problems.
Daniel (September 17, 1999)
- Applied language patches from Jyrki Kuoppala <jkp@kaapeli.fi>
- Applied Kent Landfields lots of changes. getname() is reverted to an older
version since the newer did out-of-bounds reads.
- Paul Haldane's fix is applied.
- Peter C. McCluskey <pcm@rahul.net> suggested fixreplyheader() correction
has beed applied.
Daniel (September 13, 1999)
- Kent Landfield found a bunch of weirdnesses that were corrected, in:
* threadprint.c/print_all_threads()
* print.c, makemailcommand() usage
Jose (September 8, 1999)
- (This is a big commit as I'm merging my independent developments into
the public hypermail tree, which I'll use from now on)
If there's a Content-Description header, we now use it to describe
MIME attachments (unless they are inlined).
Two new options (see the hmrc.4 or hmrc.html file for more info):
+ hm_uselock to turn off hypermail's internal locking mechanism
+ hm_usemeta to store the content type of a MIME attachment in a
metadata file (also available thru commandline option -M)
If the usemeta option is turned on, the Content-Type header of an
attachment is stored in a .meta directory (see hmrc.4 or hmrc.html for
more info).
Files where MIME attachments are now prefixed with a two-digit counter,
a la dd-name. This is to avoid having having to create temporary files,
and to preserver links. The counter is incremented for each attachment,
regardless of it's being inline or not. I disabled the call to emptydir
as it's not useful (will add it as an option later on).
External MIME attachments that don't have a filename, are given the name
dd-part.
Improved handling of MIME rfc822 attachments.
Improved handling of Content-Disposition
Ashley (September 7, 1999)
- Added configure options for --httpddir, --cgidir and --htmldir with
Apache's layout as the default (/usr/local/apache)
Daniel (August 23, 1999)
- Removed the 40-letter limit for subjects in the thread-index when
the table option was enabled.
jose.kahan@w3.org
- When the boundary is declared without quotes, parse.c failed to get it
properly.
- print.c: There was a missing <PRE> and this resulted in a not-readable text
Daniel (August 10, 1999)
- I hade a terrible bug that made the attachment directories to get created
relative the wrong directory! They were also not getting the proper
permissions set.
Tim Witham <twitham@pcocd2.intel.com> (August 10, 1999)
- Had to fix a realloc() with NULL pointer which sunos doesn't handle.
2a24
====
Daniel (August 9, 1999)
- I'm consider renaming the series of archives that I'm releasing, back to
the beta label. It would be more correct. Kent is with us again and I
don't think anyone is gonna continue on the now forever sleeping
beta-series. This seems to be the one and only hypermail development
branch and I believe we now have it stable enough.
- 'attachmentlink' is a new config file item that controls how attachments'
links are made. By using this you can make a wrapper cgi script on your
server that issues a warning to the user that it may be dangerous to run
attachments or whatever you think is appropriate. Default it behavs as it
used to do before this feature was added.
Daniel (August 8, 1999)
- Applied Jose Kahan <Jose.Kahan@inrialpes.fr>'s patches:
The alternate content parsing was broken in that you couldn't give a list
of preferences. Also, if you first parse an alternate with a low priority,
then another one with a higher priority, the memory and, eventually, files
created to store the former alternate content weren't erased.
I found a minor bug. When decoding messages with multiple MIME
attachments, the decode variable (where the content encoding format is
stored), isn't updated.
Daniel (August 6, 1999)
- Fixed the subject overflow
- Made attachments get saved in their own subdirectories.
2a23
====
Daniel
- I'm making a release out of this now since I'm off for a longish
vacation next week...
Paul
- Applied Tom van Alten's patch to correct improper formatting
of messages when hm_showhtml = 0 and showheaders = 1.
- New code to (optionally) accept messages wth no msgid. Default
is to require msgids in all messages - use hm_require_msgids = 0
to avoid this check.
- Made handling of duplicate msgids optional. By default duplicates
are discarded. To accept them (replacing the msgid with a generated
msgid) use hm_discard_dup_msgids = 0.
- Check return value from addhash when reading old messages. Messages
already archived should be valid but safer to check.
2a22
====
Daniel
- Applied a boundary parsing bug correcting patch supplied by
Andreas Fuchs <asf@ycom.at>
Paul Haldane
o (May 16th 1999)
1) changes to the way we construct threadlist (so that all the messages
that should be in the thread are included even if they don't have valid
in-reply-to headers)
2) changes to threadprint.c - simplification of print_all_threads. Now
uses the information in threadlist to find the relationship between
messages. This speeds things up a bit when adding single messages to
large archives (I saw a reduction from 28s to 18s for adding a message to
a 1,100 message archive). Slight speed-up when converting large archives
- not as noticeable as a large part of time now seems to be in fopen().
I've updated/added some comments.
I've added msgnum to the reply struct - this is just a copy of msgnum in
->data->msgnum - this was intended as an optimisation but I suspect it
doesn't make much difference.
Threading is now much better (well, I would say that wouldn't I :->). it
still gets things wrong occasionally - often not really its fault. Known
problems include
1) duplicate message-ids - results in messages being attached to the wrong
thread - actually found an instance of this in my test mailbox. The
obvious heuristic to avoid this would be to compare the subject as well,
though this breaks threads where the sender has deliberately changed the
subject but intends to continue the thread.
2) occasionally gets messages in the wrong order because they get attached
to different sub-threads - wouldn't happen if MUAs used in-reply-to.
I've done a quick tweak to duplicate msgid handling in addhash. Now
replaces duplicate msgids with a locally constructed one. This keeps
things happier.
2a21
====
Daniel
o (May 12th)
- Added the tests/stdintest.pl script. It is a small perl hack that passes
a series of generated mails into hypermail on stdin. One by one. I've
got reports about bugs in that area, but I can't seem to repeat any
with this tool. I thought I'd better include this here anyway to better
enable others to run more torture tests on hypermail.
Paul Haldane
o (May 6th)
- Here's a patch that allows the user to decide on the format used to
present dates on the generated pages. If dateformat is set then it uses
that (that's the new functionality) otherwise it uses the standard
format or euro format depending on the config file.
I've not given the option to use the date string as originally given in
the mail message. This could be done without too much hassle.
Daniel
o (May 5th)
- Corrected a crash in parse.c
- Added a missing "From:" in print.c
- Made the bin-names get prefixed with "att-" too.
- Adjusted getname() to skip all starting white spaces and quotes, and
to skip trailing quotes as well as white spaces.
o (May 4th)
- Attachment names could miss the first letter.
2a20
====
Daniel
o (May 3 1999)
- Implementing my new From:-parser into the new source file: getname.c.
This should hopefully not only be much better at parsing from lines,
but also to it in a more stable manner.
- Found some additional problems with From-lines I've tried to correct.
Like a single-mail archive or mails with no From:-lines at all.
Ron Brogden <rb@islandnet.com>
o A small correction to hypermail.c lets it compile properly on sunos 4.
2a19
====
Daniel
o Now I prefix filenames with "att-" when I save attachments.
o Several errors correct, most of them by Paul Haldane.
2a18
====
Daniel
o (Apr 7 1999)
- Added 'locktime' as a configurable item. It defines the maximum number
of seconds to wait for an existing lock to dissapear before it is
overridden. If this is 0 or less, the lockfile will lose its power
completely. locktime is 3600 by default.
- I made the 'indextable' option work as Glen Steward wanted it to (that
March 30 patch apply wasn't such a big hit). You can either set
"indextable = on" in the config file or use the -T command line option
to get the indexes in "table" version.
Paul Haldane
o (Apr 7 1999)
- Major date-parsing re-arrangement. getdate.c added, lots of functions
patched. Speed improvements.
2a17
====
Daniel
o (Mar 30, 1999)
- First atttempt at applying Glen Steward's table patches. It wasn't
a complete success but it can be adjusted from here.
o (Mar 29, 1999)
- Ashley M. Kirchner found a silly bug that occured if the last mail
in the box was a double message-id (or similar that makes that
particular function return NULL).
o (Mar 25, 1999)
- Threaded index seems to work yet again!
- Paul Haldane <Paul.Haldane@newcastle.ac.uk> brought me lots of
various patches that made hypermail do better!
o (Mar 25, 1999)
- Corrected the problem with "re: subject" and "subject" being sorted
differently. The explanation was that the "re:" subject had a space
left in the beginning of the string!
o (Mar 25, 1999)
My giant work of redoing things now finally seems to work a little at
least. What's been done the last week:
- All emails now get only ONE single struct allocated for it.
- Remade the hash stuff. Hashed entries in the table only stores a struct,
links it in the list and POINTS to the email struct.
- Added a hash on the 'inreplyto' string to better enable finding mails
a mail replies to.
- Rewrote the whole darned threaded index functions. threadprint.c is a
new source file for threaded index functions.
- All indexes will now have full access to the complete email struct and
will thus enable dates all over etc. This will enable me to introduce
a template feature for how to write an entry in an index. I.e what to
include for each entry, subject, author, date, charset, bla bla bla...
- Changed the way single mail's "next in thread" links are found.
- As a "side-effect" I added a filter to prevent the same message ID
twice. The reason for this is that it is more likely for it to be able
to screw up the threading if I allow them to co-exist.
o Ashley M. Kirchner <ashley@pcraft.com> works on the bug report web.
o (Mar 15, 1999)
Roman Shterenzon <roman@xpert.com> pointed out a bug in the HTML-reader
that made hypermail crash if the variables were set to "". I mailed back
a patch to him I think will correct this problem.
2a16
====
Daniel
o (Mar 14, 1999)
"text_types" is now a recognized config file item, where you can specify
MIME types that should be treated by hypermail _exactly_ as if they were
text/plain.
o Corrected the list-check routine, so that the items in the list are the
ones using wildcards. This means that suddenly, all those mime-list items
support wildcards!
o (Mar 13, 1999)
Craig A Summerhill <craig@cni.org> found a bug. It turned out to be the
fact that parse.c wronly assumed content-type text/plain to use
ENCODE_NORMAL. It was really silly, since the Content-Transfer-Encoding
header could've already appeared and stated another encoding!
o Adjusted configure.in to do a slightly better -libnsl check.
o (Mar 11, 1999)
CVS server is up again. Added the UPGRADE file to the tree. Thanks to
Glen Stewart.
o (Mar 10, 1999)
Pretty extensive re-write of parse.c to deal with the
"Content-Disposition" headers better. That line can give a hint whether
the file should be stored as a file or showed inlined. It can also
have the filename (RFC1806 for details).
o (Mar 10, 1999)
The CVS server is down due to admin work there.
o (Mar 10, 1999)
Fixed parseurl(). It now deals with <www.foobar.com> and similar
constructions better. Craig A Summerhill <craig@cni.org> reported.
o (Mar 8, 1999)
Corrected src/Makefile.in to not use options.h anymore!
Roman Shterenzon <roman@xpert.com> made me aware of this.
2a15
====
Daniel
o (Mar 5, 1999) Made "text" equal text/plain in content-type: header
lines.
o Removed options.h completely to reduce the number of mistakes from
people trying to edit it!
o (Mar 4, 1999) Applied Glen Stewart's patch to remove a few <li> tags.
o Bailey, Raymond <bailey9@MARSHALL.EDU> pointed out a problem in the
getname() function. When you got a mail with a From: line where there
is a name within quotes that were "attached" to the email part without
spaces in between as in "name"<email@email.com> the parser failed to
get a name part of this and caused hypermail to dump core.
o Alisdair Davey <ard@mithra.physics.montana.edu> Helped me point out
a bug in mprintf.c. It made the *printf() routines fail on %.*s
constructions. I am considering an upgrade of the mprintf stuff to
my newer "trio" stuff...
o Made %f insert the file name of the generated HTML file in headers
and footers.
2a14 Pl 2
=========
Daniel
o Removed a bug that occured when converting a mail into html that had
a "in-relpy-to" header but the replied-to mail was not present in the
mailbox.
2a14 Pl 1
=========
Daniel (now CVS'ed at cvs.hypermail.yeehaw.net:/cvs/hypermail)
o Made it de-mime headers even without the mime-version: header present
2alpha14
========
Daniel
o It should now accept white space in the beginning of config file
lines.
o SetupCleanup() bugs somehow, I'm no longer using it == dirty fix.
o Updated the "name/email" scanner.
o Total mail counter was wrong when updating.
o Renamed to alpha to avoid confusion.
2b13
====
Daniel
o Two corrections in the mprintf.c. One of them being serious
o (parse.c) now the QP decoder accepts question marks in the encoded-words
o Corrected the mprintf() replacement define in mprintf.h
o Added some more missing free()s in print.c
2b12
====
Daniel
o Now strips trailing white spaces from values in the config file if
written without quotes. Paradise Cowgirl <minerva@phix.com> reported.
o List types in the config were insanely written and caused memory
disaster at times. Byron C. Darrah <bdarr@sse.FU.HAC.COM> and
Jenni Baier <jenni@renewed.net> both probably experienced this.
o Decreased the amount of memory allocations used when building hash
tables for index sorting. (see addhash() in struct.c)
2b11
====
Daniel
o Tom von Alten <alien@hpdmlad.boi.hp.com> pointed out a really nasty bug
in fixreplyheader() I had introduced! :-(
2.0b10
======
Daniel
o %c is recognized and replaced with a charset tag in mail headers. It
should be set as early as possible within the HEAD tag.
o Saves <!-- charset=blablabla --> in articles.
o dprintf() was not a successful name, Linux uses it for some odd purpose
even in stdio.h! :-/ Renamed my line of functions to m*.
o Adjusted getname() to be slightly smarter.
o Started working at adding charset to each single mail. It should be stored
per-mail basis now, even though it is never used anywhere... It should
now make a proper META HTTP-EQUIV tag!
2.0b9
=====
Daniel
o Added a new -o option that can set any config options on the command line.
E.g set label with -o "label=my new label".
o Major rewrites of struct.c. There were just too many functions that
passed data between them by strcpy()ing them to char buffers. They now
pass char pointers in a lot higher degree. In fact, there aren't that
many strcpy()s left in the source now. Not that I notice any faster
operations, I just know it is neater code.
o I really don't like the way proto.h has *ALL* prototypes and therefore
everything is dependent on that file. I've stared to slowly extract the
protos for each .c file into its own .h file. This will allow me to
change prototype for a single function without having to recompile the
whole lot.
o Added general "Re:" - awareness functions. isre() returns TRUE if the
input string starts with a re-thing and findre() returns the position
of the first instance of re in the input string, or NULL if there is
none.
It knows and recognizes "Re:", "Fw:" and "Re[<number>]:" strings. If we
ever intend to support local variations of this, I've now made that
easier...
o The new getname() had problems with parens in the real name part when
quoted. As in
From: "Windle, Alan M. (PA62)" <test@site.com>
It shouldn't be a problem now. It should also work with from-lines like:
From: ("Windle, Alan M. (PA62)") test@site.com
There might be an idea to simply ignore everything within that level of
parentheses. I mean, not add that text to the name.
o The sorted datelist was broken because I must've destroyed unre() when I
turned it dynamic. I improved printsubjects() to deal with pointers and
it now strcpy()s a lot less data.
Did the same change to the printauthors() too.
o increment and readone are now separate options. Read stdin or use mailbox
are mutually exclusive but don't modify increment or readone. The
previous system was very confusing and didn't allow e.g updating an
archive with two mails passed on stdin!
I've now tried to update an existing archive with 3 mails passed on stdin
and it seemed to work. Works if read from a mailbox too. Even works with
the new -1 flag (to indicate there's one mail only). It has an
accompanying config file keyword named 'readone'. I think the new -v flag
is really great for this, cause it shows all built-in variables and kind
of automatically documents them!
o Ok, I wasn't aware the config file did assume quotes around the strings.
I've added support for that (too) now. Distributed this small change
to Kent, Tom and John as a patch for 2b8.
2.0b8
=====
Daniel
(Nov 24, 1998)
o So, just before I was gonna announce the b7 to the guys I got another
report from John Petrakis that pointed out two bugs. One bad free() which
he identified and one From:-line that b7 couldn't get name and email from
properly. I got really tired and rewrote the whole getname() function to
work with all the combinations mentioned in the source, and more. I think
this function also has another benefit: it is easier to read than the old
one.
o I found some other bugs with my new setup system which caused the
hm_htmlbody = NONE to not work. I am actually against that a line that
says NONE sets it to the default. NONE should be NONE, if the keyword
isn't used at all it should use the default. Well well, one thing at a
time I guess.
2.0b7
=====
Daniel (getting deeper and deeper into this now ;-)
o Entirely new config file parser. Does make adding new config items a
lot easier and smoother. Run hypermail -v to make it output a fully
working config file (after reading the given input parameters).
There is no need for the "hm_" prefix on keywords in the config file. You
can still use it if you want, but you don't have to.
Internally, all configurable variables are now named 'set_XXXXX' to better
make it visible in the code.
o readoldheaders() is a lot more robust now. The order of the variables are
not set and empty files no longer cause it to dump core.
o Hypermail from now on only stores the variables inside HTML files that
are actually set. name="" is not needed to store.
2.0b6
=====
Daniel continues:
o parseemail() and ConvURLs() needed to deal with NULLs better.
o loadoldheaders() are no longer dependent on the order of the variables
in previously written HTML files.
o Mails with no subject confused the parser.c
o Tom von Alten <Tom_vonAlten@boi.hp.com> sent me two files he appearantly
got from Kent after the b4 he sent me. (date.c and msg2archive.c)
o All kinds of lists like hm_show_headers, hm_inline_types and
hm_ignore_types now offer the below mentioned wildcards.
o Added dmatch.c for dos-style * and ? wildcard matching.
o Cleaning up more memory leaks.
2.0b5 as sent to John Petrakis 19 Nov 1998
==========================================
Daniel:
o Added 'maketgz' to the archive. It is for creating release archives,
without having to remove a lot of files first.
* first asks for the version number of choice
* uses the file FILES to know what files to include.
* updates the patchlevel.h file to the entered version number
* creates the archive with a directory based on the entered version number
* names the archive based on the entered version number
o Added a whole bunch of more free() calls.
o Inlined HTML that was base64 or uuencoded were not previously dealt with
properly.
o Mails with no Message-Id: caused a crash in the hash function.
o HM_INLINEHTML can now be set to 0 to prevent hypermail from inlining
mail parts in HTML.
2.0b4 as sent to Tom von Alten Nov 19, 1998.
============================================
Daniel:
o Dynamic strings all over. I added a generic dynamic-string system which
I think works pretty good. Using functions and macros it should also be
pretty easy to extend, modify and optimize without any other source
modifications.
I had to modify stuff all over the place and pretty much too. I hope I've
removed at least the worst uses of static buffers and my initial tests
prove me right. No lenght limits of any fields of a mail is my goal, and
I think it is a fair goal.
Beware of leaking memory now though. We need to setup some debug-system
to track them easily.
The dynamic string routines could very well be optimized too.
o My dsprintf system was added. This system offers snprintf() - sprintf with
a buffer length parameter and aprintf() - returns an allocated string with
the text. I did this to better deal with fully dynamic buffers.
o Corrected the swedish texts. All 8bit letters were gone!
o (Nov 16) I recevied the 981013-b4 version. Started work.
2.0b4
====================
Kent:
o Date routine corrections.
- Y2K capable. Hypermail used a two digit representation
for the year through out. It now uses a 4 digit representation.
- In hypermail.h, October was listed in monthdays as only having
30 days.
- hypermail did not deal with all the major date string formats.
Date: formats starting with a digit (09 Sep 1998 01:27:30 +0300)
would cause parsing and threading problems. It now supports
that format.
- Added code to deal correctly with two digit years.
The idea as to how to approach this and the basis for
the solution is thanks to Byron Darrah.
- Corrected an off by one day error in getyearsecs(). It was
adding the current day && adding the hours, minutes, and seconds
for that day as well. It only needed to count all the days UP TO
the current day and then add the hours, minutes, and seconds for
the current day.
- Incorrect data type passed to fprint_summary(), needed to be
long instead of int.
- Corrected an off by one day in getdatestr(). Days in a month
start at 1, not 0.
o Add the ability to save hypermail generated html files with any
configurable html suffix such as ".htm", ".html" or ".shtml", etc.
This works for the index files as well as the message files. (New
.hmrc variable, hm_htmlsuffix, new environment variable HM_HTMLSUFFIX,
and HTMLSUFFIX define in options.h.)
o Removed a conditional "if (use_mbox) increment = 0;" that was
preventing the ability to read one message from a file and update
an existing archive and its indexes.
o Corrected parseurl to allow for a ',' (comma) character to be embedded
in the URL.
o Corrected parseurl to allow for a '&' (ampersand) character to be embedded
in the URL.
o Using -p with -iu on a new archive directory caused a core dump
begause 'bignum' was zero. Corrected to assure bignum > 0.
o Added language abilities to hypermail.
English - en
Spanish - es
German - de
Swedish - se
initially supported. (lang.c and lang.h added.)
Thanks to Francisco Iacobelli <fiacobelli@ibersis.cl> for the
"es" message table translation.
Thanks to Martin Schulze <joey@kuolema.Infodrom.North.DE> for the
"de" message table translation.
Thanks to Daniel Stenberg <Daniel.Stenberg@sth.frontec.se> for the
"se" message table translation.
o Changed how error messages are displayed so options message
only displayed where appropriate instead of for every message.
o Corrected getname() to parse yet another funky name format.
o Corrected printing error when a invalid domain was encountered in
an email address.
o Converted some static internal buffers to dynamically allocated ones
at startup saving 6+K. Also resulted in setstrval() not being needed
so it was removed.
o Corrected MIME parsing problem with previously parsed headers.
o Corrected default labeling problem with stdin generated archives
when no label is supplied.
o Fixed hypermail so it would not crash if started with no arguments
and an article on stdin.
o Added locking to the archive so that there is less chance of corruption
of the archive due to multiple copies of hypermail trying to update
the same archive at the same time with multiple messages. This could
be improved so as to check for pid of process that owns it...
o Extended the configure support.
o Extended the use of hm_progress so that more information about
attachment files can be displayed.
o Updated documentation to reflect changes
o Corrected getname to deal with names that are all spaces.
o Corrected configuration variable setting. Moved checks to the
right place in the code.
o Hypermail now supports listproc mailboxes as well as general Unix
formated mailboxes. It does not require that a blank line exists
between mail messsages in a mailbox. Thanks to Craig A Summerhill
<craig@cni.org> for the push and the test data.
2.0b3 - 8/15/98
=================
o Added validation of domains so that the generation of mailto: is
much more accurate than the previous method.
o Added support for Content-Disposition MIME Header so as to get the
filename from the header.
o Added verification of filenames to assure they are safe to use and
will not cause filesystem problems
o Fixed a problem with parsing the ending MIME boundary (it expended headers
following that)
o Found and removed a one-byte buffer overflow in the line continuation code.
o Corrected docs/hypermail.1 and TODO to reflect the proper RFC 822
parsing was actually included in version 2.0b1
o Corrected a typo in string.c that prevented the proper generation
of mailto: links for email names with numbers [0-9] in them.
o Corrected the base64 decoder error which caused files to get an
extra zero-byte appended at times. (When storing attachments to disk.)
o Added additional ported systems to the README
o Removed the "#ifndef" from the defines in options.h. We do not want to
inherit any define values from other places. If there are confilcts
then I need to correct them. Inheriting defines can lead to unforeseen
results.
o attachments:
- comments are now generated in the output mail for each attachment
that is written in a separate file. The comment looks like:
'<!-- attachment="filename" -->' in the standard comment style.
o buffers and overflows
- mdecodeRFC2047() now has an output buffer size argument
- had to remove the use of rmcr() at two places, since that function uses
a very strict static buffer limiting the maximum line length pretty bad.
- parseurl() now features an output buffer size argument
- parseemail() now features an output buffer size argument
o multipart/alternative
- added awareness and parser "intelligence" to pick the last prefered
content-type within a series of alternatives (as MIME tells us to
do). This has not yet been very thoroughly tested.
- added the preferedcontent() function that returns wether a content-type
is prefered or not (as set with hm_prefered_types). Default prefered
type is 'text/plain' (if hm_prefered_types is unused).
o output
- added the experiment function printhtml(). It strips off unwanted html
tags from the output, even if they are used in attached HTML files. I.e
<HTML> and </HTML>.
- made 'showheaders' not use <BR> or newlines since the BRs are ignored
anyway, and the newlines are already present in each header line.
- added 'hm_show_headers' which is a list of what headers to include when
the 'showheaders' option is used. For now, it also controls which
headers to show when attached mails are shown. Although I can imagine
that you'd like separate lists (since for attached mails, you'd like i.e
subject which you may not need for the main mail itself). If
'hm_show_headers' isn't used, all headers will be shown.
- made the <PRE> system in the printbody() function a little smarter, and
now it prevents multiple </PRE> and <P> tags better. It did however
introduce another side effect (although a less serious one imho) and
that is an extra pair of <PRE></PRE> after the last attachment when
using 'showhtml'.
o parsing
- made the multi-line merger function to make all lines get a regular
white space between them when they're put together. Previously, this
character was left as-is, which could be a space or a tab (or any other
isspace()) letter.
- check changed to check for "<!-- received" as the start of parsing
previous html files in the event that the archive maintainer whishes
to add comments in the header template HTML files.
- in_list() now checks for list items case insensitive
- corrected so Message-ID:, References and Supersedes: lines are not
converted into mailto: URLs.
- corrected off-by-one in isquote that was causing array boundary read
errors.
- corrected off-by-one in printbody line output that was causing array
boundary read errors.
Real thanks are in order for Daniel Stenberg and David D. Kilzer. They helped
greatly with making this release possible by sending in enhancements, comments
and bug fixes. Thanks Guys!
2.0b2 - 6/07/98
=================
o Corrected command line processing for individual messages received
on standard input.
o Corrected formating of Next message links when incremental updating
is done.
o Corrected the template filenames in docs/hmrc.html. Added "file"
to them.
o Added additional systems to the list of ported systems.
o Reset certain options back to the proper defaults.
o Corrected problem in printbody in regards to printing HTML embedded
in a message. Still work to do here.
o Changed address options to assure I didn't get landfield.com
information inadvertantly set in hundreds of archives because
the admins just took the defaults. ;)
2.0b1 6/05/98 - Kent Landfield
===============================
WARNING: There have been too many changes to this version to list them
all here. What appears below are some of the highlights.
o Command line settings override what is in the config file. In the
past the command line variables were read and set before the config
file was read. (Needed to get the name of the config file from the
command line.) This made it hard to have a default list configuration
file and make single runs with only one variable changed. Now processing
sets the hypermail internal options by:
Using Compiled in defaults specified in options.h,
then reads Hypermail Environment variables if set,
then looks for and reads any Configuration file specified
and finally uses the Command line settings specified by the user.
NOTE: THIS IS DIFFERENT THAN PAST HYPERMAIL USAGE.
o Configurable Setting (.hmrc file) or Compile Time Variable to
Domain-ize Addresses -- addresses appearing in the RFC822 field
which lack hostname can't be made into proper HREFs when Hypermail
does it's thing. They are coded with: mailto:(no%20email)
Because the MTA resides on the same host as the list, it is
often not require to domain-ize these addresses for delivery.
In such cases, I think it would nice if Hypermail could be
programmed to output: mailto:kent@landfield.com instead.
This would probably work well as a *required* definition
during compilation; however, it should not simply rely on
the output from `hostname` in case you want to override with
an MX entry or alternate domain (if you run virtual domains)
o Added capability to have customizable index html headers, message
html headers and html footers. Able to use substitution cookies in
the header and footer template files.
Substitution cookies supported:
%% - '%' character
%~ - storage directory
%e - email addr of message author - Not valid on index pages
%h - HMURL
%i - Message-id - Not valid on index pages
%l - archive label
%m - Mailto address
%p - PROGNAME
%s - Subject of message or Index Title
%v - VERSION
%u - Expanded version link (HMURL,PROGNAME,VERSION)
\n - newline character
\t - tab character
Additional cookies generate the complete META lines:
%A - Author META HTML - Not valid on index pages
<META NAME="Author" CONTENT="name (email)">
%B - <BODY> html statement
%S - Subject META TAG - Not valid on index pages
<META NAME="Subject" CONTENT="subject">
o Generates META tags in articles Author and Subject.
o Now uses "configure" to generate the makefiles. This is rather
weak at present and needs to be added to/tested on other systems
but at least it's a start.
o The config.h was renamed to options.h to support configure usage.
o patchlevel.h added to facilitate better patches in the future. Still
need to fully integrate it's useage in version displays.
o Added example .rc files to show how to customize list's and their
looks.
o Removed the _print.c files that had existed in the 103b2 release and
replaced them with template headers/footer files.
o Extended archive path creation to make missing directories.
o Added capabilities dir pathing to allow archive creation by date
variables.
%d - two digit day of month (1-28/30/31)
%D - three letter day of the week
%m - two digit month of year (1-12)
%M - three letter month of year (Jan, Feb, ..., Dec)
%y - four digit year (1990,..2001)
RC example: hm_dir = /some/archive/listname/%y/%M
ENV example: HM_DIR=/some/archive/listname/%y/%M
Command line example: -d /some/archive/listname/%y/%M
Expands to: /some/archive/listname/1998/May
All files would be archived during that run in that directory.
Subsequent executions will put the messages in the directories
according to the date the messages were received on the archive
site.
o All "mailto:" links can include the "subject" so that the Subject:
line of netscape mailer is automatically filled in.
o Fixed "Re:" and redundant "Re:" variation && MS FW...
o Greatly enhanced getname() to correctly deal with most all email
addresses. X.400 addresses are not well supported yet.
o Corrected getreply() to better support the In-Reply-To: formats. The
routine needs to revisited when a readline routine is inserted to
properly deal with continuation lines.
o Added additional documentation describing the Hypermail configuration
file.
o Added additional documentation describing how to customize HTML
generated pages.
o Corrected many petty problems such as:
- recursive '%' substitution. A % in a subject line could cause
an ugly recursion problem in a mail command expansion.
- title length problem. Length of a title needs to be limited to
less than 64 characters as indicated by HTML specs.
- Weblinted the generated output and corrected various things.
- Removed unused and unneeded variables
o Change various storage length defines in hypermail.h
Patches Contributed From: "Roy T. Fielding" <fielding@kiwi.ics.uci.edu>
------------------------------------------------------------------------
o Fixed the umask default,
o Fixed default directory and file creation modes,
o Fixed the many date problems,
o Corrected one of the Message-ID bugs,
o Removed annoying #start/#end fragments that mess up the browser history.
Patches Contributed By: Byron Darrah <bdarr@sed.hac.com>
----------------------------------------------------------
o Added a menu bar for a header and footer on all pages and removed
the bulleted list items that it replaces.
o Reworked the general appearance of header and footer parts of html pages.
o Added the "hm_hmail" configuration parameter and -n command line
option for specifying an email address for input to a hypermail
archive.
o Added "New Message" and "Reply" buttons to the menu bar for submitting
messages to a hypermail based list.
Patches Contributed From: Jared Reisinger <feety@hhhh.org>
---------------------------------------------------------
o Fixed configfile substring problem.
o SHOWBR, IQUOTES, SHOWHR, EURODATE, SHOWREPLIES, and MAILCOMMAND
now run-time configurable.
o Fixed post leap-day error.
o More robust Message-ID parsing.
o Better SHOWHTML handling for indented lines.
o Allow IQUOTES when not using SHOWHTML.
Patches Contributed From: Daniel Stenberg <Daniel.Stenberg@sth.frontec.se>
--------------------------------------------------------------------------
o I had all calls to the decodeRFC2047() function moved to *after* the
merging of long lines.
o decodeRFC2047() now correctly concatenates two succeeding "encoded words".
I now call the function mdecodeRfc2047() since it now allocates the new
string.
o Now informs if the attachment wasn't properly decoded when stored to disk.
This happens if the Content-Transfer-Encoding specified isn't known to
the parser. When this happens, the attachment is stored as 8bit octet-
stream.
o Now supports the encoding type 'x-uue' for uudecoding. I think there are
mailers that use different names for the same encoding type so we better
watch out for them in the future...
o Added the 'demimed' field to the body struct to keep track of
header lines+ that have been RFC2047 converted already.
o Kent Landfield sent me an interesting mail that showed me several weird
bugs in the MIME area.
A. The Quoted-Printable decoder bugged. A quick fix solved that.
B. The quoted printable decoder didn't support unlimited size of the line
the encoded text decodes into. I wrote a new function that seems to do
it properly.
C. Some important headers were not properly supported if they were split
up on several lines. I had to rewrite the header parsing system to make
this work. It now scans all headers and concatenate them into single
lines before any function is trying to parse or decode them.
D. It also showed a need for a uudecoder for the 'x-uue' encode type. This
is only noted for the future as I haven't written any decoder for this
format [yet].
o decodeRFC2047 replaces the former RFC1522 function. I made it support
'encoded-words' anywhere in the line and several different ones on the
same line is now supported. The only flaw I'm still aware of now, is that
if there are two encoded-words next to each other, the result should not
show the spaces between them. My function unfortunately still does.
o renamed decodeRFC1522 to decodeRFC2045.
o decodeRFC1522 (quoted printable header decoding) didn't do well if the
ending ?= sequence was in the middle of the line. I think this function
will need more extensive testing.
o Attached mails' headers (To:, From:, Date: and Subject:) are now shown
in the html.
o Attached mails that contains attachments did force me to add a stack system
for the multipart boundary strings. Seems to work now. (Can't wait to see
an attached mail that contains an attached mail that contains ... )
o strcpymax() introduced to prevent buffer overflows on extra-long headers
o Lines starting with 'from ' messed up the parser pretty badly. It now
checks for 'From ' lines (case sensitive) with an empty preceding line
to split mails.
o Now extracts attachments to separate binary files.
o Supports multiple lined headers.
o Supports quoted-printable and base64 encoded headers.
o Supports base64 encoded text/plain
o Rewrote the URL and email parsing to allow multiple URLs and email
addresses on each line.
o Extended the original functionality to much better deal with MIMEd
mails and the standards from RFC 1521 and 1522. There are still flaws in
compliance with those but the majority of all mails using mimed texts
will be presented in a fairly decent fashion.
Patches Contributed From: David D Kilzer <ddkilzer@ti.com>
-----------------------------------------------------------
o Fixed problem with 'From: ' header lines in messages with the
following format: "From: <email@address.com>" wherein the "name"
from the previous email message would be used instead of reverting
to the address itself.
o URLs can now include ampersands (&) if they are preceded by question
marks (?) in the URL string.
o Email messages with no Subject line no longer grab the previous
email's subject.
o Reworked the order of output so that "message" links are always at
the top of the page in article pages and date/thread/subject/author
pages.
o Now escape '%' in mail URLs.
o Escape for '+' was wrong, changed to '%2B' (was '%22').
o Updated replace() function to recurse on 'afterstring' variable
rather than the whole 'newstring'. More efficient and allows '%'
escaping.
o config.h: Added configuration option for SHOW_MESSAGE_LINKS which
turns all message headers and footers off (except for the links to
the date, subject, thread and author pages). SHOW_MESSAGE_LINKS
overrides the setting of SHOWREPLIES.
o print.c (writearticles): Removed use of currentemail, currentid,
and currentsubject by forcing use of email2, msgid2, inreply2,
subject2, and name2 when calling struct.c (hashreplylookup). This
was needed after I rearranged the order in which articles were
printed.
o string.c (convurls): Added code in two locations for the
Message-Id code segment to recurse on the remaining portion of the
line being processed. Each Message-Id found forces a return from
convurls() after a recursive call. This prevents infinite recursion
(a Bad Thing generally speaking). Note: we assume that Message-Ids
and URLs/email addresses do NOT appear in the same line.
o string.c (convurls): Changed format string from "%.3d" to "%.4d".
Fixed major bug in outputting links for Message-Ids.
o string.c (convurls): Fixed assumption in code for identifying
Message-Ids that there was only one Message-Id per line. We now
stop gobbling up text used for a link with a space (' ') or a tab
('\t').
o string.c (convurls): Added int got_question_mark in URL processing
code to permit an ampersand ('&') in a URL provided it comes after a
question mark in the same URL (a GET method with POST data). Added
one line of code and changed another to accomplish this.
o string.c (convurls): Added code to check whether the next item to
URL-ize is an email address (containing an at sign, '@'). If it is,
we break out of the URL for loop and go process the email address.
o parse.c (loadoldheaders): Modified initial fgets() call to skip any
non-comment lines (i.e. "<html>" and "<head>").
o string.c (makemailcommand): Added code to escape percent signs
('%') when escaping spaces (' ') and plus signs ('+'). Percent
signs must be escaped first since other escape sequences use the
percent sign followed by a two-digit hexadecimal number. We're now
a little more MIME-compliant.
o string.c (replace): Changed the replace() function to recurse only
on the 'afterstring' portion of the URL instead of the whole rebuilt
URL. This is both more efficient and prevents infinite recursion
problems when escaping percent signs ('%') with '%25'.
o string.c (makemailcommand): Fixed escape sequence for plus signs
('+') from '%22' to '%2B'.
LOTS of other small patches from lots of other helpful people. I hope to
be able to more accurately list them in the final 2.0 version.
1.03b2 3/10/98 - Kent Landfield
=================================
o Header corrections made,
o all current memory leaks plugged,
o variable initialization corrected,
o expanded response message recognition,
o fixed many threading related bugs.
o Restructuring directory layout for ease of support and to
make adding utilities easier.
o Added additional archive utilities.
1.03b1 4/6/97 - Kent Landfield
================================
o Corrected memory leaks,
o cleaned up HTML produced,
o ran purify, lint and insight and cleaned up output.
o Added the ability to customize header/footers via crude means
but hey, it works.
1.02 8/1/94 - Kevin Hughes
============================
Fixed configfile problem, different usage() output, days[] space
fix, NODATE, stripzone() fix, insig fix, SHOWBR, SHOWHR, IQUOTES,
THRDLEVELS.
1.01 7/29/94 - Kevin Hughes
============================
Printfooter declaration, getdate() and timezone names changed
to avoid library conflicts. Bad #define fixed (null) bug.
1.0 7/29/94 - Kevin Hughes
============================
Configuration file, logic fixes, better "re:" stripping,
name tags, default index.html (HM_DEFAULTINDEX), default
directory name can be mailbox name, mailto: fix, better dates,
better error messages, numbered files are padded to four digits,
headers are always in <pre>, next in thread, maybe in reply and
maybe reply, MAILCOMMAND, EURODATE, commented source, chmods only
new files, <html>, custom mail command variables.
1.0b3 7/14/94 - Kevin Hughes
============================
Environment variables added, ampersands are converted.
1.0b2 7/13/94 - Kevin Hughes
============================
Incremental updating added and various parsing bugs fixed.
1.0b1 7/6/94 - Kevin Hughes
============================
Hypermail rewritten in C. Because the source is so new and
relatively untested, it's still considered to be in beta
until feedback from users is received.
Webmaster