]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
snapshot-20001224
authorWietse Venema <wietse@porcupine.org>
Sun, 24 Dec 2000 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:27:03 +0000 (06:27 +0000)
postfix/html/postconf.1.html
postfix/html/virtual.8.html
postfix/man/man1/postconf.1
postfix/man/man8/virtual.8
postfix/src/global/mail_version.h
postfix/src/util/dict_mysql.c
postfix/src/virtual/virtual.c

index 042956fa72250038db3aba73be5bcc9d67e5c6ac..1e8e55cb908712f1b2de74214264fe5b6802c056 100644 (file)
@@ -38,11 +38,11 @@ POSTCONF(1)                                           POSTCONF(1)
        <b>-h</b>     Show  parameter  values  only,  not the ``name = ''
               label that normally precedes the value.
 
-       <b>-m</b>     List the names of all supported lookup table types.
-
-       <b>-l</b>     List  the  names  of  all supported mailbox locking
+       <b>-l</b>     List the names of  all  supported  mailbox  locking
               methods.
 
+       <b>-m</b>     List the names of all supported lookup table types.
+
        <b>-n</b>     Print non-default parameter settings only.
 
        <b>-v</b>     Enable verbose logging for debugging purposes. Mul-
index 4babb8c8abfb135573309bb832b9a92dec8a9083..5f5aafb9d7e0e1e3050bd358a50b4f7230692ae4 100644 (file)
@@ -6,12 +6,18 @@ VIRTUAL(8)                                             VIRTUAL(8)
 
 
 <b>NAME</b>
-       virtual - Postfix virtual mail delivery
+       virtual - Postfix virtual domain mail delivery agent
 
 <b>SYNOPSIS</b>
        <b>virtual</b> [generic Postfix daemon options]
 
 <b>DESCRIPTION</b>
+       This  daemon  is  designed for ISP's offering virtual mail
+       hosting services. Originally based on the  local  delivery
+       agent,  this  agent locates user mailboxes via map lookups
+       of the full recipient address, rather than hard-coded unix
+       password file searches of the local part only.
+
        The  <b>virtual</b>  daemon  processes delivery requests from the
        Postfix queue manager to deliver  mail  to  virtual  local
        recipients.  Each delivery request specifies a queue file,
@@ -19,12 +25,6 @@ VIRTUAL(8)                                             VIRTUAL(8)
        or  more  recipients.  This program expects to be run from
        the <a href="master.8.html"><b>master</b>(8)</a> process manager.
 
-       This daemon is designed for ISP's  offering  virtual  mail
-       hosting  services.  Originally based on the local delivery
-       agent, this agent locates user mailboxes via  map  lookups
-       of the full recipient address, rather than hard-coded unix
-       password file searches of the local part only.
-
        The <b>virtual</b> daemon updates queue files and  marks  recipi-
        ents  as  finished,  or  it informs the queue manager that
        delivery should be tried again at a later  time.  Delivery
@@ -32,33 +32,33 @@ VIRTUAL(8)                                             VIRTUAL(8)
        mon as appropriate.
 
 <b>MAILBOX</b> <b>DELIVERY</b>
-       The default per-user mailbox is a file in  the  UNIX  mail
-       spool  directory (<b>/var/mail/</b><i>user</i> or <b>/var/spool/mail/</b><i>user</i>);
-       the location can be specified with  the  <b>mail</b><i>_</i><b>spool</b><i>_</i><b>direc-</b>
-       <b>tory</b> configuration parameter.
+       The <b>virtual</b> delivery agent can deliver to UNIX-style mail-
+       box file or to qmail-style maildir files. The pathname and
+       delivery mailbox style are controlled by the <b>virtual</b><i>_</i><b>mail-</b>
+       <b>box</b><i>_</i><b>base</b> and <b>virtual</b><i>_</i><b>mailbox</b><i>_</i><b>maps</b> configuration parameters
+       (see below).
 
        In the case of UNIX-style mailbox delivery, the <b>local</b> dae-
        mon prepends a "<b>From</b> <i>sender</i> <i>time_stamp</i>" envelope header to
