Fix transport_maps function for non-existent domains
The postfix_transport_maps function had a bug causing
2012-04-15 17:40:22 CEST LOG: statement: SELECT transport FROM postfix_transport_map('logcheck', 'domine.madduck.net');
2012-04-15 17:40:22 CEST ERROR: query returned no rows
when the domain was not in the database. This would make did be NULL and make
the query fail.
This patch moves the tid query until after a check for did. If the latter is
NULL, the function RETURNs (rather than fails).
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