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