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

UW-IMAP'd extensions by yuuji