]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.6-20090123
authorWietse Venema <wietse@porcupine.org>
Fri, 23 Jan 2009 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:35:10 +0000 (06:35 +0000)
postfix/HISTORY
postfix/RELEASE_NOTES
postfix/conf/postfix-wrapper
postfix/html/postfix-wrapper.5.html
postfix/man/man5/postfix-wrapper.5
postfix/mantools/postlink
postfix/proto/postfix-wrapper
postfix/src/global/mail_version.h

index 90ee4ad5c986015b58d8cce1fd718308eab74ecf..55265c1570c4bcce56839571839c7a4b2ff979e7 100644 (file)
@@ -14934,3 +14934,9 @@ Apologies for any names omitted.
 
        Bugfix: the data_directory was not automatically created!
        File: conf/postfix-files.
+
+20090123
+
+       More little fixes in the "trivial but useful" postfix-wrapper
+       including instructions. It's ready for testing in the field.
+       File: conf/postfix-wrapper.
index 3847b496868bae62c6f90c6916e3998595fb8891..d5f742811b7fd9c1e1619e1a30971a62f3e4cd05 100644 (file)
@@ -14,11 +14,38 @@ specifies the release date of a stable release or snapshot release.
 Major changes with snapshot 20090121
 ====================================
 
-Plug-in support for multi-instance managers. Basically this
-automatically applies your "postfix start" etc. command to multiple
-Postfix instances if available.  The postfix-wrapper script (in the
-daemon directory) provides a simple multi-instance manager with
-instructions. The plug-in API itself is described in postfix-wrapper(5).
+Plug-in support for managing multiple Postfix instances.  This can
+automatically apply your "postfix start" etc. command to multiple
+Postfix instances, including upgrades to new Postfix versions.
+Multi-instance support allows you to do the following and more:
+
+- Simplify post-queue content filter configuration by using separate
+  Postfix instances before and after the filter. This simplifies
+  trouble shooting and performance tuning.
+
+- Implement per-user content filters (or no filter) via transport
+  map lookups instead of content_filter settings. Mail for some
+  users can be sent directly from the before-filter instance to the
+  after-filter instance.
+
+- Test new configuration settings (on a different server IP address
+  or TCP port) without disturbing production instances.
+
+- Each additional Postfix instance uses a few files and directories,
+  plus memory for an extra master daemon and queue manager. The
+  pickup daemon is needed only if you use local submission or
+  "postsuper -r".
+
+Best of all, nothing changes when you use only one Postfix instance.
+
+The postfix-wrapper script (in the daemon directory) implements a
+simple but useful multi-instance manager, with instructions. The
+plug-in API itself is described in the postfix-wrapper(5) manpage.
+
+A more sophisticated multi-instance manager called postmulti(1) is
+approaching completion. A prototype version has been used internally
+at Morgan Stanley. This version will be adapted to the new plug-in
+API which makes some simplification possible.
 
 Major changes with snapshot 20090109
 ====================================
index b48536b4937cd6344e7da89ffdaa9ce2a2294d1d..ff9afef47b9d49775f7af12ae0d510f72df37f50 100644 (file)
@@ -7,11 +7,9 @@
 # NAME
 #      postfix-wrapper 1
 # SUMMARY
-#      trivial multi-instance manager
+#      trivial but useful multi-instance manager
 # SYNOPSIS
 #      postfix command
-#
-#      postfix /usr/libexec/postfix/postfix-wrapper init
 # DESCRIPTION
 #      This command implements a trivial Postfix multi-instance
 #      manager.
 #      of its configuration files is specified by the built-in
 #      default value for the config_directory parameter.  Other
 #      Postfix instances are optional.
-# MANAGING INSTANCES
+# MANAGING MULTIPLE INSTANCES
 # .ad
 # .fi
 #      To hook the postfix-wrapper multi-instance manager into
-#      Postfix, see the WRAPPER INITIALIZATION section below.  To
-#      create a new Postfix instance, see the CREATING A NEW POSTFIX
-#      INSTANCE section below.
+#      Postfix, see the POSTFIX-WRAPPER INITIALIZATION section
+#      below.  To create a new Postfix instance, see the CREATING
+#      A NEW POSTFIX INSTANCE section below.
 #
 #      To start, stop, get status, etc., with multiple Postfix
 #      instances, use:
 #      The startup order is used for all postfix(1) commands,
 #      except for commands that stop Postfix instances. In those
 #      cases the order is reversed.
-#
+# MANAGING INDIVIDUAL INSTANCES
+# .ad
+# .fi
 #      To manage an individual Postfix instance, use:
 #
 # .nf
 #          # postfix -c /path/to/config_directory command
 # .fi
 #
