Pascal Volk <user@localhost.localdomain.org> [Wed, 27 Jun 2012 13:11:28 +0000] rev 561
VMM: The Python 2.4.x compatibility commit - part III.
Pascal Volk <user@localhost.localdomain.org> [Wed, 27 Jun 2012 12:46:27 +0000] rev 560
VMM/account: Check the account's transport only when we have a transport.
Pascal Volk <user@localhost.localdomain.org> [Wed, 27 Jun 2012 12:18:53 +0000] rev 559
VMM: The Python 2.4.x compatibility commit.
Pascal Volk <user@localhost.localdomain.org> [Thu, 14 Jun 2012 20:45:12 +0000] rev 558
pgsql/set-permissions.py: Extended permissions.
Postfix needs read access on the postfix_gid view. Dovecot needs read
permissions on both mailboxformat columns.
Pascal Volk <user@localhost.localdomain.org> [Thu, 14 Jun 2012 16:06:09 +0000] rev 557
VMM/handler: Restored method Handler.domain_transport().
It went somehow lost with changeset 5806fb74130b.
Pascal Volk <user@localhost.localdomain.org> [Thu, 31 May 2012 18:48:00 +0000] rev 556
pgsql: Added helper script: set-permissions.py.
martin f. krafft <madduck@madduck.net> [Sun, 15 Apr 2012 13:17:21 +0200] rev 555
Provide list{addresses,aliases,users,relocated} subcommands
The patch provides the list{addresses,aliases,users,relocated} subcommands to
the UI. All commands actually take the same path in the code and only one
query is run with different parameters for each case.
There are still two shortcomings:
1. With alias domains, the output order is not as one might want it, e.g.
foo@example.org
bar@example.org
foo@example.com
bar@example.com
when it should really be foo@ twice and then bar@ twice. I have not found
a way to modify the SQL accordingly.
2. The SELECT queries for Accounts, Alias and Relocated are hard-coded in
common.py.
martin f. krafft <madduck@madduck.net> [Sun, 15 Apr 2012 19:56:21 +0200] rev 554
man: escape hyphens
Hyphens inside words must be spelt \- instead of just -. This patch fixes up
the manpages.
* * *
.
martin f. krafft <madduck@madduck.net> [Sun, 15 Apr 2012 19:47:58 +0200] rev 553
man: add 'catchall' to domaininfo
Since the addition of catchall, the domaininfo subcommand can also take
'catchall' as a [detail] to limit the output of details to the catch-all
aliases.
Also, the number of catch-all destinations is now included in the simple
domaininfo output.
Pascal Volk <user@localhost.localdomain.org> [Sun, 15 Apr 2012 16:17:50 +0000] rev 552
man: vmm1: Use `fqdn' instead of `domain' in catchall* descriptions.
Fixed a typo s/cadd/cad/. Replaced double quotes by \(dq.
Pascal Volk <user@localhost.localdomain.org> [Sun, 15 Apr 2012 15:56:01 +0000] rev 551
VMM/cli/subcommands: Use the `fqdn' argument placeholder also for
catch-all subcommands.
martin f. krafft <madduck@madduck.net> [Sun, 15 Apr 2012 17:51:00 +0200] rev 550
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).
martin f. krafft <madduck@madduck.net> [Sun, 15 Apr 2012 17:36:26 +0200] rev 549
Revert caching of destination interpolation
Since 'destination' comes from the table in the query, it cannot be cached
across queries! Doh!
Pascal Volk <user@localhost.localdomain.org> [Sun, 15 Apr 2012 15:30:16 +0000] rev 548
pgsql: update_tables_*: Added missing `NOT' to `… tid DROP NOT NULL;'.
Pascal Volk <user@localhost.localdomain.org> [Sun, 15 Apr 2012 12:54:16 +0000] rev 547
pgsql: Create column `note' as text.
martin f. krafft <madduck@madduck.net> [Sun, 15 Apr 2012 14:10:40 +0200] rev 546
Add docstring for common.format_domain_default
martin f. krafft <madduck@madduck.net> [Sat, 14 Apr 2012 21:48:00 +0200] rev 545
Document domainnote in manpages
5806fb74130b did not contain this, so I must have forgotten it. Oops.
martin f. krafft <madduck@madduck.net> [Sat, 14 Apr 2012 22:56:52 +0200] rev 544
Remove domain/account notes from TODO
martin f. krafft <madduck@madduck.net> [Sat, 14 Apr 2012 22:53:21 +0200] rev 543
Include account note in getuser output
Modify the getuser output to include an account note, if one is present
martin f. krafft <madduck@madduck.net> [Sat, 14 Apr 2012 22:52:40 +0200] rev 542
Display formatted notes in info output
If the user/domain object has an attached note, this patch makes the
userinfo/domaininfo output print the note, wrapped to the terminal size.
martin f. krafft <madduck@madduck.net> [Sat, 14 Apr 2012 21:20:06 +0200] rev 541
Ignore *.egg-status build directory created by setuptools
martin f. krafft <madduck@madduck.net> [Sat, 14 Apr 2012 15:44:23 +0200] rev 540
Add user/domainnote commands to manpages
martin f. krafft <madduck@madduck.net> [Sat, 14 Apr 2012 13:29:01 +0200] rev 539
Add note field to Account/Domain and CLI
martin f. krafft <madduck@madduck.net> [Sat, 14 Apr 2012 12:58:20 +0200] rev 538
Modify SQL to add note field to domain_data and users
Pascal Volk <user@localhost.localdomain.org> [Sat, 14 Apr 2012 16:02:46 +0000] rev 537
man: vmm.1: subcommand's name argument is optional now.
Based on martin f. krafft's v2 of changeset c340ba4bd544.
martin f. krafft <madduck@madduck.net> [Sat, 14 Apr 2012 14:33:21 +0200] rev 536
Allow username to take no argument to erase value
Once a username has been set, it could not be removed via the UI. Now, if no
argument is passed to username, the value stored is replaced with NULL.
martin f. krafft <madduck@madduck.net> [Sat, 14 Apr 2012 12:39:06 +0200] rev 535
Add inheritance as a feature to README
martin f. krafft <madduck@madduck.net> [Sat, 14 Apr 2012 12:37:08 +0200] rev 534
Change 'force' argument to reset user records for tid/ssid/qid
If domain{quotalimit,transport,serviceset} are run with 'force' and settings
are inheritable from the domain, then rather than to copy the ID to the user
table, the affected field in the user records should be set to NULL so that
the domain default is used.
martin f. krafft <madduck@madduck.net> [Sat, 14 Apr 2012 00:36:43 +0200] rev 533
Change UI to accept 'default' to restore inherited values
Instead of explicit values for tid/ssid/qid, the UI now accepts 'default',
which removed user-pecific settings and hence causes domain defaults to be
used.
martin f. krafft <madduck@madduck.net> [Fri, 13 Apr 2012 23:24:12 +0200] rev 532
Modify userinfo output to indicate when domain defaults are displayed
When Account instances reference NULL tid/qid/ssid, the data must come from
the associated domain, and this should be indicated. For transport and
services, this is easy to do as the string passed in the info dict can simply
be modified. For quotalimit, however, another method must be used due to the
CLI-side formatting.
All approaches use a common formatter outsourced to the common.py file.
martin f. krafft <madduck@madduck.net> [Fri, 13 Apr 2012 23:09:40 +0200] rev 531
Modify Account class to handle NULL references
This patch modifies the Account class to defer to using the associated
domain's tid/ssid/qid fields if the per-instance fields are None/NULL.
martin f. krafft <madduck@madduck.net> [Fri, 13 Apr 2012 17:49:14 +0200] rev 530
Modify SQL update script to accept NULL fields for users
The value NULL in the qid/ssid/tid fields of the user table means that the
value from the associated domain record should be used instead.
This patch modifies the PL/pgSQL functions used by Dovecot and Postfix
accordingly.
martin f. krafft <madduck@madduck.net> [Fri, 13 Apr 2012 23:49:26 +0200] rev 529
man: Add examples for userservices
Pascal Volk <user@localhost.localdomain.org> [Sat, 14 Apr 2012 15:11:27 +0000] rev 528
Reverted previous three changesets (e09139525580, 85517c8fde36, 3acbff727626)
martin f. krafft <madduck@madduck.net> [Fri, 13 Apr 2012 23:24:12 +0200] rev 527
Modify userinfo output to indicate when domain defaults are displayed
When Account instances reference NULL tid/qid/ssid, the data must come from
the associated domain, and this should be indicated. For transport and
services, this is easy to do as the string passed in the info dict can simply
be modified. For quotalimit, however, another method must be used due to the
CLI-side formatting.
All approaches use a common formatter outsourced to the common.py file.
martin f. krafft <madduck@madduck.net> [Fri, 13 Apr 2012 23:09:40 +0200] rev 526
Modify Account class to handle NULL references
This patch modifies the Account class to defer to using the associated
domain's tid/ssid/qid fields if the per-instance fields are None/NULL.
martin f. krafft <madduck@madduck.net> [Fri, 13 Apr 2012 17:49:14 +0200] rev 525
Modify SQL update script to accept NULL fields for users
The value NULL in the qid/ssid/tid fields of the user table means that the
value from the associated domain record should be used instead.
This patch modifies the PL/pgSQL functions used by Dovecot and Postfix
accordingly.
martin f. krafft <madduck@madduck.net> [Sat, 14 Apr 2012 11:50:33 +0200] rev 524
Add list* subcommands to TODO
martin f. krafft <madduck@madduck.net> [Sat, 14 Apr 2012 10:41:10 +0200] rev 523
add domain/account notes to TODO
martin f. krafft <madduck@madduck.net> [Fri, 13 Apr 2012 22:57:23 +0200] rev 522
Add my WIP items to the TODO list
martin f. krafft <madduck@madduck.net> [Fri, 13 Apr 2012 14:56:29 +0200] rev 521
Cache interpolated destination
Instead of running the string modification function for destination
interpolation twice, store the result once and use the stored result
subsequently.
Pascal Volk <user@localhost.localdomain.org> [Thu, 12 Apr 2012 18:22:54 +0000] rev 520
man: Use example.com in catchallinfo example output.
Pascal Volk <user@localhost.localdomain.org> [Thu, 12 Apr 2012 18:18:02 +0000] rev 519
README: reStructuredText fix: ERROR/3 and WARNING/2.
martin f. krafft <madduck@madduck.net> [Wed, 11 Apr 2012 16:23:27 +0200] rev 518
Enable interpolation of alias destinations
This patch modifies the virtual_alias_maps function so that the destination
address is parsed for the place holders %n, %d and %=, which are replaced with
the localpart, the domain or the full address with '@' replaced by '=' of the
queried key.
In combination with alias domains, this allows for domain-specific recipients.
E.g. given example.org and its alias domain example.com, defining an alias
postmaster@example.org → postmaster+%d@example.org
will cause mail to postmaster@example.*com* to go to
postmaster+example.*com*@example.org.
martin f. krafft <madduck@madduck.net> [Wed, 11 Apr 2012 09:08:19 +0200] rev 517
Add catch-all aliases to README/features
martin f. krafft <madduck@madduck.net> [Tue, 10 Apr 2012 23:50:35 +0200] rev 516
Add catchall subcommands to manpages
martin f. krafft <madduck@madduck.net> [Tue, 10 Apr 2012 23:50:18 +0200] rev 515
Include catch-all count in domaininfo output
martin f. krafft <madduck@madduck.net> [Tue, 10 Apr 2012 22:56:30 +0200] rev 514
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.
martin f. krafft <madduck@madduck.net> [Tue, 10 Apr 2012 01:08:25 +0200] rev 513
Fix syntax errors
martin f. krafft <madduck@madduck.net> [Tue, 10 Apr 2012 00:50:55 +0200] rev 512
Modify virtual_alias_maps function to check mailboxes/relocated first
martin f. krafft <madduck@madduck.net> [Tue, 10 Apr 2012 00:33:53 +0200] rev 511
Make virtual_alias_maps function search catchall when no aliases are found
martin f. krafft <madduck@madduck.net> [Tue, 10 Apr 2012 00:08:12 +0200] rev 510
Add catchall info to domain_info output
martin f. krafft <madduck@madduck.net> [Tue, 10 Apr 2012 00:07:49 +0200] rev 509
Correct syntax errors
martin f. krafft <madduck@madduck.net> [Mon, 09 Apr 2012 23:50:12 +0200] rev 508
Fixup catchall_info to return iterator, not self
martin f. krafft <madduck@madduck.net> [Mon, 09 Apr 2012 23:44:36 +0200] rev 507
Correct syntax errors
martin f. krafft <madduck@madduck.net> [Mon, 09 Apr 2012 23:40:52 +0200] rev 506
Teach CLI about catchall* commands
martin f. krafft <madduck@madduck.net> [Mon, 09 Apr 2012 23:21:56 +0200] rev 505
Provide catchall_* methods to the Handler class
martin f. krafft <madduck@madduck.net> [Mon, 09 Apr 2012 18:10:56 +0200] rev 504
First version of a CatchallAlias class
I based the CatchallAlias class in catchall.py heavily on the Alias class, but
by copy, not deriving. The two are functionally related, but the
implementations are too different because CatchallAliases have no localpart.
martin f. krafft <madduck@madduck.net> [Mon, 09 Apr 2012 17:45:02 +0200] rev 503
Add database table for catchall destinations
Catch-all aliases are stored for a domain. Since there can be multiple
destinations per domain, this is done using a 1:n relation on the gid.
This commit extends the SQL schema definition and also provides appropriate
upgrade DDL.
Pascal Volk <user@localhost.localdomain.org> [Sun, 08 Apr 2012 19:05:25 +0000] rev 502
pgsql: Merged types and functions into the create_tables… files.
Pascal Volk <user@localhost.localdomain.org> [Sun, 08 Apr 2012 16:29:37 +0000] rev 501
postfix: Removed VIEW-based comments from configuration files.
Pascal Volk <user@localhost.localdomain.org> [Sun, 08 Apr 2012 16:20:43 +0000] rev 500
pgsql: Removed most of the VIEWs.
There are only two views left for now:
- postfix_gid
- vmm_domain_info
All other views have a faster replacement: plpgsql functions.
martin f. krafft <madduck@madduck.net> [Sun, 08 Apr 2012 13:18:02 +0200] rev 499
Ignore even more Debian-build-related files
martin f. krafft <madduck@madduck.net> [Sun, 08 Apr 2012 11:54:17 +0200] rev 498
Ignore more Debian-build-related files
Debian produces log and debhelper files in debian/* that do not need to be
known to mercurial. Hence, this patch adds the globs to .hgignore.
martin f. krafft <madduck@madduck.net> [Sun, 08 Apr 2012 00:02:00 +0200] rev 497
Add non-root TODO
Pascal Volk <user@localhost.localdomain.org> [Sat, 07 Apr 2012 20:38:48 +0000] rev 496
VMM/config: Fixed a typo: s/DB_MUDULES/DB_MODULES/g.
martin f. krafft <madduck@madduck.net> [Sat, 07 Apr 2012 15:23:14 +0200] rev 495
Ignore build files related to Debian packaging
During Debian packaging, the package is built in ./debian/vmm/, and quilt is
used (./.pc/). Both directories contain only generated files and should hence
be ignored from the perspective of Mercurial.
martin f. krafft <madduck@madduck.net> [Sat, 07 Apr 2012 15:00:10 +0200] rev 494
Instruct mercurial to ignore build directory
Python's distutil builds the package into ./build/, which can and should be
ignored with respect to the repository. This patch simply adds the appropriate
line to .hgignore.
Pascal Volk <user@localhost.localdomain.org> [Fri, 06 Apr 2012 23:37:04 +0000] rev 493
VMM/handler: Create domain directory with umask 0022.
martin f. krafft <madduck@madduck.net> [Sat, 07 Apr 2012 00:45:57 +0200] rev 492
Modify address check query to obtain well-defined result
The way in which UNION does not yield the desired result, because (a) UNION
merges results and (b) the result order is undefined. This patch changes the
query to select the counts as columns and hence provides a well-defined order.
Pascal Volk <user@localhost.localdomain.org> [Fri, 06 Apr 2012 21:34:23 +0000] rev 491
postfix: Uncommented the query in pgsql-smtpd_sender_login_maps.cf.
Pascal Volk <user@localhost.localdomain.org> [Fri, 06 Apr 2012 21:32:09 +0000] rev 490
postfix: Renamed pgsql-transport.cf to pgsql-transport_maps.cf.
Now it matches pgsql-${postfix-parameter}.cf.
Pascal Volk <user@localhost.localdomain.org> [Thu, 29 Mar 2012 19:27:18 +0000] rev 489
po: Updated French translation (translated by Dimitri Duc).
Pascal Volk <user@localhost.localdomain.org> [Tue, 13 Mar 2012 20:37:12 +0000] rev 488
po: Updated Finnish translation (translated by Jorma Karvonen).
Pascal Volk <user@localhost.localdomain.org> [Tue, 13 Dec 2011 00:34:39 +0000] rev 487
VMM/cli/subcommands: Fixed a TypeError in user_info().
Pascal Volk <user@localhost.localdomain.org> [Mon, 05 Dec 2011 16:17:01 +0000] rev 486
postfix: Use pgsql functions in query templates where possible.
Pascal Volk <user@localhost.localdomain.org> [Mon, 05 Dec 2011 12:34:29 +0000] rev 485
pgsql: Updated required privileges for function dovecotpassword.
Pascal Volk <user@localhost.localdomain.org> [Sun, 27 Nov 2011 01:52:06 +0000] rev 484
README: Added section `Installation Prerequisites'. Reworked some parts.
Pascal Volk <user@localhost.localdomain.org> [Sat, 26 Nov 2011 17:28:59 +0000] rev 483
update_config: Write the old package install dir to a tmp file.
upgrade: Remove old CamelCase files. Removed some unused variables.
Pascal Volk <user@localhost.localdomain.org> [Sun, 13 Nov 2011 20:19:40 +0000] rev 482
VMM: The pyPgSQL compatibility commit.
Pascal Volk <user@localhost.localdomain.org> [Sun, 13 Nov 2011 20:18:41 +0000] rev 481
VMM: The Python 2.4.x compatibility commit.
Pascal Volk <user@localhost.localdomain.org> [Sun, 13 Nov 2011 19:59:26 +0000] rev 480
VMM/relocated: Don't accept something@localhost as destination.
Pascal Volk <user@localhost.localdomain.org> [Sun, 13 Nov 2011 16:13:50 +0000] rev 479
man1: Updated configuration related descriptions/examples,
accordingly to commit 4ff0fa3ba0fa.
Pascal Volk <user@localhost.localdomain.org> [Sat, 12 Nov 2011 17:52:57 +0000] rev 478
Updated the author's e-mail address.
Pascal Volk <neverseen@users.sourceforge.net> [Sat, 12 Nov 2011 17:28:14 +0000] rev 477
man: Updated the URL of the bug tracker.
Pascal Volk <neverseen@users.sourceforge.net> [Fri, 11 Nov 2011 22:19:03 +0000] rev 476
man5: Updated the `usable password schemes' part.
Pascal Volk <neverseen@users.sourceforge.net> [Thu, 10 Nov 2011 00:01:08 +0000] rev 475
man1: Copied new formatted/translated command output into the examples.
Pascal Volk <neverseen@users.sourceforge.net> [Wed, 09 Nov 2011 22:57:46 +0000] rev 474
VMM/cli/subcommands: Small improvement of domaininfo's output.
Pointed out that the displayed quota limit is valid per user.
Pascal Volk <neverseen@users.sourceforge.net> [Wed, 09 Nov 2011 04:12:41 +0000] rev 473
man1: Removed obsolete commands and added new commands.
Pascal Volk <neverseen@users.sourceforge.net> [Wed, 09 Nov 2011 03:33:08 +0000] rev 472
man/de/man1: Removed translated argument names.
Pascal Volk <neverseen@users.sourceforge.net> [Tue, 08 Nov 2011 23:25:30 +0000] rev 471
VMM/cli/subcommands: Use the common output formatting in list_pwschemes().
Pascal Volk <neverseen@users.sourceforge.net> [Tue, 08 Nov 2011 21:31:30 +0000] rev 470
VMM/handler: Added a comment for the Translation Project.
Pascal Volk <neverseen@users.sourceforge.net> [Tue, 08 Nov 2011 01:42:49 +0000] rev 469
VMM/cli/subcommands: Subcommand argument placeholders are no longer translatable.
Pascal Volk <neverseen@users.sourceforge.net> [Mon, 07 Nov 2011 23:02:33 +0000] rev 468
po: Updated German translation (translated by Mario Blättermann).
Pascal Volk <neverseen@users.sourceforge.net> [Mon, 07 Nov 2011 04:24:25 +0000] rev 467
po: Updated address for message-id bug reports.
Looks like as sf.net would have horrible configured mail servers. :-/
Pascal Volk <neverseen@users.sourceforge.net> [Mon, 07 Nov 2011 03:30:31 +0000] rev 466
merged changes from default(c0e1fb1b0145)