UPGRADE
author martin f. krafft <madduck@madduck.net>
Tue, 10 Apr 2012 22:56:30 +0200
branchv0.6.x
changeset 514 d863a44a6353
parent 271 e915d4725706
child 566 007786e58fb7
permissions -rw-r--r--
Make PL/pgSQL function feed back identity for mailboxes/relocated when there are catchall destinations. Without catchall aliases, if no virtual_alias matches, the query can just return NULL and Postfix will later check mailboxes/relocated for the address to rewrite. However, since virtual aliases are handled long before mailboxes/relocated, a catchall alias would also catch mail to mailboxes and relocated addresses, which we do not want. The way to tell postfix to keep delivering is for the virtual alias map to return the search key itself (identity function). This patch changes the postfix_virtual_alias_maps Pl/pgSQL function to do exactly that, but only if there are catchall destinations defined for the domain in question — otherwise it returns NULL when no match is found.

If you still have installed vmm 0.3.x you have to proceed this step first:

    * upgrade your vmm installation to version 0.4-r41


If you have installed vmm 0.4/0.4-r41 you have to proceed this steps:

    * stop Postfix and Dovecot
    * backup/dump your database.
    * backup/dump your database!

    * start psql and connect to the appropriate database
      (ex. psql mailsys mailsys vmm -W -h localhost)
    * update the database: \i update_tables_0.4.x-0.5.pgsql
    * GRANT SELECT ON postfix_alias TO postfix;
                                       ^^^^^^^^ <- your Postfix db user


  Dovecot v1.2.x
    -> Are you already using Dovecot v1.2.x?
       * update the database for Dovecot v1.2.x:
         \i update_tables_0.5.x_for_dovecot-1.2.x.pgsql
       * GRANT SELECT ON dovecot_password TO dovecot;
                                             ^^^^^^^^ <- your Dovecot db user

       * When you are using the SQL function »dovecotpassword()« in your
         dovecot-sql.conf, update it also:
         \i update_types_and_functions_0.5.x_for_dovecot-1.2.x.pgsql

       * You have also to adjust the permissions of the set-uid deliver copy:
         on BSD:
           chgrp nobody /usr/local/lib/dovecot/deliver
         on Linux:
           chgrp nogroup /usr/local/lib/dovecot/deliver
         chmod u+s,o-rwx /usr/local/lib/dovecot/deliver

       * Check the master.cf from Postfix.
         In prior setups the service dovecot was configured slightly different.
         If you have set the command attribute 'user' to 'nobody:mail', so
         either remove the group mail or replace it with the group nobody
         or nogroup. (see command output from: id -ng nobody)

         e.g.: flags=DRhu user=nobody argv=/usr/local/lib/dovecot/deliver 

    * execute upgrade.sh

    * start Dovecot and Postfix



If you have installed vmm 0.5.x:

    * execute upgrade.sh

    -> Are you already using Dovecot v1.2.x?
       See a few lines above.


else
     * read INSTALL