imapext-2007
diff docs/bugs.txt @ 0:ada5e610ab86
imap-2007e
author | yuuji@gentei.org |
---|---|
date | Mon, 14 Sep 2009 15:17:45 +0900 |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/docs/bugs.txt Mon Sep 14 15:17:45 2009 +0900 1.3 @@ -0,0 +1,234 @@ 1.4 +/* ======================================================================== 1.5 + * Copyright 1988-2007 University of Washington 1.6 + * 1.7 + * Licensed under the Apache License, Version 2.0 (the "License"); 1.8 + * you may not use this file except in compliance with the License. 1.9 + * You may obtain a copy of the License at 1.10 + * 1.11 + * http://www.apache.org/licenses/LICENSE-2.0 1.12 + * 1.13 + * 1.14 + * ======================================================================== 1.15 + */ 1.16 + 1.17 + KNOWN BUGS/MISFEATURES/DEFICIENCIES IN THE IMAP TOOLKIT 1.18 + Last Updated: 15 November 2007 1.19 + 1.20 +The following are known problems/deficiencies in the imap-2007 toolkit: 1.21 + 1.22 + . Possible problems for some installations: 1.23 + . In some versions of Redhat Linux, SVR4-style timezone name lookup 1.24 + doesn't work properly due to a bug in glibc. The workaround is to 1.25 + edit os_lnx.c to include tz_bsd.c instead of tz_sv4.c. Note that 1.26 + other versions of Linux don't support BSD-style timezone name 1.27 + lookup, so don't make this change unless it's needed on your system. 1.28 + . In some systems, the OpenSSL distribution is installed other than at 1.29 + the standard /usr/local/ssl location. If this is the case on your 1.30 + system and you want to build with SSL support, you will need to set 1.31 + the SSLDIR variable, either by including a setting of EXTRASPECIALS 1.32 + in the make command line, e.g. 1.33 + build lnp SPECIALAUTHENTICATORS=ssl EXTRASPECIALS="SSLDIR=/usr/ssl" 1.34 + or by editing .../src/osdep/unix/Makefile 1.35 + . /tmp, /usr/tmp or /var/tmp (if present), and the mail spool directory 1.36 + must be protected 1777 (world write with sticky bit); otherwise 1.37 + mailbox locking and updates won't work. An alternative to 1777 on 1.38 + the mail spool directory is to install the mlock program that is 1.39 + bundled with the IMAP toolkit. 1.40 + . Multiple access protection locking does not work if the mailbox or 1.41 + /tmp are NFS mounted. 1.42 + . Shared access mailbox formats (mbx, mtx, mx, and tenex) do not work 1.43 + well with NFS and such usage is not supported. mmdf and unix formats 1.44 + are supported for use over NFS; however there won't be any multiple 1.45 + access locking protection. 1.46 + . Server startup delays may occur if a reverse DNS (IP address to name) 1.47 + lookup on the client's IP address does not complete in an expeditious 1.48 + fashion. This is actually a DNS problem and should be fixed in the 1.49 + DNS and/or the server's host table. A workaround exists (see the 1.50 + top-level Makefile for details) but is not recommended and can not 1.51 + be used at all with Kerberos. 1.52 + . At the insistance of the security gurus, SSL certification validation 1.53 + is now on by default. This means that you must now use the new 1.54 + /novalidate-cert switch if establishing an SSL connection to a server 1.55 + with a self-signed certificate; i.e. if "imap.example.com" has a 1.56 + self-signed certificate, you must use a mailbox name such as 1.57 + {imap.example.com/ssl/novalidate-cert}INBOX 1.58 + to get an SSL session instead of just 1.59 + {imap.example.com/ssl}INBOX 1.60 + . GCC 8.x and above on SGI systems does not correctly pass/return 1.61 + structures which are smaller than 16 bytes and are not 8 bytes. The 1.62 + problem is that structures are padded at the wrong end; e.g. a 4 byte 1.63 + structure is loaded into the lower 4 bytes of the register when it 1.64 + should be loaded into the upper 4 bytes of the register. This affects 1.65 + IRIX 6 the most because it is a 64-bit system and 4 byte structures are 1.66 + common. This compiler bug impacts the use of inet_ntoa() in c-client 1.67 + and causes syslog messages to show IP addresses as 255.255.255.255 1.68 + instead of the correct values. The fix is either to use SGI's C compiler 1.69 + instead of GCC or link with an implementation of inet_ntoa() that was 1.70 + built with GCC instead of the standard SGI C library version. 1.71 + . By default, the UNIX SSL build assumes that RSAREF is not needed, because 1.72 + RSA Security Inc. released the RSA public key encryption algorithm into 1.73 + the public domain on September 6, 2000. There is no longer any need to 1.74 + use RSAREF, and since RSAREF is slower than OpenSSL's RSA routines 1.75 + there's good reason not to. If for some reason you still want to use 1.76 + RSAREF, you will need to edit .../src/osdep/unix/Makefile to 1.77 + change SSLRSA to load libRSAglue and librsaref. 1.78 + . By default, the UNIX SSL build assumes that no name conflict exists 1.79 + between OpenSSL and Kerberos 5. If you are using an older version 1.80 + of Kerberos, you may need to edit .../src/osdep/unix/Makefile 1.81 + to change SSLCRYPTO so that it loads the OpenSSL libcrypto library 1.82 + explicitly as libcrypto.a. 1.83 + . By default, host names are canonicalized via gethostbyname() and 1.84 + gethostbyaddr() for everything except for SSL certificate validation. 1.85 + This can represent a security bug due to DNS spoofing, but is more 1.86 + likely to deliver results that users expect and also may be necessary 1.87 + to get Kerberos to work. Set variable "trustdns" in mail.c to NIL if 1.88 + you want to disable this. 1.89 + 1.90 + . Bugs: 1.91 + . It doesn't work to have a "}" character as a user name in /user= in a 1.92 + mailbox name, even if the user name is quoted. In other words, 1.93 + {example.com/user="foo}bar"}zap 1.94 + won't work; foo will be interpreted as an unterminated quoted string 1.95 + and the remote mailbox name will be 1.96 + bar"}zap. 1.97 + . The experimental mx driver has performance problems and shouldn't be used 1.98 + . docs/internal.txt is out of date (again) 1.99 + 1.100 + . UIDPLUS bugs/limitations: 1.101 + . Not supported in all local file formats (see below). 1.102 + . There are two known issues with UIDPLUS in the mmdf and unix formats: 1.103 + (a) If the destination mailbox is currently selected (whether in this 1.104 + or another session), no COPYUID or APPENDUID is returned. The other 1.105 + choice was to assign a UID based upon the uid_last value and hope 1.106 + that the session selecting the mailbox would pick it up and update 1.107 + uid_last. The problem was a timing race if another message was 1.108 + copied/appended to that mailbox before the selecting session updated 1.109 + the mailbox. If the timing race is lost, then all UID in the mailbox 1.110 + would be reassigned by the selecting session, thus making the 1.111 + returned APPENDUID/COPYUID data useless and causing a performance 1.112 + problem. 1.113 + Earlier versions did the "hope for the best" method. This was 1.114 + revoked in favor of not returning COPYUID/APPENDUID. 1.115 + Although this violates RFC 4315, there is a loophole which, although 1.116 + for other purposes, permits this behavior. 1.117 + (b) There is a known failure if the destination mailbox is currently 1.118 + selected by legacy software (e.g. older versions of the IMAP 1.119 + server, Pine, etc.). In this case, all UIDs end up being 1.120 + reassigned by the legacy software. 1.121 + 1.122 + . Annoyances: 1.123 + . Friendly host names (e.g. "server" instead of "server.foo.com") can't be 1.124 + used in a mailbox name with SSL certificate validation; you have to enter 1.125 + the fully-qualified domain name. This is a requirement established by 1.126 + the security gurus. 1.127 + 1.128 + . IMAP client limitations: 1.129 + . No SASL protection mechanisms (SASL authentication mechanisms are 1.130 + supported) 1.131 + 1.132 + . NNTP client limitations: 1.133 + . Non-standard IMAP SCAN extension not supported 1.134 + 1.135 + . POP client limitations: 1.136 + . No SASL protection mechanisms (SASL authentication mechanisms are 1.137 + supported) 1.138 + . No POP3 UID support 1.139 + . Non-standard IMAP SCAN extension not supported 1.140 + 1.141 + . SMTP client limitations: 1.142 + . No SASL protection mechanisms (SASL authentication mechanisms are 1.143 + supported) 1.144 + . No support for use of TURN, ETRN, and pipelining. 1.145 + . No support for enhanced status codes 1.146 + 1.147 + . UNIX limitations: 1.148 + . IPv6 is supported but is not the default on most platforms; you have to 1.149 + use IP=6 in the make command 1.150 + . Supported local file formats: mbx, mh, mmdf, mix, mtx, mx, news, phile, 1.151 + tenex, unix 1.152 + . Supported SASL mechanisms: CRAM-MD5, PLAIN, LOGIN, ANONYMOUS, GSSAPI 1.153 + . Sticky UIDs are not supported in the mh, mtx, and tenex drivers 1.154 + . Creation of keywords is not supported in the mh, mtx, and tenex drivers 1.155 + . Copy and append of keywords only works in the mbx driver. 1.156 + . Flat file formats (mbx, mmdf, mtx, phile, tenex, unix) do not permit 1.157 + mailboxes to have inferior names 1.158 + . SSL temporary key should be seeded better than it is. 1.159 + . UIDPLUS support is limited to the unix, mmdf, mbx, mx, and mix formats. 1.160 + . Non-standard IMAP SCAN extension not support for mh and news formats. 1.161 + 1.162 + . Amiga limitations: 1.163 + . Supported local file formats: mbx, mh, mmdf, mix, mtx, mx, news, phile, 1.164 + tenex, unix 1.165 + . Supported SASL mechanisms: CRAM-MD5, PLAIN, LOGIN, ANONYMOUS 1.166 + . Sticky UIDs are not supported in the mh, mtx, and tenex drivers 1.167 + . Creation of keywords is not supported in the mh, mtx, and tenex drivers 1.168 + . Copy and append of keywords only works in the mbx driver. 1.169 + . Flat file formats (mbx, mmdf, mtx, phile, tenex, unix) do not permit 1.170 + mailboxes to have inferior names 1.171 + . UIDPLUS support is limited to the unix, mmdf, mbx, mx, and mix formats. 1.172 + . Non-standard IMAP SCAN extension not supported for mh and news formats. 1.173 + 1.174 + . Win32 (Win9x/NT/Windows 2000) limitations: 1.175 + . IPv6 is supported in W2K builds but is not the default; you have to use 1.176 + IP=6 in the nmake command 1.177 + . Supported local file formats: mbx, mtx, tenex, unix 1.178 + . Supported SASL mechanisms: CRAM-MD5, PLAIN, LOGIN, ANONYMOUS, GSSAPI 1.179 + . No server SSL or TLS support. 1.180 + . No server authentication for GSSAPI 1.181 + . No server authentication for CRAM-MD5 on NT-based Windows (NT/2K/XP); 1.182 + it does work on DOS-based Windows (9x/Me). 1.183 + . Sticky UIDs are not supported in the mtxnt and tenexnt drivers 1.184 + . Creation of keywords is not supported in the mtxnt and tenexnt drivers 1.185 + . Copy and append of keywords only works in the mbxnt driver. 1.186 + . No support for TCP open timeouts 1.187 + . Flat file formats (mbx, mtx, tenex, unix) do not permit mailboxes to have 1.188 + inferior names 1.189 + . UIDPLUS support is limited to the unix and mbx formats. 1.190 + 1.191 + . Win16 (Win3.1)/DOS limitations: 1.192 + . IPv6 not supported 1.193 + . Supported local file formats: bezerk, mtx 1.194 + . Supported SASL mechanisms: CRAM-MD5, LOGIN, ANONYMOUS 1.195 + . Supported TCPs: B&W, Novell, PC-NFs, PC/TCP, Waterloo, Winsock 1.196 + . Sticky UIDs are not supported on local files 1.197 + . Creation of keywords are not supported on local files 1.198 + . Bezerk driver is read-only and does not handle LF-only newlines well 1.199 + . No support for any TCP timeouts on Waterloo DOS 1.200 + . No support for TCP open timeouts on Winsock and generic DOS 1.201 + . Flat file formats (bezerk, mtx) do not permit mailboxes to have inferior 1.202 + names 1.203 + . Does not work well unless a mailgets routine is armed when fetching 1.204 + texts. 1.205 + 1.206 + . Mac limitations: 1.207 + . IPv6 not supported 1.208 + . No local file drivers 1.209 + . Supported SASL mechanisms: CRAM-MD5, LOGIN, ANONYMOUS 1.210 + . Does not output human-friendly time zone string 1.211 + 1.212 + . TOPS-20 limitations: 1.213 + . IPv6 not supported 1.214 + . No local file drivers 1.215 + . Supported SASL mechanisms: CRAM-MD5, LOGIN, ANONYMOUS 1.216 + . No support for any TCP timeouts 1.217 + 1.218 + . VMS limitations: 1.219 + . IPv6 not supported 1.220 + . No local file drivers 1.221 + . Supported SASL mechanisms: CRAM-MD5, LOGIN, ANONYMOUS 1.222 + . Supported TCPs: Multinet, Netlib 1.223 + . No support for any TCP timeouts on VMS Netlib 1.224 + . No support for TCP open timeouts on VMS Multinet 1.225 + . Time zone must be configured at build time 1.226 + . Does not output human-friendly time zone string 1.227 + 1.228 + . Windows CE limitations: 1.229 + . IPv6 not yet supported 1.230 + . No local file drivers 1.231 + . Supported SASL mechanisms: CRAM-MD5, LOGIN, ANONYMOUS 1.232 + . No support for TCP open timeouts 1.233 + . Not finished, only builds c-client library 1.234 + 1.235 + . OS/2 limitations: 1.236 + . IPv6 not supported 1.237 + . Not finished, does not build