| 1 | 2015-03-03 Sam Varshavchik <mrsam@courier-mta.com> |
| 2 | |
| 3 | * Replace rfc822_parsedt with rfc822_parsedate_chk(), returning |
| 4 | 0 for ok, -1 for an error parsing the date string. |
| 5 | |
| 6 | 2015-02-28 Sam Varshavchik <mrsam@courier-mta.com> |
| 7 | |
| 8 | * Update to courier-unicode 1.2. |
| 9 | |
| 10 | 2013-02-20 Sam Varshavchik <mrsam@courier-mta.com> |
| 11 | |
| 12 | * rfc2047.c, rfc2047u.c: workaround for invalid utf-8 input making |
| 13 | libidn go off the rails. |
| 14 | |
| 15 | 2011-02-12 Sam Varshavchik <mrsam@courier-mta.com> |
| 16 | |
| 17 | * rfc2047.c (do_encode_words_method): Avoid splitting RFC 2047-encoded |
| 18 | works in a middle of a grapheme. |
| 19 | |
| 20 | 2011-02-10 Sam Varshavchik <mrsam@courier-mta.com> |
| 21 | |
| 22 | * rfc2047.c (rfc2047_encode_callback): Likely bug fixed. |
| 23 | (rfc2047_encode_str): Ignore invalid charset sequence when encoding |
| 24 | RFC-2047, too much code assumes that encoding always works. |
| 25 | |
| 26 | 2011-01-24 Sam Varshavchik <mrsam@courier-mta.com> |
| 27 | |
| 28 | * rfc822/rfc2047.c (rfc2047_encode_callback): Rewrite broken logic. |
| 29 | |
| 30 | 2011-01-22 Sam Varshavchik <mrsam@courier-mta.com> |
| 31 | |
| 32 | * rfc822/encodeautodetect.c (libmail_encode_autodetect): Remove obsolete |
| 33 | unicode API. Determine encoding with heuristics based entirely on |
| 34 | the content. Remove charset arg, replace with "use7bit", to force |
| 35 | qp or base64, instead of 8bit. Take a binaryflag param that gets set |
| 36 | to indicate whether base64 was selected based on binary content. |
| 37 | |
| 38 | * rfc2047.c (rfc2047_encode_str): Removed |
| 39 | rfc2047_encode_callback_base64, invoked from rfc2047_encode_str(). |
| 40 | Rewrite rfc2047_encode_str() to use the new unicode API. |
| 41 | |
| 42 | * rfc2047u.c: Unicode API updates. |
| 43 | |
| 44 | 2011-01-09 Sam Varshavchik <mrsam@courier-mta.com> |
| 45 | |
| 46 | * rfc822_parsedt.c: Eliminate the dependency on ctype, replaced |
| 47 | them with macros. |
| 48 | |
| 49 | 2011-01-08 Sam Varshavchik <mrsam@courier-mta.com> |
| 50 | |
| 51 | * rfc822hdr.c (rfc822hdr_namecmp): Factor out rfc822hdr_namecmp from |
| 52 | rfc822hdr_is_addr, and make it usable, generically. |
| 53 | |
| 54 | 2010-06-25 Sam Varshavchik <mrsam@courier-mta.com> |
| 55 | |
| 56 | * rfc822.c (rfc822_print_common_nameaddr): Prevent segfault if |
| 57 | address decode fails. |
| 58 | |
| 59 | 2009-11-22 Sam Varshavchik <mrsam@courier-mta.com> |
| 60 | |
| 61 | * rfc822.c: Removed rfc822_praddr(). |
| 62 | |
| 63 | * rfc822_getaddr.c (rfc822_getaddr): Implement rfc822_getaddr() by |
| 64 | calling rfc822_display_addr_tobuf(), instead of rfc822_praddr(). |
| 65 | |
| 66 | * testsuite.c (doaddr): Remove rfc822_addrlist() and rfc822_namelist(). |
| 67 | |
| 68 | 2009-11-21 Sam Varshavchik <mrsam@courier-mta.com> |
| 69 | |
| 70 | * rfc822_getaddr.c: Remove rfc822_prname() and rfc822_prname_orlist(), |
| 71 | replaced by rfc822_display_name() with a NULL character set. |
| 72 | |
| 73 | * rfc2047u.c (rfc822_display_name): Semantical change -- without |
| 74 | an explicit name, display the address as the name. If the requested |
| 75 | character set is NULL, do not decode RFC2047-encoded content, return |
| 76 | it as is. |
| 77 | |
| 78 | 2009-11-17 Sam Varshavchik <mrsam@courier-mta.com> |
| 79 | |
| 80 | * rfc2047u.c (rfc2047_print_unicodeaddr): Fix several formatting |
| 81 | issues with deprecated RFC 822 distribution lists: spurious comma |
| 82 | adter the last address, pass the space after the ':' as a separator |
| 83 | character. |
| 84 | |
| 85 | * rfc2047.c (counts2/save): Fix line-wrapping of encoded addresses. |
| 86 | |
| 87 | * rfc2047u.c (rfc822_display_addr_tobuf): New function. |
| 88 | |
| 89 | 2009-11-14 Sam Varshavchik <mrsam@courier-mta.com> |
| 90 | |
| 91 | * rfc822.c (rfc822_print_common): Rewrite. |
| 92 | |
| 93 | * rfc2047u.c (rfc822_display_name_int): Fixed various rules for |
| 94 | encoding names to be more MIME compliant. |
| 95 | (rfc822_display_addr_str): Renamed from rfc822_display_addr(), for a |
| 96 | consistent API. |
| 97 | (rfc822_display_addr): New function, decode the wire format of a single |
| 98 | address. Names are MIME decoded, addresses are IDN-decoded. |
| 99 | (rfc2047_print_unicodeaddr): Do not output a dummy name for an |
| 100 | address without one. |
| 101 | (rfc822_display_addr_str_tobuf): New function, version of |
| 102 | rfc822_display_addr_str() that collects the output into a buffer. |
| 103 | |
| 104 | * rfc2047.c (rfc822_encode_domain): New function -- IDN-encode a domain, |
| 105 | with an optional "user@". |
| 106 | (rfc2047_encode_header_addr): Renamed rfc2047_encode_header(), for a |
| 107 | consistent API. |
| 108 | (rfc2047_encode_header_tobuf): New function, encode a header from |
| 109 | displayed format to wire format. Names are encoded using RFC 2047, |
| 110 | addresses using IDN. |
| 111 | |
| 112 | 2009-11-08 Sam Varshavchik <mrsam@courier-mta.com> |
| 113 | |
| 114 | * rfc2047.h: Expose raw RFC 2047 decoding function, |
| 115 | rfc2047_decoder(). |
| 116 | |
| 117 | * rfc822hdr.c (rfc822hdr_is_addr): New function. |
| 118 | |
| 119 | * rfc822.c (tokenize): Tweak the logic for collecting RFC 2047 atoms. |
| 120 | |
| 121 | * rfc2047u.c (rfc822_display_name): New function, |
| 122 | replaces rfc2047_print(). |
| 123 | (rfc822_display_name_tobuf): New function, |
| 124 | replaces rfc2047_print(). |
| 125 | (rfc822_display_namelist): New function, |
| 126 | replaces rfc822_namelist(). |
| 127 | (rfc822_display_addr): New function, replaces rfc2047_print(). |
| 128 | (rfc2047_print_unicodeaddr): Renamed from rfc2047_print_unicode(). |
| 129 | (rfc822_display_hdrvalue): New function, replaces rfc2047_decode(), |
| 130 | rfc2047_decode_simple(), rfc2047_decode_enhanced(). |
| 131 | (rfc822_display_hdrvalue_tobuf): New function, ditto. |
| 132 | |
| 133 | * rfc2047.c: Removed rfc2047_decode(), rfc2047_decode_simple(), |
| 134 | rfc2047_decode_enhanced(), rfc2047_print(). |
| 135 | |
| 136 | * Makefile.am: Link against GNU IDN library. |
| 137 | |
| 138 | 2008-11-30 Sam Varshavchik <mrsam@courier-mta.com> |
| 139 | |
| 140 | * imaprefs.c (dorefcreate): Clean up usage of rfc822_threadsearchmsg(). |
| 141 | A malloc() failure wasn't checked correctly. |
| 142 | |
| 143 | 2008-06-13 Mr. Sam <mrsam@courier-mta.com> |
| 144 | |
| 145 | * rfc822_getaddr.c: Backslashed special characters in address names |
| 146 | weren't being dequoted correctly by rfc822_getname() and |
| 147 | rfc822_getname_orlist(). |
| 148 | |
| 149 | 2007-02-25 Mr. Sam <mrsam@courier-mta.com> |
| 150 | |
| 151 | * rfc822.c (parseaddr): rfc822a_alloc() would corrupt and misparse |
| 152 | RFC2047-encoded atoms. |
| 153 | |
| 154 | 2006-01-21 Mr. Sam <mrsam@courier-mta.com> |
| 155 | |
| 156 | * rfc2047.c (encodebase64): Fix compiler warning. |
| 157 | |
| 158 | * rfc822.c (parseaddr): Ditto. |
| 159 | |
| 160 | 2005-11-15 Mr. Sam <mrsam@courier-mta.com> |
| 161 | |
| 162 | * encode.c (quoted_printable): encode spaces that precede a newline. |
| 163 | |
| 164 | 2004-08-29 Mr. Sam <mrsam@courier-mta.com> |
| 165 | |
| 166 | * imapsubj.c (rfc822_coresubj_keepblobs): New function to strip |
| 167 | non-core subject appendages, but keep [blobs]. |
| 168 | |
| 169 | 2004-05-29 Mr. Sam <mrsam@courier-mta.com> |
| 170 | |
| 171 | * rfc2047.c (rfc2047_encode_callback): Use base64 to MIME-encode |
| 172 | instead of quoted-printable, where it's more efficient to do so. |
| 173 | |
| 174 | 2004-04-14 Mr. Sam <mrsam@courier-mta.com> |
| 175 | |
| 176 | * rfc2047.c (rfc2047_encode_callback): Fix bug introduced in 0411. |
| 177 | |
| 178 | 2004-04-11 Mr. Sam <mrsam@courier-mta.com> |
| 179 | |
| 180 | * rfc2047.c (a_rfc2047_encode_str): Improve compliance with RFC 2047 |
| 181 | for MIME-encoded recipient lists. |
| 182 | (rfc2047_encode_callback): New argument: qp_allow - function that |
| 183 | indicates acceptable characters in QP-encoded words. |
| 184 | (rfc2047_encode_str): Ditto. |
| 185 | (rfc2047_qp_allow_any, rfc2047_qp_allow_comment) |
| 186 | (rfc2047_qp_allow_word): Possible arguments to qp_allow for various |
| 187 | situations. |
| 188 | |
| 189 | 2004-04-09 Mr. Sam <mrsam@courier-mta.com> |
| 190 | |
| 191 | * encode.c: Moved rfc2045/rfc2045encode.c here, renamed all functions |
| 192 | to use the libmail_ prefix. |
| 193 | |
| 194 | 2003-11-18 Tim Rice <tim@multitalents.net> |
| 195 | |
| 196 | * configure.in: Fix MSG_WARN. |
| 197 | |
| 198 | 2003-10-20 Mr. Sam <mrsam@courier-mta.com> |
| 199 | |
| 200 | * rfc2047u.c (rfc2047_print_unicode): Unicode-aware version of |
| 201 | rfc2047_print(). |
| 202 | |
| 203 | 2003-07-08 Mr. Sam <mrsam@courier-mta.com> |
| 204 | |
| 205 | * imaprefs.c (rfc822_threadmsgrefs): New rfc822_threadmsgrefs takes |
| 206 | an array of References: headers, instead of a single References: |
| 207 | string. |
| 208 | |
| 209 | 2003-03-20 Mr. Sam <mrsam@courier-mta.com> |
| 210 | |
| 211 | * rfc2047.c (rfc2047_encode_callback): Fix MIME encoding of "_". |
| 212 | |
| 213 | 2002-12-23 Mr. Sam <mrsam@courier-mta.com> |
| 214 | |
| 215 | * rfc2047.c (rfc2047_encode_callback): Fix loop on broken |
| 216 | locales where isspace(U+0x00A0) is true. |
| 217 | |
| 218 | 2002-09-19 Mr. Sam <mrsam@courier-mta.com> |
| 219 | |
| 220 | * RFC 2231 support. |
| 221 | |
| 222 | 2002-08-08 Mr. Sam <mrsam@courier-mta.com> |
| 223 | |
| 224 | * rfc2047.c (rfc2047_encode_callback): Fix MIME encoding of words |
| 225 | with = and ? characters. |
| 226 | |
| 227 | 2002-05-20 Mr. Sam <mrsam@courier-mta.com> |
| 228 | |
| 229 | * rfc822_parsedt.c (rfc822_parsedt): Ignore obviously invalid years |
| 230 | (someone else can worry about Y10K). |
| 231 | |
| 232 | 2002-04-07 Mr. Sam <mrsam@courier-mta.com> |
| 233 | |
| 234 | * rfc822_mkdate.c (rfc822_mkdate_buf): Explicit (int) cast gets |
| 235 | the file compiled under Cygwin. |
| 236 | |
| 237 | 2002-03-09 Mr. Sam <mrsam@courier-mta.com> |
| 238 | |
| 239 | * rfc2047.c (rfc2047_encode_callback): Fix MIME-encoding of spaces. |
| 240 | |
| 241 | 2002-03-04 Mr. Sam <mrsam@courier-mta.com> |
| 242 | |
| 243 | * rfc822.c (rfc822_prname_orlist): Dequote quoted-strings. |
| 244 | |
| 245 | 2001-06-27 Mr. Sam <mrsam@courier-mta.com> |
| 246 | |
| 247 | * rfc2047.c (a_rfc2047_encode_str): Fix incorrect MIME encoding of |
| 248 | address name in old-style RFC-822 format. |
| 249 | |
| 250 | 2001-04-17 Mr. Sam <mrsam@courier-mta.com> |
| 251 | |
| 252 | * rfc822.c (rfc822t_alloc): Explicitly cast arg to (void *). |
| 253 | |
| 254 | 2000-12-22 Mr. Sam <mrsam@courier-mta.com> |
| 255 | |
| 256 | * reftest.c: Fix dependency on qsort sorting order of identical keys. |
| 257 | |
| 258 | 2000-12-11 Mr. Sam <mrsam@courier-mta.com> |
| 259 | |
| 260 | * imapsubj.c (stripsubj): Recode subject stripping. |
| 261 | |
| 262 | 2000-11-18 Mr. Sam <mrsam@gwl.email-scan.com> |
| 263 | |
| 264 | * imaprefs.c: Update to draft-05.txt-bis (sort top level siblings |
| 265 | by date. |
| 266 | |
| 267 | Mon Apr 5 00:58:37 EDT 1999 |
| 268 | |
| 269 | * Yes, I've decided to start a Change Log. librfc822 now has a life of its |
| 270 | own, so it might as well have it. |
| 271 | |
| 272 | * Courier needs tokens in a link list, not an array. Rewrote most token |
| 273 | handling code. |
| 274 | |
| 275 | * Fixed some issues with handling of () comments. |
| 276 | |
| 277 | * Changed *pr* functions to pass along a caller-provided void, also for |
| 278 | courier. librfc822 should now be threadable (like, who cares...) |
| 279 | |
| 280 | * Added a testsuite |