rev |
line source |
yuuji@0
|
1 /* ========================================================================
|
yuuji@0
|
2 * Copyright 1988-2008 University of Washington
|
yuuji@0
|
3 *
|
yuuji@0
|
4 * Licensed under the Apache License, Version 2.0 (the "License");
|
yuuji@0
|
5 * you may not use this file except in compliance with the License.
|
yuuji@0
|
6 * You may obtain a copy of the License at
|
yuuji@0
|
7 *
|
yuuji@0
|
8 * http://www.apache.org/licenses/LICENSE-2.0
|
yuuji@0
|
9 *
|
yuuji@0
|
10 *
|
yuuji@0
|
11 * ========================================================================
|
yuuji@0
|
12 */
|
yuuji@0
|
13
|
yuuji@0
|
14 Updated: 16 December 2008
|
yuuji@0
|
15
|
yuuji@0
|
16 imap-2007e is a maintenance release, consisting primarily of bugfixes to
|
yuuji@0
|
17 problems discovered in the release that affected a small number of users
|
yuuji@0
|
18 plus a security fix for users of the RFC822BUFFER routines.
|
yuuji@0
|
19
|
yuuji@0
|
20
|
yuuji@0
|
21 Updated: 29 October 2008
|
yuuji@0
|
22
|
yuuji@0
|
23 imap-2007d is a maintenance release, consisting primarily of bugfixes to
|
yuuji@0
|
24 problems discovered in the release that affected a small number of users
|
yuuji@0
|
25 plus a security fix for users of tmail or dmail.
|
yuuji@0
|
26
|
yuuji@0
|
27
|
yuuji@0
|
28 Updated: 25 March 2008
|
yuuji@0
|
29
|
yuuji@0
|
30 imap-2007b is a maintenance release, consisting primarily of bugfixes to
|
yuuji@0
|
31 problems discovered in the release that affected a small number of users.
|
yuuji@0
|
32
|
yuuji@0
|
33
|
yuuji@0
|
34 Updated: 2 January 2008
|
yuuji@0
|
35
|
yuuji@0
|
36 imap-2007a is a maintenance release, consisting primarily of bugfixes to
|
yuuji@0
|
37 problems discovered in the release that affected a small number of users.
|
yuuji@0
|
38
|
yuuji@0
|
39
|
yuuji@0
|
40 Updated: 20 December 2007
|
yuuji@0
|
41
|
yuuji@0
|
42 imap-2007 is a release corresponding with the release of Alpine 1.0.
|
yuuji@0
|
43 The primary focus of the imap-2007 release is bugfixes and reliability
|
yuuji@0
|
44 improvements. This includes:
|
yuuji@0
|
45 . fixes to problems discovered between the Alpine 0.99999 pre-release
|
yuuji@0
|
46 and Alpine 1.0
|
yuuji@0
|
47 . fixes to the mix driver to timing race problems uncovered by Timo
|
yuuji@0
|
48 Sirainen's imaptest suite. imap-2007 using the mix format is
|
yuuji@0
|
49 believed to pass imaptest completely.
|
yuuji@0
|
50
|
yuuji@0
|
51 A new function, utf8_csvalidmap(), has been added for the benefit of
|
yuuji@0
|
52 Alpine to use in examining UTF-8 text and determining efficiently
|
yuuji@0
|
53 whether it can be downgraded to a legacy charset. If you develop an
|
yuuji@0
|
54 MUA, this may be useful for you too, although you'll have to read the
|
yuuji@0
|
55 source code to see how to use it. The purpose of the "not-CJK" bit is
|
yuuji@0
|
56 to prevent messages being downgraded to a CJK charset if all they have
|
yuuji@0
|
57 in that charset are some special punctuation.
|
yuuji@0
|
58
|
yuuji@0
|
59
|
yuuji@0
|
60 Updated: 5 September 2007
|
yuuji@0
|
61
|
yuuji@0
|
62 imap-2006k is a maintenance release, consisting primarily of bugfixes to
|
yuuji@0
|
63 problems discovered in the release that affected a small number of users.
|
yuuji@0
|
64
|
yuuji@0
|
65 The primary focus of this maintenance release is to correct deadlock
|
yuuji@0
|
66 issues. There were two major causes of the deadlocks:
|
yuuji@0
|
67 . a change in imap-2006i attempted to resolve a glibc mutex-based
|
yuuji@0
|
68 deadlock in imapd's signal handler, but ended up worsening the problem.
|
yuuji@0
|
69 . a bug in the mbx driver, introduced as part of the UIDPLUS work in 2006,
|
yuuji@0
|
70 applied an mbx-style lock briefly on a traditional UNIX format mailbox.
|
yuuji@0
|
71 If the traditional UNIX format mailbox was already locked by some other
|
yuuji@0
|
72 process, the result would be a deadlock of both processes.
|
yuuji@0
|
73
|
yuuji@0
|
74 imapd's signal handling logic is rewritten to avoid the mutex issue, and
|
yuuji@0
|
75 the mbx driver is fixed so that mbx-style locks are only applied to mbx
|
yuuji@0
|
76 format mailboxes.
|
yuuji@0
|
77
|
yuuji@0
|
78 imapd now supports the WITHIN extension.
|
yuuji@0
|
79
|
yuuji@0
|
80
|
yuuji@0
|
81 Updated: 14 June 2007
|
yuuji@0
|
82
|
yuuji@0
|
83 imap-2006j is a maintenance release, consisting primarily of bugfixes to
|
yuuji@0
|
84 problems discovered in the release that affected a small number of users.
|
yuuji@0
|
85
|
yuuji@0
|
86
|
yuuji@0
|
87 Updated: 5 June 2007
|
yuuji@0
|
88
|
yuuji@0
|
89 imap-2006i is a maintenance release, consisting primarily of bugfixes to
|
yuuji@0
|
90 problems discovered in the release that affected a small number of users.
|
yuuji@0
|
91
|
yuuji@0
|
92 imapd now supports the CHILDREN and ESEARCH extensions.
|
yuuji@0
|
93
|
yuuji@0
|
94 imapd's attempt to return COPYUID/APPENDUID information for a traditional
|
yuuji@0
|
95 UNIX (and MMDF) format mailbox when the mailbox is open by another process
|
yuuji@0
|
96 has been declared to be a failure and is now revoked. It was subject to a
|
yuuji@0
|
97 timing race, loss of which involved an expensive reset of the mailbox's UID
|
yuuji@0
|
98 regime. Any imapd COPY or APPEND to a traditional UNIX or MMDF format that
|
yuuji@0
|
99 is open by some other process will now no longer return COPYUID/APPEND.
|
yuuji@0
|
100 Although this is technically in violation of RFC 4315, there is a loophole
|
yuuji@0
|
101 in that document and the timing race/performance problem is worse.
|
yuuji@0
|
102
|
yuuji@0
|
103
|
yuuji@0
|
104 Updated: 4 April 2007
|
yuuji@0
|
105
|
yuuji@0
|
106 imap-2006h is a maintenance release, consisting primarily of bugfixes to
|
yuuji@0
|
107 problems discovered in the release that affected a small number of users.
|
yuuji@0
|
108
|
yuuji@0
|
109
|
yuuji@0
|
110 Updated: 30 March 2007
|
yuuji@0
|
111
|
yuuji@0
|
112 imap-2006g is a maintenance release, consisting primarily of bugfixes to
|
yuuji@0
|
113 problems discovered in the release that affected a small number of users.
|
yuuji@0
|
114
|
yuuji@0
|
115
|
yuuji@0
|
116 Updated: 30 January 2007
|
yuuji@0
|
117
|
yuuji@0
|
118 imap-2006f is a maintenance release, consisting primarily of bugfixes to
|
yuuji@0
|
119 problems discovered in the release that affected a small number of users.
|
yuuji@0
|
120
|
yuuji@0
|
121 For the benefit of multi-threaded applications, use of strtok() has been
|
yuuji@0
|
122 abolished in the c-client library. imapd and ipop3d stuff use it though.
|
yuuji@0
|
123 The TOPS-20 and VAX/VMS ports still use strtok() since they don't use UNIX
|
yuuji@0
|
124 threads.
|
yuuji@0
|
125
|
yuuji@0
|
126 This version has been test-built on Linux, Mac OS X, NeXT, Windows XP,
|
yuuji@0
|
127 TOPS-20, and VAX/VMS. This will probably be the last test-build on VAX/VMS
|
yuuji@0
|
128 since the system I use for that purpose is being shut down. I have no way
|
yuuji@0
|
129 to test-build on DOS, legacy Mac OS (OS 9 and earlier), OS/2, or Windows CE;
|
yuuji@0
|
130 and the builds on those systems are probably broken.
|
yuuji@0
|
131
|
yuuji@0
|
132
|
yuuji@0
|
133 Updated: 26 January 2007
|
yuuji@0
|
134
|
yuuji@0
|
135 imap-2006e is a maintenance release, consisting primarily of bugfixes to
|
yuuji@0
|
136 problems discovered in the release that affected a small number of users.
|
yuuji@0
|
137
|
yuuji@0
|
138
|
yuuji@0
|
139 Updated: 6 December 2006
|
yuuji@0
|
140
|
yuuji@0
|
141 imap-2006d is a maintenance release, consisting primarily of bugfixes to
|
yuuji@0
|
142 problems discovered in the release that affected a small number of users.
|
yuuji@0
|
143
|
yuuji@0
|
144 The decomposition mapping, title-case mapping, and character widths tables
|
yuuji@0
|
145 have been updated to comply with the Unicode 5.0 standard.
|
yuuji@0
|
146
|
yuuji@0
|
147 Prototypes for the utf8aux.c functions have been moved to a new utf8aux.h.
|
yuuji@0
|
148
|
yuuji@0
|
149 The general c-client modules now include c-client.h instead of the individual
|
yuuji@0
|
150 files. Use of c-client.h instead of individual include files insulates
|
yuuji@0
|
151 against future shuffling of include files.
|
yuuji@0
|
152
|
yuuji@0
|
153
|
yuuji@0
|
154 Updated: 23 October 2006
|
yuuji@0
|
155
|
yuuji@0
|
156 imap-2006c is a maintenance release, consisting primarily of bugfixes to
|
yuuji@0
|
157 problems discovered in the release that affected a small number of users.
|
yuuji@0
|
158
|
yuuji@0
|
159 By popular request, if a user has a mix (or other dual-use) format INBOX,
|
yuuji@0
|
160 it will no longer be listed as \NoInferiors. It's a bad idea to depend
|
yuuji@0
|
161 upon this due to the case ambiguity issue, but it's there.
|
yuuji@0
|
162
|
yuuji@0
|
163
|
yuuji@0
|
164 Updated: 26 September 2006
|
yuuji@0
|
165
|
yuuji@0
|
166 imap-2006b is a maintenance release, consisting entirely of bugfixes to
|
yuuji@0
|
167 problems discovered in the release that affected a small number of users.
|
yuuji@0
|
168
|
yuuji@0
|
169
|
yuuji@0
|
170 Updated: 15 September 2006
|
yuuji@0
|
171
|
yuuji@0
|
172 imap-2006a is a maintenance release, consisting entirely of bugfixes to
|
yuuji@0
|
173 problems discovered in the release that affected a small number of users.
|
yuuji@0
|
174
|
yuuji@0
|
175 If it is necessary to build IPv4-only on one of the ports that has IPv6
|
yuuji@0
|
176 preconfigured (ldb, lfd, lmd, lrh, lsu, osx, oxp), this can be done by
|
yuuji@0
|
177 using IP6=4. You can't do IP=4 in the build command directly since these
|
yuuji@0
|
178 ports set IP themselves; however, now instead of setting IP=6 they now set
|
yuuji@0
|
179 IP=$(IP6).
|
yuuji@0
|
180
|
yuuji@0
|
181
|
yuuji@0
|
182 Updated: 30 August 2006
|
yuuji@0
|
183
|
yuuji@0
|
184 imap-2006 is a major release. Programs written for imap-2004g should
|
yuuji@0
|
185 build with this version with minor or no modification. imap-2005 was not
|
yuuji@0
|
186 released except as development snapshots.
|
yuuji@0
|
187
|
yuuji@0
|
188 imap-2006 contains major extensions to its Unicode support. Searching and
|
yuuji@0
|
189 sorting are now done with strings canonicalized to titlecase and decomposed
|
yuuji@0
|
190 form. Among other things, this means that Latin letters with diacriticals
|
yuuji@0
|
191 will now sort with the basic Latin letter, and case-independent searching of
|
yuuji@0
|
192 such letters (e.g., German umlauts) now works. Previously, sorting was done
|
yuuji@0
|
193 strictly by Unicode codepoint, and case-independence only worked with ASCII.
|
yuuji@0
|
194
|
yuuji@0
|
195 imapd now supports the UIDPLUS extension for mailboxes in unix, mmdf, mbx, mx,
|
yuuji@0
|
196 and mix formats. UID EXPUNGE is fully implemented. Note that UIDPLUS is not
|
yuuji@0
|
197 supported in the little-used drivers (mh, mtx, tenex) in which meaningful
|
yuuji@0
|
198 APPENDUID/COPYUID data can not be returned. Refer to bugs.txt for more
|
yuuji@0
|
199 details.
|
yuuji@0
|
200
|
yuuji@0
|
201 The new mix format is a dual-use mailbox format designed for performance and
|
yuuji@0
|
202 reliability with large mailboxes. mix is documented in file mixfmt.txt.
|
yuuji@0
|
203
|
yuuji@0
|
204 SSL/TLS certificate validation on UNIX now checks the alternative names in the
|
yuuji@0
|
205 certificate if the CN does not match.
|
yuuji@0
|
206
|
yuuji@0
|
207 The new /tls-sslv23 flag in a mailbox name causes a TLS session to use the
|
yuuji@0
|
208 (incorrect) SSLv23 client method instead of the TLSv1 client method. Some
|
yuuji@0
|
209 broken servers use the SSLv23 server method, and this flag works around that
|
yuuji@0
|
210 problem. WARNING: use of this flag will cause TLS negotiation to fail with
|
yuuji@0
|
211 a server which uses the proper TLSv1 server method. Additionally, there are
|
yuuji@0
|
212 known security risks in SSLv2; so users should be suspicious if this switch
|
yuuji@0
|
213 suddenly becomes necesary.
|
yuuji@0
|
214
|
yuuji@0
|
215 The silly mailbox flag combination /ssl/tls is now rejected as an invalid
|
yuuji@0
|
216 remote specification. Previous versions tried to negotiate TLS over an SSL
|
yuuji@0
|
217 session; even if the server permitted such a thing it couldn't work.
|
yuuji@0
|
218
|
yuuji@0
|
219 The memory management of several drivers has been redesigned to consume less
|
yuuji@0
|
220 memory and hopefully be faster.
|
yuuji@0
|
221
|
yuuji@0
|
222 The private.data member of the MESSAGECACHE (elt) has been replaced with
|
yuuji@0
|
223 a union that contains private.spare.data and private.spare.ptr, the latter
|
yuuji@0
|
224 being a pointer.
|
yuuji@0
|
225
|
yuuji@0
|
226 A new FT_RETURNSTRINGSTRUCT flag has been added for mail_fetch_body() and
|
yuuji@0
|
227 mail_fetch_text() calls. If this flag is set, *and* if the function returns
|
yuuji@0
|
228 NIL, then the requested string data is available on a stringstruct on
|
yuuji@0
|
229 stream->private.string. This is a special hack for the IMAP and POP servers
|
yuuji@0
|
230 and is subject to incompatible change. The result is a major performance
|
yuuji@0
|
231 improvement in the servers with the mbx driver, particularly with large
|
yuuji@0
|
232 messages.
|
yuuji@0
|
233
|
yuuji@0
|
234
|
yuuji@0
|
235 Updated: 15 September 2005
|
yuuji@0
|
236
|
yuuji@0
|
237 imap-2004g is a maintenance release, and consists solely of a bugfix to
|
yuuji@0
|
238 quoted string handling in the mailbox name parsing routine.
|
yuuji@0
|
239
|
yuuji@0
|
240
|
yuuji@0
|
241 Updated: 15 August 2005
|
yuuji@0
|
242
|
yuuji@0
|
243 imap-2004f is a maintenance release, and consists solely of a bugfix to
|
yuuji@0
|
244 the TCP code.
|
yuuji@0
|
245
|
yuuji@0
|
246 Also included is a new version of the UNIX SSL/TLS routines that allows the
|
yuuji@0
|
247 SSL/TLS certificate validation client code to validate alternative names in
|
yuuji@0
|
248 server certificates. This code has not been thoroughly regression-tested but
|
yuuji@0
|
249 is believed to work. To use this new code instead of the old support:
|
yuuji@0
|
250 cd imap-2004f/src/osdep/unix
|
yuuji@0
|
251 mv ssl_unix.c ssl_unix.old
|
yuuji@0
|
252 mv ssl_unix.new ssl_unix.c
|
yuuji@0
|
253 Then rebuild.
|
yuuji@0
|
254
|
yuuji@0
|
255
|
yuuji@0
|
256 Updated: 21 June 2005
|
yuuji@0
|
257
|
yuuji@0
|
258 imap-2004e is a maintenance release, consisting entirely of bugfixes.
|
yuuji@0
|
259
|
yuuji@0
|
260 There are no user-visible functional enhancements in this version.
|
yuuji@0
|
261
|
yuuji@0
|
262
|
yuuji@0
|
263 Updated: 20 April 2005
|
yuuji@0
|
264
|
yuuji@0
|
265 imap-2004d is a maintenance release, released concurrently with Pine
|
yuuji@0
|
266 4.63, and consists primarily of bugfixes
|
yuuji@0
|
267
|
yuuji@0
|
268 There is now a workaround for RedHat breaking flock(). However, since
|
yuuji@0
|
269 RedHat has said that they don't support flock(), there is no guarantee
|
yuuji@0
|
270 that they won't break it in the future. So you may want to consider some
|
yuuji@0
|
271 other Linux distribution or BSD instead. See:
|
yuuji@0
|
272 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=123415
|
yuuji@0
|
273 for the gruesome details.
|
yuuji@0
|
274
|
yuuji@0
|
275 There are no user-visible functional enhancements in this version.
|
yuuji@0
|
276
|
yuuji@0
|
277
|
yuuji@0
|
278 Updated: 18 January 2005
|
yuuji@0
|
279
|
yuuji@0
|
280 imap-2004c is a maintenance release, released concurrently with Pine
|
yuuji@0
|
281 4.62, including fixes to quoted-printable encoding and CRAM-MD5
|
yuuji@0
|
282 authentication.
|
yuuji@0
|
283
|
yuuji@0
|
284 NNTP proxy in imapd now supports the LIST and LSUB commands.
|
yuuji@0
|
285
|
yuuji@0
|
286 There are no other user-visible functional enhancements in this version.
|
yuuji@0
|
287
|
yuuji@0
|
288
|
yuuji@0
|
289 Updated: 29 November 2004
|
yuuji@0
|
290
|
yuuji@0
|
291 imap-2004b is a maintenance release, consisting primarily of bugfixes.
|
yuuji@0
|
292 Programs written for imap-2004a will build with this version without
|
yuuji@0
|
293 modifification.
|
yuuji@0
|
294
|
yuuji@0
|
295 There are new ports for Solaris with Blastwave Community Open Source
|
yuuji@0
|
296 Software (gcs) and Mandrake Linux (lmd).
|
yuuji@0
|
297
|
yuuji@0
|
298 SET_SNARFINTERVAL now controls how frequently local drivers will move new
|
yuuji@0
|
299 mail from the mail spool as well as from a maildrop. Maildrops are still
|
yuuji@0
|
300 tied to a minimum interval of 1 minute, but there is now no minimum for the
|
yuuji@0
|
301 spool file.
|
yuuji@0
|
302
|
yuuji@0
|
303 Character set conversions now map non-breaking space to space if the
|
yuuji@0
|
304 destination character set doesn't have nbsp. JIS Roman yen sign is now
|
yuuji@0
|
305 mapped to Unicode yen sign.
|
yuuji@0
|
306
|
yuuji@0
|
307 There are no user-visible functional enhancements in this version.
|
yuuji@0
|
308
|
yuuji@0
|
309
|
yuuji@0
|
310 Updated: 8 July 2004
|
yuuji@0
|
311
|
yuuji@0
|
312 imap-2004a is a maintenance release, consisting primarily of critical
|
yuuji@0
|
313 bugfixes. Programs written for imap-2004 will build with this version
|
yuuji@0
|
314 without modification.
|
yuuji@0
|
315
|
yuuji@0
|
316 imapd now has a supported NNTP proxy capability. If the file /etc/imapd.nntp
|
yuuji@0
|
317 exists, the contents of that file are used as the host name of an NNTP
|
yuuji@0
|
318 server which will be used whenever a #news. name is used. For example, if
|
yuuji@0
|
319 /etc/imapd.nntp contains nntp.example.com, and the IMAP client SELECTs or
|
yuuji@0
|
320 EXAMINEs the name #news.comp.mail.imap, what will actually be opened in
|
yuuji@0
|
321 imapd is {nntp.example.com/nntp}comp.mail.imap
|
yuuji@0
|
322
|
yuuji@0
|
323 The OSF/1 port (Digital UNIX, Tru64) now uses flocksim instead of flcksafe.
|
yuuji@0
|
324 Some cretin decided to delete the winning flock() call and make flock() use
|
yuuji@0
|
325 the losing fcntl() call instead.
|
yuuji@0
|
326
|
yuuji@0
|
327 The unix[nt] and mmdf drivers now prevent mail_append() from writing Status:,
|
yuuji@0
|
328 X-Status:, X-UID, X-IMAP[base]:, and X-Keywords: header lines to a
|
yuuji@0
|
329 traditional UNIX or MMDF format mailbox. If any such lines are in the
|
yuuji@0
|
330 text supplied to mail_append(), they will be quoted by prefixing with
|
yuuji@0
|
331 "X-Original-" (e.g. Status: will become X-Original-Status:).
|
yuuji@0
|
332
|
yuuji@0
|
333 There are no user-visible functional enhancements in this version.
|
yuuji@0
|
334
|
yuuji@0
|
335
|
yuuji@0
|
336 Updated: 10 May 2004
|
yuuji@0
|
337
|
yuuji@0
|
338 imap-2004 is a major release. Programs written for imap-2002e should
|
yuuji@0
|
339 build with this version with minor modification. imap-2003 was not
|
yuuji@0
|
340 released except as development snapshots.
|
yuuji@0
|
341
|
yuuji@0
|
342 mailutil has three new commands: delete, rename, and prune.
|
yuuji@0
|
343
|
yuuji@0
|
344 IPv6 support now exists for UNIX and W2K. It is the default in W2K builds.
|
yuuji@0
|
345 On UNIX, add "IP=6" to the make command line. Windows IPv6 support is
|
yuuji@0
|
346 only for W2K builds.
|
yuuji@0
|
347
|
yuuji@0
|
348 The NNTP driver now supports NNTP SASL and TLS.
|
yuuji@0
|
349
|
yuuji@0
|
350 The ldb (Debian) and lrh (RedHat) ports now look for mlock on
|
yuuji@0
|
351 /usr/sbin/mlock instead of /etc/mlock.
|
yuuji@0
|
352
|
yuuji@0
|
353 imapd now supports the LITERAL+ and SASL-IR initial-response extensions.
|
yuuji@0
|
354
|
yuuji@0
|
355 The IMAP driver has some additional checks to reduce the amount of network
|
yuuji@0
|
356 traffic, including executing "silly searches" (searches of sequence numbers
|
yuuji@0
|
357 only) locally.
|
yuuji@0
|
358
|
yuuji@0
|
359 The IMAP, POP, SMTP, and NNTP drivers now have diagnostic code to provide
|
yuuji@0
|
360 better information about servers which violate SASL's empty challenge
|
yuuji@0
|
361 requirements (e.g. with the PLAIN mechanism).
|
yuuji@0
|
362
|
yuuji@0
|
363 There is a new mail_fetch_overview_sequence() function which is like
|
yuuji@0
|
364 mail_fetch_overview() but takes a sequence number string as an argument.
|
yuuji@0
|
365 There should have been a flags argument and FT_UID bit as in all the other
|
yuuji@0
|
366 mail_fetch_???() functions but compatibility with the past... :-(
|
yuuji@0
|
367
|
yuuji@0
|
368 The overview_t callback (from mail_fetch_overview()) now has a fourth
|
yuuji@0
|
369 argument which contains the message sequence number (as opposed to the UID
|
yuuji@0
|
370 which is in the second argument). It turned out that some applications were
|
yuuji@0
|
371 calling mail_msgno() (which can be moderately expensive) to get the sequence
|
yuuji@0
|
372 number, and c-client already knew it.
|
yuuji@0
|
373
|
yuuji@0
|
374 Many declarations which are completely internal to a driver have been removed
|
yuuji@0
|
375 from the driver .h file, and in those cases where there are no external
|
yuuji@0
|
376 declarations left the .h file has been eliminated entirely. As part of this,
|
yuuji@0
|
377 the mbox driver routines are now incorporated with the unix driver routines
|
yuuji@0
|
378 as opposed to being a separate file. The mbox driver still needs to be lunk
|
yuuji@0
|
379 in order to get the mbox functionality.
|
yuuji@0
|
380
|
yuuji@0
|
381
|
yuuji@0
|
382 Updated: 27 August 2003
|
yuuji@0
|
383
|
yuuji@0
|
384 imap-2002e is a minor release, released concurrently with Pine 4.58, and
|
yuuji@0
|
385 contains primarily bugfixes. Programs written for imap-2002d will build
|
yuuji@0
|
386 with this version without modification.
|
yuuji@0
|
387
|
yuuji@0
|
388 The NNTP client code now tries to perform better with legacy NNTP servers
|
yuuji@0
|
389 which do not comply with the current NNTP protocol specification draft, most
|
yuuji@0
|
390 notably Netscape Collabra.
|
yuuji@0
|
391
|
yuuji@0
|
392 Delivery notifications now work reliably with SMTP servers that support it.
|
yuuji@0
|
393
|
yuuji@0
|
394 The following changes are primarily of concern to developers and power users:
|
yuuji@0
|
395
|
yuuji@0
|
396 There is a "limited advertise" option in env_unix.c which, if set, will only
|
yuuji@0
|
397 advertise the user's own namespace and the #shared/ namespace.
|
yuuji@0
|
398
|
yuuji@0
|
399 It is now possible to build the IMAP toolkit with a separate SSL KEY file
|
yuuji@0
|
400 from the certificate file (SSLKEYS vs. SSLCERTS).
|
yuuji@0
|
401
|
yuuji@0
|
402 A new BODY structure element, sparep, is available for the main program to
|
yuuji@0
|
403 use as a pointer for its own purposes; as well as a SET_FREEBODYSPAREP
|
yuuji@0
|
404 function, similar to SET_FREEENVELOPESPAREP, SET_FREEELTSPAREP, etc.
|
yuuji@0
|
405
|
yuuji@0
|
406
|
yuuji@0
|
407 Updated: 28 May 2003
|
yuuji@0
|
408
|
yuuji@0
|
409 imap-2002d is a minor release, released concurrently with Pine 4.56, and
|
yuuji@0
|
410 contains primarily bugfixes. Programs written for imap-2002 should build
|
yuuji@0
|
411 with this version without modification, with one exception. That exception
|
yuuji@0
|
412 is the ngbogus envelope flag, which stopped being used in imap-2002c and is
|
yuuji@0
|
413 now gone for good.
|
yuuji@0
|
414
|
yuuji@0
|
415 The NNTP newsgroup listing code now tries to use wildmats on the NNTP server,
|
yuuji@0
|
416 which should result in better performance especially on slow lines. It is
|
yuuji@0
|
417 also once again permitted to log in on NNTP servers when /loser is set.
|
yuuji@0
|
418
|
yuuji@0
|
419 imapd now supports the UNSELECT command.
|
yuuji@0
|
420
|
yuuji@0
|
421 A new envelope flag, imapenvonly, indicates that the envelope in a
|
yuuji@0
|
422 MESSAGE/RFC822 BODY structure only has the IMAP envelope components and
|
yuuji@0
|
423 not the additional components from c-client: Newsgroups, Followup-To,
|
yuuji@0
|
424 and References.
|
yuuji@0
|
425
|
yuuji@0
|
426
|
yuuji@0
|
427 Updated: 7 April 2003
|
yuuji@0
|
428
|
yuuji@0
|
429 imap-2002c is a minor release, released concurrently with Pine 4.55, and
|
yuuji@0
|
430 contains primarily bugfixes. Programs written for imap-2002 will build
|
yuuji@0
|
431 with this version without modification.
|
yuuji@0
|
432
|
yuuji@0
|
433 The POP3 driver will, with new servers that support CAPA, use the LIST
|
yuuji@0
|
434 command to get the elt->rfc822_size and the TOP command to get the message
|
yuuji@0
|
435 header, instead of fetching the entire message. Note that it is a bad idea
|
yuuji@0
|
436 to do this with old servers, since they may misimplement LIST and TOP. The
|
yuuji@0
|
437 result is a substantial performance improvement.
|
yuuji@0
|
438
|
yuuji@0
|
439 Subject extraction for comparisons in SORT and THREAD are now done in full
|
yuuji@0
|
440 compliance with the rules laid out in the specification. This only makes
|
yuuji@0
|
441 a difference if "re:" was part of a MIME quoted-word.
|
yuuji@0
|
442
|
yuuji@0
|
443 The new experimental #move namespace allows download-and-delete from a source
|
yuuji@0
|
444 mailbox to a destination mailbox. Immediately following #move is a delimiter
|
yuuji@0
|
445 character which must not appear in the source mailbox name, then the source
|
yuuji@0
|
446 mailbox name, then the delimiter again, then the destination mailbox name.
|
yuuji@0
|
447 For example:
|
yuuji@0
|
448 #move+{pop3.foo.com/pop3}+INBOX
|
yuuji@0
|
449 will download messages from "pop3.foo.com" into your local INBOX.
|
yuuji@0
|
450
|
yuuji@0
|
451 The NNTP driver now uses the LIST EXTENSIONS command as described in the
|
yuuji@0
|
452 current NNTP protocol specification draft, and will prefer to use OVER over
|
yuuji@0
|
453 XOVER, HDR over XHDR, etc.
|
yuuji@0
|
454
|
yuuji@0
|
455 The SET_NNTPRANGE function of mail_parameters() can be used to limit the
|
yuuji@0
|
456 number of articles recognized by the NNTP driver, resulting in a substantial
|
yuuji@0
|
457 performance improvement with NNTP servers that may have hundreds of thousands
|
yuuji@0
|
458 of old articles in the spool. If set non-zero, then only the last n article
|
yuuji@0
|
459 numbers will be considered. If you are on a slow link, you may want to set
|
yuuji@0
|
460 this to 1000 or less.
|
yuuji@0
|
461
|
yuuji@0
|
462 Besides the normally tested UNIX and 32-bit Microsoft platforms, this release
|
yuuji@0
|
463 has also been tested and will once build under TOPS-20 and VAX/VMS. I also
|
yuuji@0
|
464 fixed a bug which would keep it from building on 16-bit DOS, but I don't know
|
yuuji@0
|
465 if it will build on that platform or not since I no longer have a system with
|
yuuji@0
|
466 the old DOS C compiler. It has not been tested on Macintosh (note however
|
yuuji@0
|
467 that Mac OS X is a type of UNIX and should build), Amiga, or OS/2, and probably
|
yuuji@0
|
468 no longer builds on those platforms.
|
yuuji@0
|
469
|
yuuji@0
|
470
|
yuuji@0
|
471 Updated: 7 January 2003
|
yuuji@0
|
472
|
yuuji@0
|
473 imap-2002b is a maintenace release, released concurrently with Pine 4.52,
|
yuuji@0
|
474 and contains only bugfixes. Programs written for imap-2002 will build with
|
yuuji@0
|
475 this version without modification.
|
yuuji@0
|
476
|
yuuji@0
|
477 Drivers which do not announce new mail are now indicated by the DR_NONEWMAIL
|
yuuji@0
|
478 driver flag. Driver which do not announce new mail when read-only are now
|
yuuji@0
|
479 indicated by the DR_NONEWMAILRONLY flag.
|
yuuji@0
|
480
|
yuuji@0
|
481 There are no user-visible functional enhancements in this version.
|
yuuji@0
|
482
|
yuuji@0
|
483
|
yuuji@0
|
484 Updated: 10 December 2002
|
yuuji@0
|
485
|
yuuji@0
|
486 imap-2002a is a maintenance release, consisting entirely of critical
|
yuuji@0
|
487 bugfixes. Programs written for imap-2002 will build with this version
|
yuuji@0
|
488 without modification.
|
yuuji@0
|
489
|
yuuji@0
|
490 There are no functional enhancements in this version.
|
yuuji@0
|
491
|
yuuji@0
|
492
|
yuuji@0
|
493 Updated: 28 October 2002
|
yuuji@0
|
494
|
yuuji@0
|
495 imap-2002 is a major release. Programs written for imap-2001 will probably
|
yuuji@0
|
496 build with this version without modification, with one exception. That
|
yuuji@0
|
497 exception is if the program uses [GS]ET_DISABLEAUTOMATICSHAREDNAMESPACES,
|
yuuji@0
|
498 which has been renamed to [GS]ET_DISABLEAUTOSHAREDNS in order to placate
|
yuuji@0
|
499 some compilers which don't like very long names.
|
yuuji@0
|
500
|
yuuji@0
|
501 SSLTYPE=nopwd is now the default, in accordance with current IESG security
|
yuuji@0
|
502 requirements. In order to build the IMAP toolkit without SSL/TLS you must
|
yuuji@0
|
503 now use SSLTYPE=none. At initial build time, you will be told if the SSLTYPE
|
yuuji@0
|
504 setting is in compliance with IESG security requirements, and if it is not
|
yuuji@0
|
505 you will be asked to confirm to continue the build.
|
yuuji@0
|
506
|
yuuji@0
|
507 ORDEREDSUBJECT threading has been changed in accordance with draft 12 of the
|
yuuji@0
|
508 IMAP threading specification. Previously, each non-root message in an
|
yuuji@0
|
509 ORDEREDSUBJECT thread has been a child of the message immediately preceeding
|
yuuji@0
|
510 it in the thread. Draft 12 changes this so that the second message in the
|
yuuji@0
|
511 thread is the child of the first (root) message, and all subsequent messages
|
yuuji@0
|
512 are siblings of the first message. This is significant in MUAs which display
|
yuuji@0
|
513 the thread structure graphically; the new definition is much saner than the
|
yuuji@0
|
514 old one since it does not nest endlessly due to parent/child relationships
|
yuuji@0
|
515 that may not exist. This also impacts imapd, since imapd's THREAD command
|
yuuji@0
|
516 will return a thread structure.
|
yuuji@0
|
517
|
yuuji@0
|
518 RFC 1730 server support, which was disabled in imap-2001, is now fully
|
yuuji@0
|
519 removed from imapd. imapd still supports IMAP2bis, specifically the FIND
|
yuuji@0
|
520 command, since there are still a few IMAP2 clients out there.
|
yuuji@0
|
521
|
yuuji@0
|
522 The IMAP client routines in the c-client library continue to support recognize
|
yuuji@0
|
523 RFC 1730 servers, but do not implement the deprecated features of RFC 1730.
|
yuuji@0
|
524
|
yuuji@0
|
525 The Frequently Asked Questions file is now in HTML format, although a text
|
yuuji@0
|
526 version (generated from the HTML version with Lynx) is also provided.
|
yuuji@0
|
527
|
yuuji@0
|
528 A new program, mailutil, is now bundled with the IMAP toolkit. mailutil
|
yuuji@0
|
529 replaces the old chkmail, imapcopy, imapmove, imapxfer, mbxcopy, mbxcreat,
|
yuuji@0
|
530 and mbxcvt programs that were distributed in the imap-utils. In addition,
|
yuuji@0
|
531 the tmail, dmail, and mlock programs from the imap-utils are now also
|
yuuji@0
|
532 bundled with the IMAP toolkit.
|
yuuji@0
|
533
|
yuuji@0
|
534 In addition to the usual bugfixes, the following c-client functionalities
|
yuuji@0
|
535 are new in imap-2002:
|
yuuji@0
|
536
|
yuuji@0
|
537 The SET_DISABLE822TZTEXT parameter allows a client to suppress generation of
|
yuuji@0
|
538 the "human friendly" time zone text in RFC822 dates. This placates netnews
|
yuuji@0
|
539 and some broken SMTP servers which think that long timezone names from Windows
|
yuuji@0
|
540 are an attempt at a buffer overflow attack.
|
yuuji@0
|
541
|
yuuji@0
|
542 The restrictBox option in env_unix.c sets "restricted box" functionality,
|
yuuji@0
|
543 which disables access to the root (leading "/"), access to other user's
|
yuuji@0
|
544 directories (leading "~"), and access to superior directories via "..".
|
yuuji@0
|
545
|
yuuji@0
|
546 Content-Location is now supported by the "location" member of the BODY
|
yuuji@0
|
547 structure. Note that there is a bug in the IMAP client code in older
|
yuuji@0
|
548 versions of the c-client library that causes it to handle BODYSTRUCTURE
|
yuuji@0
|
549 extension data improperly if that data is a literal. The new functionality
|
yuuji@0
|
550 for Content-Location may trigger this bug. The fix is either to upgrade
|
yuuji@0
|
551 the IMAP client program to the imap-2002 version of c-client or to remove
|
yuuji@0
|
552 the Content-Location support from imapd.
|
yuuji@0
|
553
|
yuuji@0
|
554 There are now 8 spare bits for application use in both the elts and the
|
yuuji@0
|
555 mail streams.
|
yuuji@0
|
556
|
yuuji@0
|
557 mail_search() now returns a value (previously it was void). If mail_search()
|
yuuji@0
|
558 returns NIL, then the supplied charset was invalid or the IMAP server
|
yuuji@0
|
559 returned NO (probably because the supplied charset was invalid).
|
yuuji@0
|
560
|
yuuji@0
|
561 New utf8_charset() routine to look up a charset and return c-client's
|
yuuji@0
|
562 database about that charset if found. Among other things, this will give
|
yuuji@0
|
563 you the scripts supported by that charset and its Unicode conversion table.
|
yuuji@0
|
564
|
yuuji@0
|
565 New FT_NOLOOKAHEAD flag for mail_fetch_structure() disables fetching of
|
yuuji@0
|
566 any envelopes other than the one specified. Otherwise, it will try to do
|
yuuji@0
|
567 anticipatory fetching (up to IMAPLOOKAHEAD).
|
yuuji@0
|
568
|
yuuji@0
|
569 New GET_FETCHLOOKAHEAD allows better control of mail_fetch_structure()
|
yuuji@0
|
570 lookahead. Instead of looking IMAPLOOKAHEAD messages forward from the
|
yuuji@0
|
571 specified message, it will use a supplied SEARCHSET to generate message
|
yuuji@0
|
572 sequences and ranges. It will stop at IMAPLOOKAHEAD messages or at the
|
yuuji@0
|
573 completion of a range which exceeds IMAPLOOKAHEAD. The search set only
|
yuuji@0
|
574 applies to the next mail_fetch_structure() on that stream, and is cleared
|
yuuji@0
|
575 once it is used. Call with
|
yuuji@0
|
576 SEARCHSET **set = (SEARCHSET **)
|
yuuji@0
|
577 mail_parameters (stream,GET_FETCHLOOKAHEAD,(void *) stream);
|
yuuji@0
|
578 *set = pointer to desired search set
|
yuuji@0
|
579
|
yuuji@0
|
580 New mail_shortdate() routine returns an date in the format expected by
|
yuuji@0
|
581 SEARCHPGMs.
|
yuuji@0
|
582
|
yuuji@0
|
583
|
yuuji@0
|
584 Updated: 2 November 2001
|
yuuji@0
|
585
|
yuuji@0
|
586 imap-2001a is a maintenance release, consisting primarily of bugfixes
|
yuuji@0
|
587 including some critical bugfixes to crash and denial of service problems.
|
yuuji@0
|
588 Programs written for imap-2001 will build with this version without
|
yuuji@0
|
589 modification.
|
yuuji@0
|
590
|
yuuji@0
|
591 The following new facilities have also been added:
|
yuuji@0
|
592
|
yuuji@0
|
593 The new /norsh switch in mailbox names provides a more intuitive way of
|
yuuji@0
|
594 disabling rsh-IMAP than the existing :143 or setting the rsh-timeout to 0.
|
yuuji@0
|
595
|
yuuji@0
|
596 Passwords are no longer returned in mm_dlog() callbacks unless the
|
yuuji@0
|
597 application sets the SET_DEBUGSENSITIVE parameter.
|
yuuji@0
|
598
|
yuuji@0
|
599 The SET_NETFSSTATBUG parameter allows an application to force the
|
yuuji@0
|
600 traditional UNIX mailbox driver to close and reopen the mailbox at ping
|
yuuji@0
|
601 time. This is EXTREMELY inefficient, and should only be used to access
|
yuuji@0
|
602 files stored on AFS and old NFS systems.
|
yuuji@0
|
603
|
yuuji@0
|
604 The ISO 8859 and Windows conversion tables have been updated to comply
|
yuuji@0
|
605 with Unicode 3.1, and the KOI8-R table has been verified as compliant with
|
yuuji@0
|
606 Unicode 3.1.
|
yuuji@0
|
607
|
yuuji@0
|
608 The SPECIALS mechanism for passing parameters to the lowest level Makefile
|
yuuji@0
|
609 has been updated to be more general. See the next item for why you might
|
yuuji@0
|
610 care.
|
yuuji@0
|
611
|
yuuji@0
|
612 New lrh port to build on Red Hat Linux 7.2, with pre-set definitions for
|
yuuji@0
|
613 the places where Red Hat has placed Kerberos and SSL. It's actually just
|
yuuji@0
|
614 the lnp port with SPECIALS defined accordingly. You may want to use it as
|
yuuji@0
|
615 a model if your system needs such definitions. Note that SPECIALS is
|
yuuji@0
|
616 primarily for IMAP toolkit (and Pine) purposes, and that user settings
|
yuuji@0
|
617 should use EXTRASPECIALS instead.
|
yuuji@0
|
618
|
yuuji@0
|
619
|
yuuji@0
|
620 Updated: 22 June 2001
|
yuuji@0
|
621
|
yuuji@0
|
622 imap-2001 is a major release. Programs written for imap-2000 will probably
|
yuuji@0
|
623 build with this version without modification.
|
yuuji@0
|
624
|
yuuji@0
|
625 The FAQ document has been significantly expanded. Be sure to read it for
|
yuuji@0
|
626 more information.
|
yuuji@0
|
627
|
yuuji@0
|
628 In addition to the usual bugfixes, the following features are new in
|
yuuji@0
|
629 imap-2001:
|
yuuji@0
|
630
|
yuuji@0
|
631 SSL is now fully integrated into the IMAP toolkit; the old "alt" kludges to
|
yuuji@0
|
632 be able to produce a "sanitized" version of the IMAP toolkit to comply with
|
yuuji@0
|
633 late unlamented US export regulations are now completely gone.
|
yuuji@0
|
634
|
yuuji@0
|
635 Full client and server TLS support is also in this release.
|
yuuji@0
|
636
|
yuuji@0
|
637 The server certificate must be signed by a trusted certificate authority and
|
yuuji@0
|
638 the name in the certificate match the user's entry for the server host name;
|
yuuji@0
|
639 this means that the user must enter a fully-qualified host name.
|
yuuji@0
|
640
|
yuuji@0
|
641 To build with SSL/TLS on UNIX, you now use "SSLTYPE=unix" instead of the
|
yuuji@0
|
642 former "SPECIALAUTHENTICATORS=ssl". To build with SSL/TLS on UNIX and disable
|
yuuji@0
|
643 the use of plaintext passwords except when under SSL/TLS, use "SSLTYPE=nopwd"
|
yuuji@0
|
644 instead of "SSLTYPE=unix".
|
yuuji@0
|
645
|
yuuji@0
|
646 RFC 1730 (IMAP4 as opposed to IMAP4rev1) support is turned off by default in
|
yuuji@0
|
647 imapd. No clients should still be using RFC 1730 protocol. Look at the imapd
|
yuuji@0
|
648 Makefile for how to re-enable RFC 1730 support. Note that this code may be
|
yuuji@0
|
649 removed in the future, so if you think you need it you had better let me know.
|
yuuji@0
|
650
|
yuuji@0
|
651 There are some new options (turned off by default) which attempt to work around
|
yuuji@0
|
652 problems in certain clients. See the FAQ file for more details.
|
yuuji@0
|
653
|
yuuji@0
|
654
|
yuuji@0
|
655 Updated: 24 January 2001
|
yuuji@0
|
656
|
yuuji@0
|
657 imap-2000c is a maintenance release, consisting primarily of bugfixes.
|
yuuji@0
|
658
|
yuuji@0
|
659
|
yuuji@0
|
660 Updated: 9 January 2001
|
yuuji@0
|
661
|
yuuji@0
|
662 imap-2000b is a maintenance release, consisting primarily of bugfixes.
|
yuuji@0
|
663
|
yuuji@0
|
664
|
yuuji@0
|
665 Updated: 9 November 2000
|
yuuji@0
|
666
|
yuuji@0
|
667 imap-2000a is a maintenance release, consisting primarily of bugfixes.
|
yuuji@0
|
668
|
yuuji@0
|
669
|
yuuji@0
|
670 Updated: 19 September 2000
|
yuuji@0
|
671
|
yuuji@0
|
672 imap-2000 is a major release. There are major internal and external changes
|
yuuji@0
|
673 from earlier versions (imap-4.x and imap-3.x series). Programs written for
|
yuuji@0
|
674 imap-4.x will probably build with this version without modification. It is
|
yuuji@0
|
675 extremely unlikely that a program written for imap-3.x or earlier series will
|
yuuji@0
|
676 build with this version without modifications. Drivers written for earlier
|
yuuji@0
|
677 versions will definitely need to be rewritten.
|
yuuji@0
|
678
|
yuuji@0
|
679 In addition to the usual bugfixes, the following features are new in imap-2000:
|
yuuji@0
|
680
|
yuuji@0
|
681 SSL support is now available. For UNIX, it is necessary to install some
|
yuuji@0
|
682 version of OpenSSL; see imap-2000/docs/SSLBUILD for more information. SSL
|
yuuji@0
|
683 support is now automatic for the NT, NTK, and W2K ports. SSL use is indicated
|
yuuji@0
|
684 by the /ssl switch in the mailbox name.
|
yuuji@0
|
685
|
yuuji@0
|
686 With SSL connections, the server certificate is validated by the client code
|
yuuji@0
|
687 on UNIX, and Windows 2000 unless /novalidate-cert is specified. Server
|
yuuji@0
|
688 certificates are currently is not validated on Windows 9x, Windows Millenium,
|
yuuji@0
|
689 or Windows NT 4; this is an artifact of the operating system and not the port
|
yuuji@0
|
690 (e.g. client code using the NT port will validate certificates if running on
|
yuuji@0
|
691 Windows 2000). On UNIX, the server certificate must be signed by a trusted
|
yuuji@0
|
692 certificate authority. On Windows 2000, the certificate must be signed by a
|
yuuji@0
|
693 trusted certificate authority and match the user's entry for the server host
|
yuuji@0
|
694 name; this means that the user must enter a fully-qualified host name.
|
yuuji@0
|
695
|
yuuji@0
|
696 Calendar reclama for the benefit of old broken non-Y2K compliant software.
|
yuuji@0
|
697 Two digit years from 00 to 69 will be interpreted as 2000 through 2069. In
|
yuuji@0
|
698 addition, three digit years from 100 to 105 will be interpreted as 2000
|
yuuji@0
|
699 through 2005.
|
yuuji@0
|
700
|
yuuji@0
|
701 Support for REFERENCES threading (in addition to the previously-existing
|
yuuji@0
|
702 ORDEREDSUBJECT threading).
|
yuuji@0
|
703
|
yuuji@0
|
704 Support for the IMAP MULTIAPPEND extension. This allows much faster uploading
|
yuuji@0
|
705 of multiple messages to an IMAP server.
|
yuuji@0
|
706
|
yuuji@0
|
707 Support for the LOGINDISABLED IMAP capability. If the IMAP server sends
|
yuuji@0
|
708 LOGINDISABLED as a capability, the client code will never attempt to send an
|
yuuji@0
|
709 IMAP LOGIN command.
|
yuuji@0
|
710
|
yuuji@0
|
711 Support for SASL authentication identity vs. authorization identity. If the
|
yuuji@0
|
712 authentication method does not support this concept (e.g. AUTH=CRAM-MD5,
|
yuuji@0
|
713 AUTH=LOGIN, LOGIN command), the "*" character in the user name may be used to
|
yuuji@0
|
714 indicate a separate authentication identity; for example, "fred*joe" indicates
|
yuuji@0
|
715 authorization identity "fred", authentication identity "joe".
|
yuuji@0
|
716
|
yuuji@0
|
717
|
yuuji@0
|
718 UNIX-specific Changes:
|
yuuji@0
|
719
|
yuuji@0
|
720 Support for SASL authentication identity vs. authorization identity in the
|
yuuji@0
|
721 IMAP and POP3 servers. If the user indicated by the authentication identity
|
yuuji@0
|
722 is in the "mailadm" group, he may specify any authorization identity and get
|
yuuji@0
|
723 logged in as the authorization identity user.
|
yuuji@0
|
724
|
yuuji@0
|
725 If the IMAP and POP3 servers are build with PASSWDTYPE=nul, it will send
|
yuuji@0
|
726 LOGINDISABLED as a capability and also disable the AUTH=LOGIN and AUTH=PLAIN
|
yuuji@0
|
727 SASL authenticators.
|
yuuji@0
|
728
|
yuuji@0
|
729 New MAILSUBDIR build option to change the default mailbox directory from the
|
yuuji@0
|
730 user's home directory to a subdirectory of the user's home directory. See
|
yuuji@0
|
731 imap-2000/Makefile for more information.
|
yuuji@0
|
732
|
yuuji@0
|
733 New CHROOT_SERVER build option for closed server systems only. If defined, a
|
yuuji@0
|
734 chroot() call to the user's home directory is done as part of the login
|
yuuji@0
|
735 process. See imap-2000/Makefile for more information.
|
yuuji@0
|
736
|
yuuji@0
|
737 New ADVERTISE_THE_WORLD build option which will add an IMAP namespace that
|
yuuji@0
|
738 points to the root. Not for the faint of heart.
|
yuuji@0
|
739
|
yuuji@0
|
740 UNIX format mailboxes no longer require the pseudo-message, nor will a
|
yuuji@0
|
741 pseudo-message be added to a mailbox that does not have one. A new
|
yuuji@0
|
742 X-IMAPbase: header will be written in the first message. This is rather less
|
yuuji@0
|
743 efficient and robust than the pseudo-message (which remains the encouraged
|
yuuji@0
|
744 mechanism; UNIX format mailboxes will always be created with it), but perhaps
|
yuuji@0
|
745 will pacify some people who get upset by the pseudo-message.
|
yuuji@0
|
746
|
yuuji@0
|
747 When building with MIT Kerberos it will try to detect and use libk5crypto.a
|
yuuji@0
|
748 instead of libcrypto.a.
|
yuuji@0
|
749
|
yuuji@0
|
750 The mbx driver is more aggressive about cleaning up expunged messages that
|
yuuji@0
|
751 couldn't be purged because of shared access to the mailbox at the time of
|
yuuji@0
|
752 expunge. Now, every checkpoint will try to purge such messages; and a
|
yuuji@0
|
753 checkpoint is attempted at close time.
|
yuuji@0
|
754
|
yuuji@0
|
755
|
yuuji@0
|
756 Windows-specific Changes:
|
yuuji@0
|
757
|
yuuji@0
|
758 New W2K port for Windows 2000. In addition to supporting SSL using the
|
yuuji@0
|
759 official SSPI interface (the NT and NTK ports invoke SChannel.DLL directly),
|
yuuji@0
|
760 the W2K port also supports Microsoft Kerberos. Note that the NT and NTK ports
|
yuuji@0
|
761 will work on Windows 2000, but the W2K port will not work on NT4, Windows
|
yuuji@0
|
762 9x, or Windows Millenium.
|
yuuji@0
|
763
|
yuuji@0
|
764 There is now a #user namespace, equivalent to the "~" namespace on UNIX.
|
yuuji@0
|
765
|
yuuji@0
|
766
|
yuuji@0
|
767
|
yuuji@0
|
768 Changes for Developers:
|
yuuji@0
|
769
|
yuuji@0
|
770 New c-client.h file which acts as a master include. c-client based
|
yuuji@0
|
771 applications should now include c-client.h instead of the individual c-client
|
yuuji@0
|
772 files (mail.h, misc.h, etc.). It is believed that c-client.h will work in C++
|
yuuji@0
|
773 applications.
|
yuuji@0
|
774
|
yuuji@0
|
775 New GET_FREEENVELOPESPAREP/SET_FREEENVELOPESPAREP and
|
yuuji@0
|
776 GET_FREEELTSPAREP/SET_FREEELTSPAREP function callbacks to free the "sparep"
|
yuuji@0
|
777 member of the envelope and cache elements, respectively.
|
yuuji@0
|
778
|
yuuji@0
|
779 New OP_MULNEWSRC flag to mail_open() to use multiple newsrc files, and new
|
yuuji@0
|
780 GET_NEWSRCQUERY/SET_NEWSRCQUERY function callbacks to get the name of the
|
yuuji@0
|
781 newsrc file for news access.
|
yuuji@0
|
782
|
yuuji@0
|
783 New "secret" nntp_article() function to do the NNTP ARTICLE command; this is
|
yuuji@0
|
784 generally useful only when chasing news URLs.
|
yuuji@0
|
785
|
yuuji@0
|
786 New GET_HIDEDOTFILES/SET_HIDEDOTFILES feature to suppress file names that
|
yuuji@0
|
787 start with "." in mail_list() results.
|