-       each  message,  prepends  a  <b>Delivered-To:</b> header with the
+       each message, prepends a  <b>Delivered-To:</b>  header  with  the
        envelope recipient address, prepends a <b>Return-Path:</b> header
-       with  the  envelope sender address, prepends a &gt; character
-       to lines beginning with "<b>From</b>  ",  and  appends  an  empty
-       line.   The  mailbox  is locked for exclusive access while
-       delivery is in progress. In case of problems,  an  attempt
+       with the envelope sender address, prepends a  &gt;  character
+       to  lines  beginning  with  "<b>From</b>  ", and appends an empty
+       line.  The mailbox is locked for  exclusive  access  while
+       delivery  is  in progress. In case of problems, an attempt
        is made to truncate the mailbox to its original length.
 
        In the case of <b>maildir</b> delivery, the local daemon prepends
        a <b>Delivered-To:</b> header with the envelope recipient address
-       and  prepends  a  <b>Return-Path:</b>  header  with  the envelope
+       and prepends  a  <b>Return-Path:</b>  header  with  the  envelope
        sender address.
 
 <b>DELIVERY</b> <b>RIGHTS</b>
-       Deliveries to mailboxes are made with the  rights  of  the
-       receiving user on whose behalf the delivery is made.
-
-<b>STANDARDS</b>
-       <a href="http://www.faqs.org/rfcs/rfc822.html">RFC 822</a> (ARPA Internet Text Messages)
+       Deliveries  are  made  with  the user and group privileges
+       that are listed in the  tables  specified  with  the  <b>vir-</b>
+       <b>tual</b><i>_</i><b>uid</b><i>_</i><b>maps</b> and <b>virtual</b><i>_</i><b>gid</b><i>_</i><b>maps</b>, respectively.
 
+       The  <b>virtual</b><i>_</i><b>minimum</b><i>_</i><b>uid</b> parameter specifies a lower bound
 
 
 
@@ -71,36 +71,46 @@ VIRTUAL(8)                                             VIRTUAL(8)
 VIRTUAL(8)                                             VIRTUAL(8)
 
 
+       on  user  ID  values  that  may  be  specified   in   <b>vir-</b>
+       <b>tual</b><i>_</i><b>uid</b><i>_</i><b>maps</b>.  Mail  will not be delivered when a too low
+       UID value is found.
+
+<b>STANDARDS</b>
+       <a href="http://www.faqs.org/rfcs/rfc822.html">RFC 822</a> (ARPA Internet Text Messages)
+
 <b>DIAGNOSTICS</b>
-       Problems  and transactions are logged to <b>syslogd</b>(8).  Cor-
-       rupted message files are marked so that the queue  manager
+       Problems and transactions are logged to <b>syslogd</b>(8).   Cor-
+       rupted  message files are marked so that the queue manager
        can move them to the <b>corrupt</b> queue afterwards.
 
-       Depending  on the setting of the <b>notify</b><i>_</i><b>classes</b> parameter,
-       the postmaster is notified of bounces and of  other  trou-
+       Depending on the setting of the <b>notify</b><i>_</i><b>classes</b>  parameter,
+       the  postmaster  is notified of bounces and of other trou-
        ble.
 
 <b>CONFIGURATION</b> <b>PARAMETERS</b>
-       The  following  <b>main.cf</b> parameters are especially relevant
-       to this program. See the Postfix <b>main.cf</b> file  for  syntax
-       details  and  for  default  values. Use the <b>postfix</b> <b>reload</b>
+       The following <b>main.cf</b> parameters are  especially  relevant
+       to  this  program. See the Postfix <b>main.cf</b> file for syntax
+       details and for default values.  Use  the  <b>postfix</b>  <b>reload</b>
        command after a configuration change.
 
 <b>Mailbox</b> <b>delivery</b>
        <b>virtual</b><i>_</i><b>mailbox</b><i>_</i><b>base</b>
