drivers.txt
上传用户:ycwykj01
上传日期:2007-01-04
资源大小:1819k
文件大小:7k
源码类别:

网络编程

开发平台:

Unix_Linux

  1.    c-client Driver Characteristics
  2.      Mark Crispin
  3.      5 June 1999
  4.      Drivers are code modules that support different mailbox storage
  5. technologies.  A mailbox storage technology may be implemented by
  6.  1) files and directories on the local system
  7.  2) a database
  8.  3) a network protocol.
  9.      In the case of files and directories on the local system, a
  10. driver supports a particular mailbox format.  Mailbox formats are
  11. discussed in more detail in the file formats.txt.
  12.      As of the date this document was written, there was no bundled
  13. support for any databases in c-client.  However, it should not be
  14. particularly difficult to write a driver that communicates with a
  15. database.
  16.      Network protocols supported by c-client drivers are the Internet
  17. Mail Access Protocol (all versions: IMAP4rev1, IMAP4, IMAP2bis, and
  18. IMAP2); the Post Office Protocol (version 3); and the Network News
  19. Transport Protocol (NNTP).  In addition, c-client also supports NNTP
  20. and the Simple Mail Transport Protocol (SMTP) for mailbox transport.
  21.      By default, all drivers are enabled.  There is little benefit to
  22. be gained by disabling a driver, with one exception.  The mbox driver
  23. implements the behavior of automatically moving new mail from the
  24. spool directory to the "mbox" file on the user's home directory, if
  25. and *only* if the "mbox" exists and is in mailbox format.  The mbox
  26. driver is listed under EXTRADRIVERS; if you wish to disable it just
  27. remove it from that list and rebuild.
  28. I. Special name "INBOX"
  29. The following rules to select INBOX and its format apply in
  30. the order given if "black box mode" is not in effect:
  31.  1) mbox format is selected if file ~/mbox exists, and is in unix
  32.     format or is zero-length.
  33.  2) mx format is selected if file ~/INBOX/.mxindex exists.
  34.  3) mbx format is selected if file ~/INBOX exists and is in mbx format.
  35.  4) tenex format is selected if:
  36.     a) file ~/mail.txt exists, and is in tenex format or is zero-length.
  37.     b) file ~/INBOX exists and is in tenex format.
  38.  5) mtx format is selected if:
  39.     a) file ~/INBOX.MTX exists, and is in mtx format or is zero-length.
  40.     b) file ~/INBOX exists and is in mtx format.
  41.  6) mmdf format is selected if the spool directory file exists and is
  42.     in mmdf format.
  43.  7) unix format is selected if the spool directory file exists and is
  44.     in in unix format.   
  45.  8) the dummy driver is selected if the spool directory file does not
  46.     exist, or exists and is empty.
  47. If "black box mode" is not in effect, messages are automatically
  48. transferred ("snarfed") from the spool directory to an INBOX in mbox,
  49. mx, mbx, tenex, and mtx formats.
  50. The following rules to select INBOX and its format apply in the order
  51. given if "black box mode" is in effect:
  52.  1) mx format is selected if file ~/INBOX/.mxindex exists.
  53.  2) mbx format is selected if file ~/INBOX exists and is in mbx format.
  54.  3) tenex format is selected if file ~/INBOX exists and is in tenex format.
  55.  4) mtx format is selected if file ~/INBOX exists and is in mtx format.
  56.  5) mmdf format is selected if file ~/INBOX exists and is in mmdf format.
  57.  6) unix format is selected if file ~/INBOX exists and is in unix format.
  58.  7) the dummy driver is selected if ~/INBOX does not exist, or exists
  59.     and is empty.
  60. II. Special Name #mhinbox
  61. #mhinbox always refers to the directory "inbox" in the MH path, which
  62. is declared in the ~/.mh_profile file.  Messages are automatically
  63. transferred from the spool directory to #mhinbox mailbox.
  64. III. Special Prefix "#mh/"
  65. Any name prefixed with "#mh/" always refers to a directory in the MH
  66. path, which is declared in the ~/.mh_profile file.  For example, the name
  67. "#mh/foo" refers to directory "foo" in the MH path.
  68. IV. Special prefix "#news."
  69. Any name prefixed with "#news" always refers to a newsgroup.  For
  70. example, the name "#news.comp.mail.misc" refers to newsgroup
  71. "comp.mail.misc".
  72. V. All Other Names
  73. The driver is selected by generating a file name from the mailbox
  74. name, and then examining the data of the object with the resulting
  75. name.  The formats are checked in order: mx, mbx, tenex, mtx, mmdf,
  76. unix, and phile.  The dummy driver is selected if the file is empty.
  77. The file name is generated according to certain rules, based upon the
  78. prefix of the mailbox name.  On UNIX, the following rules apply:
  79. Prefix Interpretation of Suffix
  80. ------ ------------------------
  81. / [black box] preceeds a user name; "/foo/bar" means
  82.  "black box user foo's mailbox bar"
  83. [not black box] preceeds an absolute path name.
  84. ~ [not black box] preceeds a user name; "~foo/bar" means
  85.  "UNIX user foo's mailbox bar"
  86. #ftp/ preceeds UNIX user ftp's mailbox name
  87. #public/ preceeds UNIX user imappublic's mailbox name
  88. #shared/ preceeds UNIX user imapshared's mailbox name
  89. All other names are interpreted in the context of the UNIX user's home
  90. directory (not black box), the black box user's black box directory
  91. (black box), or UNIX user ftp's home directory (anonymous).
  92. The strings "..", "//", and /~ are forbidden in names in:
  93.  black box mode
  94.  #ftp, #public, or #shared names
  95.  anonymous users
  96. Anonymous users may only access:
  97.  INBOX (belonging to UNIX user ftp)
  98.  files in or below UNIX user ftp's home directory
  99.  #ftp, #news, and #public namespace
  100. VI. Driver Comparison
  101. The following information about the local file drivers is an
  102. elaboration of a table compiled by Osma Ahvenlampi.
  103. Driver CA CE UID Kwd Sub NFS Performance Layout
  104. ------ -- -- --- --- --- --- ----------- ------
  105. unix no no yes yes no limited fair file
  106.  ;;; traditional UNIX format
  107. mbox no no yes yes no limited fair file
  108.  ;;; traditional UNIX format, INBOX only, using ~/mbox with automatic
  109.  ;;; moving from the mail spool directory.
  110. mmdf no no yes yes no limited fair file
  111.  ;;; default on SCO systems
  112. mbx yes yes yes yes no no very good prefile
  113.  ;;; best performing local file driver; preferred format at UW
  114. tenex yes no no limited no no good prefile
  115.  ;;; compatible with UNIX MM
  116. mtx yes no no limited no no very good prefile
  117.  ;;; PC Pine standard format; compatible with TOPS-20; identical to tenex
  118.  ;;; but instead CRLF newlines instead of LF
  119. mx yes buggy yes yes yes no poor ixdir
  120.  ;;; fullest function; *not* recommended due to performance problems and bugs;
  121.  ;;; to be redesigned/rewritten
  122. mh yes no no no yes yes very poor dir
  123.  ;;; compatible with mh; #mhinbox for INBOX, #mh/ prefix for all other names
  124. news yes no yes no yes yes very poor ixdir
  125.  ;;; local news spool access; #news. prefix for all names
  126. phile no no no no no yes good file
  127.  ;;; reads arbitrary file as a single readonly message
  128. IMPORTANT: the "performance" ratings are relative to other drivers,
  129. and not necessarily to other software which implements those formats.
  130. They relate to the driver's performance in typical operations such as
  131. an IMAP "FETCH ALL".
  132. Key to headings:
  133. CA: concurrent read/write access
  134. CE: expunge permitted in concurrent read/write access
  135. UID: sticky UIDs
  136. Kwd: keyword flags
  137. Sub: subfolders
  138. NFS: usable over network filesystems (NFS, AFS, etc.)
  139. Layout: file - single file
  140. prefile - file with preallocated space for state
  141. dir - directory, messages are files
  142. ixdir - directory, messages are files, with helper index
  143. In addition, drivers imap, nntp, and pop3 support IMAP4rev1, NNTP, and
  144. POP3 protocols respectively.