-#      Note: only the default Postfix instance will check or update
-#      the shared Postfix files, including the executable files
-#      and documentation.
-# WRAPPER INITIALIZATION
+#      This is also needed to manage the default Postfix instance,
+#      after you turn on multi-instance support.
+#
+#      To use the Postfix sendmail command with a non-default
+#      Postfix instance, use:
+#
+# .nf
+#          # sendmail -C /path/to/config_directory ...
+# .fi
+#
+#      Note 1: that's capital C, not lower-case c.
+#
+#      Note 2: only the default Postfix instance will check or
+#      update the shared Postfix files, including the executable
+#      files and documentation.
+# POSTFIX-WRAPPER INITIALIZATION
 # .ad
 # .fi
 #      To hook this program into Postfix, execute the following
-#      command, replacing /etc/postfix by the default Postfix
-#      configuration directory, and replacing /usr/libexec/postfix
-#      by the actual path of the Postfix daemon directory:
+#      command. 
+#
+#      Replace /etc/postfix with the default Postfix configuration
+#      directory, and replace /usr/libexec/postfix with the daemon
+#      directory pathname of the default Postfix instance.
+#
+#      This command should be entered as one line.
 #
 # .nf
-#          # postfix -c /etc/postfix
-#              /usr/libexec/postfix/postfix-wrapper init
+#          # postconf -c /etc/postfix -e
+#              "multi_instance_enable=yes"
+#              "multi_instance_wrapper=/usr/libexec/postfix/postfix-wrapper"
 # .fi
 # CREATING A NEW POSTFIX INSTANCE
 # .ad
 # .fi
 #      To create a Postfix instance called "postfix-test", start
-#      with working main.cf and master.cf files and customize the
-#      locations of the queue and data directories.  The last
-#      command below also creates any directories that Postfix
-#      will need.
+#      with generic main.cf and master.cf files and customize the
+#      locations of the queue and data directories as shown below.
+#      The last command updates main.cf and creates any directories
+#      that Postfix will need. 
+#
+#      Replace /etc/postfix with the default Postfix configuration
+#      directory, and replace /usr/libexec/postfix with the daemon
+#      directory pathname of the default Postfix instance.
+#
+#      Each command should be entered as one line.
 #
 # .nf
 #          # mkdir /etc/postfix-test
-#          # cp /etc/postfix/main.cf /etc/postfix-test
-#          # cp /etc/postfix/master.cf /etc/postfix-test
+#          # cp /usr/libexec/postfix/main.cf /etc/postfix-test
+#          # cp /usr/libexec/postfix/master.cf /etc/postfix-test
 #          # postconf -c /etc/postfix-test -e 
 #              "multi_instance_name=postfix-test"
-#          # postfix -c /etc/postfix-test post-install
+#          # postfix -c /etc/postfix post-install
+#              "config_directory=/etc/postfix-test"
 #              "queue_directory=/var/spool/postfix-test"
 #              "data_directory=/var/lib/postfix-test"
 #              create-missing
 # .fi
 #
-#      Register this Postfix instance with the default instance:
+#      Register this Postfix instance with the default instance.
+#      This command should be entered as one line.
 #
 # .nf
 #          # postconf -e "multi_instance_directories=`postconf
 #
 # .nf
 #          # postfix -c /etc/postfix-test start
+#          # postfix -c /etc/postfix-test status
+#          [ other tests ... ]
 # .fi
 #
 #      When everything is working satisfactorily, enable start/stop/etc.
 
 POSTCONF=$command_directory/postconf
 POSTFIX=$command_directory/postfix
-WRAPPER=$daemon_directory/postfix-wrapper
 
 # Canonicalize the instance directory list. The list is specified
 # in startup order.
@@ -178,7 +204,7 @@ case "$1" in
        done;;
      *) all_dirs="$config_directory $instance_dirs";;
 esac
-#
+
 # Execute the command on all applicable instances. When a Postfix
 # instance is disabled, replace "postfix start" by "postfix check"
 # so that problems will still be reported.
@@ -186,11 +212,6 @@ esac
 for dir in $all_dirs
 do
     case "$1" in
-    init*)
-       $POSTCONF -e \
-           "multi_instance_enable = yes" \
-           "multi_instance_wrapper = $daemon_directory/postfix-wrapper"
-       exit;;
     start)
        test "`$POSTCONF -c $dir -h multi_instance_enable`" = yes ||
            set check;;
index db57a3047f3f31bf0690d91979191be95073a999..b92315e8fac6513f2201082faa1150123f7afaee 100644 (file)
@@ -12,7 +12,9 @@ POSTFIX-WRAPPER(5)                                          POSTFIX-WRAPPER(5)
 <b>DESCRIPTION</b>
        This  document describes an interface that allows a multi-
        instance manager to plug into Postfix and to control  mul-
-       tiple Postfix instances.
+       tiple  Postfix instances. A trivial but useful implementa-
+       tion, with instructions, can be  found  in  $<a href="postconf.5.html#daemon_directory">daemon_direc</a>-
+       <a href="postconf.5.html#daemon_directory">tory</a>/postfix-wrapper.
 
        Each  Postfix instance is defined by its own configuration
        directory with its own <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> files, by its