-              Specifies a path that is prepended to  all  mailbox
-              paths. This is a safety measure to ensure an out of
-              control map  doesn't  litter  the  filesystem  with
-              mailboxes. While it could be set to "/", this isn't
-              recommended.
+              Specifies  a  path that is prepended to all mailbox
+              or maildir paths.  This  is  a  safety  measure  to
+              ensure  that an out of control map in <b>virtual</b><i>_</i><b>mail-</b>
+              <b>box</b><i>_</i><b>maps</b> doesn't litter the filesystem  with  mail-
+              boxes.   While it could be set to "/", this setting
+              isn't recommended.
 
        <b>virtual</b><i>_</i><b>mailbox</b><i>_</i><b>maps</b>
               Recipients are looked up in this map  to  determine
-              the  path  to  their  mailbox. If the returned path
-              ends in a slash ("/"),  maildir-style  delivery  is
-              carried out, otherwise the path is assumed to spec-
-              ify a mailbox file. Note that  <b>virtual</b><i>_</i><b>mailbox</b><i>_</i><b>base</b>
-              is unconditionally prepended to this path.
+              the  path  to  their  mailbox  or  maildir.  If the
+              returned path ends in a slash ("/"),  maildir-style
+              delivery  is  carried  out,  otherwise  the path is
+              assumed to specify a mailbox file.
+
+              Note that <b>virtual</b><i>_</i><b>mailbox</b><i>_</i><b>base</b>  is  unconditionally
+              prepended to this path.
 
        <b>virtual</b><i>_</i><b>minimum</b><i>_</i><b>uid</b>
               Specifies  a minimum uid that will be accepted as a
@@ -115,16 +125,6 @@ VIRTUAL(8)                                             VIRTUAL(8)
 
        <b>virtual</b><i>_</i><b>gid</b><i>_</i><b>maps</b>
               Recipients are looked up in this map  to  determine
-              the GID to be used when writing to the target mail-
-              box.
-
-<b>Locking</b> <b>controls</b>
-       <b>mailbox</b><i>_</i><b>delivery</b><i>_</i><b>lock</b>
-              How to lock UNIX-style mailboxes: one  or  more  of
-              <b>flock</b>, <b>fcntl</b> or <b>dotlock</b>.
-
-       <b>deliver</b><i>_</i><b>lock</b><i>_</i><b>attempts</b>
-              Limit   the   number  of  attempts  to  acquire  an
 
 
 
@@ -137,14 +137,27 @@ VIRTUAL(8)                                             VIRTUAL(8)
 VIRTUAL(8)                                             VIRTUAL(8)
 
 
-              exclusive lock on a mailbox file.
+              the GID to be used when writing to the target mail-
+              box.
+
+<b>Locking</b> <b>controls</b>
+       <b>mailbox</b><i>_</i><b>delivery</b><i>_</i><b>lock</b>
+              How to lock UNIX-style mailboxes: one  or  more  of
+              <b>flock</b>, <b>fcntl</b> or <b>dotlock</b>.
+
+              Use  the command <b>postconf</b> <b>-m</b> to find out what lock-
+              ing methods are available on your system.
+
+       <b>deliver</b><i>_</i><b>lock</b><i>_</i><b>attempts</b>
+              Limit the number of attempts to acquire  an  exclu-
+              sive lock on a mailbox file.
 
        <b>deliver</b><i>_</i><b>lock</b><i>_</i><b>delay</b>
-              Time in  seconds  between  successive  attempts  to
-              acquire an exclusive lock on a mailbox file.
+              Time (default: seconds) between successive attempts
+              to acquire an exclusive lock on a mailbox file.
 
        <b>stale</b><i>_</i><b>lock</b><i>_</i><b>time</b>
-              Limit  the  time  after  which  a stale lockfile is
+              Limit the time after  which  a  stale  lockfile  is
               removed.
 
 <b>Resource</b> <b>controls</b>
@@ -154,20 +167,20 @@ VIRTUAL(8)                                             VIRTUAL(8)
               <b>default</b><i>_</i><b>destination</b><i>_</i><b>concurrency</b><i>_</i><b>limit</b> parameter.
 
        <b>virtual</b><i>_</i><b>destination</b><i>_</i><b>recipient</b><i>_</i><b>limit</b>
