Return to Changelog CVS log | Up to [Public] / hypermess / hypermail |
1.1 kahan 1: Version Changes for Hypermail 2: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.12 kahan 3: 4: ============================ 5: HYPERMAIL VERSION 2.3.1: 6: ============================ 1.13 ! kahan 7: Jose Kahan (Feb 26, 2012) ! 8: - New configuration option: userobotmeta for Associatating robot ! 9: annotations with attachments, using the experimental X-Robots-Tag HTTP ! 10: header ! 11: - If a message is marked as "deleted" and we're not keeping the ! 12: content, substitute the value of the From: and Subject: headers with ! 13: "deleted". ! 14: - Make sure the delete stubs are added only when the delete_level option ! 15: says we're not to preserve the original message body. ! 16: 1.12 kahan 17: Jose Kahan (Jan 30, 2012) 18: - Migrated source code repository from cvs.hypermail.org to 19: http://sourceforge.net/projects/hypermail/ 20: - Added a mirror of the repository to github: 21: http://github.com/hypermail-project/hypermail 22: - Cleared up the markup errors in docs/hmrc.html by using tidy. 23: - New configuration directive "annotated" which allows a mailing 24: list archive editor to annotate a given message before converting 25: it into HTML. Associated additional new directives are 26: "html_message_deleted_spam", "html_message_deleted_other", 27: ""html_message_edited". Consult docs/hmrc.html for more info. 28: - "html_message_deleted" is deprecated in favor of "html_message_deleted_spam" 29: - "deleted" is superseded by "annotated", although it will be supported 30: to take into account legacy archives. 31: - Regenerated the dependencies for the src/Makefile.in file. 32: 33: ============================ 34: HYPERMAIL VERSION 2.3.0: 35: ============================ 36: Jose Kahan (Oct 27, 2009) 37: - Added two new accesskeys in messages: 't' -> next message 38: in thread, 'd' -> next message 39: 40: Jose Kahan (Oct 26, 2009) 41: - Updated hmrc.4 and hmrc.html to describe the new features. 1.11 kahan 42: 43: Jose Kahan (Oct 23, 2009) 44: Various fixes / enhancements developed at W3C by Fumihiro Kato, 45: Daigo Matsubara and myself: 46: - Markup changes for deleted messages that are kept. 47: - New directive: htmlmessage_deleted for setting a custom HTML 48: message for the body of deleted messages. 49: - New directive: delete_incremental to disable deleting of existing 50: messages in the archive when doing an incremental add of a new 51: message. In some setups, if this feature is enabled, replies to 52: deleted messages will cause uncontrolled markup escape and 53: expansion. Feature is enabled by default. 54: - Updated list of known protocol uris that hypermail will convert 55: into links. 56: - Bug fix: setup.c:MakeConfig() CFG_SWITCH was using long instead of 57: int. 58: - New directive: fragment_prefix for customizing the prefix that is 59: put before each URI fragment in a message. Default value is "msg", 60: the previous hard-coded value. 61: - New directive: email_address_obfuscation foro enablingemail 62: address obfuscation using numeric character reference. 63: - New directive: inline_addlink to add in-line links to content that 64: is stored in the attachments subdirectory. 'inline_types" must 65: also be enabled. 66: - New directive: inreplyto_command, gives a URI template to a script 67: that hypermail will link to if it's unable to find a corresponding 68: Message-Id in the archive's messages. 69: 70: Peter McCluskey (May 13, 2008) 71: Change from Fumihiro Kato to fix bug that sometimes caused a charset 72: problem when Content-Type is us-ascii but message headers 73: include other encoded text like utf-8. 74: 75: Peter McCluskey (Nov 14, 2007) 76: Applied xhtml patch from Zvi Har'El. 77: 78: Peter McCluskey (Oct 1, 2007) 79: Changes from Fumihiro Kato to fix bugs on 64 bit systems and some 80: possible buffer overflow problems. 81: Change in rules about whether to escape urls; it now seems to escape them 82: when found in the middle of the line the same way it has been doing when 83: they are at the start of a line. 84: 85: Peter McCluskey (Feb 16, 2007) 86: Changes from Rick van der Zwet: 87: cosmetic = tweaking the interface a small bit (right align, the message 88: numbers, years in the date listing 89: spamify-domain = obfuscate the body of the message as well (will also 90: obfuscate 'ssh rick@foo.bar' this of course), moved the domain obfuscate 91: yes/no to the general to make the function more portable 92: Changes from Mike Fabian changing int to size_t. 93: 1.10 fumi 94: Peter McCluskey (Mar 27, 2006) 95: Add rel="nofollow" to text message URLs (option txtsuffix = 1). 96: 97: Peter McCluskey (Mar 14, 2006) 98: Fixed a core dump with linkquotes = 1 caused by Daigo's changes. 99: 100: Peter McCluskey (Sep 30, 2005) 101: Fixed missing links at top when show_index_links is 1 or 3. 102: 103: Peter McCluskey (Aug 4, 2005) 104: Fixed double counting of messages deleted with the delete_msgnum option, 105: which sometimes caused top level index page to show wrong number of 106: messages and not link to a folder. 107: 108: Peter McCluskey (Jul 29, 2005) 109: Changed to sort on sender date rather than from date when displaying 110: sender date as a result of use_sender_date = 1. 111: 112: Peter McCluskey (Jun 23, 2005) 113: Some small changes from Vincent McIntyre to make date-range in index of 114: folders link to default index page, to use CSS instead of <th> to 115: distinguish that column, and some whitespace changes. 116: Added explanation of how to handle strcasestr prototype error to INSTALL. 117: 118: Peter McCluskey (Mar 19, 2005) 119: Fixes to files_by_thread option submitted by Oliver Meili. 120: 121: Peter McCluskey (Dec 2, 2004) 122: Patch from Ulf Härnhammar to fix two format string bugs in Hypermail. 123: They could have caused crashes if using incremental mode on edited 124: pre-existing archives with data like "%n%n%n%n%n%n%n%n" in certain lines. 125: 126: Peter McCluskey (Nov 28, 2004) 127: Add filename_base option. 128: 129: Peter McCluskey (Sep 29, 2004) 130: Add support for JAVT timezone. 131: Add mailbox_date_trimmer to contrib, faq. 132: 133: Peter McCluskey (Jun 2, 2004) 134: Add language code substitution cookie patch from Shane Wegner. 135: 136: ============================ 137: HYPERMAIL VERSION 2.2.0: 138: ============================ 139: Peter McCluskey (May 25, 2004) 140: Changed some of the addresses to hypermail-project.org. 141: Made the "We delete ... " message print only if progress != 0. 142: 143: Peter McCluskey (Mar 23, 2004) 144: Changes to speed up incremental update when there are deleted files if 145: using usegdbm (it's still slow if usegdbm = 0). 146: 147: ============================ 148: HYPERMAIL VERSION 2.1.9: 149: ============================ 150: Peter McCluskey (Feb 23, 2004) 151: Released version 2.1.9 tar file. 152: 153: Peter McCluskey (Feb 17, 2004) 154: Add use_sender_date option. 155: Fix instructions for doing "make install" so that the documentation will 156: be installed. 157: 158: Peter McCluskey (Feb 5, 2004) 159: Update much of the documentation. 160: 161: Peter McCluskey (Feb 4, 2004) 162: Change default in setup.c for spamprotect and spamprotect_id to On. 163: 164: Peter McCluskey (Feb 2, 2004) 165: Add set_report_new_file and set_report_new_folder options. 166: 167: Peter McCluskey (Jan 23, 2004) 168: Add in missing <a name="end"> for index files. 169: Removed a misleading, nonportable timezone string from link titles in 170: toplevel index pages. 171: 172: Peter McCluskey (Jan 9, 2004) 173: Change to make mbox_shortened option work a little better with 174: discard_dup_msgids = 0. 175: Change folder_by_date option to use "From " date rather than "Date: " 176: to decide which subdirectory to use. This makes it consistent with 177: top level index page. 178: 179: Peter McCluskey (Dec 26, 2003) 180: Add increment = -1 mode to enable automatic determination of whether 181: to update or append in most cases. 182: 183: Peter McCluskey (Dec 3, 2003) 184: Added a mbox_shortened option to handle mboxes that have had messages 185: deleted from the start of the mbox. 186: 187: Peter McCluskey (Dec 1, 2003) 188: Fix mismatch in <ul>, </ul> in date.html with indextable = 0. 189: 190: Peter McCluskey (Nov 17, 2003) 191: Add a check for the problem with the starting message number that was 192: partly fixed on Oct 1. Now old archives with a startmsgnum = 0 .hmrc but 193: a first message of 0001.html in this case will be treated as if startmsgnum 194: was 0. 195: 196: Peter McCluskey (Nov 15, 2003) 197: Add Portugese support from Hugo Cisneiros. 198: 199: Peter McCluskey (Oct 1, 2003) 200: Fix some problems with starting message number that caused bugs when 201: increment = 1, linkquotes = 1 and using folder_by_date. 202: 203: Peter McCluskey (Sep 11, 2003) 204: Fixes to make pcre work. 205: 206: Peter McCluskey (Sep 3, 2003) 207: Applied patches from Mike McDonald to use nowrap option in the author and 208: date columns in the index tables and get rid of all of the 'width=100%' 209: options to the tables. 210: 211: Peter McCluskey (Sep 3, 2003) 212: French language improvements from Olivier Kaloudoff. 213: 214: Peter McCluskey (Sep 1, 2003) 215: Applied patches from Mike McDonald to make spamify_replacedomain use 216: set_antispam_at, change printdates to include the dates in the table 217: version of the bydate index, and make the table use the whole screen 218: width instead of 80%. 219: 220: Jose Kahan (Aug 18, 2003) 221: - Changed to lowercase the suffixes added to the message indexes. That is, 222: from "archive name By Date" to "archive name by date" because the 223: upper case seemed out of style as we don't have any control on what 224: is the string used for the archive's name. Did this change only for 225: the English messages as I don't know if this convention works well for 226: other languages. 227: 228: Jose Kahan (Aug 18, 2003) 229: - Made the links to the different indexes show the index of the current entry. 230: This change originated from the feedback we got on the WAI enhanced archievs. 231: People find that this small changes increases the usability of the archive. 232: 233: Jose Kahan (Aug 18, 2003) 234: - The links to the first message (aka #first) were not working in the 235: by attachment, by author, and by subject indexes. 236: 237: Peter McCluskey (Aug 16, 2003) 238: - applied fix from Jean-Charles Meyrignac to handle 0x1A in mbox. 239: 240: Jose Kahan (Aug 14, 2003) 241: - After receiving more feedback, reverted the changes done for converting the 242: displayed value of the Date: header. The reason is that users like to know 243: when they send a message. This information was getting lost because we 244: were converting the date to the local time. 245: - Made the Received on date be shown in converted local time. 246: - Added a new configuration option, indexdateformat, so that people can 247: specify a different format for indexes than the one used elsewhere. If this 248: variable is not defined., it'll use the dateformat by default. 249: - Made the index by date compare dates independently of the value of dateformat. 250: 251: Jose Kahan (Aug 13, 2003) 252: - Made the Received on footnote line use the same date format as that used for the 253: Date: header on top of the messages. 254: 255: Jose Kahan (Aug 18, 2003) 256: - Small WAI change to the list of indexes to show the entry corresponding to 257: the current index, but outside of a link. This comes from feedback, where 258: people said it was less distracting to see the same index to links all 259: the time. 260: 261: Jose Kahan (Aug 18, 2003) 262: - Add the <title> WAI enhancement that I had forgotten to do for messages. 263: The new format is: [subject] from [author] on [date] ([mailing list label]). 264: I also removed the 64 characters maximum limit check we had on the title. 265: The reason is that this is not part of the HTML specification, but rather 266: a writing style. Dominique says we shouldn't be so strict in this case. In 267: addition, just adding a \0 after 64 characters could break entity names and 268: generate invalid HTML. 269: 270: Jose Kahan (Aug 13, 2003) 271: - The mailcommand option didn't work when applied to a paragraph that had 272: a previously converted href string that includes the '@' char. I added 273: a quick hack to ConvURlsString to avoid doing the mailto: convertion if an href 274: already exists in that line. The best solution would be to do something 275: similar to ConvURLsWithHrefs. 276: Also fixed a memory leak. 277: 278: Peter McCluskey (Aug 8, 2003) 279: - Applied haof fixes from Bernhard Reiter. 280: 281: Jose Kahan (Aug 4, 2003) 282: - As a side effect of PNK's use of an SGML entity for the @ char, the 283: mailcommand option stopped working on all the headers except for 284: the To: one. 285: 286: Jose Kahan (Aug 1, 2003) 287: - In order to guarantee the validity of XHTML documents, changed the 288: behavior of hypermail when including customized footers. Previously, 289: when using this option, the custom markup had to include the </body> 290: and </html> end tags. As we also need to include a </div> in some 291: cases for XHTML and it's much harder to guess when to add it, I 292: made hypermail always add those three end tags as needed, regardless 293: of whether the custom footer option is being used. 294: 295: Jose Kahan (Jul 30, 2003) 296: - After talking with Dom Hazel-Massieux, I added some extra WAI enhancements 297: to the list of indexes generated by hypermai. Specifically, the date 298: is shown in a verbose name in the title attribute of each entry and in 299: an abbreviated version in the markup that's being displayed. 300: 301: Jose Kahan (Jul 30, 2003) 302: - When rebuilding an archive, the attachment files were not being overwritten 303: correctly. . Fixed this by adding an O_TRUNC flag. 304: 305: Jose Kahan (Jul 29, 2003) 306: - Removed a memory leak in file.c as reported by insure. 307: - The ietf-mbox option didn't work on "quoted printable" encoded attachments. 308: 309: Peter McCluskey (July 22, 2003) 310: Fix show_msg_links = 3 option (Jose's changes assumed it didn't exist). 311: Updates to German from Tobias Weber. 312: 313: Kent Landfield (Jul 14, 2003) 314: - When show_headers was used in print.c, the newline was not recognized 315: early enough in printheaders. A check was added to assure the newline 316: was recognized properly. 317: 318: Kent Landfield (Jul 10, 2003) 319: - Small typo in print.c corrected. 320: fprintf(fp, "%s ^lt;<em>%s</em>>"... 321: 322: ======================== 323: HYPERMAIL VERSION 2.1.8: 324: ======================== 325: 326: Kent Landfield (Jun 28, 2003) 327: - Updated pcre library with pcre-4.3 sources. We were distributing a 328: much older version. We were distributing version was 3.3 from 329: August 1, 2000. 330: - Updated FILES with the lcc files and the pcre changes. 331: - Removed the deprecated "show_hr" from the tests/test.rc file. 332: 333: Jose Kahan (Jul 2, 2003) 334: - parseurl didn't work well when an URL was quoted and enclosed inside 335: tags. Such as: 336: <dd>some url</dd> </dd was put as part of the url. 337: 338: Jose Kahan (Jul 1, 2003) 339: - Added WAI enhancements to the list of indexes generated by hypermail. 340: To make things perfect, we would need a new configuration option to give 341: the format of the date in the list of indexes format. I hard coded it 342: for the moment as I ran out of time to do it right now. As it has to 343: use an abbreviated date format to avoid having a too big list of indexes, 344: we can' t reuse the standard set_dateformat value. 345: - Removed warnings detected thru gcc Wall. 346: 347: Peter McCluskey (June 30, 2003) 348: - Increased max_tokens used to allocate space for linkquotes data struct. 349: 350: Jose Kahan (Jun 28, 2003) 351: - Code cleaning. Removed the deprecated code for set_showhr and 352: set_usetable options. 353: 354: Kent Landfield (Jun 28, 2003) 355: - Arkadiusz Miskiewicz <arekm@sse.pl> reported progerr() was being 356: called with NULL instead of the previously constructed error message. 357: His supplied patches were applied. 358: 359: Peter McCluskey (June 27, 2003) 360: - Made dates in subdirectory index files reflect subdirectory date range, 361: rather than the date range for the whole archive. 362: 363: Peter McCluskey (June 24, 2003) 364: - Fix print_index_header_links to print MSG_ENDING date correctly (had 365: been using 2 getdatestr() calls in one argument list). 366: 367: Peter McCluskey (June 20, 2003) 368: - Fix a core dump with empty Date:. 369: 370: Jose Kahan (Jun 10, 2003) 371: - Some extra WAI enhancements requested during the period of public comments: 372: Order the date index by dates, like in subjects, add <dfn> to the start and 373: end period in the indexes, change the title of "jump to first message" to 374: "jump to list of messages". 375: - The top respond link didn't take into account the msgid or subject. It was 376: just a plain mailto. Made it work as the bottom one. 377: 378: Jose Kahan (Jun 10, 2003) 379: - Adding new messages using the -u option to an existing file sometimes 380: resulted in warnings saying "Message-ID is missing, ignoring message 381: with subject..." Patch idea submitted by Peter. 382: 383: Jose Kahan (Jun 10, 2003) 384: - The incremental option (-u) always started new archives with 0001, rather 385: than 0000. It will now start with 0000 as before 386: For those people who had this problem and don't want to break any links to 387: their archives when rebuilding them, there's a new configuration option 388: allowing you to tell from which number you want to start your archive: 389: startmsgnum. You should only set it up once and not modify it for an 390: existing archive or your links may break. 391: A warning message appeared systematically because the showhr, which is 392: now deprecated, was turned on by default. 393: 394: Peter McCluskey (May 22, 2003) 395: - add Italian support from Gabriele Bartolini and Marco Nenciarini. 396: 397: Peter McCluskey (May 16, 2003) 398: - Fixed initialization of prior_subdir when dirs created out of 399: order. That fixes a case where a subdir wasn't in index files with 400: reverse_folders = 1. 401: 402: Jose Kahan (May 13, 2003) 403: - Add the WAI enhancements proposed in 404: http://www.w3.org/2002/03/archives-improvements/. 405: As a consequence of this change, the sethr and usetable configuration 406: options are deprecated. The new markup takes into account the changes 407: that those options proposed and offers them in a WAI friendly way. 408: Some code cleaning needs yet to be done to remove all the cases 409: where those rules were used. Previous code version is tagged as 410: "before-wai". 411: Fixed some invalid XHTML markup too. 412: 413: Peter McCluskey (May 12, 2003) 414: - fix txtsuffix to not crash on null pointer. 415: - fix discard_dup_msgids to work when showprogress = 0. 416: 417: Peter McCluskey (April 24, 2003) 418: - spam encoding from Peter Karlsson. Currently enabled via the 419: spamprotect option. 420: 421: Jose Kahan (Apr 23, 2003) 422: - As a consequence of the XHTML convertion, unconvchars() wasn't 423: storing information into the buffer when there were no entities. 424: 425: Jose Kahan (Apr 10, 2003) 426: - Converted hypermail to XHTML. The only remaining issue concerns 427: charsets. Some mail clients don't specify a correct charset or 428: specify a charset and include characters belonging to other 429: charset spaces. The solution to detect and convert the 430: foreign charset into a Unicode entity or, for the adventurous 431: hacker, convert hypermail's output to UTF-8. For the moment, only 432: the former is implemented partially; there is only one a winlatin1 433: (Windows CP 1252) to Unicode convertion/detection being done. 434: See string.c:convchars, unconvwinlatin1, and uconvert.h for more 435: details. 436: The best solution will be to move to UTF-8, but this has to be planned. 437: If you have a charset issue, your XHTML document will be invalid. 438: As XHTML is backwards compatible with HTML, you can avoid this problem 439: by continuing to use the text/html MIME type. 440: 441: Peter McCluskey (April 3, 2003) 442: - Fixed so attachment.html doesn't list .meta directory. 443: 444: Kent Landfield (Mar 20, 2003) 445: - Added Splint (www.splint.org) support to src/Makefile.in 446: - Corrected Initializer block for ltable[12]. Had 2 fields, but struct 447: language_entry has 3 fields. 448: - Removed unused gp variable in update_deletions(). 449: - modified print_main_header() to assure title meets HTML recommendations 450: of no longer than 64 characters. 451: - Updated docs/hypermail.rc 452: 453: Peter McCluskey (Mar 18, 2003) 454: - Fixed overwrite = 0 to avoid rewrite of many files involved in replies 455: with folder_by_date option. 456: 457: Peter McCluskey (Mar 14, 2003) 458: - Fixed two bugs with deleting messages with the incremental mode. One bug 459: meant that the message body was only rewritten or removed with the 460: delete_msgnum option, not delete_older / delete_newer. The other bug 461: involved only updating the is_deleted flag in the gdbm file if the 462: message body was redone to update a MSG_IN_REPLY_TO line. 463: 464: Kent Landfield (Mar 9, 2003) 465: - updated domains.h to accurately reflect the current set of root domains. 466: 467: Peter McCluskey (Mar 7, 2003) 468: - Fixed problem with reverse_folders option that caused the index file 469: to leave out folders when there were some unusual mismatches between the 470: 2 dates in one message. 471: 472: Kent Landfield (Feb 28, 2003) 473: - changed wait.h sys/wait.h for portability in msg2archive 474: - removed unused variable in finelink.c 475: 476: Kent Landfield (Feb 20, 2003) 477: - corrected docs/Makefile.in to create the images dir if it does not exist. 478: 479: Kent Landfield (Feb 20, 2003) 480: - added wait.h to msg2archive that was needed for s_popen() 481: - removed unused variable in finelink.c 482: 483: ======================== 484: HYPERMAIL VERSION 2.1.7: 485: ======================== 486: 487: Peter McCluskey (Feb 20, 2003) 488: - Made version 2.1.7 tar file. 489: 490: Jose Kahan (jose@w3.org) (Feb 20, 2003) 491: - makemailcommand wasn't escaping non-ascii characters in the URLS 492: that it generated. 493: 494: Peter McCluskey (Feb 19, 2003) 495: - Fix to append option to handle some lines getting discarded in mdecodeQP. 496: 497: Kent Landfield (Feb 19, 2003) 498: - Updated TODO with configure issues and other corrections we want 499: to make to the code in the near future. 500: 501: Jose Kahan (jose@w3.org) (Feb 19, 2003) 502: - Upgraded extract_rfc2047_content() as the previous extracting 503: algorithm was broken. 504: 505: Kent Landfield (Feb 18, 2003) 506: - Added missing contrib utilities, contrib/msg2hypermailarchive.py 507: and contrib/runtest to FILES 508: - Added checking in struct.c to limit the length of Subject: line to 509: avoid theoretical Denial-of-Service 510: - Removed code that was ifdef'ed NOTUSED 511: 512: Peter McCluskey (Feb 17, 2003) 513: - Fix to attachment Content-Type parsing to strip all whitespace off 514: end of type rather than just newline. 515: 516: Kent Landfield (Feb 17, 2003) 517: - Added safe_tmpfile() usage instead of internal usage. 518: 519: Peter McCluskey (Feb 14, 2003) 520: - Disabled conversion of file:// into href - it seemed to allow anyone 521: who could access the web server via local host could read any file 522: that the web server had permission to read rather than just files 523: in the archive directory. 524: 525: Peter McCluskey (Feb 13, 2003) 526: - Add -DTRIO_MINIMAL. Solves a trio compile problem in SunOS and makes 527: binary a little smaller. 528: - Strip mail.c down to minimal warning message so we don't have to worry 529: about analyzing it's security problems. 530: - Changes to get strerror, memmove from pcre when missing (e.g. on SunOS). 531: How was this working on SunOS before? 532: - Fix faulty sizeof in snprintf for MSG_ENCODING_IS_NOT_SUPPORTED. 533: 534: Kent Landfield (kent@hypermail.org) (February 12, 2003) 535: - Converted msg2archive.c to use Thomas Biege's <thomas@suse.de> 536: s_popen() instead of popen(). 537: 538: Kent Landfield (kent@hypermail.org) (February 11, 2003) 539: - Modified configure.in to test for snprintf. This is needed 540: since Solaris 2.5.1 does not have snprintf. This only affects 541: the msg2archive and mbox2hypermail in the archive directory. 542: 543: Kent Landfield (kent@hypermail.org) (February 10, 2003) 544: - Modified configure to assure on Solaris that the ctype functions 545: were used instead of the macroes. New NO_MACRO define in config.h. 546: - Added most of the patches submitted by Thomas Biege <thomas@suse.de> 547: - Cleaned up compilation commenting out unused variables with NOT_USED. 548: Need to remove them and other unnecessary code soon. 549: - Various other minor compilation issues. 550: - Corrected prototype issue in print.c 551: - Added parameter checking to archive/*.c source 552: 553: Peter McCluskey (Feb 10, 2003) 554: - Fixed the append option to handle lines between end of headers through 555: mime boundary correctly. 556: 557: Jose Kahan (jose@w3.org) (February 06, 2003) 558: - Added a protection against the use of the nonsequential messaging option 559: when hypermail wasn't compiled with the libfnv. 560: 561: Kent Landfield (kent@hypermail.org) (February 06, 2003) 562: - Hypermail 2.1.6 runs on a DEC Alpha running TRU64 when compiled 563: with GCC 2.95. It does however require the -mieee flag be set for the 564: trionan.c sources. 565: - Modified configure.in script to support setting the the -mieee flag 566: for an Alpha TRU64 build. 567: - Modified various Makefile.in files to assure clean/clobber/distclean 568: worked universally. 569: 570: Peter McCluskey (Feb 1, 2003) 571: - Changes to make stack overflow less common. 572: 573: Peter McCluskey (January 29, 2003) 574: - Fixed faulty freeing of memory that caused core dump with files_by_thread 575: option. 576: - Fixed missing function call argument with files_by_thread option. I suspect 577: this was causing some random behavior, but I only found it due to valgrind. 578: - Fix for placement of link to next msg with incremental update, usetable = 0. 579: 580: Peter McCluskey (January 28, 2003) 581: - Fix from Zvi Har'El to leading zeroes in anchors in index pages with 582: indextable=0. 583: - Changes to Swedish from Peter Karlsson. 584: 585: Peter McCluskey (January 26, 2003) 586: - Fix for placement of link to next msg with incremental update. 587: 588: ======================== 589: HYPERMAIL VERSION 2.1.6: 590: ======================== 591: 592: Peter McCluskey (January 24, 2003) 593: - Released version 2.1.6 tar file. 594: - Fix buffer overflow when progress = 2 (triggered by long attachment 595: names). Was a security risk. 596: - Fix buffer overflow in mail (cgi) program that probably created security 597: risk if gethostbyaddr returned h_name of about 80 chars for an ip address. 598: - Disabled the functionality of the mail program and replaced it by default 599: with warning about abuse by spammers. Added warnings about use of program. 600: - Change size of boundbuffer (in parse.c) to 256, limit sscanf that fills it 601: to 255 bytes. This prevents a buffer overflow with long mime boundaries. The 602: buffer overflow didn't seemed to produce only minor problems, but it's hard 603: to rule out security risks. 604: - Add check for inline attachment name overflowing attachname buffer (like 605: the check that Jose added today for non-inlined attachments). 606: - Add check for append_filename and alts_text exceeding buffer size. 607: - Delete attachment directory of messages that are discarded due to a missing 608: or duplicate message-id. 609: 610: Jose Kahan (jose@w3.org) (January 24, 2003) 611: - Fixed a buffer overflow reported by Ulf Harnhammar from VSU security. 612: 613: Peter McCluskey (January 22, 2003) 614: - If mime message has an end boundary but no start boundary (as a buggy 615: version of Microsoft Outlook seems to create), the body is now treated 616: as a plain text message rather than discarded. 617: - Update trio code to trio version 1.9. 618: 619: Peter McCluskey (January 20, 2003) 620: - Several fixes to avoid uninitialized memory reads reported by valgrind. 621: 622: Peter McCluskey (January 18, 2003) 623: - Fix random behavior in parseurl which sometimes caused core dumps on lines 624: ending in http://, ftp://, etc. 625: 626: Peter McCluskey (December 19, 2002) 627: - Apply patch from Wolfgang Spraul fixing link from subdir attachment.html to 628: index.html when defaultindex = date 629: 630: Peter McCluskey (November 26, 2002) 631: - Changed attachment naming back to what it was before Jose added 632: set_nonsequential. 633: - Changed attachment naming so that files are stored using the names 634: provided without any %d- prepended whenever that doesn't cause conflicts. 635: 636: Kent Landfield (kent@hypermail.org) (November 24, 2002) 637: - Made some updates to the docs. Still need to update the 638: docs to include writehaof, nonsequential, msgsperfolder and 639: assure other config file directives are listed and current. 640: 641: Kent Landfield (kent@hypermail.org) (November 24, 2002) 642: - Added Russian language support. 643: Submitted by Igor Solovyoff" <siv@intear.com.ua> 644: 645: Kent Landfield (kent@hypermail.org) (November 24, 2002) 646: - Made the "_at_" antispam bit configurable by config file, using 647: antispam_at = __somestring__ (does not have to have __ in it) 648: Anything hardcoded by default, can be figured out and used by 649: spammers. Particularly something like "_at_". 650: Submitted by Philip Brown <phil@bolthole.com> 651: 652: Jose Kahan (jose@w3.org) (October 17, 2002) 653: - URL generation was broken when a URL had a '@' char and hypermail 654: was using the mailcommand option. parseemail() didn't take this 655: case into account yet (there's just an empty statement). I added a 656: quick patch to convert the '@' into an HTML entity when doing the 657: convertion inside a URL. The change is in translateurl(). 658: 659: Jose Kahan (jose@w3.org) (October 2, 2002) 660: - In order to avoid hashed filename collisions, the filename 661: is now built with a hash of the msgid concatenated to the 662: Epoch seconds of the From date. This gives a total of 663: 16 characters (all data is represented in hex). Only messages 664: that have the same msgid and that arrive in the same second 665: will have a collision. 666: I also compiled with the Warning flags and removed some 667: warnings. 668: 669: Jose Kahan (jose@w3.org) (October 2, 2002) 670: - The access righs of the msgindex file (for the hashed filenames) 671: were not being set at all. 672: 673: Jose Kahan (jose@w3.org) (October 1, 2002) 674: - The non-sequential msgid mode didn't work when updating the 675: archives by one message. Fixed a confusion in the generation of 676: the msgindex file. 677: 678: Jose Kahan (jose@w3.org) (September 26, 2002) 679: - Cleaned the autoconf files for passing the libnvf compile parameters 680: (what a difference does reading the manual make). 681: 682: Peter McCluskey (September 25, 2002) 683: - Fix threading bug with incremental update and spamprotect_id = 1, 684: usegdbm = 0. 685: 686: Jose Kahan (jose@w3.org) (September 25, 2002) 687: - Commited the ~/hypermail/ltmain.sh file and also put it in the 688: FILES section. Somehow, without this file, it was impossible to 689: compile the file generated thru a make tgz. The same kind of 690: file already existed in the pcre and fnv directories. 691: Added a rule to pass the FNV optional CFLAGS from the 692: ~/hypermail/Makefile file, so that you can do a make from the top-level 693: (previously, you had to do it in the src directory... oops!). 694: 695: Jose Kahan (jose@w3.org) (September 25, 2002) 696: - Updated the FILES tgz file (added libfnv, removed two non-existent 697: tests). 698: - Fixed the make tgz rule (how long was it since it was last used?) 699: 700: Jose Kahan (jose@w3.org) (September 25, 2002) 701: - Added a new option to compute the archived filenames using an fnv hash 702: of the msgid + received From date. The resulting filename is 8 bytes long 703: (a space of 2^32 bits) + the extension. You can eventually change it to 704: 16 bytes if this is too short. Just look at the code. 705: The advantage of this is that you can add and remove items from the 706: archive and not worry anymore about broken links if the sequence 707: changes (e.g., if you are rebuilding an archive). To activate this 708: option, you need to do a ./ configure --enable-libfnv, then 709: recompile hypermail. The name of the new option is nonsequential 710: (lack of imagination!). 711: 712: Peter McCluskey (September 17, 2002) 713: - Added reverse_folders option. 714: 715: Peter McCluskey (August 30, 2002) 716: - Fix segfaults in mdecodeRFC2047 (with headers encoded as quoted printable), 717: and in ConvURLsString. 718: - Add files_by_thread option. 719: 720: Peter McCluskey (August 20, 2002) 721: - Change preferedcontent to fall back on type "text/" or on encoding if 722: it can't find any prefered types. 723: - Fix mdecodeRFC2047 to decode headers of any length (removing 128 byte limit). 724: - Add classes to default stylesheet to set colors of headers, standard links, 725: and of quoted text according to quote nesting depth. 726: 727: Peter McCluskey (August 16, 2002) 728: - Fix bug internal error in crossindexthread2 resulting from message with 729: unterminated mime. 730: 731: Peter McCluskey (August 11, 2002) 732: - Add Norwegian language support from Bosse Klykken. 733: 734: Peter McCluskey (August 7, 2002) 735: - Add contrib/msg2hypermailarchive.py from Bernhard Reiter. 736: - Add antispamdomain option from Vincent McIntyre. 737: - Add delete_newer option. 738: 739: Peter McCluskey (August 3, 2002) 740: - Fix expires option to work in incremental mode. 741: - Add delete_older option. 742: 743: ======================== 744: HYPERMAIL VERSION 2.1.5: 745: ======================== 746: 747: Peter McCluskey (July 31, 2002) 748: - Release version 2.1.5 tar file. 749: 750: Peter McCluskey (July 22, 2002) 751: - Apply gdbm patch from Bernhard Reiter, mainly altering messages. 752: - Apply German language patch from Bernhard Reiter. 753: - Apply haof patch from Bernhard Reiter. 754: 755: Peter McCluskey (July 15, 2002) 756: - Fix some missing links to multipart attachments with save_alts option. 757: 758: Peter McCluskey (July 11, 2002) 759: - Add base_url option, and warning about it being needed when the 760: latest_folder option is used and the folder_by_date option contains a '/'. 761: 762: Peter McCluskey (July 8, 2002) 763: - Fix endless loop that save_alts option often produced. 764: 765: Peter McCluskey (June 18, 2002) 766: - Applied changes from Carlos Martín Ugalde to Spanish text. 767: 768: Peter McCluskey (June 13, 2002) 769: - Fix call to compute_quoted_percent so that it doesn't crash on deleted msg 770: with incremental update. 771: 772: Peter McCluskey (May 14, 2002) 773: - Add spamprotect_id option. 774: 775: Peter McCluskey (Apr 26, 2002) 776: - Changed to convert ampersands in urls to &. 777: 778: Peter McCluskey (Apr 22, 2002) 779: - Add Greek language support from Akis Karnouskos. 780: - Surpress <p> within <pre>. 781: 782: Peter McCluskey (Mar 22, 2002) 783: - Fixed to rewrite old messages that have new replies (some links to 784: replies/next in thread had been missing for overwrite=0, increment=0, 785: and also for linkquotes = 1). 786: - Updated configure to reflect Daniel's changes to fix --without-gdbm 787: in configure.in. 788: 789: Peter McCluskey (Mar 19, 2002) 790: - Increase MAXSTACK from 20 to 200. 791: 792: Peter McCluskey (Feb 4, 2002) 793: - Fix to avoid converting strings like ftp://user@host.com to mailto's. 794: 795: Peter McCluskey (Feb 4, 2002) 796: - Patch from William R. Knox to add meta date tag. 797: 798: Jose Kahan (jose@w3.org) (Jan 25, 2002) 799: - When a message had a charset of type US-ASCII or ISO-8959-1, it wasn't 800: being stored in the HTML version of the message. This could result in 801: a correct decoding of the message, as browsers assume a user-given 802: default charset in those cases. 803: 804: Peter McCluskey (Jan 11 2002) 805: - Patch from William R. Knox to fix possible race condition in creating dirs. 806: 807: Peter McCluskey (Jan 10 2002) 808: - Add %t substitution cookies to provide path to top folder. 809: 810: Peter McCluskey (Jan 5 2002) 811: - Fix segfault in incremental mode with linkquotes. 812: 813: ======================== 814: HYPERMAIL VERSION 2.1.4: 815: ======================== 816: 817: Peter McCluskey (Dec 19 2001) 818: - Create version 2.1.4 tarball. 819: 820: Peter McCluskey (Dec 14 2001) 821: - Applied patch from William King adding </li>'s. 822: 823: Peter McCluskey (Dec 10 2001) 824: - Fix bug in chronological ordering of folders. 825: 826: Peter McCluskey (Dec 6 2001) 827: - Applied patch from William King to fix footer links on attachment index. 828: 829: Peter McCluskey (Dec 4 2001) 830: - Change to detect start of new message when mime boundary missing, 831: treat unbounded text as plain text body. 832: 833: Peter McCluskey (Dec 2 2001) 834: - Applied patches from William King: 835: - DTD changed to strict. 836: - </p> now emitted. 837: - Some tags were not contained properly. Now wrapped in <p></p>. 838: 839: Peter McCluskey (Dec 1 2001) 840: - Applied patches from William King to string function defines and gdbm 841: configuration. 842: 843: Peter McCluskey (Nov 30 2001) 844: - Add Polish language support from Piotr Waskiewicz. Change some hardcoded 845: From's to new macro MSG_FROM, change a Date to MSG_CDATE. 846: - update config.sub, config.guess from ftp.gnu.org/gnu/config/. 847: 848: Peter McCluskey (Nov 26 2001) 849: - Applied patches from William King to update man pages for body, lang 850: options changes, and add new domain codes. 851: 852: Peter McCluskey (Nov 24 2001) 853: - Applied patch from William King to add lang= to <html> tag, get rid of 854: duplicate <em>. 855: 856: Peter McCluskey (Nov 23 2001) 857: - Added support for locales of form en_US. Changed language code "se" to 858: "sv", provide warning for old code. 859: 860: Peter McCluskey (Nov 22 2001) 861: - Applied patch from William King to create meta tag with hypermail version 862: number. 863: - better French support from Emmanuel Blot. 864: 865: Daniel Stenberg (Nov 21 2001) 866: - Updates to congfiure and trio. 867: 868: Peter McCluskey (Nov 21 2001) 869: - Applied patches from William King to conform better to HTML 4.01: 870: * remove body option, replace default <body> bgcolor=, text= with inline 871: style sheet (unless user-defined style sheet present). 872: * change <div align=...> to <div class=...>, same for <h1 align=...> 873: - add $BINARY, $NONPLAIN types to ignore_types option. 874: - add warn_surpressions option 875: - add unsafe_chars option 876: - Remove tmpname from parse.c (to get rid of warning about mktemp). 877: 878: Peter McCluskey (Nov 19 2001) 879: - Applied patches from William King to conform better to HTML 4.01: 880: * remove noshade from <hr> 881: * change the default DTD 882: * escape &'s, add image/png in test.rc, hmrc.example 883: - Changed the fix*header() routines so that they handle incremental updates 884: sensibly when given a mailbox with multiple messages. In the process, I 885: fixed 2 problems with single-message incremental updates, one which left 886: out the "Next message" link, and one which created a "Reply" link that should 887: have been a "Maybe reply". 888: - Add warning for mbox that starts with different msg than gdbm file if 889: not using -u (overwrite) option. 890: - Change default for overwrite option to off. 891: - Fixed segfault that happened when %m parsed in header but mailto was NULL. 892: 893: Peter McCluskey (Nov 18 2001) 894: - Folder list now sorted chronologically. 895: 896: Peter McCluskey (Nov 16 2001) 897: - Added save_alts and alts_text options. 898: 899: Peter McCluskey (Nov 15 2001) 900: Updated some old documentation, added some security warnings. 901: 902: Peter McCluskey (Nov 14 2001) 903: - Changes relevant to security: 904: 1. attachment filenames ending in .shtml get changed to .html. 905: 2. attachment descriptions are passed through convchars to prevent html tags 906: from being used there. 907: 908: Peter McCluskey (Nov 13 2001) 909: - Fixed malloc bug that caused segfault with linkquotes=1. 910: 911: Peter McCluskey (Nov 12 2001) 912: - Update to trio-1.4 (from 1.2) to fix Alpha compile problem. 913: 914: Peter McCluskey (Nov 7 2001) 915: - Changes to hypetombox.pl: 916: 1. add some support for handling attachments. 917: 2. fixed some problems arising from some tags being changed to lowercase. 918: 3. add -S option to specify htmlsuffix. 919: 4. changed to convert <p> to blank line (instead of to nothing). 920: 5. additions to improve handling of archives produced linkquotes=1 option. 921: 922: Peter McCluskey (Nov 5 2001) 923: - change parse.c to treat lines containing only a carriage return as 924: blank lines for purpose of deciding whether they indicate the end of 925: headers or a continued header line. 926: 927: ======================== 928: HYPERMAIL VERSION 2.1.3: 929: ======================== 930: 931: Peter McCluskey (Aug 22 2001) 932: - fix Makefile to clean pcre directory. 933: 934: Peter McCluskey (Aug 7 2001) 935: - removed In-Reply-To from mailcommand default. 936: 937: Peter McCluskey (Jul 25 2001) 938: - fix to abort before unlinking gdbm file if need it and cannot open it. 939: - fix latest_folder option (didn't work in incremental mode). 940: 941: Peter McCluskey (Jul 17 2001) 942: - patch from Brian Kirkby to fix links between folders with usetable. 943: 944: Peter McCluskey (Jun 26 2001) 945: - fixed parsing of integer/octal/switch environment variable values. 946: - fixed bugs in latest_folder option (includes fix from David Bau 947: <davidbau@hotmail.com>). 948: 949: Peter McCluskey (Jun 23 2001) 950: - fixed FILES so that hypermail.html gets into tarballs. 951: 952: Peter McCluskey (May 31 2001) 953: - patches from Moritz Willers to surpress empty "messages sorted by:" line, 954: add | after "Previous Folder, Thread view", etc. 955: 956: Peter McCluskey (May 30 2001) 957: - changes to Swedish from peter karlsson. 958: 959: ======================== 960: HYPERMAIL VERSION 2.1.2: 961: ======================== 962: 963: Peter McCluskey (May 22 2001) 964: - change default value for avoid_top_indices to none. 965: - fixed make to handle pcre properly. 966: 967: Peter McCluskey (May 16 2001) 968: - fix pathnames in inline attachments with msgsperfolder/folder_by_date 969: 970: Peter McCluskey (May 11 2001) 971: - add filter options (using pcre regular expressions): 972: filter_out 973: filter_require 974: filter_out_full_body 975: filter_require_full_body 976: 977: Peter McCluskey (May 9 2001) 978: - fix links to attachments in subdir index files. 979: 980: Peter McCluskey (May 8 2001) 981: - fixed bug with incremental update that caused the index files to 982: ignore messages beyond set_searchbackmsgnum. 983: 984: Daniel Stenberg (May 8 2001) 985: - Removed the last traces of mprintf.[ch] and made the trio stuff work 986: completely as a replacement. 987: 988: Peter McCluskey (May 7 2001) 989: - fixes to trio configuration. 990: 991: Peter McCluskey (May 4 2001) 992: - another fix to avoid_top_indices = folders. 993: - enhance show_msg_links to support links only at top or only at bottom. 994: - add show_index_links option to control links from message page to indices. 995: - add txtsuffix option 996: - On/Yes now converted to 1 for CFG_INTEGER options (for compatibility 997: with options that used to be CFG_SWITCH's) 998: - fix append option so that it handles uuencoded attachments and 999: mdecodeQP() calls correctly. 1000: 1001: Kent Landfield (May 4 2001) 1002: - corrected compilation issue for Sun CC in string.c 1003: - corrected check for set_custom_archives in hypermail.c 1004: 1005: Peter McCluskey (May 1 2001) 1006: - convert mprintf calls to trio calls 1007: 1008: Peter McCluskey (Apr 27 2001) 1009: - allow incremental update with folder_by_date on empty archive, improve 1010: error messages for missing gdbm file with folder_by_date, incremental update. 1011: 1012: Peter McCluskey (Apr 26 2001) 1013: - fixed so that avoid_top_indices = folders works. 1014: 1015: Peter McCluskey (Apr 24 2001) 1016: - fix urls at end of index page with folder_by_date. 1017: 1018: Peter McCluskey (Apr 20 2001) 1019: - patch from Hisashi Gotoh <gotoh@horae.dti.ne.jp> to fix message/rfc822 1020: handling with showhtml = 0. 1021: 1022: ======================== 1023: HYPERMAIL VERSION 2.1.1: 1024: ======================== 1025: 1026: Peter McCluskey (Apr 18 2001) 1027: - changed configure script to check several directories for gdbm.h, 1028: provide --with-gdbm=DIR option. 1029: 1030: Peter McCluskey (Apr 16 2001) 1031: - added patch from David Eisner <cradle@glue.umd.edu> to prevent subject 1032: matching on subject lines which have no Re:. 1033: - made hashreplylookup use the same code as hashreplynumlookup (fixes 1034: missing "Maybe in reply to" links in some messages. 1035: - made find_quote_prefix more cautious about recognizing nonstandard 1036: prefixes as quote prefixes (affects linkquotes and showhtml=2 options). 1037: 1038: Peter McCluskey (Apr 14 2001) 1039: - add missing <ul> when set_show_msg_links == 0, pointed out by 1040: Emre Bastuz <info@emre.de> 1041: 1042: Peter McCluskey (Apr 13 2001) 1043: - fixed portability problem in strcasestr. 1044: - fixed custom_archives to handle NONE properly. 1045: - removed a poorly thought out maybereply check in crossindexthread2 1046: that was apparently dropping some messages from the thread list. 1047: 1048: Peter McCluskey (Apr 12 2001) 1049: - convert html tags for monthly_index, yearly_index to lowercase. 1050: - fixed indexing error in getname reported by David Eisner <cradle@glue.umd.edu> 1051: - fixed set_usegdbm compile error reported by Daniel. 1052: - fixed parentheses in printattachments 1053: 1054: Peter McCluskey (Apr 10 2001) 1055: - Add check for *html deleted, gdbm index still present. 1056: - fix count of messages. 1057: - sped up linkquotes 2.5x by better mallocs 1058: - replaced strcasestr with faster one from glibc via Scott Rose 1059: - PushNString, PushString speedups 1060: - fixed bug in parseemail (faulty sscanf return value check) that 1061: added bogus strings in odd mailto's. 1062: 1063: Peter McCluskey (Apr 9 2001) 1064: - add new options: deleted, expires, delete_msgnum, delete_level 1065: - togdbm args: fix misuse of secs_to_iso which made 1066: email->date == email->fromdate 1067: - fix subdir bug with thread_file_depth 1068: - fix threading bugs with linkquotes 1069: - fixreplyheader with linkquotes bugs fixed 1070: 1071: Peter McCluskey (Apr 6 2001) 1072: - patch from Hisashi Gotoh <gotoh@horae.dti.ne.jp> adding iso2022jp option 1073: and fixing bug when config file not found. 1074: 1075: Peter McCluskey (Apr 5 2001) 1076: - fixed faulty urls in thread index files in subdirs with folder_by_date, 1077: msgsperfolder 1078: 1079: Peter McCluskey (Apr 3 2001) 1080: - changed htmlfilename, articlehtmlfilename to allocate mem dynamically. 1081: - redid config section of hypermail.html to describe some of the most 1082: important options and refer to hmrc.html for a full description. 1083: Changed style of hmrc.html, added folder_by_date mention to 1084: hypermail-faq.html. 1085: - fixed typo in FILES. 1086: 1087: ======================== 1088: HYPERMAIL VERSION 2.1.0: 1089: ======================== 1090: 1091: Peter McCluskey (Mar 31 2001) 1092: - fixed core dump with showhtml=2 created by yesterday's checkin. 1093: - added isodate, gmtime options. 1094: - bug fixes to mime decoding and to libcgi/form_ent.c from 1095: Greg Shenaut <greg@bogslab.ucdavis.edu> 1096: - add fixhtime.pl (changes timestamps to match From:) 1097: 1098: Peter McCluskey (Mar 30 2001) 1099: - Reorganized hmrc.html. 1100: - Add options to split archive into subdirectories: 1101: folder_by_date 1102: msgsperfolder 1103: latest_folder 1104: describe_folder 1105: avoid_top_indices 1106: 1107: Peter McCluskey (Mar 22 2001) 1108: - Enabled attachments index file, added sublists of attachment 1109: names and file sizes. 1110: 1111: Peter McCluskey (Mar 22 2001) 1112: - Fixed problem with GDBM defines. 1113: - Improved speed by replacing O(N^2) code in these functions with 1114: code that is at least typically close to O(N): 1115: addreply, crossindexthread1, crossindexthread2, nextinthread, 1116: writearticles (if set_showreplies) 1117: Accidentally improved threading under linkquotes option in the process. 1118: Overall performance probably scales up linearly with the number of 1119: messages under normal conditions (but not with linkquotes, which has other 1120: performance problems as well). Code is ifdef'd under FASTREPLYCODE for now. 1121: 1122: Peter McCluskey (Mar 19 2001) 1123: - Added new usegdbm and append options from Scott Rose. 1124: 1125: Peter McCluskey (Mar 14 2001) 1126: - Added avoid_indices option. 1127: 1128: Peter McCluskey (Mar 13 2001) 1129: - Sped up by balancing the datelist tree a bit (it had been virtually 1130: a linked list) and by removing redundant call to nextinthread. 1131: 1132: Peter McCluskey (Mar 12 2001) 1133: - Added contrib/cron_hypermail 1134: - Added some files in contrib and tests/mboxes to FILES. 1135: 1136: Peter McCluskey (Mar 2 2001) 1137: Added features originally implemented in critmail. New source files: 1138: finelink.c 1139: finelink.h 1140: quotes.c 1141: search.c 1142: search.h 1143: txt2html.c 1144: txt2html.h 1145: New options: 1146: - showhtml: new option value 2 gives richer conversion to html borrowed 1147: from txt2html.pl. 1148: - monthly_index: create additional index files broken up by month. 1149: - yearly_index: create additional index files broken up by year. 1150: - thread_file_depth: break the threads index file into multiple files, 1151: roughly one per thread. 1152: - linkquotes: creates fine-grained links from quoted text to the text 1153: where the quote originated. It also improves the threads index file 1154: by more accurately matching messages with replies. 1155: - searchbackmsgnum: with linkquotes and -u, speeds up processing, with 1156: some risk that linkquotes won't find all links it should. 1157: - link_to_replies: generate links from original quoted text to the 1158: location(s) in replies which quote them. 1159: - quote_hide_threshold: If the linkquotes option is on, replaces quoted 1160: text with links in messages which quote too much. 1161: - quote_link_string: with quote_hide_threshold, use this text in place 1162: of first line of quoted text. 1163: 1164: Peter McCluskey (Feb 20 2001) 1165: - replaced the bodymailcommand with the following, to be more compatible: 1166: * mailcommand - works as before unless replymsg_command specified 1167: * replymsg_command - used for sending a reply to the list; if not specified, 1168: is set to the value in mailcommand for compatibility with old .hmrc's 1169: * newmsg_command - used for sending a new message to the list 1170: 1171: ======================== 1172: HYPERMAIL VERSION 2.0.0: 1173: ======================== 1174: 1175: Peter McCluskey (Feb 19 2001) applied patches from "W. Tasin" <tasin@fhm.edu> 1176: - some changes in the german translation 1177: - if a Content-Base is found set content=CONTENT_IGNORE because it is on 1178: another server and it would never be parsed well inside the mail... 1179: (this is more a workaround than a good patch... a better way would be to 1180: include this to every link inside the content... to show up also this 1181: external site... but I think it is an easy way to handle this problem) 1182: - add NONE as value for set_mailcommand, so "New Message" will not be shown 1183: - improve handling of inline attachments after signature. 1184: - prevent "(no email)" in emailaddr from becoming mailto. 1185: - add option set_bodymailcommand to configure mailto's other than one 1186: used in MSG_NEW_MESSAGE or MSG_REPLY. 1187: - changes to makemailcommand to prevent (nil) from showing when no Subject:. 1188: 1189: Daniel Stenberg (Jan 3, 2001) 1190: - Added checks for more functions in the configure script 1191: 1192: Ashley M. Kirchner (May 31, 2000) 1193: - I converted all uppercase HTML tags to lowercase in the main hypermail 1194: base source. Stuff that got contributed (under the contrib directory) 1195: were not touched. I'm going to leave those for their respective 1196: contributors to change. 1197: 1198: Daniel Stenberg (daniel@haxx.nu) (May 25, 2000) 1199: - Added 'spamprotect' as a new flag. It replaces @-letters with "_at_" to 1200: confuse spam-email-robots a bit. 1201: 1202: - Found a terrible bug when an URL contains a @-letter, since it'll first 1203: become <href>-tagged and then <mailto>-converted... :-/ 1204: 1205: - Added https:// as a recognized URL type (deja-vu, didn't I do this before?) 1206: 1207: - Corrected the alternative parser not being reset at the end of all mails 1208: 1209: Daniel Stenberg (daniel@haxx.nu) (May 23, 2000) 1210: - Corrected the output on %> appearences in the template files 1211: 1212: - Applied the beauty fix supplied by Darryl Lee <lee@darryl.com> 1213: 1214: Daniel Stenberg (Apr 10, 2000) 1215: - I made %<unknown letter> in printfile display exactly as used the other 1216: day. Today I changed my email address all over! 1217: 1218: - Added https:// to the recognized URL types to <a>-ify 1219: 1220: Jose Kahan (jose@w3.org) (Jan 17, 2000) 1221: 1222: - The quoted printable decoding didn't take into account the 1223: ietf-mbox option. 1224: 1225: Jose Kahan (jose@w3.org) (Dec 24, 1999) 1226: 1227: - Removed an invalid </A> tag when using tables. 1228: 1229: - When using the showhtml option, invalid HTML was generated in the 1230: headers: <P><P> before the </PRE>. 1231: 1232: - Stopped the generation of a Mailto on msgid's. 1233: 1234: - Rearranged the format of the index and messages when not using 1235: tables. My aim was to make the format more symetrical. 1236: 1237: - Added a new item, "Mail actions", in the control menu. This item 1238: is only active when using the mailcommand and hmail options, and 1239: when the tables are turned off. This option duplicates the one found in 1240: the table. 1241: 1242: - Added two new options for linking external stylesheets to the index 1243: and the messages, respectively: icss_url, mcss_url. The link is added 1244: as a META element in the header. 1245: 1246: - The default value of the mailcommand mailto: had some typos: non 1247: escaped chars, use of reply-to instead of in-reply-to. 1248: 1249: - Two protections were missing to avoid having empty HREFs when the 1250: about and archives options were defined in the .hmrc file, but wihout 1251: any given value. 1252: 1253: Jose Kahan (jose@w3.org) (Dec 15, 1999) 1254: 1.9 kahan 1255: - The inline changes from 29/Nov had the side effect that other 1256: inline attachments, like text/html were being linked like inline 1257: images. 1258: 1.8 kahan 1259: Kent Landfield <kent@landfield.com> (Dec 8, 1999) 1260: 1261: - Bjarni R. Einarsson <bre@netverjar.is> pointed out that the 1262: "Reply:" and "Maybe Reply:" output was not correct. pcm@rahul.net 1263: (Peter C. McCluskey) submitted a patch that fixes them as well 1264: as the current threading allows. 1265: 1266: Kent Landfield <kent@landfield.com> (Dec 7, 1999) 1267: 1268: - Added hoaf-28 python index generator written and contributed 1269: by Bernhard Reiter <bernhard@climate2.geog.uwm.edu> to the basline. 1270: 1271: - Added ls2mail script written by David Kilzer <ddkilzer@ti.com> 1272: to the basline. 1273: 1274: - Converted libcgi.doc to libcgi.html. 1275: 1276: Kent Landfield <kent@landfield.com> (Dec 1, 1999) 1277: 1278: - hypermail-2b28 rolled. 1279: 1280: Kent Landfield <kent@landfield.com> (Nov 29, 1999) 1281: 1282: - Corrected a parsing error in parsemail when dealing with 1283: attachments. If the filename was "quoted" things worked 1284: properly. If the filename was not quoted then the name 1285: of the attachment was dropping the first letter of the 1286: filename and adding '_' to the end. 1287: 1288: - Corrected a conditional statement that was limiting storage 1289: of 'inline' types to only recording inline types that were 1290: of type image/. 1291: 1292: - Changed strstr usage when searching MIME headers to 1293: use strcasestr instead as the case sensitivity was 1294: getting in the way. 1295: 1296: Kent Landfield <kent@landfield.com> (Nov 28, 1999) 1297: 1298: - Inconsistencies in write* routines called in hypermail.c 1299: pointed out by Bernhard Reiter <bernhard@uwm.edu>. set_* 1300: variables were used but still passing values in with the 1301: function call. Removed unneeded parameters. 1302: 1303: Kent Landfield <kent@landfield.com> (Nov 22, 1999) 1304: 1305: - The .hmrc resources didn't seem to override the default values, but 1306: rather got added to them. This was corrected for list usage. If 1307: a list value is set in the .hmrc file, it should completely replace 1308: the default values. This need only occur on the first occurance 1309: after the builtin initialization. 1310: 1311: - Jeff Katcher pointed out 'At the bottom of index.html and date.html, 1312: "Last message date:" is output twice. It's only present once on the 1313: author and subject pages.' This has been corrected so it is only 1314: printed once. 1315: 1316: Jose Kahan <jose@w3.org> (Nov 23, 1999) 1317: 1318: - A typo in setup.c:PreConfig gave problems (memory overwrite) when 1319: dealing with CFG_LIST configuration options. 1320: 1321: - uudecode wasn't working with the ietf-mbox option. 1322: 1323: Kent Landfield <kent@landfield.com> (Nov 22, 1999) 1324: 1325: - Error in setting of defaultindex in configure.in caused no index.html 1326: file to be created. configure.in was corrected to set the default 1327: index to "thread" instead of thread.html. 1328: 1329: - Added .indent.pro files to FILES file. 1330: 1331: - Added "-p" option to mkdir so all parent directories will be made if 1332: needed. 1333: 1334: - Added requests to TODO file. 1335: 1336: Kent Landfield <kent@landfield.com> (Nov 17, 1999) 1337: 1338: - hypermail-2b27 rolled. 1339: 1340: Kent Landfield <kent@landfield.com> (Nov 17, 1999) 1341: 1342: - Changed the install dependencies for the Makefile.in files 1343: so that install-sh is used through out. 1344: 1345: - Assured all includes are checked for in configure. 1346: 1347: - Updated FILES 1348: 1349: - Corrected dependencies on defaults.h 1350: 1351: Kent Landfield <kent@landfield.com> (Nov 14, 1999) 1352: 1353: - Corrected CFG_LIST storage of defaults other than NULL in 1354: the function ConfigAddItem(). 1355: 1356: - Assured struct hmlist variables set_text_types, 1357: set_inline_types, set_prefered_types, set_ignore_types, 1358: and set_show_headers set to NULL initially. Othewise 1359: add_list was checking garbage when called from ConfigAddItem(). 1360: 1361: - Reworked some of the defaults in setup.c 1362: 1363: - Added a dump_configI() routine to print out all internal variables 1364: for debugging. Use #ifdef DEBUG to get it included. 1365: 1366: - Removed unused defines in setup.h 1367: 1368: - Added defaults.h.in so sites could setup reasonable global defaults. 1369: 1370: - Added additional configure support for setting defaults for 1371: language, htmlsuffix, defaultindex and domainaddr in defaults.h. 1372: 1373: - Added cleanup of defaults.h and mail-archive test directory to Makefile 1374: 1375: - Removed old method from Makefile.in and lists.h in the archive directory. 1376: 1377: - Regenerated configure from configure.in. 1378: 1379: - Regenerated the dependencies in src/Makefile.in 1380: 1381: - Removed some #if 0 code in date.c 1382: 1383: - Changed strdup calls to strsav calls in getname.c and mail.c 1384: 1385: - Cleaned up html page output if usetable was selected. 1386: 1387: - Removed unnecessary variable passing into the writedates(), 1388: writethreads(), writesubjects(), writeauthors() routines. 1389: 1390: - Freed up memory alocated for configfile variable. 1391: 1392: - Removed unneeded variables in hypermail.h (previously #if 0'ed) 1393: 1394: - Updated README a bit. 1395: 1396: - Updated Changelog 1397: 1398: Kent Landfield <kent@landfield.com> (Nov 11, 1999) 1399: 1400: - Removed strdup declarations that were causing gcc to fail 1401: on certain systems. 1402: 1403: - Added French language support contributed by Nicolas NOBLE 1404: <pixels@chez.com> 1405: 1406: - Updated documents about "is" and "fr" language support. 1407: 1408: Kent Landfield <kent@landfield.com> (Nov 9, 1999) 1409: 1410: - Added checking the return value of getpwuid() in readconfigs. If 1411: the value is NULL then see if the $HOME is set in the environment. 1412: This avoids a crash for Win32 users who don't bother to set up 1413: /etc/passwd in cygwin environment. 1414: 1415: - Added support for proper naming of executables (hypermail on 1416: Unix hypemail.exe on Dos/Windows/NT). 1417: 1418: - Corrected getlocaltime so it would not print the timezone twice 1419: if the timezone was also specified in the dateformat directive. 1420: 1421: - Corrected print.c so From: is printed when the email address 1422: is the same as email name. 1423: 1424: - Removed tests/testhm from the baseline. Replaced it with testhm.in 1425: so configure can generate the proper path to the test hypermail 1426: executable. 1427: 1428: - Modified configure.in so that it can determine if it is running 1429: in cygwin environment. Added tests/testhm.in support. 1430: 1431: - Removed acconfig.h from the baseline as it is no longer needed 1432: with the current configure changes. 1433: 1434: - Assured destination directories exist for all installed files. 1435: 1436: - Added uninstall option in makefiles. 1437: 1438: - Cleaned up the docs/Install-win32.txt to reflect the changes made. 1439: 1.7 kahan 1440: Bjarni R. Einarsson <bre@netverjar.is> (Nov 5, 1999) 1441: 1442: - "is" message table translation. 1443: 1444: - Added a stripsubject feature to hypermail, which 1445: makes it remove all occurances of a given word from the subject line, 1446: which is really useful for un-cluttering the subjects of some mailing 1447: lists (my lists all have their subjects prefixed with [listname]: - 1448: which is quite redundant in an archive). 1449: 1.8 kahan 1450: Jose Kahan <jose@w3.org> (Nov 4, 1999) 1.7 kahan 1451: 1452: - Cleaned a bit the HTML format as well as the arranging of the indexes, 1453: to make them look a bit more coherent. 1454: 1455: - Commented the code that assumed we have an HTML text when finding a 1456: line with <HTML>. The best way is to send HTML text using a correct 1457: content type. 1458: 1459: - New configuration option, custom_archives, that allows to define 1460: a proprietary HTML text to be shown in the Other mailing archives 1461: item. 1462: 1463: - New configuration option, ietf_mbox, for parsing IETF-formatted mboxes 1464: (see the doc). 1465: 1.8 kahan 1466: Jose Kahan <jose@w3.org> (Nov 2, 1999) 1.7 kahan 1467: 1468: - When using the showhtml option, </PRE> tags were being added to each 1469: line of the signatures. 1470: 1.6 kahan 1471: Martin Schulze <joey@infodrom.north.de> (October 27, 1999) 1472: 1473: - Some where the showheaders functionality was lost. It has been 1474: partially added in. The 'hm_show_headers = list_of_RFC_Headers_to_display' 1475: functionality did not work and has been corrected. 1476: 1477: - If the show_headers directive contains the special character ``*'', 1478: hypermail will display all header lines. 1479: 1480: - Hypermail 2.x can now read hypermail 1.02 config files. Needed 1481: to assure minimal impact of existing sites that use the older 1482: version of hypermail. 1483: 1484: - hmrc.4 and hypermail.1 have been updated. 1485: 1486: Kent Landfield <kent@landfield.com> (October 27, 1999) 1487: 1488: - Edited documentation to the text more readable by using two spaces 1489: after a fullstop. 1490: 1491: - Cleaned up prototypes so they are consistent through out the include files. 1492: 1493: - Found many locations where a local variable was shadowing a global 1494: variable. Renamed certain variables to assure no compiler confusion. 1495: 1496: - Extended the warning switches in WARNINGS in the Makefile.in. 1497: 1498: Kent Landfield <kent@landfield.com> (October 23, 1999) 1499: 1500: - Added additional checks in configure for the operating system. Set -Ae for 1501: HP-UX and added checks for functions in libsocket and libnsl. Added sanity 1502: checks to assure you are on the same machine if you are using the existing 1503: config.cache and added acconfig.h config.guess config.sub support files. 1504: Additional cleanup to configure.in and a regenerated configure script. 1505: 1506: Scott Rose <srose@direct.ca> (October 20, 1999) 1507: 1508: - When a URL has trailing punctuation, it is almost certainly not part of 1509: the URL. This version of parseurl() therefore excludes trailing 1510: punctuation from URLs it finds. 1511: 1512: - If the content-description of a message was empty, and at the end of a 1513: line, the link to the associated attachment was anchored on null text. 1514: Fixed to assure the text is anchored on the filename in the generated HTML. 1515: 1516: Scott Rose <srose@direct.ca> (October 19, 1999) 1517: 1518: - Added contrib/canonicalize.pl 1519: 1520: Comparing two archives is complicated by the fact that each message is 1521: marked by the time at which it's archived. Attached is a script that 1522: standardizes that date, if weakly, useful for such comparisons. 1523: 1524: - Added contrib/hyperfeed.pl 1525: 1526: Feed messages from an mbox into hypermail one at a time so as 1527: to test the incremental mode of hypermail. 1528: 1529: - The idea here is that we are zipping along through an mbox, gathering 1530: information about a message, when we encounter a "From " line that signals 1531: the start of the next message. A side effect is populating dp with the 1532: date from that "From " line. In the existing code, that value is copied 1533: into fromdate[] just before the old message is hashed, which causes it 1534: to be associated with the previous message. This caused different output 1535: depending on incremental or mbox updating. This patch corrects that 1536: by moving the date copy until after the addhash function is called. 1537: 1538: Kent (October 18, 1999) 1539: 1540: - Updated parseurl fuction as done by Scott Rose <srose@direct.ca> 1541: provided 25% faster processing than the existing version while 1542: maintaining the same functionality. 1543: 1544: Kent (October 8, 1999) 1545: 1546: - Changed msg2archive.c to be able to use the command line 1547: 1548: - Made changes to runtest to assure msg2archive could be tested. 1549: 1550: - Added the indent file .indent.pro in archive, src and lib. 1551: 1552: - Ran indent on all sources in archive, src, and lib. 1553: 1554: - Made changes to configure.in to better support libsocket.a 1555: 1556: - Corrected configure.in check from gethostbyname to gethostbyaddr. 1557: 1558: - Added configure check for inet_addr 1559: 1560: - Added addition header checks and function checks in configure.in 1561: 1562: - Regenerated config.h.in with autoheader 1563: 1564: - Regenerated configure with autoconf 1565: 1566: - Updated the source files to use the HAVE_* definitions in config.h 1567: 1568: - Minor editing on the README 1569: 1570: - Minor updates to the TODO file and Changelog file. 1571: 1572: - Updated KNOWN_BUGS with the content of tests/Problems 1573: 1574: - Removed tests/Problems from the baseline as it was duplicating 1575: KNOWN_BUGS 1576: 1577: - Removed src/Formatting from the baselien as it was a junk working 1578: file of mine that should never have been baselined originally. 1579: 1580: - Added tests/mboxes/embedded.msg as a test file and updated 1581: tests/testhm to exersize it. 1582: 1583: - Removed the listing for tests/Problems and src/Formatting, while 1584: adding tests/mboxes/embedded.msg to the FILES file. 1585: 1586: - Added the corrected version of hypetombox.pl done by 1587: Peter McCluskey (pcm@rahul.net) to the baseline. 1588: 1589: Jose (October 7, 1999) 1590: 1591: - Changed the HTML DTD string of the generated strings to HTML 4.0 1592: Transitional. 1593: 1594: - Updated the doc to correspond to the suppression of the 1595: options's hm_ prefix. Made the doc's HTML documents valid HTML 4.0 docs. 1596: 1.5 kahan 1597: Kent (September 20, 1999) 1.6 kahan 1598: 1.5 kahan 1599: - Cleanup of prototypes. 1.3 kahan 1600: 1.5 kahan 1601: - Removed the generated getdate.c from the baseline. (Generated 1602: from getdate.y. 1603: 1604: - Purified and removed array bounds read problems. 1605: 1606: Daniel (September 17, 1999) 1607: - Applied language patches from Jyrki Kuoppala <jkp@kaapeli.fi> 1608: 1609: - Applied Kent Landfields lots of changes. getname() is reverted to an older 1610: version since the newer did out-of-bounds reads. 1611: 1612: - Paul Haldane's fix is applied. 1613: 1614: - Peter C. McCluskey <pcm@rahul.net> suggested fixreplyheader() correction 1615: has beed applied. 1616: 1617: Daniel (September 13, 1999) 1618: 1619: - Kent Landfield found a bunch of weirdnesses that were corrected, in: 1620: * threadprint.c/print_all_threads() 1621: * print.c, makemailcommand() usage 1622: 1623: Jose (September 8, 1999) 1624: - (This is a big commit as I'm merging my independent developments into 1625: the public hypermail tree, which I'll use from now on) 1626: If there's a Content-Description header, we now use it to describe 1627: MIME attachments (unless they are inlined). 1628: Two new options (see the hmrc.4 or hmrc.html file for more info): 1629: + hm_uselock to turn off hypermail's internal locking mechanism 1630: + hm_usemeta to store the content type of a MIME attachment in a 1631: metadata file (also available thru commandline option -M) 1632: If the usemeta option is turned on, the Content-Type header of an 1633: attachment is stored in a .meta directory (see hmrc.4 or hmrc.html for 1634: more info). 1635: Files where MIME attachments are now prefixed with a two-digit counter, 1636: a la dd-name. This is to avoid having having to create temporary files, 1637: and to preserver links. The counter is incremented for each attachment, 1638: regardless of it's being inline or not. I disabled the call to emptydir 1639: as it's not useful (will add it as an option later on). 1640: External MIME attachments that don't have a filename, are given the name 1641: dd-part. 1642: Improved handling of MIME rfc822 attachments. 1643: Improved handling of Content-Disposition 1644: 1.4 kahan 1645: Ashley (September 7, 1999) 1646: - Added configure options for --httpddir, --cgidir and --htmldir with 1647: Apache's layout as the default (/usr/local/apache) 1648: 1649: Daniel (August 23, 1999) 1650: - Removed the 40-letter limit for subjects in the thread-index when 1651: the table option was enabled. 1652: 1653: jose.kahan@w3.org 1654: - When the boundary is declared without quotes, parse.c failed to get it 1655: properly. 1656: 1657: - print.c: There was a missing <PRE> and this resulted in a not-readable text 1658: 1.3 kahan 1659: Daniel (August 10, 1999) 1660: - I hade a terrible bug that made the attachment directories to get created 1.4 kahan 1661: relative the wrong directory! They were also not getting the proper 1662: permissions set. 1.3 kahan 1663: 1664: Tim Witham <twitham@pcocd2.intel.com> (August 10, 1999) 1665: - Had to fix a realloc() with NULL pointer which sunos doesn't handle. 1666: 1667: 2a24 1668: ==== 1669: Daniel (August 9, 1999) 1670: - I'm consider renaming the series of archives that I'm releasing, back to 1671: the beta label. It would be more correct. Kent is with us again and I 1672: don't think anyone is gonna continue on the now forever sleeping 1673: beta-series. This seems to be the one and only hypermail development 1674: branch and I believe we now have it stable enough. 1675: 1676: - 'attachmentlink' is a new config file item that controls how attachments' 1677: links are made. By using this you can make a wrapper cgi script on your 1678: server that issues a warning to the user that it may be dangerous to run 1679: attachments or whatever you think is appropriate. Default it behavs as it 1680: used to do before this feature was added. 1681: 1682: Daniel (August 8, 1999) 1683: - Applied Jose Kahan <Jose.Kahan@inrialpes.fr>'s patches: 1684: 1685: The alternate content parsing was broken in that you couldn't give a list 1686: of preferences. Also, if you first parse an alternate with a low priority, 1687: then another one with a higher priority, the memory and, eventually, files 1688: created to store the former alternate content weren't erased. 1689: 1690: I found a minor bug. When decoding messages with multiple MIME 1691: attachments, the decode variable (where the content encoding format is 1692: stored), isn't updated. 1693: 1694: Daniel (August 6, 1999) 1695: - Fixed the subject overflow 1696: 1697: - Made attachments get saved in their own subdirectories. 1698: 1.2 kahan 1699: 2a23 1700: ==== 1701: Daniel 1702: - I'm making a release out of this now since I'm off for a longish 1703: vacation next week... 1704: 1.1 kahan 1705: Paul 1706: 1707: - Applied Tom van Alten's patch to correct improper formatting 1708: of messages when hm_showhtml = 0 and showheaders = 1. 1709: 1710: - New code to (optionally) accept messages wth no msgid. Default 1711: is to require msgids in all messages - use hm_require_msgids = 0 1712: to avoid this check. 1713: 1714: - Made handling of duplicate msgids optional. By default duplicates 1715: are discarded. To accept them (replacing the msgid with a generated 1716: msgid) use hm_discard_dup_msgids = 0. 1717: 1718: - Check return value from addhash when reading old messages. Messages 1719: already archived should be valid but safer to check. 1720: 1721: 2a22 1722: ==== 1723: Daniel 1724: - Applied a boundary parsing bug correcting patch supplied by 1725: Andreas Fuchs <asf@ycom.at> 1726: 1727: Paul Haldane 1728: o (May 16th 1999) 1729: 1) changes to the way we construct threadlist (so that all the messages 1730: that should be in the thread are included even if they don't have valid 1731: in-reply-to headers) 1732: 1733: 2) changes to threadprint.c - simplification of print_all_threads. Now 1734: uses the information in threadlist to find the relationship between 1735: messages. This speeds things up a bit when adding single messages to 1736: large archives (I saw a reduction from 28s to 18s for adding a message to 1737: a 1,100 message archive). Slight speed-up when converting large archives 1738: - not as noticeable as a large part of time now seems to be in fopen(). 1739: 1740: I've updated/added some comments. 1741: 1742: I've added msgnum to the reply struct - this is just a copy of msgnum in 1743: ->data->msgnum - this was intended as an optimisation but I suspect it 1744: doesn't make much difference. 1745: 1746: Threading is now much better (well, I would say that wouldn't I :->). it 1747: still gets things wrong occasionally - often not really its fault. Known 1748: problems include 1749: 1750: 1) duplicate message-ids - results in messages being attached to the wrong 1751: thread - actually found an instance of this in my test mailbox. The 1752: obvious heuristic to avoid this would be to compare the subject as well, 1753: though this breaks threads where the sender has deliberately changed the 1754: subject but intends to continue the thread. 1755: 1756: 2) occasionally gets messages in the wrong order because they get attached 1757: to different sub-threads - wouldn't happen if MUAs used in-reply-to. 1758: 1759: I've done a quick tweak to duplicate msgid handling in addhash. Now 1760: replaces duplicate msgids with a locally constructed one. This keeps 1761: things happier. 1762: 1763: 1764: 2a21 1765: ==== 1766: Daniel 1767: o (May 12th) 1768: - Added the tests/stdintest.pl script. It is a small perl hack that passes 1769: a series of generated mails into hypermail on stdin. One by one. I've 1770: got reports about bugs in that area, but I can't seem to repeat any 1771: with this tool. I thought I'd better include this here anyway to better 1772: enable others to run more torture tests on hypermail. 1773: 1774: Paul Haldane 1775: 1776: o (May 6th) 1777: - Here's a patch that allows the user to decide on the format used to 1778: present dates on the generated pages. If dateformat is set then it uses 1779: that (that's the new functionality) otherwise it uses the standard 1780: format or euro format depending on the config file. 1781: 1782: I've not given the option to use the date string as originally given in 1783: the mail message. This could be done without too much hassle. 1784: 1785: Daniel 1786: 1787: o (May 5th) 1788: - Corrected a crash in parse.c 1789: 1790: - Added a missing "From:" in print.c 1791: 1792: - Made the bin-names get prefixed with "att-" too. 1793: 1794: - Adjusted getname() to skip all starting white spaces and quotes, and 1795: to skip trailing quotes as well as white spaces. 1796: 1797: o (May 4th) 1798: - Attachment names could miss the first letter. 1799: 1800: 2a20 1801: ==== 1802: Daniel 1803: 1804: o (May 3 1999) 1805: - Implementing my new From:-parser into the new source file: getname.c. 1806: This should hopefully not only be much better at parsing from lines, 1807: but also to it in a more stable manner. 1808: 1809: - Found some additional problems with From-lines I've tried to correct. 1810: Like a single-mail archive or mails with no From:-lines at all. 1811: 1812: Ron Brogden <rb@islandnet.com> 1813: 1814: o A small correction to hypermail.c lets it compile properly on sunos 4. 1815: 1816: 2a19 1817: ==== 1818: 1819: Daniel 1820: 1821: o Now I prefix filenames with "att-" when I save attachments. 1822: 1823: o Several errors correct, most of them by Paul Haldane. 1824: 1825: 2a18 1826: ==== 1827: 1828: Daniel 1829: 1830: o (Apr 7 1999) 1831: - Added 'locktime' as a configurable item. It defines the maximum number 1832: of seconds to wait for an existing lock to dissapear before it is 1833: overridden. If this is 0 or less, the lockfile will lose its power 1834: completely. locktime is 3600 by default. 1835: 1836: - I made the 'indextable' option work as Glen Steward wanted it to (that 1837: March 30 patch apply wasn't such a big hit). You can either set 1838: "indextable = on" in the config file or use the -T command line option 1839: to get the indexes in "table" version. 1840: 1841: Paul Haldane 1842: 1843: o (Apr 7 1999) 1844: - Major date-parsing re-arrangement. getdate.c added, lots of functions 1845: patched. Speed improvements. 1846: 1847: 2a17 1848: ==== 1849: 1850: Daniel 1851: 1852: o (Mar 30, 1999) 1853: - First atttempt at applying Glen Steward's table patches. It wasn't 1854: a complete success but it can be adjusted from here. 1855: 1856: o (Mar 29, 1999) 1857: - Ashley M. Kirchner found a silly bug that occured if the last mail 1858: in the box was a double message-id (or similar that makes that 1859: particular function return NULL). 1860: 1861: o (Mar 25, 1999) 1862: - Threaded index seems to work yet again! 1863: - Paul Haldane <Paul.Haldane@newcastle.ac.uk> brought me lots of 1864: various patches that made hypermail do better! 1865: 1866: o (Mar 25, 1999) 1867: - Corrected the problem with "re: subject" and "subject" being sorted 1868: differently. The explanation was that the "re:" subject had a space 1869: left in the beginning of the string! 1870: 1871: o (Mar 25, 1999) 1872: My giant work of redoing things now finally seems to work a little at 1873: least. What's been done the last week: 1874: - All emails now get only ONE single struct allocated for it. 1875: - Remade the hash stuff. Hashed entries in the table only stores a struct, 1876: links it in the list and POINTS to the email struct. 1877: - Added a hash on the 'inreplyto' string to better enable finding mails 1878: a mail replies to. 1879: - Rewrote the whole darned threaded index functions. threadprint.c is a 1880: new source file for threaded index functions. 1881: - All indexes will now have full access to the complete email struct and 1882: will thus enable dates all over etc. This will enable me to introduce 1883: a template feature for how to write an entry in an index. I.e what to 1884: include for each entry, subject, author, date, charset, bla bla bla... 1885: - Changed the way single mail's "next in thread" links are found. 1886: - As a "side-effect" I added a filter to prevent the same message ID 1887: twice. The reason for this is that it is more likely for it to be able 1888: to screw up the threading if I allow them to co-exist. 1889: 1890: o Ashley M. Kirchner <ashley@pcraft.com> works on the bug report web. 1891: 1892: o (Mar 15, 1999) 1893: Roman Shterenzon <roman@xpert.com> pointed out a bug in the HTML-reader 1894: that made hypermail crash if the variables were set to "". I mailed back 1895: a patch to him I think will correct this problem. 1896: 1897: 2a16 1898: ==== 1899: Daniel 1900: 1901: o (Mar 14, 1999) 1902: "text_types" is now a recognized config file item, where you can specify 1903: MIME types that should be treated by hypermail _exactly_ as if they were 1904: text/plain. 1905: 1906: o Corrected the list-check routine, so that the items in the list are the 1907: ones using wildcards. This means that suddenly, all those mime-list items 1908: support wildcards! 1909: 1910: o (Mar 13, 1999) 1911: Craig A Summerhill <craig@cni.org> found a bug. It turned out to be the 1912: fact that parse.c wronly assumed content-type text/plain to use 1913: ENCODE_NORMAL. It was really silly, since the Content-Transfer-Encoding 1914: header could've already appeared and stated another encoding! 1915: 1916: o Adjusted configure.in to do a slightly better -libnsl check. 1917: 1918: o (Mar 11, 1999) 1919: CVS server is up again. Added the UPGRADE file to the tree. Thanks to 1920: Glen Stewart. 1921: 1922: o (Mar 10, 1999) 1923: Pretty extensive re-write of parse.c to deal with the 1924: "Content-Disposition" headers better. That line can give a hint whether 1925: the file should be stored as a file or showed inlined. It can also 1926: have the filename (RFC1806 for details). 1927: 1928: o (Mar 10, 1999) 1929: The CVS server is down due to admin work there. 1930: 1931: o (Mar 10, 1999) 1932: Fixed parseurl(). It now deals with <www.foobar.com> and similar 1933: constructions better. Craig A Summerhill <craig@cni.org> reported. 1934: 1935: o (Mar 8, 1999) 1936: Corrected src/Makefile.in to not use options.h anymore! 1937: Roman Shterenzon <roman@xpert.com> made me aware of this. 1938: 1939: 2a15 1940: ==== 1941: Daniel 1942: 1943: o (Mar 5, 1999) Made "text" equal text/plain in content-type: header 1944: lines. 1945: 1946: o Removed options.h completely to reduce the number of mistakes from 1947: people trying to edit it! 1948: 1949: o (Mar 4, 1999) Applied Glen Stewart's patch to remove a few <li> tags. 1950: 1951: o Bailey, Raymond <bailey9@MARSHALL.EDU> pointed out a problem in the 1952: getname() function. When you got a mail with a From: line where there 1953: is a name within quotes that were "attached" to the email part without 1954: spaces in between as in "name"<email@email.com> the parser failed to 1955: get a name part of this and caused hypermail to dump core. 1956: 1957: o Alisdair Davey <ard@mithra.physics.montana.edu> Helped me point out 1958: a bug in mprintf.c. It made the *printf() routines fail on %.*s 1959: constructions. I am considering an upgrade of the mprintf stuff to 1960: my newer "trio" stuff... 1961: 1962: o Made %f insert the file name of the generated HTML file in headers 1963: and footers. 1964: 1965: 2a14 Pl 2 1966: ========= 1967: Daniel 1968: 1969: o Removed a bug that occured when converting a mail into html that had 1970: a "in-relpy-to" header but the replied-to mail was not present in the 1971: mailbox. 1972: 1973: 2a14 Pl 1 1974: ========= 1975: Daniel (now CVS'ed at cvs.hypermail.yeehaw.net:/cvs/hypermail) 1976: 1977: o Made it de-mime headers even without the mime-version: header present 1978: 1979: 1980: 2alpha14 1981: ======== 1982: Daniel 1983: 1984: o It should now accept white space in the beginning of config file 1985: lines. 1986: 1987: o SetupCleanup() bugs somehow, I'm no longer using it == dirty fix. 1988: 1989: o Updated the "name/email" scanner. 1990: 1991: o Total mail counter was wrong when updating. 1992: 1993: o Renamed to alpha to avoid confusion. 1994: 1995: 2b13 1996: ==== 1997: Daniel 1998: 1999: o Two corrections in the mprintf.c. One of them being serious 2000: 2001: o (parse.c) now the QP decoder accepts question marks in the encoded-words 2002: 2003: o Corrected the mprintf() replacement define in mprintf.h 2004: 2005: o Added some more missing free()s in print.c 2006: 2007: 2b12 2008: ==== 2009: 2010: Daniel 2011: 2012: o Now strips trailing white spaces from values in the config file if 2013: written without quotes. Paradise Cowgirl <minerva@phix.com> reported. 2014: 2015: o List types in the config were insanely written and caused memory 2016: disaster at times. Byron C. Darrah <bdarr@sse.FU.HAC.COM> and 2017: Jenni Baier <jenni@renewed.net> both probably experienced this. 2018: 2019: o Decreased the amount of memory allocations used when building hash 2020: tables for index sorting. (see addhash() in struct.c) 2021: 2022: 2b11 2023: ==== 2024: 2025: Daniel 2026: 2027: o Tom von Alten <alien@hpdmlad.boi.hp.com> pointed out a really nasty bug 2028: in fixreplyheader() I had introduced! :-( 2029: 2030: 2.0b10 2031: ====== 2032: 2033: Daniel 2034: 2035: o %c is recognized and replaced with a charset tag in mail headers. It 2036: should be set as early as possible within the HEAD tag. 2037: 2038: o Saves <!-- charset=blablabla --> in articles. 2039: 2040: o dprintf() was not a successful name, Linux uses it for some odd purpose 2041: even in stdio.h! :-/ Renamed my line of functions to m*. 2042: 2043: o Adjusted getname() to be slightly smarter. 2044: 2045: o Started working at adding charset to each single mail. It should be stored 2046: per-mail basis now, even though it is never used anywhere... It should 2047: now make a proper META HTTP-EQUIV tag! 2048: 2049: 2.0b9 2050: ===== 2051: 2052: Daniel 2053: 2054: o Added a new -o option that can set any config options on the command line. 2055: E.g set label with -o "label=my new label". 2056: 2057: o Major rewrites of struct.c. There were just too many functions that 2058: passed data between them by strcpy()ing them to char buffers. They now 2059: pass char pointers in a lot higher degree. In fact, there aren't that 2060: many strcpy()s left in the source now. Not that I notice any faster 2061: operations, I just know it is neater code. 2062: 2063: o I really don't like the way proto.h has *ALL* prototypes and therefore 2064: everything is dependent on that file. I've stared to slowly extract the 2065: protos for each .c file into its own .h file. This will allow me to 2066: change prototype for a single function without having to recompile the 2067: whole lot. 2068: 2069: o Added general "Re:" - awareness functions. isre() returns TRUE if the 2070: input string starts with a re-thing and findre() returns the position 2071: of the first instance of re in the input string, or NULL if there is 2072: none. 2073: 2074: It knows and recognizes "Re:", "Fw:" and "Re[<number>]:" strings. If we 2075: ever intend to support local variations of this, I've now made that 2076: easier... 2077: 2078: o The new getname() had problems with parens in the real name part when 2079: quoted. As in 2080: From: "Windle, Alan M. (PA62)" <test@site.com> 2081: It shouldn't be a problem now. It should also work with from-lines like: 2082: From: ("Windle, Alan M. (PA62)") test@site.com 2083: 2084: There might be an idea to simply ignore everything within that level of 2085: parentheses. I mean, not add that text to the name. 2086: 2087: o The sorted datelist was broken because I must've destroyed unre() when I 2088: turned it dynamic. I improved printsubjects() to deal with pointers and 2089: it now strcpy()s a lot less data. 2090: 2091: Did the same change to the printauthors() too. 2092: 2093: o increment and readone are now separate options. Read stdin or use mailbox 2094: are mutually exclusive but don't modify increment or readone. The 2095: previous system was very confusing and didn't allow e.g updating an 2096: archive with two mails passed on stdin! 2097: 2098: I've now tried to update an existing archive with 3 mails passed on stdin 2099: and it seemed to work. Works if read from a mailbox too. Even works with 2100: the new -1 flag (to indicate there's one mail only). It has an 2101: accompanying config file keyword named 'readone'. I think the new -v flag 2102: is really great for this, cause it shows all built-in variables and kind 2103: of automatically documents them! 2104: 2105: o Ok, I wasn't aware the config file did assume quotes around the strings. 2106: I've added support for that (too) now. Distributed this small change 2107: to Kent, Tom and John as a patch for 2b8. 2108: 2109: 2.0b8 2110: ===== 2111: 2112: Daniel 2113: 2114: (Nov 24, 1998) 2115: o So, just before I was gonna announce the b7 to the guys I got another 2116: report from John Petrakis that pointed out two bugs. One bad free() which 2117: he identified and one From:-line that b7 couldn't get name and email from 2118: properly. I got really tired and rewrote the whole getname() function to 2119: work with all the combinations mentioned in the source, and more. I think 2120: this function also has another benefit: it is easier to read than the old 2121: one. 2122: 2123: o I found some other bugs with my new setup system which caused the 2124: hm_htmlbody = NONE to not work. I am actually against that a line that 2125: says NONE sets it to the default. NONE should be NONE, if the keyword 2126: isn't used at all it should use the default. Well well, one thing at a 2127: time I guess. 2128: 2129: 2130: 2.0b7 2131: ===== 2132: 2133: Daniel (getting deeper and deeper into this now ;-) 2134: 2135: o Entirely new config file parser. Does make adding new config items a 2136: lot easier and smoother. Run hypermail -v to make it output a fully 2137: working config file (after reading the given input parameters). 2138: 2139: There is no need for the "hm_" prefix on keywords in the config file. You 2140: can still use it if you want, but you don't have to. 2141: 2142: Internally, all configurable variables are now named 'set_XXXXX' to better 2143: make it visible in the code. 2144: 2145: o readoldheaders() is a lot more robust now. The order of the variables are 2146: not set and empty files no longer cause it to dump core. 2147: 2148: o Hypermail from now on only stores the variables inside HTML files that 2149: are actually set. name="" is not needed to store. 2150: 2151: 2.0b6 2152: ===== 2153: 2154: Daniel continues: 2155: 2156: o parseemail() and ConvURLs() needed to deal with NULLs better. 2157: 2158: o loadoldheaders() are no longer dependent on the order of the variables 2159: in previously written HTML files. 2160: 2161: o Mails with no subject confused the parser.c 2162: 2163: o Tom von Alten <Tom_vonAlten@boi.hp.com> sent me two files he appearantly 2164: got from Kent after the b4 he sent me. (date.c and msg2archive.c) 2165: 2166: o All kinds of lists like hm_show_headers, hm_inline_types and 2167: hm_ignore_types now offer the below mentioned wildcards. 2168: 2169: o Added dmatch.c for dos-style * and ? wildcard matching. 2170: 2171: o Cleaning up more memory leaks. 2172: 2173: 2.0b5 as sent to John Petrakis 19 Nov 1998 2174: ========================================== 2175: 2176: Daniel: 2177: 2178: o Added 'maketgz' to the archive. It is for creating release archives, 2179: without having to remove a lot of files first. 2180: * first asks for the version number of choice 2181: * uses the file FILES to know what files to include. 2182: * updates the patchlevel.h file to the entered version number 2183: * creates the archive with a directory based on the entered version number 2184: * names the archive based on the entered version number 2185: 2186: o Added a whole bunch of more free() calls. 2187: 2188: o Inlined HTML that was base64 or uuencoded were not previously dealt with 2189: properly. 2190: 2191: o Mails with no Message-Id: caused a crash in the hash function. 2192: 2193: o HM_INLINEHTML can now be set to 0 to prevent hypermail from inlining 2194: mail parts in HTML. 2195: 2196: 2.0b4 as sent to Tom von Alten Nov 19, 1998. 2197: ============================================ 2198: 2199: Daniel: 2200: 2201: o Dynamic strings all over. I added a generic dynamic-string system which 2202: I think works pretty good. Using functions and macros it should also be 2203: pretty easy to extend, modify and optimize without any other source 2204: modifications. 2205: 2206: I had to modify stuff all over the place and pretty much too. I hope I've 2207: removed at least the worst uses of static buffers and my initial tests 2208: prove me right. No lenght limits of any fields of a mail is my goal, and 2209: I think it is a fair goal. 2210: 2211: Beware of leaking memory now though. We need to setup some debug-system 2212: to track them easily. 2213: 2214: The dynamic string routines could very well be optimized too. 2215: 2216: o My dsprintf system was added. This system offers snprintf() - sprintf with 2217: a buffer length parameter and aprintf() - returns an allocated string with 2218: the text. I did this to better deal with fully dynamic buffers. 2219: 2220: o Corrected the swedish texts. All 8bit letters were gone! 2221: 2222: o (Nov 16) I recevied the 981013-b4 version. Started work. 2223: 2224: 2.0b4 2225: ==================== 2226: 2227: Kent: 2228: 2229: o Date routine corrections. 2230: 2231: - Y2K capable. Hypermail used a two digit representation 2232: for the year through out. It now uses a 4 digit representation. 2233: 2234: - In hypermail.h, October was listed in monthdays as only having 2235: 30 days. 2236: 2237: - hypermail did not deal with all the major date string formats. 2238: Date: formats starting with a digit (09 Sep 1998 01:27:30 +0300) 2239: would cause parsing and threading problems. It now supports 2240: that format. 2241: 2242: - Added code to deal correctly with two digit years. 2243: The idea as to how to approach this and the basis for 2244: the solution is thanks to Byron Darrah. 2245: 2246: - Corrected an off by one day error in getyearsecs(). It was 2247: adding the current day && adding the hours, minutes, and seconds 2248: for that day as well. It only needed to count all the days UP TO 2249: the current day and then add the hours, minutes, and seconds for 2250: the current day. 2251: 2252: - Incorrect data type passed to fprint_summary(), needed to be 2253: long instead of int. 2254: 2255: - Corrected an off by one day in getdatestr(). Days in a month 2256: start at 1, not 0. 2257: 2258: 2259: o Add the ability to save hypermail generated html files with any 2260: configurable html suffix such as ".htm", ".html" or ".shtml", etc. 2261: This works for the index files as well as the message files. (New 2262: .hmrc variable, hm_htmlsuffix, new environment variable HM_HTMLSUFFIX, 2263: and HTMLSUFFIX define in options.h.) 2264: 2265: o Removed a conditional "if (use_mbox) increment = 0;" that was 2266: preventing the ability to read one message from a file and update 2267: an existing archive and its indexes. 2268: 2269: o Corrected parseurl to allow for a ',' (comma) character to be embedded 2270: in the URL. 2271: 2272: o Corrected parseurl to allow for a '&' (ampersand) character to be embedded 2273: in the URL. 2274: 2275: o Using -p with -iu on a new archive directory caused a core dump 2276: begause 'bignum' was zero. Corrected to assure bignum > 0. 2277: 2278: o Added language abilities to hypermail. 2279: English - en 2280: Spanish - es 2281: German - de 2282: Swedish - se 2283: initially supported. (lang.c and lang.h added.) 2284: 2285: Thanks to Francisco Iacobelli <fiacobelli@ibersis.cl> for the 2286: "es" message table translation. 2287: 2288: Thanks to Martin Schulze <joey@kuolema.Infodrom.North.DE> for the 2289: "de" message table translation. 2290: 2291: Thanks to Daniel Stenberg <Daniel.Stenberg@sth.frontec.se> for the 2292: "se" message table translation. 2293: 2294: o Changed how error messages are displayed so options message 2295: only displayed where appropriate instead of for every message. 2296: 2297: o Corrected getname() to parse yet another funky name format. 2298: 2299: o Corrected printing error when a invalid domain was encountered in 2300: an email address. 2301: 2302: o Converted some static internal buffers to dynamically allocated ones 2303: at startup saving 6+K. Also resulted in setstrval() not being needed 2304: so it was removed. 2305: 2306: o Corrected MIME parsing problem with previously parsed headers. 2307: 2308: o Corrected default labeling problem with stdin generated archives 2309: when no label is supplied. 2310: 2311: o Fixed hypermail so it would not crash if started with no arguments 2312: and an article on stdin. 2313: 2314: o Added locking to the archive so that there is less chance of corruption 2315: of the archive due to multiple copies of hypermail trying to update 2316: the same archive at the same time with multiple messages. This could 2317: be improved so as to check for pid of process that owns it... 2318: 2319: o Extended the configure support. 2320: 2321: o Extended the use of hm_progress so that more information about 2322: attachment files can be displayed. 2323: 2324: o Updated documentation to reflect changes 2325: 2326: o Corrected getname to deal with names that are all spaces. 2327: 2328: o Corrected configuration variable setting. Moved checks to the 2329: right place in the code. 2330: 2331: o Hypermail now supports listproc mailboxes as well as general Unix 2332: formated mailboxes. It does not require that a blank line exists 2333: between mail messsages in a mailbox. Thanks to Craig A Summerhill 2334: <craig@cni.org> for the push and the test data. 2335: 2336: 2.0b3 - 8/15/98 2337: ================= 2338: 2339: o Added validation of domains so that the generation of mailto: is 2340: much more accurate than the previous method. 2341: 2342: o Added support for Content-Disposition MIME Header so as to get the 2343: filename from the header. 2344: 2345: o Added verification of filenames to assure they are safe to use and 2346: will not cause filesystem problems 2347: 2348: o Fixed a problem with parsing the ending MIME boundary (it expended headers 2349: following that) 2350: 2351: o Found and removed a one-byte buffer overflow in the line continuation code. 2352: 2353: o Corrected docs/hypermail.1 and TODO to reflect the proper RFC 822 2354: parsing was actually included in version 2.0b1 2355: 2356: o Corrected a typo in string.c that prevented the proper generation 2357: of mailto: links for email names with numbers [0-9] in them. 2358: 2359: o Corrected the base64 decoder error which caused files to get an 2360: extra zero-byte appended at times. (When storing attachments to disk.) 2361: 2362: o Added additional ported systems to the README 2363: 2364: o Removed the "#ifndef" from the defines in options.h. We do not want to 2365: inherit any define values from other places. If there are confilcts 2366: then I need to correct them. Inheriting defines can lead to unforeseen 2367: results. 2368: 2369: o attachments: 2370: - comments are now generated in the output mail for each attachment 2371: that is written in a separate file. The comment looks like: 2372: '<!-- attachment="filename" -->' in the standard comment style. 2373: 2374: o buffers and overflows 2375: - mdecodeRFC2047() now has an output buffer size argument 2376: - had to remove the use of rmcr() at two places, since that function uses 2377: a very strict static buffer limiting the maximum line length pretty bad. 2378: - parseurl() now features an output buffer size argument 2379: - parseemail() now features an output buffer size argument 2380: 2381: o multipart/alternative 2382: - added awareness and parser "intelligence" to pick the last prefered 2383: content-type within a series of alternatives (as MIME tells us to 2384: do). This has not yet been very thoroughly tested. 2385: - added the preferedcontent() function that returns wether a content-type 2386: is prefered or not (as set with hm_prefered_types). Default prefered 2387: type is 'text/plain' (if hm_prefered_types is unused). 2388: 2389: o output 2390: - added the experiment function printhtml(). It strips off unwanted html 2391: tags from the output, even if they are used in attached HTML files. I.e 2392: <HTML> and </HTML>. 2393: - made 'showheaders' not use <BR> or newlines since the BRs are ignored 2394: anyway, and the newlines are already present in each header line. 2395: - added 'hm_show_headers' which is a list of what headers to include when 2396: the 'showheaders' option is used. For now, it also controls which 2397: headers to show when attached mails are shown. Although I can imagine 2398: that you'd like separate lists (since for attached mails, you'd like i.e 2399: subject which you may not need for the main mail itself). If 2400: 'hm_show_headers' isn't used, all headers will be shown. 2401: - made the <PRE> system in the printbody() function a little smarter, and 2402: now it prevents multiple </PRE> and <P> tags better. It did however 2403: introduce another side effect (although a less serious one imho) and 2404: that is an extra pair of <PRE></PRE> after the last attachment when 2405: using 'showhtml'. 2406: 2407: o parsing 2408: - made the multi-line merger function to make all lines get a regular 2409: white space between them when they're put together. Previously, this 2410: character was left as-is, which could be a space or a tab (or any other 2411: isspace()) letter. 2412: - check changed to check for "<!-- received" as the start of parsing 2413: previous html files in the event that the archive maintainer whishes 2414: to add comments in the header template HTML files. 2415: - in_list() now checks for list items case insensitive 2416: - corrected so Message-ID:, References and Supersedes: lines are not 2417: converted into mailto: URLs. 2418: - corrected off-by-one in isquote that was causing array boundary read 2419: errors. 2420: - corrected off-by-one in printbody line output that was causing array 2421: boundary read errors. 2422: 2423: Real thanks are in order for Daniel Stenberg and David D. Kilzer. They helped 2424: greatly with making this release possible by sending in enhancements, comments 2425: and bug fixes. Thanks Guys! 2426: 2427: 2.0b2 - 6/07/98 2428: ================= 2429: 2430: o Corrected command line processing for individual messages received 2431: on standard input. 2432: 2433: o Corrected formating of Next message links when incremental updating 2434: is done. 2435: 2436: o Corrected the template filenames in docs/hmrc.html. Added "file" 2437: to them. 2438: 2439: o Added additional systems to the list of ported systems. 2440: 2441: o Reset certain options back to the proper defaults. 2442: 2443: o Corrected problem in printbody in regards to printing HTML embedded 2444: in a message. Still work to do here. 2445: 2446: o Changed address options to assure I didn't get landfield.com 2447: information inadvertantly set in hundreds of archives because 2448: the admins just took the defaults. ;) 2449: 2450: 2.0b1 6/05/98 - Kent Landfield 2451: =============================== 2452: 2453: WARNING: There have been too many changes to this version to list them 2454: all here. What appears below are some of the highlights. 2455: 2456: o Command line settings override what is in the config file. In the 2457: past the command line variables were read and set before the config 2458: file was read. (Needed to get the name of the config file from the 2459: command line.) This made it hard to have a default list configuration 2460: file and make single runs with only one variable changed. Now processing 2461: sets the hypermail internal options by: 2462: 2463: Using Compiled in defaults specified in options.h, 2464: then reads Hypermail Environment variables if set, 2465: then looks for and reads any Configuration file specified 2466: and finally uses the Command line settings specified by the user. 2467: 2468: NOTE: THIS IS DIFFERENT THAN PAST HYPERMAIL USAGE. 2469: 2470: o Configurable Setting (.hmrc file) or Compile Time Variable to 2471: Domain-ize Addresses -- addresses appearing in the RFC822 field 2472: which lack hostname can't be made into proper HREFs when Hypermail 2473: does it's thing. They are coded with: mailto:(no%20email) 2474: 2475: Because the MTA resides on the same host as the list, it is 2476: often not require to domain-ize these addresses for delivery. 2477: In such cases, I think it would nice if Hypermail could be 2478: programmed to output: mailto:kent@landfield.com instead. 2479: This would probably work well as a *required* definition 2480: during compilation; however, it should not simply rely on 2481: the output from `hostname` in case you want to override with 2482: an MX entry or alternate domain (if you run virtual domains) 2483: 2484: o Added capability to have customizable index html headers, message 2485: html headers and html footers. Able to use substitution cookies in 2486: the header and footer template files. 2487: 2488: Substitution cookies supported: 2489: 2490: %% - '%' character 2491: %~ - storage directory 2492: %e - email addr of message author - Not valid on index pages 2493: %h - HMURL 2494: %i - Message-id - Not valid on index pages 2495: %l - archive label 2496: %m - Mailto address 2497: %p - PROGNAME 2498: %s - Subject of message or Index Title 2499: %v - VERSION 2500: %u - Expanded version link (HMURL,PROGNAME,VERSION) 2501: \n - newline character 2502: \t - tab character 2503: 2504: Additional cookies generate the complete META lines: 2505: 2506: %A - Author META HTML - Not valid on index pages 2507: <META NAME="Author" CONTENT="name (email)"> 2508: %B - <BODY> html statement 2509: %S - Subject META TAG - Not valid on index pages 2510: <META NAME="Subject" CONTENT="subject"> 2511: 2512: o Generates META tags in articles Author and Subject. 2513: 2514: o Now uses "configure" to generate the makefiles. This is rather 2515: weak at present and needs to be added to/tested on other systems 2516: but at least it's a start. 2517: 2518: o The config.h was renamed to options.h to support configure usage. 2519: 2520: o patchlevel.h added to facilitate better patches in the future. Still 2521: need to fully integrate it's useage in version displays. 2522: 2523: o Added example .rc files to show how to customize list's and their 2524: looks. 2525: 2526: o Removed the _print.c files that had existed in the 103b2 release and 2527: replaced them with template headers/footer files. 2528: 2529: o Extended archive path creation to make missing directories. 2530: 2531: o Added capabilities dir pathing to allow archive creation by date 2532: variables. 2533: 2534: %d - two digit day of month (1-28/30/31) 2535: %D - three letter day of the week 2536: %m - two digit month of year (1-12) 2537: %M - three letter month of year (Jan, Feb, ..., Dec) 2538: %y - four digit year (1990,..2001) 2539: 2540: RC example: hm_dir = /some/archive/listname/%y/%M 2541: ENV example: HM_DIR=/some/archive/listname/%y/%M 2542: Command line example: -d /some/archive/listname/%y/%M 2543: 2544: Expands to: /some/archive/listname/1998/May 2545: 2546: All files would be archived during that run in that directory. 2547: Subsequent executions will put the messages in the directories 2548: according to the date the messages were received on the archive 2549: site. 2550: 2551: o All "mailto:" links can include the "subject" so that the Subject: 2552: line of netscape mailer is automatically filled in. 2553: 2554: o Fixed "Re:" and redundant "Re:" variation && MS FW... 2555: 2556: o Greatly enhanced getname() to correctly deal with most all email 2557: addresses. X.400 addresses are not well supported yet. 2558: 2559: o Corrected getreply() to better support the In-Reply-To: formats. The 2560: routine needs to revisited when a readline routine is inserted to 2561: properly deal with continuation lines. 2562: 2563: o Added additional documentation describing the Hypermail configuration 2564: file. 2565: 2566: o Added additional documentation describing how to customize HTML 2567: generated pages. 2568: 2569: o Corrected many petty problems such as: 2570: - recursive '%' substitution. A % in a subject line could cause 2571: an ugly recursion problem in a mail command expansion. 2572: - title length problem. Length of a title needs to be limited to 2573: less than 64 characters as indicated by HTML specs. 2574: - Weblinted the generated output and corrected various things. 2575: - Removed unused and unneeded variables 2576: 2577: o Change various storage length defines in hypermail.h 2578: 2579: Patches Contributed From: "Roy T. Fielding" <fielding@kiwi.ics.uci.edu> 2580: ------------------------------------------------------------------------ 2581: 2582: o Fixed the umask default, 2583: 2584: o Fixed default directory and file creation modes, 2585: 2586: o Fixed the many date problems, 2587: 2588: o Corrected one of the Message-ID bugs, 2589: 2590: o Removed annoying #start/#end fragments that mess up the browser history. 2591: 2592: Patches Contributed By: Byron Darrah <bdarr@sed.hac.com> 2593: ---------------------------------------------------------- 2594: 2595: o Added a menu bar for a header and footer on all pages and removed 2596: the bulleted list items that it replaces. 2597: 2598: o Reworked the general appearance of header and footer parts of html pages. 2599: 2600: o Added the "hm_hmail" configuration parameter and -n command line 2601: option for specifying an email address for input to a hypermail 2602: archive. 2603: 2604: o Added "New Message" and "Reply" buttons to the menu bar for submitting 2605: messages to a hypermail based list. 2606: 2607: Patches Contributed From: Jared Reisinger <feety@hhhh.org> 2608: --------------------------------------------------------- 2609: 2610: o Fixed configfile substring problem. 2611: 2612: o SHOWBR, IQUOTES, SHOWHR, EURODATE, SHOWREPLIES, and MAILCOMMAND 2613: now run-time configurable. 2614: 2615: o Fixed post leap-day error. 2616: 2617: o More robust Message-ID parsing. 2618: 2619: o Better SHOWHTML handling for indented lines. 2620: 2621: o Allow IQUOTES when not using SHOWHTML. 2622: 2623: Patches Contributed From: Daniel Stenberg <Daniel.Stenberg@sth.frontec.se> 2624: -------------------------------------------------------------------------- 2625: 2626: o I had all calls to the decodeRFC2047() function moved to *after* the 2627: merging of long lines. 2628: 2629: o decodeRFC2047() now correctly concatenates two succeeding "encoded words". 2630: I now call the function mdecodeRfc2047() since it now allocates the new 2631: string. 2632: 2633: o Now informs if the attachment wasn't properly decoded when stored to disk. 2634: This happens if the Content-Transfer-Encoding specified isn't known to 2635: the parser. When this happens, the attachment is stored as 8bit octet- 2636: stream. 2637: 2638: o Now supports the encoding type 'x-uue' for uudecoding. I think there are 2639: mailers that use different names for the same encoding type so we better 2640: watch out for them in the future... 2641: 2642: o Added the 'demimed' field to the body struct to keep track of 2643: header lines+ that have been RFC2047 converted already. 2644: 2645: o Kent Landfield sent me an interesting mail that showed me several weird 2646: bugs in the MIME area. 2647: A. The Quoted-Printable decoder bugged. A quick fix solved that. 2648: B. The quoted printable decoder didn't support unlimited size of the line 2649: the encoded text decodes into. I wrote a new function that seems to do 2650: it properly. 2651: C. Some important headers were not properly supported if they were split 2652: up on several lines. I had to rewrite the header parsing system to make 2653: this work. It now scans all headers and concatenate them into single 2654: lines before any function is trying to parse or decode them. 2655: D. It also showed a need for a uudecoder for the 'x-uue' encode type. This 2656: is only noted for the future as I haven't written any decoder for this 2657: format [yet]. 2658: 2659: o decodeRFC2047 replaces the former RFC1522 function. I made it support 2660: 'encoded-words' anywhere in the line and several different ones on the 2661: same line is now supported. The only flaw I'm still aware of now, is that 2662: if there are two encoded-words next to each other, the result should not 2663: show the spaces between them. My function unfortunately still does. 2664: 2665: o renamed decodeRFC1522 to decodeRFC2045. 2666: 2667: o decodeRFC1522 (quoted printable header decoding) didn't do well if the 2668: ending ?= sequence was in the middle of the line. I think this function 2669: will need more extensive testing. 2670: 2671: o Attached mails' headers (To:, From:, Date: and Subject:) are now shown 2672: in the html. 2673: 2674: o Attached mails that contains attachments did force me to add a stack system 2675: for the multipart boundary strings. Seems to work now. (Can't wait to see 2676: an attached mail that contains an attached mail that contains ... ) 2677: 2678: o strcpymax() introduced to prevent buffer overflows on extra-long headers 2679: 2680: o Lines starting with 'from ' messed up the parser pretty badly. It now 2681: checks for 'From ' lines (case sensitive) with an empty preceding line 2682: to split mails. 2683: 2684: o Now extracts attachments to separate binary files. 2685: 2686: o Supports multiple lined headers. 2687: 2688: o Supports quoted-printable and base64 encoded headers. 2689: 2690: o Supports base64 encoded text/plain 2691: 2692: o Rewrote the URL and email parsing to allow multiple URLs and email 2693: addresses on each line. 2694: 2695: o Extended the original functionality to much better deal with MIMEd 2696: mails and the standards from RFC 1521 and 1522. There are still flaws in 2697: compliance with those but the majority of all mails using mimed texts 2698: will be presented in a fairly decent fashion. 2699: 2700: Patches Contributed From: David D Kilzer <ddkilzer@ti.com> 2701: ----------------------------------------------------------- 2702: 2703: o Fixed problem with 'From: ' header lines in messages with the 2704: following format: "From: <email@address.com>" wherein the "name" 2705: from the previous email message would be used instead of reverting 2706: to the address itself. 2707: 2708: o URLs can now include ampersands (&) if they are preceded by question 2709: marks (?) in the URL string. 2710: 2711: o Email messages with no Subject line no longer grab the previous 2712: email's subject. 2713: 2714: o Reworked the order of output so that "message" links are always at 2715: the top of the page in article pages and date/thread/subject/author 2716: pages. 2717: 2718: o Now escape '%' in mail URLs. 2719: 2720: o Escape for '+' was wrong, changed to '%2B' (was '%22'). 2721: 2722: o Updated replace() function to recurse on 'afterstring' variable 2723: rather than the whole 'newstring'. More efficient and allows '%' 2724: escaping. 2725: 2726: o config.h: Added configuration option for SHOW_MESSAGE_LINKS which 2727: turns all message headers and footers off (except for the links to 2728: the date, subject, thread and author pages). SHOW_MESSAGE_LINKS 2729: overrides the setting of SHOWREPLIES. 2730: 2731: o print.c (writearticles): Removed use of currentemail, currentid, 2732: and currentsubject by forcing use of email2, msgid2, inreply2, 2733: subject2, and name2 when calling struct.c (hashreplylookup). This 2734: was needed after I rearranged the order in which articles were 2735: printed. 2736: 2737: o string.c (convurls): Added code in two locations for the 2738: Message-Id code segment to recurse on the remaining portion of the 2739: line being processed. Each Message-Id found forces a return from 2740: convurls() after a recursive call. This prevents infinite recursion 2741: (a Bad Thing generally speaking). Note: we assume that Message-Ids 2742: and URLs/email addresses do NOT appear in the same line. 2743: 2744: o string.c (convurls): Changed format string from "%.3d" to "%.4d". 2745: Fixed major bug in outputting links for Message-Ids. 2746: 2747: o string.c (convurls): Fixed assumption in code for identifying 2748: Message-Ids that there was only one Message-Id per line. We now 2749: stop gobbling up text used for a link with a space (' ') or a tab 2750: ('\t'). 2751: 2752: o string.c (convurls): Added int got_question_mark in URL processing 2753: code to permit an ampersand ('&') in a URL provided it comes after a 2754: question mark in the same URL (a GET method with POST data). Added 2755: one line of code and changed another to accomplish this. 2756: 2757: o string.c (convurls): Added code to check whether the next item to 2758: URL-ize is an email address (containing an at sign, '@'). If it is, 2759: we break out of the URL for loop and go process the email address. 2760: 2761: o parse.c (loadoldheaders): Modified initial fgets() call to skip any 2762: non-comment lines (i.e. "<html>" and "<head>"). 2763: 2764: o string.c (makemailcommand): Added code to escape percent signs 2765: ('%') when escaping spaces (' ') and plus signs ('+'). Percent 2766: signs must be escaped first since other escape sequences use the 2767: percent sign followed by a two-digit hexadecimal number. We're now 2768: a little more MIME-compliant. 2769: 2770: o string.c (replace): Changed the replace() function to recurse only 2771: on the 'afterstring' portion of the URL instead of the whole rebuilt 2772: URL. This is both more efficient and prevents infinite recursion 2773: problems when escaping percent signs ('%') with '%25'. 2774: 2775: o string.c (makemailcommand): Fixed escape sequence for plus signs 2776: ('+') from '%22' to '%2B'. 2777: 2778: LOTS of other small patches from lots of other helpful people. I hope to 2779: be able to more accurately list them in the final 2.0 version. 2780: 2781: 1.03b2 3/10/98 - Kent Landfield 2782: ================================= 2783: 2784: o Header corrections made, 2785: 2786: o all current memory leaks plugged, 2787: 2788: o variable initialization corrected, 2789: 2790: o expanded response message recognition, 2791: 2792: o fixed many threading related bugs. 2793: 2794: o Restructuring directory layout for ease of support and to 2795: make adding utilities easier. 2796: 2797: o Added additional archive utilities. 2798: 2799: 1.03b1 4/6/97 - Kent Landfield 2800: ================================ 2801: 2802: o Corrected memory leaks, 2803: 2804: o cleaned up HTML produced, 2805: 2806: o ran purify, lint and insight and cleaned up output. 2807: 2808: o Added the ability to customize header/footers via crude means 2809: but hey, it works. 2810: 2811: 1.02 8/1/94 - Kevin Hughes 2812: ============================ 2813: Fixed configfile problem, different usage() output, days[] space 2814: fix, NODATE, stripzone() fix, insig fix, SHOWBR, SHOWHR, IQUOTES, 2815: THRDLEVELS. 2816: 2817: 1.01 7/29/94 - Kevin Hughes 2818: ============================ 2819: Printfooter declaration, getdate() and timezone names changed 2820: to avoid library conflicts. Bad #define fixed (null) bug. 2821: 2822: 1.0 7/29/94 - Kevin Hughes 2823: ============================ 2824: Configuration file, logic fixes, better "re:" stripping, 2825: name tags, default index.html (HM_DEFAULTINDEX), default 2826: directory name can be mailbox name, mailto: fix, better dates, 2827: better error messages, numbered files are padded to four digits, 2828: headers are always in <pre>, next in thread, maybe in reply and 2829: maybe reply, MAILCOMMAND, EURODATE, commented source, chmods only 2830: new files, <html>, custom mail command variables. 2831: 2832: 1.0b3 7/14/94 - Kevin Hughes 2833: ============================ 2834: Environment variables added, ampersands are converted. 2835: 2836: 1.0b2 7/13/94 - Kevin Hughes 2837: ============================ 2838: Incremental updating added and various parsing bugs fixed. 2839: 2840: 1.0b1 7/6/94 - Kevin Hughes 2841: ============================ 2842: Hypermail rewritten in C. Because the source is so new and 2843: relatively untested, it's still considered to be in beta 2844: until feedback from users is received.