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