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.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
38
c44ea4526546 * 'VirtualMailManager/Alias.py'
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
     1
If you still have installed vmm 0.3.x you have to proceed this step first:
42
9d10877e1c10 * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 38
diff changeset
     2
9d10877e1c10 * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 38
diff changeset
     3
    * upgrade your vmm installation to version 0.4-r41
9d10877e1c10 * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 38
diff changeset
     4
9d10877e1c10 * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 38
diff changeset
     5
9d10877e1c10 * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 38
diff changeset
     6
If you have installed vmm 0.4/0.4-r41 you have to proceed this steps:
38
c44ea4526546 * 'VirtualMailManager/Alias.py'
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
     7
42
9d10877e1c10 * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 38
diff changeset
     8
    * stop Postfix and Dovecot
9d10877e1c10 * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 38
diff changeset
     9
    * backup/dump your database.
9d10877e1c10 * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 38
diff changeset
    10
    * backup/dump your database!
128
cf8116625866 Converted VirtualMailManager and Postconf to new-style classes.
Pascal Volk <neverseen@users.sourceforge.net>
parents: 127
diff changeset
    11
127
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    12
    * start psql and connect to the appropriate database
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    13
      (ex. psql mailsys mailsys vmm -W -h localhost)
42
9d10877e1c10 * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 38
diff changeset
    14
    * update the database: \i update_tables_0.4.x-0.5.pgsql
67
e4d25f50164d * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 42
diff changeset
    15
    * GRANT SELECT ON postfix_alias TO postfix;
e4d25f50164d * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 42
diff changeset
    16
                                       ^^^^^^^^ <- your Postfix db user
42
9d10877e1c10 * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 38
diff changeset
    17
127
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    18
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    19
  Dovecot v1.2.x
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    20
    -> Are you already using Dovecot v1.2.x?
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    21
       * update the database for Dovecot v1.2.x:
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    22
         \i update_tables_0.5.x_for_dovecot-1.2.x.pgsql
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    23
       * GRANT SELECT ON dovecot_password TO dovecot;
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    24
                                             ^^^^^^^^ <- your Dovecot db user
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    25
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    26
       * When you are using the SQL function »dovecotpassword()« in your
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    27
         dovecot-sql.conf, update it also:
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    28
         \i update_types_and_functions_0.5.x_for_dovecot-1.2.x.pgsql
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    29
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    30
       * You have also to adjust the permissions of the set-uid deliver copy:
135
32ad0c79a6ef Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 131
diff changeset
    31
         on BSD:
32ad0c79a6ef Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 131
diff changeset
    32
           chgrp nobody /usr/local/lib/dovecot/deliver
32ad0c79a6ef Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 131
diff changeset
    33
         on Linux:
32ad0c79a6ef Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 131
diff changeset
    34
           chgrp nogroup /usr/local/lib/dovecot/deliver
128
cf8116625866 Converted VirtualMailManager and Postconf to new-style classes.
Pascal Volk <neverseen@users.sourceforge.net>
parents: 127
diff changeset
    35
         chmod u+s,o-rwx /usr/local/lib/dovecot/deliver
127
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    36
131
2b8154cc7ebe Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 128
diff changeset
    37
       * Check the master.cf from Postfix.
2b8154cc7ebe Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 128
diff changeset
    38
         In prior setups the service dovecot was configured slightly different.
2b8154cc7ebe Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 128
diff changeset
    39
         If you have set the command attribute 'user' to 'nobody:mail', so
135
32ad0c79a6ef Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 131
diff changeset
    40
         either remove the group mail or replace it with the group nobody
271
e915d4725706 INSTALL: dropped group mail related stuff.
Pascal Volk <neverseen@users.sourceforge.net>
parents: 135
diff changeset
    41
         or nogroup. (see command output from: id -ng nobody)
131
2b8154cc7ebe Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 128
diff changeset
    42
2b8154cc7ebe Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 128
diff changeset
    43
         e.g.: flags=DRhu user=nobody argv=/usr/local/lib/dovecot/deliver 
2b8154cc7ebe Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 128
diff changeset
    44
42
9d10877e1c10 * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 38
diff changeset
    45
    * execute upgrade.sh
9d10877e1c10 * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 38
diff changeset
    46
9d10877e1c10 * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 38
diff changeset
    47
    * start Dovecot and Postfix
9d10877e1c10 * 'create_tables.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents: 38
diff changeset
    48
38
c44ea4526546 * 'VirtualMailManager/Alias.py'
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    49
127
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    50
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    51
If you have installed vmm 0.5.x:
106
dc98cc162c66 Released vmm-0.5.1
Pascal Volk <neverseen@users.sourceforge.net>
parents: 67
diff changeset
    52
dc98cc162c66 Released vmm-0.5.1
Pascal Volk <neverseen@users.sourceforge.net>
parents: 67
diff changeset
    53
    * execute upgrade.sh
dc98cc162c66 Released vmm-0.5.1
Pascal Volk <neverseen@users.sourceforge.net>
parents: 67
diff changeset
    54
127
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    55
    -> Are you already using Dovecot v1.2.x?
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    56
       See a few lines above.
97a9f6dd954b Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents: 106
diff changeset
    57
106
dc98cc162c66 Released vmm-0.5.1
Pascal Volk <neverseen@users.sourceforge.net>
parents: 67
diff changeset
    58
38
c44ea4526546 * 'VirtualMailManager/Alias.py'
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    59
else
c44ea4526546 * 'VirtualMailManager/Alias.py'
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    60
     * read INSTALL