FAQ
上传用户:ycwykj01
上传日期:2007-01-04
资源大小:1819k
文件大小:15k
源码类别:

网络编程

开发平台:

Unix_Linux

  1. Last Updated: 3 November 1999
  2. Q: Is this software Y2K compliant?
  3. A: Please read the files Y2K and calendar.txt.
  4. Q: How do I configure the IMAP and POP servers?
  5. Q: I built and installed the servers according to the BUILD instructions.
  6.     It can't be that easy.  Don't I need to write a config file?
  7. A: For ordinary "vanilla" UNIX systems, this software is plug and play; just
  8.     build it, install it, and you're done.  If you have a modified system,
  9.     then you may want to do additional work; most of this is to a single
  10.     source code file (env_unix.c on UNIX systems).  Read the file CONFIG
  11.     for more details.
  12.    Yes, it's that easy.
  13. Q: I have an NT system.  Why isn't it plug and play for me?
  14. A: There is no standard for how mail is stored on NT; no single standard
  15.     SMTP server.  So there's no default by which to make assumptions.  As
  16.     the software is set up, it assumes that the each user has an NT login
  17.     account and private home directory, and that mail is stored on that
  18.     home directory as files in one of the popular UNIX formats.  It also
  19.     assumes that there is some tool equivalent to inetd on UNIX that does
  20.     the TCP/IP listening and server startup.
  21.    Basically, unless you're an email software hacker, you probably want
  22.     to look elsewhere if you want IMAP/POP servers for NT.
  23. Q: Can I set up a POP or IMAP server on Windows 95 and 98?
  24. A: Yes.  Refer to the NT specific notes in files CONFIG and BUILD.  Also,
  25.     you *must* set up CRAM-MD5 authentication, as described in md5.txt.
  26.     There is no file access control on Windows 9x, so you probably will
  27.     have to do modifications to env_unix.c to prevent people from hacking
  28.     others' mail.
  29. Q: I've heard that IMAP servers are insecure.  Is this true?
  30. A: There are no known security problems in this version of the IMAP
  31.     toolkit, including the IMAP and POP servers.  The IMAP and POP
  32.     servers limit what can be done while not logged in, and as part of
  33.     the login process discard all privileges except those of the user.
  34.    There were buffer overflow vulnerabilities in earlier versions which
  35.     were used to mount widespread attacks against unlogged-in (and hence
  36.     root-privileged) servers.  These problems were fixed years ago;
  37.     unfortunately "Internet folklore" and old versions tend to persist
  38.     long after problems are fixed.
  39.    There is every reason to believe that the bad guys are engaged in an
  40.     ongoing effort to find vulnerabilities in the IMAP toolkit; but to
  41.     the best of our knowledge these efforts have been futile in recent
  42.     years.  Judging from CERT reports, they've had much greater success
  43.     in other software, so it does not appear to be an ongoing problem
  44.     for the IMAP toolkit.
  45.    We are unhappy that any vulnerabilities existed in past versions, and
  46.     we're doing our best to keep the IMAP toolkit free of vulnerabilities.
  47. Q: What does the syslog message:
  48.      imap/tcp server failing (looping)
  49.     mean?  When it happens, IMAP service shuts down.  How can I fix this?
  50. Q: What does the syslog message:
  51.      pop3/tcp server failing (looping)
  52.     mean?  When it happens, POP3 service shuts down.  How can I fix this?
  53. A: The error message "server failing (looping), service terminated" is not
  54.     from either the IMAP or POP servers.  Instead, it comes from inetd, the
  55.     daemon which listens for TCP connections to a number of servers,
  56.     including the IMAP and POP servers.
  57.    inetd has a limit of 40 new server sessions per minute for any particular
  58.     service.  If more than 40 sessions are initiated in a minute, inetd will
  59.     issue the "failing (looping), service terminated" message and shut
  60.     down the service for 10 minutes. 
  61.    For larger server systems, the limit of 40 is much too low.  The limit was
  62.     established many years ago when a system typically only ran a few dozen
  63.     servers.
  64.    On some versions of inetd, such as the one distributed with most versions
  65.     of Linux, you can modify the /etc/inetd.conf file to have a larger number
  66.     of servers by appending a colon followed by a number after the "nowait"
  67.     word for the server entry.  For example, if your existing /etc/inetd.conf
  68.     line reads:
  69.      imap    stream  tcp     nowait  root    /usr/etc/imapd imapd
  70.     try changing it to be:
  71.      imap    stream  tcp     nowait:100  root    /usr/etc/imapd imapd
  72.     Another example (using TCP wrappers):
  73.      imap    stream  tcp     nowait  root    /usr/sbin/tcpd  imapd
  74.     try changing it to be:
  75.      imap    stream  tcp     nowait:100  root    /usr/sbin/tcpd  imapd
  76.     to increase the limit to 100 sessions/minute.
  77.    Before making this change, please read the information in "man inetd" to
  78.     determine whether or not your inetd has this feature.  If it does not, and
  79.     you make this change, the likely outcome is that you will disable IMAP
  80.     service entirely.
  81.   Another way to fix this problem is to edit the inetd.c source code
  82.    (provided by your UNIX system vendor) to set higher limits, rebuild inetd,
  83.    install the new binary, and reboot your system.  This should only be done
  84.    by a UNIX system expert.  In the inetd.c source code, the limits TOOMANY
  85.    (normally 40) is the maximum number of new server sessions permitted per
  86.    minute, and RETRYTIME (normally 600) is the number of seconds inetd will
  87.    shut down the server after it exceeds TOOMANY.
  88. Q: What does the message:
  89.      Mailbox vulnerable - directory /var/spool/mail must have 1777 protection
  90.     mean?  How can I fix this?
  91. A: In order to update a mailbox in the default UNIX format, it is necessary
  92.     to create a lock file to prevent the mailer from delivering mail while
  93.     an update is in progress.  Some systems use a directory protection of
  94.     775, requiring that all mail handling programs be setgid mail; or of
  95.     755, requiring that all mail handling programs be setuid root.
  96.    The IMAP toolkit does not run with any special privileges, and we plan
  97.     to keep it that way.  It is antithetical to the concept of a toolkit
  98.     if users can't write their own programs to use it.  Also, we've had
  99.     enough bad experiences with security bugs while running privileged;
  100.     the IMAP and POP servers have to be root when not logged in, in order
  101.     to be able to log themselves in.  We don't want to go any deeper down
  102.     that slippery slope.
  103.    Directory protection 1777 is secure enough on most well-managed systems.
  104.     If you can't trust your users with a 1777 mail spool (petty harassment
  105.     is about the limit of the abuse exposure), then you have much worse
  106.     problems then that.
  107.    If you absolutely insist upon requiring privileges to create a lock file,
  108.     external file locking can be done via a setgid mail program named
  109.     /etc/mlock (this is defined by LOCKPGM in the c-client Makefile).  If
  110.     the toolkit is unable to create a <mailbox>.lock file in the directory
  111.     by itself, it will try to call mlock to do it.  We do not recommend
  112.     doing this for performance reasons.
  113.    A sample mlock program is part of the imap-utils package:
  114.      ftp://ftp.cac.washington.edu/mail/imap-utils.tar.Z
  115.     We have tried to make this sample program reasonably secure, but it
  116.     has not been thoroughly audited.
  117. Q: Can I use SSL?
  118. A: Unfortunately, due to US government export restrictions, the source code
  119.     to our SSL IMAP patchkit is currently not available.  There are packages
  120.     available from third parties to modify the IMAP toolkit to do SSL, or
  121.     to tunnel IMAP and POP3 sessions through SSL.
  122.    We are not happy about the restrictions (especially since our SSL IMAP
  123.     patchkit is a very clean implementation), but our hands are tied.  The
  124.     recent announcement about a relaxation of encryption restrictions does
  125.     not apply to us, because we distribute free software in source form on
  126.     a non-discriminatory basis.
  127. Q: Can I use TLS and the STARTTLS facility?
  128. A: Not at the present time.  Support for STARTTLS will be added in the
  129.     future, but it is likely to be under the same distribution restrictions
  130.     as SSL support.  It is also much harder to add STARTTLS capability to
  131.     the servers than it is to do SSL tunneling.
  132. Q: Can I use CRAM-MD5 authentication?
  133. Q: Can I use APOP authentication?
  134. A: CRAM-MD5 authentication is enabled in the IMAP and POP3 client code on
  135.     all platforms.  Read md5.txt to learn how to set up CRAM-MD5 and APOP
  136.     authentication on UNIX and NT servers.
  137.    There is no support for APOP client authentication.
  138. Q: Can I use RPOP authentication?
  139. A: There is no support for RPOP authentication.
  140. Q: Can I use Kerberos V5?
  141. A: Kerberos V5 is supported if you build the software with
  142.     EXTRAAUTHENTICATORS=GSS set, e.g.
  143.      make slx EXTRAAUTHENTICATORS=gss
  144. Q: Can I use Kerberos V4?
  145. A: Kerberos V4 is not supported.  Kerberos V4 client-only contributed code
  146.     is available as:
  147.      ftp://ftp.cac.washington.edu/mail/kerberos4-patches.tar.Z
  148.     This is a patchkit which must be applied to the IMAP toolkit according
  149.     to the instructions in the patchkit's README.  I can not promise that
  150.     this code works.
  151. Q: Can I use PAM for plaintext passwords?
  152. A: On Linux systems, use the lnp port, e.g.
  153.      make lnp
  154.    On Solaris systems and other systems with defective PAM implementations,
  155.     build with PASSWDTYPE=pmb, e.g.
  156.      make sol PASSWDTYPE=pmb
  157.    On all other systems, build with PASSWDTYPE=pam, e.g
  158.      make foo PASSWDTYPE=pam
  159.    If you build with PASSWDTYPE=pam and authentication does not work, try
  160.     rebuilding (after a "make clean") with PASSWDTYPE=pmb.
  161. Q: Can I use AFS for plaintext passwords?
  162. A: Build with PASSWDTYPE=afs, e.g
  163.      make sol PASSWDTYPE=afs
  164. Q: Can I use DCE for plaintext passwords?
  165. A: Build with PASSWDTYPE=dce, e.g
  166.      make sol PASSWDTYPE=dce
  167. Q: Can I use the CRAM-MD5 database for plaintext passwords?
  168. A: The CRAM-MD5 password database is automatically used for plaintext
  169.     password if it exists.
  170.    Note that this gives you the worst of both worlds -- plaintext passwords
  171.     over the network and plaintext passwords stored on the server!  You
  172.     probably don't want to do this unless all access is through SSL.  It
  173.     is recommended that you disable plaintext passwords (see the next
  174.     question).
  175. Q: Can I disable plaintext passwords?
  176. A: Server-level plaintext passwords can be disabled by setting
  177.     PASSWDTYPE=nul, e.g.
  178.      make lnx EXTRAAUTHENTICATORS=gss PASSWDTYPE=nul
  179.     Note that you must specify at least one EXTRAAUTHENTICATOR, otherwise
  180.     it will not be possible to log in to the server.
  181. Q: Is there support for S/Key or OTP?
  182. A: There is currently no support for S/Key or OTP.  There may be an OTP
  183.      SASL authenticator available from the OTP folks.
  184. Q: Is there support for NTLM or SPA?
  185. A: There is currently no support for NTML or SPA, nor are there any plans
  186.     to add such support.  In general, we avoid vendor-specific mechanisms.
  187. Q: Is there support for qmail and the maildir format?
  188. A: There is no support for qmail or the maildir format in our distribution,
  189.     nor are there any plans to add such support.  Some third parties offer
  190.     add-ons drivers that purport to support maildir format.  We can't vouch
  191.     for their reliablity or performance.
  192. Q: How can I enable anonymous IMAP logins?
  193. A: Create the file /etc/anonymous.newsgroups.  At the present time, this
  194.     file should be empty.  This will permit IMAP logins as anonymous as
  195.     well as the ANONYMOUS SASL authenticator.  Anonymous users have access
  196.     to mailboxes in the #news., #ftp/, and #public/ namespaces only.
  197. Q: How do I set up an alert message that each IMAP user will see?
  198. A: Create the file /etc/imapd.alert with the text of the message.  This
  199.     text should be kept to one line if possible.  Note that this will
  200.     cause an alert to every IMAP user every time they initiate an IMAP
  201.     session, so it should only be used for critical messages.
  202. Q: Why does mail disappear even though I set "keep mail on server"?
  203. Q: Why do I get the message
  204.      Moved ##### bytes of new mail to /home/user/mbox from /var/spool/mail/mbox
  205.     and why did this happen?
  206. A: This is probably caused by the mbox driver.  If the file "mbox" exists on
  207.     the user's home directory and is in UNIX mailbox format, then when INBOX
  208.     is opened this file will be selected as INBOX instead of the mail spool
  209.     file.  Messages will be automatically transferred from the mail spool file
  210.     into the mbox file.
  211.    To disable this behavior, delete "mbox" from the EXTRADRIVERS list in the
  212.     top-level Makefile and rebuild.  Note that if you do this, users won't
  213.     be able to access the messages that have already been moved to mbox
  214.     unless they open mbox instead of INBOX.
  215. Q: What is the status of internationalization?
  216. A: The IMAP toolkit is partially internationalized and multilingualized.
  217.     In particular, searching is supported in the following charsets:
  218.      US-ASCII, UTF-8, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4,
  219.      ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9,
  220.      ISO-8859-10, ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15,
  221.      KOI8-R, KOI8-U (alias KOI8-RU), TIS-620, VISCII,
  222.      ISO-2022-JP, ISO-2022-KR, ISO-2022-CN, ISO-2022-JP-1, ISO-2022-JP-2,
  223.      GB2312 (alias CN-GB), CN-GB-12345, BIG5 (alias CN-BIG5),
  224.      EUC-JP, EUC-KR, Shift_JIS
  225.     All ISO-2022-?? charsets are treated identically, and support ASCII,
  226.      JIS Roman, hankaku katakana, ISO-8859-[1 - 10], TIS, GB 2312, JIS X 0208,
  227.      JIS X 0212, KSC 5601, and planes 1 and 2 of CNS 11643.
  228.     EUC-JP includes support for JIS X 0212 and hankaku katakana.
  229.     There is no support for localization (e.g. non-English error messages)
  230.      at the present time, but such support is planned.
  231. Q: Why isn't it showing the local host name as a fully-qualified domain
  232.     name?
  233. Q: Why is the local host name in the From/Sender/Message-ID headers of
  234.     outgoing mail not coming out as a fully-qualified domain name?
  235. A: Your UNIX system is misconfigured.  The entry for your system in
  236.     /etc/hosts must have the fully-qualified domain name first, e.g.
  237. 105.69.1.234 bombastic.blurdybloop.com bombastic
  238.    A common mistake of novice system administrators is to have the
  239.     short name first, e.g.
  240. 105.69.1.234 bombastic bombastic.blurdybloop.com
  241.     or to omit the fully qualified domain name entirely, e.g.
  242. 105.69.1.234 bombastic
  243.    The result of this is that when the IMAP toolkit does a gethostbyname()
  244.     call to get the fully-qualified domain name, it would get "bombastic"
  245.     instead of "bombastic.blurdybloop.com".
  246.    On some systems, a configuration file (typically named /etc/svc.conf,
  247.     /etc/netsvc.conf, or /etc/nsswitch.conf) can be used to configure the
  248.     system to use the domain name system (DNS) instead of /etc/hosts, so
  249.     it doesn't matter if /etc/hosts is misconfigured.
  250.    Check the man pages for gethostbyname, hosts, svc, and/or netsvc for
  251.     more information.
  252.    Unfortunately, certain vendors, most notably SUN, have failed to
  253.     make this clear in their documentation.  Most of SUN's documentation
  254.     assumes a corporate network that is not connected to the Internet.
  255.    net.folklore once (late 1980s) held that the proper procedure was to
  256.     append the results of getdomainname(), and some versions of sendmail
  257.     configuration files were distributed that did this.  This was
  258.     incorrect; the string returned from getdomainname() is the Yellow
  259.     Pages (a.k.a NIS) domain name, which is a completely different
  260.     (albeit unfortunately named) entity from an Internet domain.  These
  261.     were often fortuitously the same string, except when they weren't.
  262.     Frequently, domain names would be spuriously doubled, e.g.
  263.     "bombastic.blurdybloop.com.blurdybloop.com".  This practice has been
  264.     thoroughly discredited for many years, but folklore dies hard.