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