-              Limit the number of recipients per  message  deliv-
-              ery.    The   default   limit  is  taken  from  the
+              Limit  the  number of recipients per message deliv-
+              ery.   The  default  limit  is   taken   from   the
               <b>default</b><i>_</i><b>destination</b><i>_</i><b>recipient</b><i>_</i><b>limit</b> parameter.
 
 <b>HISTORY</b>
-       This agent was originally  based  on  the  local  delivery
-       agent.  Modifications  mainly  consisted  of removing code
-       that wasn't applicable or  wasn't  safe  in  this  context
+       This  agent  was  originally  based  on the local delivery
+       agent. Modifications mainly  consisted  of  removing  code
+       that  wasn't  applicable  or  wasn't  safe in this context
        (aliases, .forwards, program aliases).
 
-       The  <b>Delivered-To:</b>  header  appears in the <b>qmail</b> system by
+       The <b>Delivered-To:</b> header appears in the  <b>qmail</b>  system  by
        Daniel Bernstein.
 
-       The <i>maildir</i> structure  appears  in  the  <b>qmail</b>  system  by
+       The  <i>maildir</i>  structure  appears  in  the  <b>qmail</b> system by
        Daniel Bernstein.
 
 <b>SEE</b> <b>ALSO</b>
@@ -176,9 +189,20 @@ VIRTUAL(8)                                             VIRTUAL(8)
        <a href="qmgr.8.html">qmgr(8)</a> queue manager
 
 <b>LICENSE</b>
-       The  Secure  Mailer  license must be distributed with this
+       The Secure Mailer license must be  distributed  with  this
        software.
 
+
+
+                                                                3
+
+
+
+
+
+VIRTUAL(8)                                             VIRTUAL(8)
+
+
 <b>AUTHOR(S)</b>
        Wietse Venema
        IBM T.J. Watson Research
@@ -194,7 +218,49 @@ VIRTUAL(8)                                             VIRTUAL(8)
 
 
 
-                                                                3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                                4
 
 
 </pre> </body> </html>
index eabc01bfecc0826e143b68609fbcc8101495037e..291bc0dd177a203d0ee58e92c9bc4576bbb44f2b 100644 (file)
@@ -36,10 +36,10 @@ to protect shell metacharacters and whitespace.
 .IP \fB-h\fR
 Show parameter values only, not the ``name = '' label
 that normally precedes the value.
-.IP \fB-m\fR
-List the names of all supported lookup table types.
 .IP \fB-l\fR
 List the names of all supported mailbox locking methods.
+.IP \fB-m\fR
+List the names of all supported lookup table types.
 .IP \fB-n\fR
 Print non-default parameter settings only.
 .IP \fB-v\fR
index 42ab48e8c20d1df040a90d9d262a43327943cb08..79849c37da3397751db2ab8e1b97473cbdda9240 100644 (file)
@@ -4,7 +4,7 @@
 .SH NAME
 virtual
 \-
-Postfix virtual mail delivery
+Postfix virtual domain mail delivery agent
 .SH SYNOPSIS
 .na
 .nf
@@ -12,6 +12,12 @@ Postfix virtual mail delivery
 .SH DESCRIPTION
 .ad
 .fi
+This daemon is designed for ISP's offering virtual mail hosting
+services. Originally based on the local delivery agent, this agent
+locates user mailboxes via map lookups of the full recipient
+address, rather than hard-coded unix password file searches of
+the local part only.
+
 The \fBvirtual\fR daemon processes delivery requests from the
 Postfix queue manager to deliver mail to virtual local recipients.
 Each delivery request specifies a queue file, a sender address,
@@ -19,12 +25,6 @@ a domain or host to deliver to, and one or more recipients.
 This program expects to be run from the \fBmaster\fR(8) process
 manager.
 