@@ -204,6 +206,7 @@ POSTFIX-WRAPPER(5)                                          POSTFIX-WRAPPER(5)
 
 <b>SEE ALSO</b>
        <a href="postfix.1.html">postfix(1)</a> Postfix control program
+       $<a href="postconf.5.html#daemon_directory">daemon_directory</a>/postfix-wrapper simple multi-instance manager
        postmulti(1) full-blown multi-instance manager
 
 <b>LICENSE</b>
index 739eb999864860fb9a11384e5b4c3f42ffb8a899..179c31cc7799a320e4deaeeadec89e25bf2ac95b 100644 (file)
@@ -10,7 +10,9 @@ Postfix multi-instance API
 .fi
 This document describes an interface that allows a
 multi-instance manager to plug into Postfix and to control
-multiple Postfix instances.
+multiple Postfix instances. A trivial but useful implementation,
+with instructions, can be found in
+$daemon_directory/postfix-wrapper.
 
 Each Postfix instance is defined by its own configuration
 directory with its own main.cf and master.cf files, by its
@@ -87,7 +89,6 @@ listed in the CONFIGURATION PARAMETERS section below.
 A useful wrapper implementation can be as simple as:
 
 .nf
-.ft C
     #!/bin/sh
 
     : ${command_directory?"do not invoke this command directly"}
@@ -111,7 +112,6 @@ A useful wrapper implementation can be as simple as:
     done
 
     exit $err
-.ft
 .fi
 
 This wrapper skips commands such as "stop" that require a
@@ -221,6 +221,7 @@ The location of the Postfix top-level queue directory.
 .na
 .nf
 postfix(1) Postfix control program
+$daemon_directory/postfix-wrapper simple multi-instance manager
 postmulti(1) full-blown multi-instance manager
 .SH "LICENSE"
 .na
index 18d03198e47ad4fd52029d116c290f74d2f122ed..591a7ebef56d786887ee28c3a59df89a5e577df9 100755 (executable)
@@ -125,7 +125,7 @@ while (<>) {
     s;\bconfig_direc[-</bB>]*\n*[ <bB>]*tory\b;<a href="postconf.5.html#config_directory">$&</a>;g;
     s;\bcon[-</bB>]*\n*[ <bB>]*tent_filter\b;<a href="postconf.5.html#content_filter">$&</a>;g;
     s;\bdata_directory\b;<a href="postconf.5.html#data_directory">$&</a>;g;
-    s;\bdae[-</bB>]*\n*[ <bB>]*mon_directory\b;<a href="postconf.5.html#daemon_directory">$&</a>;g;
+    s;\bdae[-</bB>]*\n*[ <bB>]*mon_direc[-</bB>]*\n*[ <bB>]*tory\b;<a href="postconf.5.html#daemon_directory">$&</a>;g;
     s;\bdaemon_timeout\b;<a href="postconf.5.html#daemon_timeout">$&</a>;g;
     s;\bdebug_peer_level\b;<a href="postconf.5.html#debug_peer_level">$&</a>;g;
     s;\bdebug_peer_list\b;<a href="postconf.5.html#debug_peer_list">$&</a>;g;
index 5bce8cd935e0024f1db0bd8edee744b4ab07609f..5b5a845c05015cb2dea25a8df147a983df12ab61 100644 (file)
@@ -6,7 +6,9 @@
 # DESCRIPTION
 #      This document describes an interface that allows a
 #      multi-instance manager to plug into Postfix and to control
-#      multiple Postfix instances.
+#      multiple Postfix instances. A trivial but useful implementation,
+#      with instructions, can be found in
+#      $daemon_directory/postfix-wrapper.
 #
 #      Each Postfix instance is defined by its own configuration
 #      directory with its own main.cf and master.cf files, by its
@@ -77,7 +79,6 @@
 #      A useful wrapper implementation can be as simple as:
 #
 # .nf
-# .ft C
 #          #!/bin/sh
 #
 #          : ${command_directory?"do not invoke this command directly"}
 #          done
 #
 #          exit $err
-# .ft
 # .fi
 #
 #      This wrapper skips commands such as "stop" that require a
 #      The location of the Postfix top-level queue directory.
 # SEE ALSO
 #      postfix(1) Postfix control program
+#      $daemon_directory/postfix-wrapper simple multi-instance manager
 #      postmulti(1) full-blown multi-instance manager
 # LICENSE
 # .ad
index 7e956d316a243e3317f00492364d5bbdf9ff4980..9c6992a3059e832fc2b66a3e9250a71934ec94df 100644 (file)
@@ -20,7 +20,7 @@
   * Patches change both the patchlevel and the release date. Snapshots have no
   * patchlevel; they change the release date only.
   */
-#define MAIL_RELEASE_DATE      "20090122"
+#define MAIL_RELEASE_DATE      "20090123"
 #define MAIL_VERSION_NUMBER    "2.6"
 
 #ifdef SNAPSHOT