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