Mercurial > hgrepos > hgweb.cgi > imapext
comparison docs/bugs.txt @ 0:ada5e610ab86
imap-2007e
author | yuuji@gentei.org |
---|---|
date | Mon, 14 Sep 2009 15:17:45 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:ada5e610ab86 |
---|---|
1 /* ======================================================================== | |
2 * Copyright 1988-2007 University of Washington | |
3 * | |
4 * Licensed under the Apache License, Version 2.0 (the "License"); | |
5 * you may not use this file except in compliance with the License. | |
6 * You may obtain a copy of the License at | |
7 * | |
8 * http://www.apache.org/licenses/LICENSE-2.0 | |
9 * | |
10 * | |
11 * ======================================================================== | |
12 */ | |
13 | |
14 KNOWN BUGS/MISFEATURES/DEFICIENCIES IN THE IMAP TOOLKIT | |
15 Last Updated: 15 November 2007 | |
16 | |
17 The following are known problems/deficiencies in the imap-2007 toolkit: | |
18 | |
19 . Possible problems for some installations: | |
20 . In some versions of Redhat Linux, SVR4-style timezone name lookup | |
21 doesn't work properly due to a bug in glibc. The workaround is to | |
22 edit os_lnx.c to include tz_bsd.c instead of tz_sv4.c. Note that | |
23 other versions of Linux don't support BSD-style timezone name | |
24 lookup, so don't make this change unless it's needed on your system. | |
25 . In some systems, the OpenSSL distribution is installed other than at | |
26 the standard /usr/local/ssl location. If this is the case on your | |
27 system and you want to build with SSL support, you will need to set | |
28 the SSLDIR variable, either by including a setting of EXTRASPECIALS | |
29 in the make command line, e.g. | |
30 build lnp SPECIALAUTHENTICATORS=ssl EXTRASPECIALS="SSLDIR=/usr/ssl" | |
31 or by editing .../src/osdep/unix/Makefile | |
32 . /tmp, /usr/tmp or /var/tmp (if present), and the mail spool directory | |
33 must be protected 1777 (world write with sticky bit); otherwise | |
34 mailbox locking and updates won't work. An alternative to 1777 on | |
35 the mail spool directory is to install the mlock program that is | |
36 bundled with the IMAP toolkit. | |
37 . Multiple access protection locking does not work if the mailbox or | |
38 /tmp are NFS mounted. | |
39 . Shared access mailbox formats (mbx, mtx, mx, and tenex) do not work | |
40 well with NFS and such usage is not supported. mmdf and unix formats | |
41 are supported for use over NFS; however there won't be any multiple | |
42 access locking protection. | |
43 . Server startup delays may occur if a reverse DNS (IP address to name) | |
44 lookup on the client's IP address does not complete in an expeditious | |
45 fashion. This is actually a DNS problem and should be fixed in the | |
46 DNS and/or the server's host table. A workaround exists (see the | |
47 top-level Makefile for details) but is not recommended and can not | |
48 be used at all with Kerberos. | |
49 . At the insistance of the security gurus, SSL certification validation | |
50 is now on by default. This means that you must now use the new | |
51 /novalidate-cert switch if establishing an SSL connection to a server | |
52 with a self-signed certificate; i.e. if "imap.example.com" has a | |
53 self-signed certificate, you must use a mailbox name such as | |
54 {imap.example.com/ssl/novalidate-cert}INBOX | |
55 to get an SSL session instead of just | |
56 {imap.example.com/ssl}INBOX | |
57 . GCC 8.x and above on SGI systems does not correctly pass/return | |
58 structures which are smaller than 16 bytes and are not 8 bytes. The | |
59 problem is that structures are padded at the wrong end; e.g. a 4 byte | |
60 structure is loaded into the lower 4 bytes of the register when it | |
61 should be loaded into the upper 4 bytes of the register. This affects | |
62 IRIX 6 the most because it is a 64-bit system and 4 byte structures are | |
63 common. This compiler bug impacts the use of inet_ntoa() in c-client | |
64 and causes syslog messages to show IP addresses as 255.255.255.255 | |
65 instead of the correct values. The fix is either to use SGI's C compiler | |
66 instead of GCC or link with an implementation of inet_ntoa() that was | |
67 built with GCC instead of the standard SGI C library version. | |
68 . By default, the UNIX SSL build assumes that RSAREF is not needed, because | |
69 RSA Security Inc. released the RSA public key encryption algorithm into | |
70 the public domain on September 6, 2000. There is no longer any need to | |
71 use RSAREF, and since RSAREF is slower than OpenSSL's RSA routines | |
72 there's good reason not to. If for some reason you still want to use | |
73 RSAREF, you will need to edit .../src/osdep/unix/Makefile to | |
74 change SSLRSA to load libRSAglue and librsaref. | |
75 . By default, the UNIX SSL build assumes that no name conflict exists | |
76 between OpenSSL and Kerberos 5. If you are using an older version | |
77 of Kerberos, you may need to edit .../src/osdep/unix/Makefile | |
78 to change SSLCRYPTO so that it loads the OpenSSL libcrypto library | |
79 explicitly as libcrypto.a. | |
80 . By default, host names are canonicalized via gethostbyname() and | |
81 gethostbyaddr() for everything except for SSL certificate validation. | |
82 This can represent a security bug due to DNS spoofing, but is more | |
83 likely to deliver results that users expect and also may be necessary | |
84 to get Kerberos to work. Set variable "trustdns" in mail.c to NIL if | |
85 you want to disable this. | |
86 | |
87 . Bugs: | |
88 . It doesn't work to have a "}" character as a user name in /user= in a | |
89 mailbox name, even if the user name is quoted. In other words, | |
90 {example.com/user="foo}bar"}zap | |
91 won't work; foo will be interpreted as an unterminated quoted string | |
92 and the remote mailbox name will be | |
93 bar"}zap. | |
94 . The experimental mx driver has performance problems and shouldn't be used | |
95 . docs/internal.txt is out of date (again) | |
96 | |
97 . UIDPLUS bugs/limitations: | |
98 . Not supported in all local file formats (see below). | |
99 . There are two known issues with UIDPLUS in the mmdf and unix formats: | |
100 (a) If the destination mailbox is currently selected (whether in this | |
101 or another session), no COPYUID or APPENDUID is returned. The other | |
102 choice was to assign a UID based upon the uid_last value and hope | |
103 that the session selecting the mailbox would pick it up and update | |
104 uid_last. The problem was a timing race if another message was | |
105 copied/appended to that mailbox before the selecting session updated | |
106 the mailbox. If the timing race is lost, then all UID in the mailbox | |
107 would be reassigned by the selecting session, thus making the | |
108 returned APPENDUID/COPYUID data useless and causing a performance | |
109 problem. | |
110 Earlier versions did the "hope for the best" method. This was | |
111 revoked in favor of not returning COPYUID/APPENDUID. | |
112 Although this violates RFC 4315, there is a loophole which, although | |
113 for other purposes, permits this behavior. | |
114 (b) There is a known failure if the destination mailbox is currently | |
115 selected by legacy software (e.g. older versions of the IMAP | |
116 server, Pine, etc.). In this case, all UIDs end up being | |
117 reassigned by the legacy software. | |
118 | |
119 . Annoyances: | |
120 . Friendly host names (e.g. "server" instead of "server.foo.com") can't be | |
121 used in a mailbox name with SSL certificate validation; you have to enter | |
122 the fully-qualified domain name. This is a requirement established by | |
123 the security gurus. | |
124 | |
125 . IMAP client limitations: | |
126 . No SASL protection mechanisms (SASL authentication mechanisms are | |
127 supported) | |
128 | |
129 . NNTP client limitations: | |
130 . Non-standard IMAP SCAN extension not supported | |
131 | |
132 . POP client limitations: | |
133 . No SASL protection mechanisms (SASL authentication mechanisms are | |
134 supported) | |
135 . No POP3 UID support | |
136 . Non-standard IMAP SCAN extension not supported | |
137 | |
138 . SMTP client limitations: | |
139 . No SASL protection mechanisms (SASL authentication mechanisms are | |
140 supported) | |
141 . No support for use of TURN, ETRN, and pipelining. | |
142 . No support for enhanced status codes | |
143 | |
144 . UNIX limitations: | |
145 . IPv6 is supported but is not the default on most platforms; you have to | |
146 use IP=6 in the make command | |
147 . Supported local file formats: mbx, mh, mmdf, mix, mtx, mx, news, phile, | |
148 tenex, unix | |
149 . Supported SASL mechanisms: CRAM-MD5, PLAIN, LOGIN, ANONYMOUS, GSSAPI | |
150 . Sticky UIDs are not supported in the mh, mtx, and tenex drivers | |
151 . Creation of keywords is not supported in the mh, mtx, and tenex drivers | |
152 . Copy and append of keywords only works in the mbx driver. | |
153 . Flat file formats (mbx, mmdf, mtx, phile, tenex, unix) do not permit | |
154 mailboxes to have inferior names | |
155 . SSL temporary key should be seeded better than it is. | |
156 . UIDPLUS support is limited to the unix, mmdf, mbx, mx, and mix formats. | |
157 . Non-standard IMAP SCAN extension not support for mh and news formats. | |
158 | |
159 . Amiga limitations: | |
160 . Supported local file formats: mbx, mh, mmdf, mix, mtx, mx, news, phile, | |
161 tenex, unix | |
162 . Supported SASL mechanisms: CRAM-MD5, PLAIN, LOGIN, ANONYMOUS | |
163 . Sticky UIDs are not supported in the mh, mtx, and tenex drivers | |
164 . Creation of keywords is not supported in the mh, mtx, and tenex drivers | |
165 . Copy and append of keywords only works in the mbx driver. | |
166 . Flat file formats (mbx, mmdf, mtx, phile, tenex, unix) do not permit | |
167 mailboxes to have inferior names | |
168 . UIDPLUS support is limited to the unix, mmdf, mbx, mx, and mix formats. | |
169 . Non-standard IMAP SCAN extension not supported for mh and news formats. | |
170 | |
171 . Win32 (Win9x/NT/Windows 2000) limitations: | |
172 . IPv6 is supported in W2K builds but is not the default; you have to use | |
173 IP=6 in the nmake command | |
174 . Supported local file formats: mbx, mtx, tenex, unix | |
175 . Supported SASL mechanisms: CRAM-MD5, PLAIN, LOGIN, ANONYMOUS, GSSAPI | |
176 . No server SSL or TLS support. | |
177 . No server authentication for GSSAPI | |
178 . No server authentication for CRAM-MD5 on NT-based Windows (NT/2K/XP); | |
179 it does work on DOS-based Windows (9x/Me). | |
180 . Sticky UIDs are not supported in the mtxnt and tenexnt drivers | |
181 . Creation of keywords is not supported in the mtxnt and tenexnt drivers | |
182 . Copy and append of keywords only works in the mbxnt driver. | |
183 . No support for TCP open timeouts | |
184 . Flat file formats (mbx, mtx, tenex, unix) do not permit mailboxes to have | |
185 inferior names | |
186 . UIDPLUS support is limited to the unix and mbx formats. | |
187 | |
188 . Win16 (Win3.1)/DOS limitations: | |
189 . IPv6 not supported | |
190 . Supported local file formats: bezerk, mtx | |
191 . Supported SASL mechanisms: CRAM-MD5, LOGIN, ANONYMOUS | |
192 . Supported TCPs: B&W, Novell, PC-NFs, PC/TCP, Waterloo, Winsock | |
193 . Sticky UIDs are not supported on local files | |
194 . Creation of keywords are not supported on local files | |
195 . Bezerk driver is read-only and does not handle LF-only newlines well | |
196 . No support for any TCP timeouts on Waterloo DOS | |
197 . No support for TCP open timeouts on Winsock and generic DOS | |
198 . Flat file formats (bezerk, mtx) do not permit mailboxes to have inferior | |
199 names | |
200 . Does not work well unless a mailgets routine is armed when fetching | |
201 texts. | |
202 | |
203 . Mac limitations: | |
204 . IPv6 not supported | |
205 . No local file drivers | |
206 . Supported SASL mechanisms: CRAM-MD5, LOGIN, ANONYMOUS | |
207 . Does not output human-friendly time zone string | |
208 | |
209 . TOPS-20 limitations: | |
210 . IPv6 not supported | |
211 . No local file drivers | |
212 . Supported SASL mechanisms: CRAM-MD5, LOGIN, ANONYMOUS | |
213 . No support for any TCP timeouts | |
214 | |
215 . VMS limitations: | |
216 . IPv6 not supported | |
217 . No local file drivers | |
218 . Supported SASL mechanisms: CRAM-MD5, LOGIN, ANONYMOUS | |
219 . Supported TCPs: Multinet, Netlib | |
220 . No support for any TCP timeouts on VMS Netlib | |
221 . No support for TCP open timeouts on VMS Multinet | |
222 . Time zone must be configured at build time | |
223 . Does not output human-friendly time zone string | |
224 | |
225 . Windows CE limitations: | |
226 . IPv6 not yet supported | |
227 . No local file drivers | |
228 . Supported SASL mechanisms: CRAM-MD5, LOGIN, ANONYMOUS | |
229 . No support for TCP open timeouts | |
230 . Not finished, only builds c-client library | |
231 | |
232 . OS/2 limitations: | |
233 . IPv6 not supported | |
234 . Not finished, does not build |