-This daemon is designed for ISP's offering virtual mail hosting
-services. Originally based on the local delivery agent, this agent
-locates user mailboxes via map lookups of the full recipient
-address, rather than hard-coded unix password file searches of
-the local part only.
-
 The \fBvirtual\fR daemon updates queue files and marks recipients
 as finished, or it informs the queue manager that delivery should
 be tried again at a later time. Delivery problem reports are sent
@@ -34,10 +34,10 @@ to the \fBbounce\fR(8) or \fBdefer\fR(8) daemon as appropriate.
 .nf
 .ad
 .fi
-The default per-user mailbox is a file in the UNIX mail spool
-directory (\fB/var/mail/\fIuser\fR or \fB/var/spool/mail/\fIuser\fR);
-the location can be specified with the \fBmail_spool_directory\fR
-configuration parameter.
+The \fBvirtual\fR delivery agent can deliver to UNIX-style mailbox
+file or to qmail-style maildir files. The pathname and delivery
+mailbox style are controlled by the \fBvirtual_mailbox_base\fR
+and \fBvirtual_mailbox_maps\fR configuration parameters (see below).
 
 In the case of UNIX-style mailbox delivery,
 the \fBlocal\fR daemon prepends a "\fBFrom \fIsender time_stamp\fR"
@@ -58,8 +58,13 @@ address.
 .nf
 .ad
 .fi
-Deliveries to mailboxes are made with the rights of the receiving
-user on whose behalf the delivery is made.
+Deliveries are made with the user and group privileges that are
+listed in the tables specified with the \fBvirtual_uid_maps\fR
+and \fBvirtual_gid_maps\fR, respectively.
+
+The \fBvirtual_minimum_uid\fR parameter specifies a lower bound on
+user ID values that may be specified in \fBvirtual_uid_maps\fR. Mail
+will not be delivered when a too low UID value is found.
 .SH STANDARDS
 .na
 .nf
@@ -86,17 +91,18 @@ a configuration change.
 .ad
 .fi
 .IP \fBvirtual_mailbox_base\fR
-Specifies a path that is prepended to all mailbox paths. This is
-a safety measure to ensure an out of control map doesn't litter
-the filesystem with mailboxes. While it could be set to "/",
-this isn't recommended.
+Specifies a path that is prepended to all mailbox or maildir paths.
+This is a safety measure to ensure that an out of control map in
+\fBvirtual_mailbox_maps\fR doesn't litter the filesystem with mailboxes.
+While it could be set to "/", this setting isn't recommended.
 .IP \fBvirtual_mailbox_maps\fR
-Recipients are looked up in this map to determine the path
-to their mailbox. If the returned path ends in a slash
-("/"), maildir-style delivery is carried out, otherwise
-the path is assumed to specify a mailbox file. Note that
-\fBvirtual_mailbox_base\fR is unconditionally prepended to
-this path.
+Recipients are looked up in this map to determine the path to
+their mailbox or maildir. If the returned path ends in a slash
+("/"), maildir-style delivery is carried out, otherwise the
+path is assumed to specify a mailbox file.
+
+Note that \fBvirtual_mailbox_base\fR is unconditionally prepended
+to this path.
 .IP \fBvirtual_minimum_uid\fR
 Specifies a minimum uid that will be accepted as a return from
 a \fBvirtual_uid_maps\fR lookup. Returned values less than this
@@ -113,11 +119,14 @@ used when writing to the target mailbox.
 .IP \fBmailbox_delivery_lock\fR
 How to lock UNIX-style mailboxes: one or more of \fBflock\fR,
 \fBfcntl\fR or \fBdotlock\fR.
+
+Use the command \fBpostconf -m\fR to find out what locking methods
+are available on your system.
 .IP \fBdeliver_lock_attempts\fR
 Limit the number of attempts to acquire an exclusive lock
 on a mailbox file.
 .IP \fBdeliver_lock_delay\fR
-Time in seconds between successive attempts to acquire
+Time (default: seconds) between successive attempts to acquire
 an exclusive lock on a mailbox file.
 .IP \fBstale_lock_time\fR
 Limit the time after which a stale lockfile is removed.
