By Troels Arvin and Jorge MartÃn.
Latest version of the patch: postfixadmin-2.1.0-arvin-martin.patch (in unified diff format).
Changes
- Things should work better with PostgreSQL now: Better boolean handling,
nicer timestamp formatting. Some of the queries have also been
optimized a bit on PostgreSQL.
- Changed the PostgreSQL database schema to allow for
long log data (type changed from VARCHAR(...)
->
TEXT)
and to make use of referential integrity.
- Created a PostgreSQL-version of the vacation-script (vacation-pgsql.pl):
- Normalized DB schema from one vacation table ("vacation")
to two ("vacation", "vacation_notification") for PostgreSQL.
- Uses referential integrity CASCADE action to simplify cleanup
when a user is no longer on vacation.
- Inserting variables into queries stricly by prepare() to try to avoid SQL injection. (The MySQL should probably take the same approach, for security.)
- MIME/charset headers being set in messages, and message subject MIME-encoded. This should fix problems with vacation messages containing non-ASCII characters.
- Added a way to have external commands called after creation/deletion
of mailboxes, and after deletion of a domain. Put example scripts
in the ADDITIONS directory.
The features are directed by an optional configuration options,
as mentioned in config.inc.php.sample:
- mailbox_postcreation_script
- mailbox_postdeletion_script
- domain_postdeletion_script
- If the database is PostgreSQL, then transactions are used to
prevent partial user creations/deletions. For this to work,
pg_pconnect() is used in stead of pg_connect().
- Added a way to have pre-specified folders automatically
created (and subscribed to) for new uses, see the following
parameters mentioned in config.inc.php:
- create_mailbox_subdirs
- create_mailbox_subdirs_host
- create_mailbox_subdirs_hostport
- create_mailbox_subdirs_hostoptions
If sub-folder auto-creation is used, then the checkbox for
sending a welcome message to new users is unset by default.
- Made the e-mail sanity check code resolve the domain name
in stead of the regex heuristics. Regex heuristics are still
performed on the part of the e-mail address before '@'.
The old behaviour will be used if the emailcheck_resolve_domain
configuration is set to 'NO'.
Needs work
- Need to test the external example scripts in a situation of
$CONF['domain_path']='YES' and $CONF['domain_in_mailbox']='NO'.
- Need to test with MySQL to make sure I didn't break something.
- Translations of new error messages:
- $PALANG['pDelete_postdelete_error']
- $PALANG['pCreate_mailbox_result_succes_nosubfolders']
- $PALANG['pAdminDelete_domain_error']
Only en and da done by now.
- Better documentation on how external scripts are called.
- Better error messages when the php-imap extension is not
available, and the create_mailbox_subdirs* options are
used.
This description last updated: $LastChangedDate: 2007-06-25 22:07:38 +0200 (man, 25 jun 2007) $