index 72c9a739854f110372a928fff7ded36e45c0a967..3a69655e4fe67a8d4bb46918d851f6d2ce857001 100644 (file)
@@ -15,7 +15,7 @@
   * Version of this program.
   */
 #define VAR_MAIL_VERSION       "mail_version"
-#define DEF_MAIL_VERSION       "Snapshot-20001221"
+#define DEF_MAIL_VERSION       "Snapshot-20001224"
 extern char *var_mail_version;
 
 /* LICENSE
index 26498f4847963c41e45b67bc837ad7da291b09b2..c4e5b5e15d7026a215c1fda600221885e7dc786f 100644 (file)
@@ -128,8 +128,8 @@ static void plmysql_down_host(HOST *);
 static void plmysql_connect_single(HOST *, char *, char *, char *);
 static int plmysql_ready_reconn(HOST *);
 static void dict_mysql_update(DICT *, const char *, const char *);
-static void dict_mysql_delete(struct DICT *, const char *);
-static void dict_mysql_sequence(struct DICT *, const int, const char **, const char **);
+static void dict_mysql_delete(DICT *, const char *);
+static void dict_mysql_sequence(DICT *, const int, const char **, const char **);
 static const char *dict_mysql_lookup(DICT *, const char *);
 DICT   *dict_mysql_open(const char *, int, int);
 static void dict_mysql_close(DICT *);
index 665cbe7795b48b045b20076c6d0a71fc15eafc0e..87a71d3cad166af7d5c947a8c412e70786c0a2c1 100644 (file)
@@ -6,64 +6,91 @@
 /* SYNOPSIS
 /*     \fBvirtual\fR [generic Postfix daemon options]
 /* DESCRIPTION
-/*     This daemon is designed for ISP's offering virtual mail hosting
-/*     services. Originally based on the local delivery agent, this agent
-/*     locates user mailboxes via map lookups of the full recipient
-/*     address, rather than hard-coded unix password file searches of
-/*     the local part only.
+/*     The \fBvirtual\fR delivery agent is designed for virtual mail 
+/*     hosting services. Originally based on the Postfix local delivery 
+/*     agent, this agent looks up recipients with map lookups of their 
+/*     full recipient address, instead of using hard-coded unix password 
+/*     file lookups of the address local part only. 
 /*
-/*     The \fBvirtual\fR daemon processes delivery requests from the
-/*     Postfix queue manager to deliver mail to virtual local recipients.
-/*     Each delivery request specifies a queue file, a sender address,
-/*     a domain or host to deliver to, and one or more recipients.
-/*     This program expects to be run from the \fBmaster\fR(8) process
-/*     manager.
+/*     This delivery agent only delivers mail.  Other features such as 
+/*     mail forwarding, out-of-office notifications, etc., must be 
+/*     configured via virtual maps or via similar lookup mechanisms.
+/* MAILBOX LOCATION
+/* .ad
+/* .fi
+/*     The mailbox location is controlled by the \fBvirtual_mailbox_base\fR
+/*     and \fBvirtual_mailbox_maps\fR configuration parameters (see below).
+/*     The pathname is constructed as follows:
 /*
-/*     The \fBvirtual\fR daemon updates queue files and marks recipients
-/*     as finished, or it informs the queue manager that delivery should
-/*     be tried again at a later time. Delivery problem reports are sent
-/*     to the \fBbounce\fR(8) or \fBdefer\fR(8) daemon as appropriate.
-/* MAILBOX DELIVERY
+/* .ti +2
+/*     \fB$virtual_mailbox_base/$virtual_mailbox_maps(\fIrecipient\fB)\fR
+/*
+/*     where \fIrecipient\fR is the full recipient address.
+/* UNIX MAILBOX FORMAT
 /* .ad
 /* .fi
-/*     The \fBvirtual\fR delivery agent can deliver to UNIX-style mailbox
-/*     file or to qmail-style maildir files. The pathname and delivery
-/*     mailbox style are controlled by the $\fBvirtual_mailbox_base\fR
-/*     and \fB$virtual_mailbox_maps\fR parameters (see below).
+/*     When the mailbox location does not end in \fB/\fR, the message
+/*     is delivered in UNIX mailbox format.   This format stores multiple
+/*     messages in one textfile.
+/*
+/*     The \fBvirtual\fR delivery agent prepends a "\fBFrom \fIsender 
+/*     time_stamp\fR" envelope header to each message, prepends a 
+/*     \fBDelivered-To:\fR message header with the envelope recipient 
+/*     address, prepends a \fBReturn-Path:\fR message header with the 
+/*     envelope sender address, prepends a \fB>\fR character to lines 
+/*     beginning with "\fBFrom \fR", and appends an empty line.
 /*
-/*     In the case of UNIX-style mailbox delivery,
-/*     the \fBlocal\fR daemon prepends a "\fBFrom \fIsender time_stamp\fR"
-/*     envelope header to each message, prepends a \fBDelivered-To:\fR header
-/*     with the envelope recipient address, prepends a \fBReturn-Path:\fR
-/*     header with the envelope sender address, prepends a \fB>\fR character
-/*     to lines beginning with "\fBFrom \fR", and appends an empty line.
 /*     The mailbox is locked for exclusive access while delivery is in
 /*     progress. In case of problems, an attempt is made to truncate the
 /*     mailbox to its original length.
-/*
-/*     In the case of \fBmaildir\fR delivery, the local daemon prepends
-/*     a \fBDelivered-To:\fR header with the envelope recipient address
-/*     and prepends a \fBReturn-Path:\fR header with the envelope sender
-/*     address.
-/* DELIVERY RIGHTS
+/* QMAIL MAILDIR FORMAT
 /* .ad
 /* .fi
-/*     Deliveries to mailboxes are made with the UID and GID that are listed
-/*     for the recipient in the tables listed in the \fB$virtual_uid_maps\fR
-/*     and \fB$virtual_gid_maps\fR, respectively.
+/*     When the mailbox location ends in \fB/\fR, the message is delivered
+/*     in qmail \fBmaildir\fR format. This format stores one message per file.
+/*
+/*     The \fBvirtual\fR delivery agent daemon prepends a \fBDelivered-To:\fR 
+/*     message header with the envelope recipient address and prepends a 
+/*     \fBReturn-Path:\fR message header with the envelope sender address.
 /*
-/*     The \fBvirtual_minimum_uid\fR parameter specifies a lower bound on
-/*     UID values that may be specified in \fB$virtual_uid_maps\fR. Mail
-/*     will not be delivered when an invalid UID is found.
+/*     By definition, \fBmaildir\fR format does not require file locking
+/*     during mail delivery or retrieval.
+/* MAILBOX OWNERSHIP
+/* .ad
+/* .fi
+/*     Mailbox ownership is controlled by the \fBvirtual_owner_maps\fR
+/*     lookup tables. These tables can perform the following mappings:
+/* .IP "recipient      username"
+/*     The mailbox is owned by the specified UNIX user.
+/* .IP "recipient      uid:gid"
+/*     The mailbox is owned by the specified numerical user and group ID.
+/* BACKWARDS COMPATIBILITY
+/* .ad
+/* .fi
+/*     For backwards compatibility, mailbox ownership can also be specified
+/*     through separate \fBvirtual_uid_maps\fR and \fBvirtual_gid_maps\fR
+/*     tables.
+/* SAFETY
+/* .ad
+/* .fi
+/*     The \fBvirtual_minimum_uid\fR parameter imposes a lower bound on 
+/*     numerical user ID values that may be specified in any 
+/*     \fBvirtual_owner_maps\fR or \fBvirtual_uid_maps\fR.
 /* STANDARDS
 /*     RFC 822 (ARPA Internet Text Messages)
 /* DIAGNOSTICS
+/*     Mail bounces when the recipient has no mailbox or when the
+/*     recipient is over disk quota. In all other cases, mail for
+/*     an existing recipient is deferred and a warning is logged.
+/*
 /*     Problems and transactions are logged to \fBsyslogd\fR(8).
 /*     Corrupted message files are marked so that the queue
 /*     manager can move them to the \fBcorrupt\fR queue afterwards.
 /*
 /*     Depending on the setting of the \fBnotify_classes\fR parameter,
 /*     the postmaster is notified of bounces and of other trouble.
+/* BUGS
+/*     This delivery agent silently ignores address extensions.
 /* CONFIGURATION PARAMETERS
 /* .ad
 /* .fi
 /*     \fBvirtual_mailbox_maps\fR doesn't litter the filesystem with mailboxes.
 /*     While it could be set to "/", this setting isn't recommended.
 /* .IP \fBvirtual_mailbox_maps\fR
-/*     Recipients are looked up in this map to determine the path to
+/*     Recipients are looked up in these maps to determine the path to
 /*     their mailbox or maildir. If the returned path ends in a slash
 /*     ("/"), maildir-style delivery is carried out, otherwise the
 /*     path is assumed to specify a mailbox file.
 /*     to this path.
 /* .IP \fBvirtual_minimum_uid\fR
 /*     Specifies a minimum uid that will be accepted as a return from
-/*     a \fBvirtual_uid_maps\fR lookup. Returned values less than this
-/*     will be rejected, and the message will be deferred.
+/*     a \fBvirtual_owner_maps\fR or \fBvirtual_uid_maps\fR lookup. 
+/*     Returned values less than this will be rejected, and the message 
+/*     will be deferred.
+/* .IP \fBvirtual_owner_maps\fR
+/*     Recipients are looked up in these maps to determine the UNIX user
+/*     name of the mailbox owner, or the numerical user and group ID
+/*     in numerical \fIuid:gid\fR format.
 /* .IP \fBvirtual_uid_maps\fR
-/*     Recipients are looked up in this map to determine the UID to be
+/*     Recipients are looked up in these maps to determine the user ID to be
 /*     used when writing to the target mailbox.
+/* .sp
+/*     This feature exists for backwards compatibility; it will go away.
 /* .IP \fBvirtual_gid_maps\fR
-/*     Recipients are looked up in this map to determine the GID to be
+/*     Recipients are looked up in these maps to determine the group ID to be
 /*     used when writing to the target mailbox.
+/* .sp
+/*     This feature exists for backwards compatibility; it will go away.
 /* .SH "Locking controls"
 /* .ad
 /* .fi
 /* .IP \fBmailbox_delivery_lock\fR
 /*     How to lock UNIX-style mailboxes: one or more of \fBflock\fR,
 /*     \fBfcntl\fR or \fBdotlock\fR.
+/*
+/*     Use the command \fBpostconf -m\fR to find out what locking methods
+/*     are available on your system.
 /* .IP \fBdeliver_lock_attempts\fR
 /*     Limit the number of attempts to acquire an exclusive lock
-/*     on a mailbox file.
+/*     on a UNIX-style mailbox file.
 /* .IP \fBdeliver_lock_delay\fR
-/*     Time in seconds between successive attempts to acquire
-/*     an exclusive lock on a mailbox file.
+/*     Time (default: seconds) between successive attempts to acquire
+/*     an exclusive lock on a UNIX-style mailbox file.
 /* .IP \fBstale_lock_time\fR
-/*     Limit the time after which a stale lockfile is removed.
+/*     Limit the time after which a stale lockfile is removed (applicable
+/*     to UNIX-style mailboxes only).
 /* .SH "Resource controls"
 /* .ad
 /* .fi
 /* HISTORY
 /* .ad
 /* .fi
-/*     This agent was originally based on the local delivery
-/*     agent. Modifications mainly consisted of removing code that wasn't
-/*     applicable or wasn't safe in this context (aliases, .forwards,
-/*     program aliases).
+/*     This agent was originally based on the Postfix local delivery
+/*     agent. Modifications mainly consisted of removing code that either
+/*     was not applicable or that was not safe in this context: aliases,
+/*     ~user/.forward files, delivery to "|command" or to /file/name.
 /*
 /*     The \fBDelivered-To:\fR header appears in the \fBqmail\fR system
 /*     by Daniel Bernstein.