This list is closed, nobody may subscribe to it.
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2010 |
Jan
(18) |
Feb
(43) |
Mar
(11) |
Apr
(50) |
May
(10) |
Jun
|
Jul
(39) |
Aug
(30) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2011 |
Jan
(14) |
Feb
(43) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(4) |
Oct
(12) |
Nov
(45) |
Dec
(3) |
| 2012 |
Jan
|
Feb
|
Mar
(2) |
Apr
(65) |
May
(2) |
Jun
(19) |
Jul
(6) |
Aug
(19) |
Sep
(23) |
Oct
(11) |
Nov
(21) |
Dec
(16) |
| 2013 |
Jan
(21) |
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
(4) |
Feb
(34) |
Mar
(10) |
Apr
|
May
|
Jun
(10) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <nev...@us...> - 2014-06-09 20:10:03
|
details: http://hg.localdomain.org/vmm/rev/332089388204 changeset: 758:332089388204 user: Pascal Volk date: Mon Jun 09 20:09:44 2014 +0000 description: VMM/handler: Avoid unnecessary method calls. diffstat: VirtualMailManager/handler.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff -r 3d592b5d5e2d -r 332089388204 VirtualMailManager/handler.py --- a/VirtualMailManager/handler.py Mon Jun 09 18:54:44 2014 +0000 +++ b/VirtualMailManager/handler.py Mon Jun 09 20:09:44 2014 +0000 @@ -461,7 +461,7 @@ dom = self._get_domain(domainname) gid = dom.gid domdir = dom.directory - if self._cfg.dget('domain.force_deletion') or force: + if force or self._cfg.dget('domain.force_deletion'): dom.delete(True) else: dom.delete(False) |
|
From: <nev...@us...> - 2014-06-09 18:56:29
|
details: http://hg.localdomain.org/vmm/rev/3d592b5d5e2d changeset: 757:3d592b5d5e2d user: Pascal Volk date: Mon Jun 09 18:54:44 2014 +0000 description: {man1,doc/web}: Updated userdelete's --delete-home -> --delete-directory. diffstat: doc/web/source/howto/manage_accounts.rst | 6 +++--- man/man1/vmm.1 | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diffs (35 lines): diff -r 139ced0fea1e -r 3d592b5d5e2d doc/web/source/howto/manage_accounts.rst --- a/doc/web/source/howto/manage_accounts.rst Mon Jun 09 18:47:44 2014 +0000 +++ b/doc/web/source/howto/manage_accounts.rst Mon Jun 09 18:54:44 2014 +0000 @@ -40,10 +40,10 @@ .. program:: vmm userdelete Syntax: - | **vmm userdelete** *address* [**‒‒delete-home**] [**‒‒force**] - | **vmm ud** *address* [**‒‒delete-home**] [**‒‒force**] + | **vmm userdelete** *address* [**‒‒delete-directory**] [**‒‒force**] + | **vmm ud** *address* [**‒‒delete-directory**] [**‒‒force**] -.. option:: --delete-home +.. option:: --delete-directory When this option is present, :command:`vmm` will also delete the account's home directory. diff -r 139ced0fea1e -r 3d592b5d5e2d man/man1/vmm.1 --- a/man/man1/vmm.1 Mon Jun 09 18:47:44 2014 +0000 +++ b/man/man1/vmm.1 Mon Jun 09 18:54:44 2014 +0000 @@ -757,12 +757,12 @@ .\" ------------------------------------ .SS userdelete (ud) .BI "vmm userdelete" " address" -.RB [ \-\-delete\-home ] +.RB [ \-\-delete\-directory ] .RB [ \-\-force ] .PP .\" ------------------------------------ .TP -.B \-\-delete\-home +.B \-\-delete\-directory When this option is present, .B vmm will also delete the account\(aqs home directory. |
|
From: <nev...@us...> - 2014-06-09 18:56:18
|
details: http://hg.localdomain.org/vmm/rev/139ced0fea1e changeset: 756:139ced0fea1e user: Pascal Volk date: Mon Jun 09 18:47:44 2014 +0000 description: VMM: Unified parameter names and option names. handler: Handler.user_delete() renamed parameter: delete_home -> del_dir The same as in Handler.domain_delete(). cli/subcommands: renamed userdelete's option --delete-home -> --delete-directory So people have to memorize only one option name. It also matches the setting names of vmm.cfg. diffstat: VirtualMailManager/cli/subcommands.py | 18 +++++++++--------- VirtualMailManager/handler.py | 8 ++++---- 2 files changed, 13 insertions(+), 13 deletions(-) diffs (64 lines): diff -r e99e4fc62a5f -r 139ced0fea1e VirtualMailManager/cli/subcommands.py --- a/VirtualMailManager/cli/subcommands.py Mon Jun 09 18:12:03 2014 +0000 +++ b/VirtualMailManager/cli/subcommands.py Mon Jun 09 18:47:44 2014 +0000 @@ -349,7 +349,7 @@ def user_delete(ctx): """delete the specified user""" - ctx.hdlr.user_delete(ctx.args.address.lower(), ctx.args.delete_home, + ctx.hdlr.user_delete(ctx.args.address.lower(), ctx.args.delete_directory, ctx.args.force) @@ -912,17 +912,17 @@ ud = a('userdelete', aliases=('ud',), help=_('delete the specified user'), epilog=fill(_('Use this subcommand to delete the account with the ' - 'given address.\n\nWhen the --delete-home option is present, ' - 'vmm will also delete the account\'s home directory. This ' - 'overrides the account.delete_directory setting of vmm.cfg.\n\n' - 'If there are one or more aliases with an identical ' - 'destination address, vmm will abort the requested operation ' - 'and show an error message. To prevent this, give the optional ' - 'argument --force.')), + 'given address.\n\nWhen the --delete-directory option is ' + 'present, vmm will also delete the account\'s home directory. ' + 'This overrides the account.delete_directory setting of ' + 'vmm.cfg.\n\nIf there are one or more aliases with an ' + 'identical destination address, vmm will abort the requested ' + 'operation and show an error message. To prevent this, give ' + 'the optional argument --force.')), formatter_class=RawDescriptionHelpFormatter) ud.add_argument('address', help=_("an account's e-mail address (local-part@fqdn)")) - ud.add_argument('--delete-home', action='store_true', + ud.add_argument('--delete-directory', action='store_true', help=_("delete the account's home directory")) ud.add_argument('--force', action='store_true', help=_('also delete assigned alias addresses')) diff -r e99e4fc62a5f -r 139ced0fea1e VirtualMailManager/handler.py --- a/VirtualMailManager/handler.py Mon Jun 09 18:12:03 2014 +0000 +++ b/VirtualMailManager/handler.py Mon Jun 09 18:47:44 2014 +0000 @@ -626,10 +626,10 @@ self._warnings.append(_("The destination account/alias '%s' " "does not exist.") % destination) - def user_delete(self, emailaddress, delete_home, force=False): + def user_delete(self, emailaddress, del_dir, force=False): """Wrapper around Account.delete(...)""" - if not isinstance(delete_home, bool): - raise TypeError('delete_home must be a bool') + if not isinstance(del_dir, bool): + raise TypeError('del_dir must be a bool') if not isinstance(force, bool): raise TypeError('force must be a bool') acc = self._get_account(emailaddress) @@ -641,7 +641,7 @@ dom_dir = acc.domain.directory acc_dir = acc.home acc.delete(force) - if delete_home or self._cfg.dget('account.delete_directory'): + if del_dir or self._cfg.dget('account.delete_directory'): try: self._delete_home(dom_dir, uid, gid) except VMMError as err: |
|
From: <nev...@us...> - 2014-06-09 18:56:03
|
details: http://hg.localdomain.org/vmm/rev/e99e4fc62a5f changeset: 755:e99e4fc62a5f user: Pascal Volk date: Mon Jun 09 18:12:03 2014 +0000 description: {man1,doc/web}: Added domaindelete --delete-directory's description. diffstat: doc/web/source/howto/manage_domains.rst | 19 ++++++++++++++++--- man/man1/vmm.1 | 20 +++++++++++++++++++- 2 files changed, 35 insertions(+), 4 deletions(-) diffs (73 lines): diff -r 8363ea6240a5 -r e99e4fc62a5f doc/web/source/howto/manage_domains.rst --- a/doc/web/source/howto/manage_domains.rst Mon Jun 09 17:37:36 2014 +0000 +++ b/doc/web/source/howto/manage_domains.rst Mon Jun 09 18:12:03 2014 +0000 @@ -53,9 +53,22 @@ domaindelete ------------ +.. program:: vmm domaindelete + Syntax: - | **vmm domaindelete** *fqdn* [**‒‒force**] - | **vmm dd** *fqdn* [**‒‒force**] + | **vmm domaindelete** *fqdn* [**‒‒delete‒directory**] [**‒‒force**] + | **vmm dd** *fqdn* [**‒‒delete‒directory**] [**‒‒force**] + +.. option:: --delete-directory + + When this option is given, :command:`vmm` will delete the directory of + the given domain. + This overrides the *domain.delete_directory* setting of :file:`vmm.cfg`. + +.. option:: --force + + Use this option in oder to force the deletion of the domain, even if + there are accounts, aliases, catch-all accounts and/or relocated users. This subcommand deletes the domain specified by *fqdn*. @@ -63,7 +76,7 @@ domain, :command:`vmm` will abort the requested operation and show an error message. If you know, what you are doing, you can specify the optional argument -**‒‒force**. +:option:`--force`. If you really always know what you are doing, edit your :file:`vmm.cfg` and set the option *domain.force_deletion* to **true**. diff -r 8363ea6240a5 -r e99e4fc62a5f man/man1/vmm.1 --- a/man/man1/vmm.1 Mon Jun 09 17:37:36 2014 +0000 +++ b/man/man1/vmm.1 Mon Jun 09 18:12:03 2014 +0000 @@ -1,4 +1,4 @@ -.TH "VMM" "1" "2014-06-08" "vmm 0.7" "vmm" +.TH "VMM" "1" "2014-06-09" "vmm 0.7" "vmm" .SH NAME vmm \- command line tool to manage email domains/accounts/aliases .\" ----------------------------------------------------------------------- @@ -442,8 +442,26 @@ .\" ------------------------------------ .SS domaindelete (dd) .BI "vmm domaindelete " fqdn +.RB [ \-\-delete\-directory ] .RB [ \-\-force ] .PP +.\" ------------------------------------ +.TP +.B \-\-delete\-directory +When this option is given, +.B vmm +will delete the directory of the given domain. +This overrides the +.I domain.delete_directory +setting of +.IR vmm.cfg . +.\" ------------------------------------ +.TP +.B \-\-force +Use this option in oder to force the deletion of the domain, even if there +are accounts, aliases, catch-all accounts and/or relocated users. +.\" ------------------------------------ +.PP This subcommand deletes the domain specified by .IR fqdn . .PP |
|
From: <nev...@us...> - 2014-06-09 18:56:01
|
details: http://hg.localdomain.org/vmm/rev/8363ea6240a5 changeset: 754:8363ea6240a5 user: Pascal Volk date: Mon Jun 09 17:37:36 2014 +0000 description: VMM/cli/subcommands: domaindelete: Added option --delete-directory. diffstat: VirtualMailManager/cli/subcommands.py | 21 +++++++++++++-------- 1 files changed, 13 insertions(+), 8 deletions(-) diffs (40 lines): diff -r 3f1cecdcdfca -r 8363ea6240a5 VirtualMailManager/cli/subcommands.py --- a/VirtualMailManager/cli/subcommands.py Mon Jun 09 17:34:31 2014 +0000 +++ b/VirtualMailManager/cli/subcommands.py Mon Jun 09 17:37:36 2014 +0000 @@ -179,7 +179,8 @@ def domain_delete(ctx): """delete the given domain and all its alias domains""" - ctx.hdlr.domain_delete(ctx.args.fqdn.lower(), ctx.args.force) + ctx.hdlr.domain_delete(ctx.args.fqdn.lower(), ctx.args.delete_directory, + ctx.args.force) def domain_info(ctx): @@ -721,15 +722,19 @@ dd = a('domaindelete', aliases=('dd',), help=_('delete the given domain and all its alias domains'), epilog=fill(_("This subcommand deletes the domain specified by " - "fqdn.\n\nIf there are accounts, aliases and/or relocated " - "users assigned to the given domain, vmm will abort the " - "requested operation and show an error message. If you know, " - "what you are doing, you can specify the optional argument " - "--force.\n\nIf you really always know what you are doing, " - "edit your vmm.cfg and set the option domain.force_deletion " - "to true.")), + "fqdn.\n\nWhen the --delete-directory option is given, vmm " + "will delete the directory of the given domain. This overrides " + "the domain.delete_directory setting of vmm.cfg.\n\nIf there " + "are accounts, aliases and/or relocated users assigned to the " + "given domain, vmm will abort the requested operation and show " + "an error message. If you know, what you are doing, you can " + "specify the optional argument --force.\n\nIf you really " + "always know what you are doing, edit your vmm.cfg and set the " + "option domain.force_deletion to true.")), formatter_class=RawDescriptionHelpFormatter) dd.add_argument('fqdn', help=_('a fully qualified domain name')) + dd.add_argument('--delete-directory', action='store_true', + help="delete the domain's directory recursively") dd.add_argument('--force', action='store_true', help=_('also delete all accounts, aliases and/or ' 'relocated users')) |
|
From: <nev...@us...> - 2014-06-09 18:55:47
|
details: http://hg.localdomain.org/vmm/rev/3f1cecdcdfca changeset: 753:3f1cecdcdfca user: Pascal Volk date: Mon Jun 09 17:34:31 2014 +0000 description: VMM/handler: Handler.domain_delete() Added parameter del_dir. diffstat: VirtualMailManager/handler.py | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diffs (24 lines): diff -r 271bd82c05c0 -r 3f1cecdcdfca VirtualMailManager/handler.py --- a/VirtualMailManager/handler.py Sun Jun 08 17:15:55 2014 +0000 +++ b/VirtualMailManager/handler.py Mon Jun 09 17:34:31 2014 +0000 @@ -452,8 +452,10 @@ dom = self._get_domain(domainname) dom.update_note(note) - def domain_delete(self, domainname, force=False): + def domain_delete(self, domainname, del_dir, force=False): """Wrapper around Domain.delete()""" + if not isinstance(del_dir, bool): + raise TypeError('del_dir must be a bool') if not isinstance(force, bool): raise TypeError('force must be a bool') dom = self._get_domain(domainname) @@ -463,7 +465,7 @@ dom.delete(True) else: dom.delete(False) - if self._cfg.dget('domain.delete_directory'): + if del_dir or self._cfg.dget('domain.delete_directory'): self._delete_domain_dir(domdir, gid) def domain_info(self, domainname, details=None): |
|
From: <nev...@us...> - 2014-06-08 17:37:26
|
details: http://hg.localdomain.org/vmm/rev/bc796a554ca2 changeset: 749:bc796a554ca2 user: Pascal Volk date: Sun Jun 08 14:03:07 2014 +0000 description: merged changes from default(659c4476c57c). diffstat: po/de.po | 1531 ++++++++++++++++++++++++++++++++++++++++++++++--------------- po/fi.po | 630 ++++++++++++++----------- 2 files changed, 1506 insertions(+), 655 deletions(-) diffs (truncated from 3874 to 300 lines): diff -r ee3c6c826b42 -r bc796a554ca2 po/de.po --- a/po/de.po Sun Mar 23 20:38:45 2014 +0000 +++ b/po/de.po Sun Jun 08 14:03:07 2014 +0000 @@ -2,111 +2,106 @@ # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the vmm package. # Pascal Volk <p....@ve...>, 2009. -# Mario Blättermann <mar...@gm...>, 2011. +# Mario Blättermann <mar...@gm...>, 2011, 2014. # msgid "" msgstr "" -"Project-Id-Version: vmm 0.6.0\n" +"Project-Id-Version: vmm 0.6.3-pre1\n" "Report-Msgid-Bugs-To: user+vmm/tp...@lo...\n" -"POT-Creation-Date: 2011-11-07 05:20+0100\n" -"PO-Revision-Date: 2011-11-07 12:57+0100\n" +"POT-Creation-Date: 2014-03-23 20:10+0000\n" +"PO-Revision-Date: 2014-03-24 18:14+0100\n" "Last-Translator: Mario Blättermann <mar...@gm...>\n" "Language-Team: German <tra...@li...>\n" -"Language: \n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-Language: German\n" -"X-Poedit-Country: GERMANY\n" +"X-Generator: Poedit 1.5.4\n" #. TP: Hm, what “quotation marks” should be used? #. If you are unsure have a look at: #. http://en.wikipedia.org/wiki/Quotation_mark,_non-English_usage -#: VirtualMailManager/account.py:58 VirtualMailManager/alias.py:35 -#: VirtualMailManager/domain.py:120 VirtualMailManager/relocated.py:38 +#: VirtualMailManager/account.py:60 VirtualMailManager/alias.py:35 +#: VirtualMailManager/catchall.py:44 VirtualMailManager/domain.py:131 +#: VirtualMailManager/relocated.py:39 #, python-format msgid "The domain '%s' does not exist." msgstr "Die Domain »%s« existiert nicht." -#: VirtualMailManager/account.py:106 +#: VirtualMailManager/account.py:123 #, python-format msgid "The mailbox format '%(mbfmt)s' requires Dovecot >= v%(version)s." msgstr "Das Postfachformat »%(mbfmt)s« benötigt Dovecot >= v%(version)s." -#: VirtualMailManager/account.py:113 VirtualMailManager/account.py:305 -#, python-format -msgid "Invalid transport '%(transport)s' for mailbox format '%(mbfmt)s'." -msgstr "Ungültiger Transport »%(transport)s« für Postfachformat »%(mbfmt)s«." - -#: VirtualMailManager/account.py:153 VirtualMailManager/cli/handler.py:93 -#: VirtualMailManager/handler.py:628 VirtualMailManager/handler.py:679 -#: VirtualMailManager/handler.py:705 VirtualMailManager/handler.py:716 -#: VirtualMailManager/handler.py:727 VirtualMailManager/handler.py:739 -#: VirtualMailManager/handler.py:753 +#: VirtualMailManager/account.py:166 VirtualMailManager/cli/handler.py:93 +#: VirtualMailManager/handler.py:683 VirtualMailManager/handler.py:789 +#: VirtualMailManager/handler.py:815 VirtualMailManager/handler.py:823 +#: VirtualMailManager/handler.py:831 VirtualMailManager/handler.py:839 +#: VirtualMailManager/handler.py:858 VirtualMailManager/handler.py:870 #, python-format msgid "The account '%s' does not exist." msgstr "Das Konto »%s« existiert nicht." -#: VirtualMailManager/account.py:204 VirtualMailManager/account.py:214 -#: VirtualMailManager/cli/handler.py:77 VirtualMailManager/handler.py:596 +#: VirtualMailManager/account.py:222 VirtualMailManager/account.py:243 +#: VirtualMailManager/cli/handler.py:77 VirtualMailManager/handler.py:651 #, python-format msgid "The account '%s' already exists." msgstr "Das Konto »%s« existiert bereits." -#: VirtualMailManager/account.py:207 VirtualMailManager/handler.py:701 +#: VirtualMailManager/account.py:225 VirtualMailManager/handler.py:811 #, python-format msgid "Could not accept password: '%s'" msgstr "Passwort konnte nicht akzeptiert werden: »%s«" -#: VirtualMailManager/account.py:217 +#: VirtualMailManager/account.py:246 #, python-format msgid "No password set for account: '%s'" msgstr "Kein Passwort festgelegt für Konto: »%s«" -#: VirtualMailManager/account.py:245 +#: VirtualMailManager/account.py:285 #, python-format msgid "Unknown field: '%s'" msgstr "Unbekanntes Feld: »%s«" -#: VirtualMailManager/account.py:267 VirtualMailManager/domain.py:292 +#: VirtualMailManager/account.py:307 VirtualMailManager/domain.py:331 msgid "PostgreSQL-based dictionary quota requires Dovecot >= v1.1.2." -msgstr "PostgreSQL-basierte Datenbank-Nutzungsbeschränkung benötigt Dovecot >= v1.1.2." +msgstr "PostgreSQL-basierte Kontingentbeschränkung benötigt Dovecot >= v1.1.2." #. TP: A service (e.g. pop3 or imap) may be enabled/usable or #. disabled/unusable for a user. -#: VirtualMailManager/account.py:332 +#: VirtualMailManager/account.py:370 msgid "disabled" msgstr "deaktiviert" -#: VirtualMailManager/account.py:332 +#: VirtualMailManager/account.py:370 msgid "enabled" msgstr "aktiviert" -#: VirtualMailManager/account.py:343 +#: VirtualMailManager/account.py:409 #, python-format msgid "Could not fetch information for account: '%s'" msgstr "Informationen zum Konto konnten nicht geholt werden: »%s«" -#: VirtualMailManager/account.py:387 +#: VirtualMailManager/account.py:453 #, python-format msgid "There are %(count)d aliases with the destination address '%(address)s'." msgstr "Es gibt %(count)d Alias(e) mit der Zieladresse »%(address)s«." -#: VirtualMailManager/account.py:416 +#: VirtualMailManager/account.py:482 msgid "UID must be an int/long." msgstr "Die UID muss eine Ganzzahl sein." -#: VirtualMailManager/account.py:418 +#: VirtualMailManager/account.py:484 msgid "UID must be greater than 0." msgstr "Die UID muss größer als 0 sein." -#: VirtualMailManager/account.py:427 +#: VirtualMailManager/account.py:493 #, python-format msgid "There is no account with the UID: '%d'" msgstr "Es existiert kein Konto mit der UID »%d«." -#: VirtualMailManager/alias.py:60 +#: VirtualMailManager/alias.py:61 #, python-format msgid "" "Cannot add %(count_new)i new destination(s) to alias '%(address)s'.\n" @@ -120,7 +115,7 @@ "unbenutzbar.\n" "Hinweis: Erhöhen Sie den Wert für »virtual_alias_expansion_limit« in Postfix." -#: VirtualMailManager/alias.py:67 +#: VirtualMailManager/alias.py:68 #, python-format msgid "" "Cannot add %(count_new)i new destination(s) to alias '%(address)s'.\n" @@ -134,16 +129,16 @@ "diesen Alias adressierten Nachrichten werden zurückgehalten.\n" "Hinweis: Löschen Sie einige Zieladressen." -#: VirtualMailManager/alias.py:142 VirtualMailManager/alias.py:154 -#: VirtualMailManager/alias.py:161 VirtualMailManager/handler.py:657 +#: VirtualMailManager/alias.py:155 VirtualMailManager/alias.py:172 +#: VirtualMailManager/alias.py:179 VirtualMailManager/handler.py:712 #, python-format msgid "The alias '%s' does not exist." msgstr "Der Alias »%s« existiert nicht." -#: VirtualMailManager/alias.py:145 +#: VirtualMailManager/alias.py:163 #, python-format -msgid "The address '%(addr)s' is not a destination of the alias '%(alias)s'." -msgstr "Die Adresse »%(addr)s« ist kein Ziel für den Alias »%(alias)s«." +msgid "No suitable destinations left to remove from alias '%s'." +msgstr "Aus dem Alias »%s« können keine weiteren Ziele mehr entfernt werden." #: VirtualMailManager/aliasdomain.py:50 #, python-format @@ -180,6 +175,46 @@ msgid "The alias domain '%(alias)s' is already assigned to the domain '%(domain)s'." msgstr "Die Alias-Domain »%(alias)s« ist bereits der Domain »%(domain)s« zugeordnet." +#: VirtualMailManager/catchall.py:69 +#, python-format +msgid "" +"Cannot add %(count_new)i new destination(s) to catch-all alias for\n" +"domain '%(domain)s'. Currently this alias expands into %(count)i/%(limit)i\n" +"recipients. %(count_new)i additional destination(s) will render this alias\n" +"unusable.\n" +"Hint: Increase Postfix' virtual_alias_expansion_limit" +msgstr "" +"%(count_new)i neu(e) Ziel(e) konnten nicht zum Catch-All-Alias für die\n" +"Domain »%(domain)s« hinzugefügt werden. Gegenwärtig gilt dieser Alias für\n" +"%(count)i/%(limit)i Empfänger. Durch Hinzufügen von %(count_new)i Ziel(en)\n" +"wird dieser Alias unbenutzbar.\n" +"Hinweis: Erhöhen Sie den Wert für »virtual_alias_expansion_limit« in Postfix." + +#: VirtualMailManager/catchall.py:77 +#, python-format +msgid "" +"Cannot add %(count_new)i new destination(s) to catch-all alias for domain\n" +"'%(domain)s'. This alias already exceeds its expansion limit (%(count)i/%(limit)i).\n" +"So its unusable, all messages addressed to this alias will be bounced.\n" +"Hint: Delete some destination addresses." +msgstr "" +"%(count_new)i neu(e) Ziel(e) konnten nicht zum Catch-All-Alias für die\n" +"Domain »%(domain)s« hinzugefügt werden. Dieser Alias übersteigt bereits\n" +"die Begrenzung auf (%(count)i/%(limit)i). Daher wird er unbenutzbar, und\n" +"alle an diesen Alias adressierten Nachrichten werden zurückgehalten.\n" +"Hinweis: Löschen Sie einige Zieladressen." + +#: VirtualMailManager/catchall.py:151 VirtualMailManager/catchall.py:169 +#: VirtualMailManager/catchall.py:176 +#, python-format +msgid "There are no catch-all aliases defined for domain '%s'." +msgstr "Für die Domain »%s« sind keine Catch-All-Aliase definiert." + +#: VirtualMailManager/catchall.py:159 +#, python-format +msgid "No suitable destinations left to remove from the catch-all alias of domain '%s'." +msgstr "Für die Entfernung aus dem Catch-All-Alias für die Domain »%s« sind keine Ziele mehr verfügbar." + #. TP: Please preserve the trailing space. #: VirtualMailManager/cli/__init__.py:78 msgid "Enter new password: " @@ -192,7 +227,7 @@ #: VirtualMailManager/cli/__init__.py:85 VirtualMailManager/cli/config.py:53 msgid "Too many failures - try again later." -msgstr "Zu viele Fehlschläge - versuchen Sie es später erneut." +msgstr "Zu viele Fehlschläge – versuchen Sie es später erneut." #: VirtualMailManager/cli/__init__.py:91 msgid "Sorry, passwords do not match." @@ -202,6 +237,715 @@ msgid "Sorry, empty passwords are not permitted." msgstr "Entschuldigung, leere Passwörter sind nicht zulässig." +#. TP: There are some words enclosed within angle brackets '<'word'>'. They +#. are used to indicate replaceable arguments. Please do not translate them. +#. +#. The descriptions of subcommands may contain the both keywords 'domain' +#. and 'force', enclosed within single quotes. Please keep them as they are. +#. +#. TP: description of subcommand configget +#: VirtualMailManager/cli/clihelp.py:21 +msgid "" +"This subcommand is used to display the actual value\n" +"of the given configuration <option>." +msgstr "" +"Dieser Unterbefehl wird dazu verwendet, den derzeitigen\n" +"Wert der angegebenen Konfigurationsoption <option> anzuzeigen." + +#. TP: description of subcommand configset +#: VirtualMailManager/cli/clihelp.py:24 +msgid "" +"Use this subcommand to set or update a single\n" +"configuration option's value. <option> is the configuration option, <value>\n" +"is the <option>'s new value." +msgstr "" +"Verwenden Sie diesen Unterbefehl, um den Wert einer\n" +"einzelnen Konfigurationsoption festzulegen oder zu\n" +"aktualisieren. <option> ist die Konfigurationsoption,\n" +"<value> ist der neue Wert der Option." + +#: VirtualMailManager/cli/clihelp.py:27 VirtualMailManager/cli/clihelp.py:42 +msgid "" +"Note: This subcommand will create a new vmm.cfg without any comments.\n" +"Your current configuration file will be backed as vmm.cfg.bak." +msgstr "" +"Hinweis: Dieser Unterbefehl erzeugt eine neue vmm.cfg ohne\n" +"jegliche Kommentare. Ihre derzeitige Konfigurationsdatei\n" +"wird als vmm.cfg.bak gesichert." + +#. TP: description of subcommand configure +#: VirtualMailManager/cli/clihelp.py:30 +msgid "" +"Starts the interactive configuration for all\n" +"configuration sections." +msgstr "" +"Startet den interaktiven Konfigurationsmodus für\n" +"alle Konfigurationsabschnitte." + +#: VirtualMailManager/cli/clihelp.py:32 +msgid "" +"In this process the currently set value of each option will be displayed\n" +"in square brackets. If no value is configured, the default value of each\n" +"option will be displayed in square brackets. Press the return key, to accept\n" +"the displayed value." +msgstr "" +"In diesem Prozess wird der gegenwärtig für jede Option gesetzte Wert\n" +"in eckigen Klammern angezeigt. Falls kein Wert eingestellt ist, wird\n" +"der Vorgabewert jeder Option in eckigen Klammern angezeigt. Drücken Sie\n" +"die Eingabetaste, um die angezeigten Werte zu übernehmen." + +#: VirtualMailManager/cli/clihelp.py:36 +msgid "" +"If the optional argument <section> is given, only the configuration\n" +"options from the given section will be displayed and will be configurable.\n" +"The following sections are available:\n" +msgstr "" +"Falls das optionale Argument <section> angegeben wird, dann werden\n" |
|
From: <nev...@us...> - 2014-06-08 17:37:25
|
details: http://hg.localdomain.org/vmm/rev/271bd82c05c0 changeset: 752:271bd82c05c0 user: Pascal Volk date: Sun Jun 08 17:15:55 2014 +0000 description: {man1,doc/web}: Added userdelete --delete-home's description. diffstat: doc/web/source/howto/manage_accounts.rst | 21 ++++++++++++++++++--- man/man1/vmm.1 | 23 ++++++++++++++++++++++- 2 files changed, 40 insertions(+), 4 deletions(-) diffs (76 lines): diff -r 9d739cd2f527 -r 271bd82c05c0 doc/web/source/howto/manage_accounts.rst --- a/doc/web/source/howto/manage_accounts.rst Sun Jun 08 17:11:55 2014 +0000 +++ b/doc/web/source/howto/manage_accounts.rst Sun Jun 08 17:15:55 2014 +0000 @@ -36,15 +36,30 @@ userdelete ---------- + +.. program:: vmm userdelete + Syntax: - | **vmm userdelete** *address* [**‒‒force**] - | **vmm ud** *address* [**‒‒force**] + | **vmm userdelete** *address* [**‒‒delete-home**] [**‒‒force**] + | **vmm ud** *address* [**‒‒delete-home**] [**‒‒force**] + +.. option:: --delete-home + + When this option is present, :command:`vmm` will also delete the account's + home directory. + This overrides the *account.delete_directory* setting of :file:`vmm.cfg`. + +.. option:: --force + + When this option is given, :command:`vmm` will delete the account, even if + there are aliases with the account's address as their destination. + Those aliases will be deleted too. Use this subcommand to delete the account with the given *address*. If there are one or more aliases with an identical destination address, :command:`vmm` will abort the requested operation and show an error message. -To prevent this, give the optional argument **‒‒force**. +To prevent this, give the optional argument :option:`--force`. userinfo -------- diff -r 9d739cd2f527 -r 271bd82c05c0 man/man1/vmm.1 --- a/man/man1/vmm.1 Sun Jun 08 17:11:55 2014 +0000 +++ b/man/man1/vmm.1 Sun Jun 08 17:15:55 2014 +0000 @@ -1,4 +1,4 @@ -.TH "VMM" "1" "2014-02-23" "vmm 0.7" "vmm" +.TH "VMM" "1" "2014-06-08" "vmm 0.7" "vmm" .SH NAME vmm \- command line tool to manage email domains/accounts/aliases .\" ----------------------------------------------------------------------- @@ -739,8 +739,29 @@ .\" ------------------------------------ .SS userdelete (ud) .BI "vmm userdelete" " address" +.RB [ \-\-delete\-home ] .RB [ \-\-force ] .PP +.\" ------------------------------------ +.TP +.B \-\-delete\-home +When this option is present, +.B vmm +will also delete the account\(aqs home directory. +This overrides the +.I account.delete_directory +setting of +.IR vmm.cfg . +.\" ------------------------------------ +.TP +.B \-\-force +When this option is given, +.B vmm +will delete the account, even if there are aliases with the account\(aqs +address as their destination. +Those aliases will be deleted too. +.\" ------------------------------------ +.PP Use this subcommand to delete the account with the given .IR address . .PP |
|
From: <nev...@us...> - 2014-06-08 17:37:25
|
details: http://hg.localdomain.org/vmm/rev/9d739cd2f527 changeset: 751:9d739cd2f527 user: Pascal Volk date: Sun Jun 08 17:11:55 2014 +0000 description: VMM/cli/subcommands: userdelete: Added option --delete-home. diffstat: VirtualMailManager/cli/subcommands.py | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diffs (36 lines): diff -r 8931c6b8435e -r 9d739cd2f527 VirtualMailManager/cli/subcommands.py --- a/VirtualMailManager/cli/subcommands.py Sun Jun 08 17:08:35 2014 +0000 +++ b/VirtualMailManager/cli/subcommands.py Sun Jun 08 17:11:55 2014 +0000 @@ -348,7 +348,8 @@ def user_delete(ctx): """delete the specified user""" - ctx.hdlr.user_delete(ctx.args.address.lower(), ctx.args.force) + ctx.hdlr.user_delete(ctx.args.address.lower(), ctx.args.delete_home, + ctx.args.force) def user_info(ctx): @@ -906,13 +907,18 @@ ud = a('userdelete', aliases=('ud',), help=_('delete the specified user'), epilog=fill(_('Use this subcommand to delete the account with the ' - 'given address.\n\nIf there are one or more aliases with an ' - 'identical destination address, vmm will abort the requested ' - 'operation and show an error message. To prevent this, ' - 'give the optional argument --force.')), + 'given address.\n\nWhen the --delete-home option is present, ' + 'vmm will also delete the account\'s home directory. This ' + 'overrides the account.delete_directory setting of vmm.cfg.\n\n' + 'If there are one or more aliases with an identical ' + 'destination address, vmm will abort the requested operation ' + 'and show an error message. To prevent this, give the optional ' + 'argument --force.')), formatter_class=RawDescriptionHelpFormatter) ud.add_argument('address', help=_("an account's e-mail address (local-part@fqdn)")) + ud.add_argument('--delete-home', action='store_true', + help=_("delete the account's home directory")) ud.add_argument('--force', action='store_true', help=_('also delete assigned alias addresses')) ud.set_defaults(func=user_delete, scmd='userdelete') |
|
From: <nev...@us...> - 2014-06-08 17:37:25
|
details: http://hg.localdomain.org/vmm/rev/8931c6b8435e changeset: 750:8931c6b8435e user: Pascal Volk date: Sun Jun 08 17:08:35 2014 +0000 description: VMM/handler: Handler.user_delete() Added parameter `delete_home'. diffstat: VirtualMailManager/handler.py | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diffs (24 lines): diff -r bc796a554ca2 -r 8931c6b8435e VirtualMailManager/handler.py --- a/VirtualMailManager/handler.py Sun Jun 08 14:03:07 2014 +0000 +++ b/VirtualMailManager/handler.py Sun Jun 08 17:08:35 2014 +0000 @@ -624,8 +624,10 @@ self._warnings.append(_("The destination account/alias '%s' " "does not exist.") % destination) - def user_delete(self, emailaddress, force=False): + def user_delete(self, emailaddress, delete_home, force=False): """Wrapper around Account.delete(...)""" + if not isinstance(delete_home, bool): + raise TypeError('delete_home must be a bool') if not isinstance(force, bool): raise TypeError('force must be a bool') acc = self._get_account(emailaddress) @@ -637,7 +639,7 @@ dom_dir = acc.domain.directory acc_dir = acc.home acc.delete(force) - if self._cfg.dget('account.delete_directory'): + if delete_home or self._cfg.dget('account.delete_directory'): try: self._delete_home(dom_dir, uid, gid) except VMMError as err: |
|
From: <nev...@us...> - 2014-03-25 00:02:54
|
details: http://hg.localdomain.org/vmm/rev/659c4476c57c changeset: 748:659c4476c57c user: Pascal Volk date: Mon Mar 24 19:22:04 2014 +0200 description: po: Updated Finnish translation (translated by Jorma Karvonen). diffstat: po/fi.po | 630 +++++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 351 insertions(+), 279 deletions(-) diffs (truncated from 1684 to 300 lines): diff -r 670120e0fbb9 -r 659c4476c57c po/fi.po --- a/po/fi.po Mon Mar 24 18:17:08 2014 +0100 +++ b/po/fi.po Mon Mar 24 19:22:04 2014 +0200 @@ -1,14 +1,14 @@ # Finnish messages for vmm. -# Copyright © 2010, 2012 Free Software Foundation, Inc. +# Copyright © 2010, 2012, 2014 Free Software Foundation, Inc. # This file is distributed under the same license as the vmm package. -# Jorma Karvonen <kar...@gm...>, 2010, 2012. +# Jorma Karvonen <kar...@gm...>, 2010, 2012, 2014. # msgid "" msgstr "" -"Project-Id-Version: vmm 0.6.1-pre1\n" +"Project-Id-Version: vmm 0.6.3-pre1\n" "Report-Msgid-Bugs-To: user+vmm/tp...@lo...\n" -"POT-Creation-Date: 2012-09-04 00:39+0200\n" -"PO-Revision-Date: 2012-11-21 13:52+0200\n" +"POT-Creation-Date: 2014-03-23 20:10+0000\n" +"PO-Revision-Date: 2014-03-24 19:14+0200\n" "Last-Translator: Jorma Karvonen <kar...@gm...>\n" "Language-Team: Finnish <tra...@li...>\n" "Language: fi\n" @@ -20,93 +20,88 @@ #. TP: Hm, what “quotation marks” should be used? #. If you are unsure have a look at: #. http://en.wikipedia.org/wiki/Quotation_mark,_non-English_usage -#: VirtualMailManager/account.py:59 VirtualMailManager/alias.py:35 -#: VirtualMailManager/catchall.py:44 VirtualMailManager/domain.py:127 +#: VirtualMailManager/account.py:60 VirtualMailManager/alias.py:35 +#: VirtualMailManager/catchall.py:44 VirtualMailManager/domain.py:131 #: VirtualMailManager/relocated.py:39 #, python-format msgid "The domain '%s' does not exist." -msgstr "Verkkotunnus ’%s’ ei ole vielä olemassa." +msgstr "Verkkotunnus ’%s’ ei ole olemassa." -#: VirtualMailManager/account.py:122 +#: VirtualMailManager/account.py:123 #, python-format msgid "The mailbox format '%(mbfmt)s' requires Dovecot >= v%(version)s." msgstr "Sähköpostilaatikkomuoto ’%(mbfmt)s’ vaatii Dovecot >= v%(version)s." -#: VirtualMailManager/account.py:129 VirtualMailManager/account.py:354 -#, python-format -msgid "Invalid transport '%(transport)s' for mailbox format '%(mbfmt)s'." -msgstr "Virheellinen siirto ’%(transport)s’ sähköpostilaatikkomuodolle ’%(mbfmt)s’." - -#: VirtualMailManager/account.py:169 VirtualMailManager/cli/handler.py:93 -#: VirtualMailManager/handler.py:680 VirtualMailManager/handler.py:764 -#: VirtualMailManager/handler.py:790 VirtualMailManager/handler.py:798 -#: VirtualMailManager/handler.py:806 VirtualMailManager/handler.py:814 -#: VirtualMailManager/handler.py:833 VirtualMailManager/handler.py:845 +#: VirtualMailManager/account.py:166 VirtualMailManager/cli/handler.py:93 +#: VirtualMailManager/handler.py:683 VirtualMailManager/handler.py:789 +#: VirtualMailManager/handler.py:815 VirtualMailManager/handler.py:823 +#: VirtualMailManager/handler.py:831 VirtualMailManager/handler.py:839 +#: VirtualMailManager/handler.py:858 VirtualMailManager/handler.py:870 #, python-format msgid "The account '%s' does not exist." msgstr "Tiliä ’%s’ ei ole olemassa." -#: VirtualMailManager/account.py:225 VirtualMailManager/account.py:246 -#: VirtualMailManager/cli/handler.py:77 VirtualMailManager/handler.py:648 +#: VirtualMailManager/account.py:222 VirtualMailManager/account.py:243 +#: VirtualMailManager/cli/handler.py:77 VirtualMailManager/handler.py:651 #, python-format msgid "The account '%s' already exists." msgstr "Tili ’%s’ on jo olemassa." -#: VirtualMailManager/account.py:228 VirtualMailManager/handler.py:786 +#: VirtualMailManager/account.py:225 VirtualMailManager/handler.py:811 #, python-format msgid "Could not accept password: '%s'" -msgstr "Ei voitu hyväksyä salasanaa: ’%s’" +msgstr "Salasanan hyväksyminen epäonnistui: ’%s’" -#: VirtualMailManager/account.py:249 +#: VirtualMailManager/account.py:246 #, python-format msgid "No password set for account: '%s'" msgstr "Tilille ei ole asetettu salasanaa: ’%s’" -#: VirtualMailManager/account.py:288 +#: VirtualMailManager/account.py:285 #, python-format msgid "Unknown field: '%s'" msgstr "Tuntematon kenttä: ’%s’" -#: VirtualMailManager/account.py:310 VirtualMailManager/domain.py:323 +#: VirtualMailManager/account.py:307 VirtualMailManager/domain.py:331 msgid "PostgreSQL-based dictionary quota requires Dovecot >= v1.1.2." msgstr "PostgreSQL-perustainen sanakirjakiintiö vaatii Dovecot >= v1.1.2" #. TP: A service (e.g. pop3 or imap) may be enabled/usable or #. disabled/unusable for a user. -#: VirtualMailManager/account.py:378 +#: VirtualMailManager/account.py:370 msgid "disabled" msgstr "poistettu käytöstä" -#: VirtualMailManager/account.py:378 +#: VirtualMailManager/account.py:370 msgid "enabled" msgstr "otettu käyttöön" -#: VirtualMailManager/account.py:417 +#: VirtualMailManager/account.py:409 #, python-format msgid "Could not fetch information for account: '%s'" msgstr "Tiedojen noutaminen tilille epäonnistui: ’%s’" # Alla "count" ja "address" ovat muuttujia, jotka korvautuvat suorituksen yhteydessä koodilla. -#: VirtualMailManager/account.py:461 +#: VirtualMailManager/account.py:453 #, python-format msgid "There are %(count)d aliases with the destination address '%(address)s'." msgstr "On %(count)d aliasta kohdeosoitteella ’%(address)s’." -#: VirtualMailManager/account.py:490 +#: VirtualMailManager/account.py:482 msgid "UID must be an int/long." msgstr "UID-käyttäjätunnisteen on oltava tyypiltään int/long." -#: VirtualMailManager/account.py:492 +#: VirtualMailManager/account.py:484 msgid "UID must be greater than 0." msgstr "UID-käyttäjätunnisteen on oltava suurempi kuin 0." -#: VirtualMailManager/account.py:501 +#: VirtualMailManager/account.py:493 #, python-format msgid "There is no account with the UID: '%d'" msgstr "Ei ole tiliä UID-käyttäjätunnisteella: ’%d’" # Alla "address" ja "count" ovat muuttuja, jotka korvautuvat suorituksen yhteydessä koodilla. -#: VirtualMailManager/alias.py:60 +#: VirtualMailManager/alias.py:61 #, python-format msgid "" "Cannot add %(count_new)i new destination(s) to alias '%(address)s'.\n" @@ -119,7 +114,7 @@ "%(count_new)i lisäkohdetta tekee tämän aliaksen käyttökelvottomaksi.\n" "Vihje: Kasvata Postfix-arvoa virtual_alias_expansion_limit" -#: VirtualMailManager/alias.py:67 +#: VirtualMailManager/alias.py:68 #, python-format msgid "" "Cannot add %(count_new)i new destination(s) to alias '%(address)s'.\n" @@ -129,20 +124,20 @@ msgstr "" "Ei voida lisätä %(count_new)i uutta kohdetta aliakseen ’%(address)s’.\n" "Tämä alias ylittää jo laajennusrajansa (%(count)i/%(limit)i).\n" -"Joten se on käyttökelvoton. Kaikki tähän osoitteeseen suunnatut viestit\n" +"Joten se on käyttökelvoton. Kaikki tähän aliakseen suunnatut viestit\n" "ponnahtavat takaisin.\n" "Vihje: Poista joitakin kohdeosoitteita." -#: VirtualMailManager/alias.py:142 VirtualMailManager/alias.py:154 -#: VirtualMailManager/alias.py:161 VirtualMailManager/handler.py:709 +#: VirtualMailManager/alias.py:155 VirtualMailManager/alias.py:172 +#: VirtualMailManager/alias.py:179 VirtualMailManager/handler.py:712 #, python-format msgid "The alias '%s' does not exist." msgstr "Alias ’%s’ ei ole olemassa." -#: VirtualMailManager/alias.py:145 +#: VirtualMailManager/alias.py:163 #, python-format -msgid "The address '%(addr)s' is not a destination of the alias '%(alias)s'." -msgstr "Osoite ’%(addr)s’ ei ole aliaksen ’%(alias)s’ kohde." +msgid "No suitable destinations left to remove from alias '%s'." +msgstr "Aliakselle ’%s’ ei ole jätetty sopivia kohteita poistettavaksi." #: VirtualMailManager/aliasdomain.py:50 #, python-format @@ -190,7 +185,7 @@ "unusable.\n" "Hint: Increase Postfix' virtual_alias_expansion_limit" msgstr "" -"Ei voida lisätä %(count_new)i uutta kohdetta catch-all aliakselle\n" +"Ei voida lisätä %(count_new)i uutta kohdetta sieppaa-kaikki-aliakselle\n" "verkkoalueelle ’%(domain)s’. Nykyisin tämä alias laajenee %(count)i/%(limit)i\n" "vastaanottajaan. %(count_new)i lisäkohdetta tekee tämän aliaksen\n" "käyttökelvottomaksi.\n" @@ -199,27 +194,26 @@ #: VirtualMailManager/catchall.py:77 #, python-format msgid "" -"Cannot add %(count_new)i new destination(s) to catch-all alias for\n" -"domain '%(domain)s'. This alias already exceeds its expansion limit (%(count)i/%(limit)i).\n" +"Cannot add %(count_new)i new destination(s) to catch-all alias for domain\n" +"'%(domain)s'. This alias already exceeds its expansion limit (%(count)i/%(limit)i).\n" "So its unusable, all messages addressed to this alias will be bounced.\n" "Hint: Delete some destination addresses." msgstr "" "Ei voida lisätä %(count_new)i uutta kohdetta sieppaa-kaikki-aliakseen\n" "verkkoalueelle ’%(domain)s’. Tämä alias ylittää jo laajennusrajansa (%(count)i/%(limit)i).\n" -"Joten se on käyttökelvoton. Kaikki tähän osoitteeseen suunnatut viestit\n" -"ponnahtavat takaisin.\n" +"Joten se on käyttökelvoton. Kaikki tähän aliakseen suunnatut viestit ponnahtavat takaisin.\n" "Vihje: Poista joitakin kohdeosoitteita." -#: VirtualMailManager/catchall.py:146 VirtualMailManager/catchall.py:159 -#: VirtualMailManager/catchall.py:166 +#: VirtualMailManager/catchall.py:151 VirtualMailManager/catchall.py:169 +#: VirtualMailManager/catchall.py:176 #, python-format msgid "There are no catch-all aliases defined for domain '%s'." msgstr "Ei ole sieppaa-kaikki-aliasta verkkotunnukselle ’%s’." -#: VirtualMailManager/catchall.py:149 +#: VirtualMailManager/catchall.py:159 #, python-format -msgid "The address '%(addr)s' is not a destination of the catch-all alias for domain '%(domain)s'." -msgstr "Osoite ’%(addr)s’ ei ole sieppaa-kaikki-aliaksen kohde verkkotunnukselle ’%(domain)s’." +msgid "No suitable destinations left to remove from the catch-all alias of domain '%s'." +msgstr "Verkkotunnuksen ’%s’ sieppaa-kaikki-aliakselle ei ole jätetty sopivia kohteita poistettaviksi." #. TP: Please preserve the trailing space. #: VirtualMailManager/cli/__init__.py:78 @@ -321,8 +315,45 @@ "Jos vain käyttäjätunniste <uid> on käytettävissä, esimerkiksi\n" "prosessiluettelosta, alikomento getuser näyttää käyttäjän osoitteen." +#. TP: description of subcommand listaddresses +#: VirtualMailManager/cli/clihelp.py:48 +msgid "" +"This command lists all defined addresses.\n" +"Addresses belonging to alias-domains are prefixed with a '-', addresses of\n" +"regular domains with a '+'. Additionally, the letters 'u', 'a', and 'r'\n" +"indicate the type of each address: user, alias and relocated respectively.\n" +"The output can be limited with an optional <pattern>." +msgstr "" +"Tämä komento luetteloi kaikki määritellyt osoitteet.\n" +"Aliasverkkotunnuksiin kuuluvilla osoitteilla on etuliite ’-’, tavallisilla\n" +"verkkotunnuksilla etuliite ’+’. Lisäksi kirjaimet ’u’, ’a’, ja ’r’ osoittavat\n" +"vastaavasti jokaisen osoitteen tyypin: käyttäjä, alias ja sijoitettu.\n" +"Tulostusta voidaan rajoittaa valinnaisella valitsimella <pattern>." + +#: VirtualMailManager/cli/clihelp.py:53 VirtualMailManager/cli/clihelp.py:60 +#: VirtualMailManager/cli/clihelp.py:67 VirtualMailManager/cli/clihelp.py:82 +#: VirtualMailManager/cli/clihelp.py:88 +#, no-python-format +msgid "" +"To perform a wild card search, the % character can be used at the start\n" +"and/or the end of the <pattern>." +msgstr "" +"Jokerimerkkihaun suorittamiseksi merkkiä % voidaan käyttää valitsimen <pattern>\n" +"alussa ja/tai lopussa." + +#. TP: description of subcommand listaliases +#: VirtualMailManager/cli/clihelp.py:56 +msgid "" +"This command lists all defined aliases. Aliases\n" +"belonging to alias-domains are prefixed with a '-', addresses of regular\n" +"domains with a '+'. The output can be limited with an optional <pattern>." +msgstr "" +"Tämä komento luetteloi kaikki käytettävissä olevat aliakset. Aliasverkkotunnuksiin\n" +"kuuluvilla aliaksilla on etuliite ’[-]’, tavallisilla verkkotunnuksilla etuliite ’[+]’.\n" +"Tulostusta voidaan rajoittaa valinnaisella valitsimella <pattern>." + #. TP: description of subcommand listdomains -#: VirtualMailManager/cli/clihelp.py:48 +#: VirtualMailManager/cli/clihelp.py:63 msgid "" "This subcommand lists all available domains. All\n" "domain names will be prefixed either with `[+]', if the domain is a primary\n" @@ -331,20 +362,11 @@ msgstr "" "Tämä alikomento luetteloi kaikki käytettävissä olevat verkkotunnukset.\n" "Kaikkia verkkotunnuksia edeltää joko ”[+]”, jos verkkotunnus on ensisijainen\n" -"verkkotunnus, tai ”[-]”, jos se on alias-verkkotunnus. Tulostusta voidaan\n" +"verkkotunnus, tai ”[-]”, jos se on aliasverkkotunnus. Tulostusta voidaan\n" "rajoittaa valinnaisella valitsimella <pattern>." -#: VirtualMailManager/cli/clihelp.py:52 -#, python-format -msgid "" -"To perform a wild card search, the % character can be used at the start\n" -"and/or the end of the <pattern>." -msgstr "" -"Jokerimerkkihaun suorittamiseksi merkkiä %c voidaan käyttää valitsimen <pattern>\n" -"alussa ja/tai lopussa." - #. TP: description of subcommand listpwschemes -#: VirtualMailManager/cli/clihelp.py:55 +#: VirtualMailManager/cli/clihelp.py:70 msgid "" "This subcommand lists all password schemes which\n" "could be used in the vmm.cfg as value of the misc.password_scheme option.\n" @@ -356,18 +378,42 @@ "arvona. Tulostus vaihtelee riippuen käytetystä Dovecot-versiosta ja\n" "järjestelmän libc-kirjastosta. " -#: VirtualMailManager/cli/clihelp.py:59 +#: VirtualMailManager/cli/clihelp.py:74 msgid "" "When your Dovecot installation isn't too old, you will see additionally\n" |
|
From: <nev...@us...> - 2014-03-25 00:02:48
|
details: http://hg.localdomain.org/vmm/rev/670120e0fbb9 changeset: 747:670120e0fbb9 user: Pascal Volk date: Mon Mar 24 18:17:08 2014 +0100 description: po: Updated German translation (translated by Mario Blättermann). diffstat: po/de.po | 1531 ++++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 1155 insertions(+), 376 deletions(-) diffs (truncated from 2190 to 300 lines): diff -r ef2b73d461d4 -r 670120e0fbb9 po/de.po --- a/po/de.po Sun Mar 23 20:11:14 2014 +0000 +++ b/po/de.po Mon Mar 24 18:17:08 2014 +0100 @@ -2,111 +2,106 @@ # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the vmm package. # Pascal Volk <p....@ve...>, 2009. -# Mario Blättermann <mar...@gm...>, 2011. +# Mario Blättermann <mar...@gm...>, 2011, 2014. # msgid "" msgstr "" -"Project-Id-Version: vmm 0.6.0\n" +"Project-Id-Version: vmm 0.6.3-pre1\n" "Report-Msgid-Bugs-To: user+vmm/tp...@lo...\n" -"POT-Creation-Date: 2011-11-07 05:20+0100\n" -"PO-Revision-Date: 2011-11-07 12:57+0100\n" +"POT-Creation-Date: 2014-03-23 20:10+0000\n" +"PO-Revision-Date: 2014-03-24 18:14+0100\n" "Last-Translator: Mario Blättermann <mar...@gm...>\n" "Language-Team: German <tra...@li...>\n" -"Language: \n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-Language: German\n" -"X-Poedit-Country: GERMANY\n" +"X-Generator: Poedit 1.5.4\n" #. TP: Hm, what “quotation marks” should be used? #. If you are unsure have a look at: #. http://en.wikipedia.org/wiki/Quotation_mark,_non-English_usage -#: VirtualMailManager/account.py:58 VirtualMailManager/alias.py:35 -#: VirtualMailManager/domain.py:120 VirtualMailManager/relocated.py:38 +#: VirtualMailManager/account.py:60 VirtualMailManager/alias.py:35 +#: VirtualMailManager/catchall.py:44 VirtualMailManager/domain.py:131 +#: VirtualMailManager/relocated.py:39 #, python-format msgid "The domain '%s' does not exist." msgstr "Die Domain »%s« existiert nicht." -#: VirtualMailManager/account.py:106 +#: VirtualMailManager/account.py:123 #, python-format msgid "The mailbox format '%(mbfmt)s' requires Dovecot >= v%(version)s." msgstr "Das Postfachformat »%(mbfmt)s« benötigt Dovecot >= v%(version)s." -#: VirtualMailManager/account.py:113 VirtualMailManager/account.py:305 -#, python-format -msgid "Invalid transport '%(transport)s' for mailbox format '%(mbfmt)s'." -msgstr "Ungültiger Transport »%(transport)s« für Postfachformat »%(mbfmt)s«." - -#: VirtualMailManager/account.py:153 VirtualMailManager/cli/handler.py:93 -#: VirtualMailManager/handler.py:628 VirtualMailManager/handler.py:679 -#: VirtualMailManager/handler.py:705 VirtualMailManager/handler.py:716 -#: VirtualMailManager/handler.py:727 VirtualMailManager/handler.py:739 -#: VirtualMailManager/handler.py:753 +#: VirtualMailManager/account.py:166 VirtualMailManager/cli/handler.py:93 +#: VirtualMailManager/handler.py:683 VirtualMailManager/handler.py:789 +#: VirtualMailManager/handler.py:815 VirtualMailManager/handler.py:823 +#: VirtualMailManager/handler.py:831 VirtualMailManager/handler.py:839 +#: VirtualMailManager/handler.py:858 VirtualMailManager/handler.py:870 #, python-format msgid "The account '%s' does not exist." msgstr "Das Konto »%s« existiert nicht." -#: VirtualMailManager/account.py:204 VirtualMailManager/account.py:214 -#: VirtualMailManager/cli/handler.py:77 VirtualMailManager/handler.py:596 +#: VirtualMailManager/account.py:222 VirtualMailManager/account.py:243 +#: VirtualMailManager/cli/handler.py:77 VirtualMailManager/handler.py:651 #, python-format msgid "The account '%s' already exists." msgstr "Das Konto »%s« existiert bereits." -#: VirtualMailManager/account.py:207 VirtualMailManager/handler.py:701 +#: VirtualMailManager/account.py:225 VirtualMailManager/handler.py:811 #, python-format msgid "Could not accept password: '%s'" msgstr "Passwort konnte nicht akzeptiert werden: »%s«" -#: VirtualMailManager/account.py:217 +#: VirtualMailManager/account.py:246 #, python-format msgid "No password set for account: '%s'" msgstr "Kein Passwort festgelegt für Konto: »%s«" -#: VirtualMailManager/account.py:245 +#: VirtualMailManager/account.py:285 #, python-format msgid "Unknown field: '%s'" msgstr "Unbekanntes Feld: »%s«" -#: VirtualMailManager/account.py:267 VirtualMailManager/domain.py:292 +#: VirtualMailManager/account.py:307 VirtualMailManager/domain.py:331 msgid "PostgreSQL-based dictionary quota requires Dovecot >= v1.1.2." -msgstr "PostgreSQL-basierte Datenbank-Nutzungsbeschränkung benötigt Dovecot >= v1.1.2." +msgstr "PostgreSQL-basierte Kontingentbeschränkung benötigt Dovecot >= v1.1.2." #. TP: A service (e.g. pop3 or imap) may be enabled/usable or #. disabled/unusable for a user. -#: VirtualMailManager/account.py:332 +#: VirtualMailManager/account.py:370 msgid "disabled" msgstr "deaktiviert" -#: VirtualMailManager/account.py:332 +#: VirtualMailManager/account.py:370 msgid "enabled" msgstr "aktiviert" -#: VirtualMailManager/account.py:343 +#: VirtualMailManager/account.py:409 #, python-format msgid "Could not fetch information for account: '%s'" msgstr "Informationen zum Konto konnten nicht geholt werden: »%s«" -#: VirtualMailManager/account.py:387 +#: VirtualMailManager/account.py:453 #, python-format msgid "There are %(count)d aliases with the destination address '%(address)s'." msgstr "Es gibt %(count)d Alias(e) mit der Zieladresse »%(address)s«." -#: VirtualMailManager/account.py:416 +#: VirtualMailManager/account.py:482 msgid "UID must be an int/long." msgstr "Die UID muss eine Ganzzahl sein." -#: VirtualMailManager/account.py:418 +#: VirtualMailManager/account.py:484 msgid "UID must be greater than 0." msgstr "Die UID muss größer als 0 sein." -#: VirtualMailManager/account.py:427 +#: VirtualMailManager/account.py:493 #, python-format msgid "There is no account with the UID: '%d'" msgstr "Es existiert kein Konto mit der UID »%d«." -#: VirtualMailManager/alias.py:60 +#: VirtualMailManager/alias.py:61 #, python-format msgid "" "Cannot add %(count_new)i new destination(s) to alias '%(address)s'.\n" @@ -120,7 +115,7 @@ "unbenutzbar.\n" "Hinweis: Erhöhen Sie den Wert für »virtual_alias_expansion_limit« in Postfix." -#: VirtualMailManager/alias.py:67 +#: VirtualMailManager/alias.py:68 #, python-format msgid "" "Cannot add %(count_new)i new destination(s) to alias '%(address)s'.\n" @@ -134,16 +129,16 @@ "diesen Alias adressierten Nachrichten werden zurückgehalten.\n" "Hinweis: Löschen Sie einige Zieladressen." -#: VirtualMailManager/alias.py:142 VirtualMailManager/alias.py:154 -#: VirtualMailManager/alias.py:161 VirtualMailManager/handler.py:657 +#: VirtualMailManager/alias.py:155 VirtualMailManager/alias.py:172 +#: VirtualMailManager/alias.py:179 VirtualMailManager/handler.py:712 #, python-format msgid "The alias '%s' does not exist." msgstr "Der Alias »%s« existiert nicht." -#: VirtualMailManager/alias.py:145 +#: VirtualMailManager/alias.py:163 #, python-format -msgid "The address '%(addr)s' is not a destination of the alias '%(alias)s'." -msgstr "Die Adresse »%(addr)s« ist kein Ziel für den Alias »%(alias)s«." +msgid "No suitable destinations left to remove from alias '%s'." +msgstr "Aus dem Alias »%s« können keine weiteren Ziele mehr entfernt werden." #: VirtualMailManager/aliasdomain.py:50 #, python-format @@ -180,6 +175,46 @@ msgid "The alias domain '%(alias)s' is already assigned to the domain '%(domain)s'." msgstr "Die Alias-Domain »%(alias)s« ist bereits der Domain »%(domain)s« zugeordnet." +#: VirtualMailManager/catchall.py:69 +#, python-format +msgid "" +"Cannot add %(count_new)i new destination(s) to catch-all alias for\n" +"domain '%(domain)s'. Currently this alias expands into %(count)i/%(limit)i\n" +"recipients. %(count_new)i additional destination(s) will render this alias\n" +"unusable.\n" +"Hint: Increase Postfix' virtual_alias_expansion_limit" +msgstr "" +"%(count_new)i neu(e) Ziel(e) konnten nicht zum Catch-All-Alias für die\n" +"Domain »%(domain)s« hinzugefügt werden. Gegenwärtig gilt dieser Alias für\n" +"%(count)i/%(limit)i Empfänger. Durch Hinzufügen von %(count_new)i Ziel(en)\n" +"wird dieser Alias unbenutzbar.\n" +"Hinweis: Erhöhen Sie den Wert für »virtual_alias_expansion_limit« in Postfix." + +#: VirtualMailManager/catchall.py:77 +#, python-format +msgid "" +"Cannot add %(count_new)i new destination(s) to catch-all alias for domain\n" +"'%(domain)s'. This alias already exceeds its expansion limit (%(count)i/%(limit)i).\n" +"So its unusable, all messages addressed to this alias will be bounced.\n" +"Hint: Delete some destination addresses." +msgstr "" +"%(count_new)i neu(e) Ziel(e) konnten nicht zum Catch-All-Alias für die\n" +"Domain »%(domain)s« hinzugefügt werden. Dieser Alias übersteigt bereits\n" +"die Begrenzung auf (%(count)i/%(limit)i). Daher wird er unbenutzbar, und\n" +"alle an diesen Alias adressierten Nachrichten werden zurückgehalten.\n" +"Hinweis: Löschen Sie einige Zieladressen." + +#: VirtualMailManager/catchall.py:151 VirtualMailManager/catchall.py:169 +#: VirtualMailManager/catchall.py:176 +#, python-format +msgid "There are no catch-all aliases defined for domain '%s'." +msgstr "Für die Domain »%s« sind keine Catch-All-Aliase definiert." + +#: VirtualMailManager/catchall.py:159 +#, python-format +msgid "No suitable destinations left to remove from the catch-all alias of domain '%s'." +msgstr "Für die Entfernung aus dem Catch-All-Alias für die Domain »%s« sind keine Ziele mehr verfügbar." + #. TP: Please preserve the trailing space. #: VirtualMailManager/cli/__init__.py:78 msgid "Enter new password: " @@ -192,7 +227,7 @@ #: VirtualMailManager/cli/__init__.py:85 VirtualMailManager/cli/config.py:53 msgid "Too many failures - try again later." -msgstr "Zu viele Fehlschläge - versuchen Sie es später erneut." +msgstr "Zu viele Fehlschläge – versuchen Sie es später erneut." #: VirtualMailManager/cli/__init__.py:91 msgid "Sorry, passwords do not match." @@ -202,6 +237,715 @@ msgid "Sorry, empty passwords are not permitted." msgstr "Entschuldigung, leere Passwörter sind nicht zulässig." +#. TP: There are some words enclosed within angle brackets '<'word'>'. They +#. are used to indicate replaceable arguments. Please do not translate them. +#. +#. The descriptions of subcommands may contain the both keywords 'domain' +#. and 'force', enclosed within single quotes. Please keep them as they are. +#. +#. TP: description of subcommand configget +#: VirtualMailManager/cli/clihelp.py:21 +msgid "" +"This subcommand is used to display the actual value\n" +"of the given configuration <option>." +msgstr "" +"Dieser Unterbefehl wird dazu verwendet, den derzeitigen\n" +"Wert der angegebenen Konfigurationsoption <option> anzuzeigen." + +#. TP: description of subcommand configset +#: VirtualMailManager/cli/clihelp.py:24 +msgid "" +"Use this subcommand to set or update a single\n" +"configuration option's value. <option> is the configuration option, <value>\n" +"is the <option>'s new value." +msgstr "" +"Verwenden Sie diesen Unterbefehl, um den Wert einer\n" +"einzelnen Konfigurationsoption festzulegen oder zu\n" +"aktualisieren. <option> ist die Konfigurationsoption,\n" +"<value> ist der neue Wert der Option." + +#: VirtualMailManager/cli/clihelp.py:27 VirtualMailManager/cli/clihelp.py:42 +msgid "" +"Note: This subcommand will create a new vmm.cfg without any comments.\n" +"Your current configuration file will be backed as vmm.cfg.bak." +msgstr "" +"Hinweis: Dieser Unterbefehl erzeugt eine neue vmm.cfg ohne\n" +"jegliche Kommentare. Ihre derzeitige Konfigurationsdatei\n" +"wird als vmm.cfg.bak gesichert." + +#. TP: description of subcommand configure +#: VirtualMailManager/cli/clihelp.py:30 +msgid "" +"Starts the interactive configuration for all\n" +"configuration sections." +msgstr "" +"Startet den interaktiven Konfigurationsmodus für\n" +"alle Konfigurationsabschnitte." + +#: VirtualMailManager/cli/clihelp.py:32 +msgid "" +"In this process the currently set value of each option will be displayed\n" +"in square brackets. If no value is configured, the default value of each\n" +"option will be displayed in square brackets. Press the return key, to accept\n" +"the displayed value." +msgstr "" +"In diesem Prozess wird der gegenwärtig für jede Option gesetzte Wert\n" +"in eckigen Klammern angezeigt. Falls kein Wert eingestellt ist, wird\n" +"der Vorgabewert jeder Option in eckigen Klammern angezeigt. Drücken Sie\n" +"die Eingabetaste, um die angezeigten Werte zu übernehmen." + +#: VirtualMailManager/cli/clihelp.py:36 +msgid "" +"If the optional argument <section> is given, only the configuration\n" +"options from the given section will be displayed and will be configurable.\n" +"The following sections are available:\n" +msgstr "" +"Falls das optionale Argument <section> angegeben wird, dann werden\n" |
|
From: <nev...@us...> - 2014-03-23 20:39:07
|
details: http://hg.localdomain.org/vmm/rev/ee3c6c826b42 changeset: 746:ee3c6c826b42 user: Pascal Volk date: Sun Mar 23 20:38:45 2014 +0000 description: merged changes from default(ef2b73d461d4). diffstat: VirtualMailManager/cli/subcommands.py | 2 +- po/vmm.pot | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diffs (35 lines): diff -r 51d834ac7923 -r ee3c6c826b42 VirtualMailManager/cli/subcommands.py --- a/VirtualMailManager/cli/subcommands.py Sun Mar 23 17:16:04 2014 +0000 +++ b/VirtualMailManager/cli/subcommands.py Sun Mar 23 20:38:45 2014 +0000 @@ -1205,9 +1205,9 @@ # only one type is requested, so no type indicator _trans = {TYPE_ACCOUNT: '', TYPE_ALIAS: '', TYPE_RELOCATED: ''} else: + _trans = { # TP: the letters 'u', 'a' and 'r' are abbreviations of user, # alias and relocated user - _trans = { TYPE_ACCOUNT: _('u'), TYPE_ALIAS: _('a'), TYPE_RELOCATED: _('r'), diff -r 51d834ac7923 -r ee3c6c826b42 po/vmm.pot --- a/po/vmm.pot Sun Mar 23 17:16:04 2014 +0000 +++ b/po/vmm.pot Sun Mar 23 20:38:45 2014 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: vmm 0.6.2\n" "Report-Msgid-Bugs-To: user+vmm/tp...@lo...\n" -"POT-Creation-Date: 2014-03-23 16:32+0000\n" +"POT-Creation-Date: 2014-03-23 20:10+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL...@li...>\n" @@ -1339,6 +1339,8 @@ msgid "Invalid address type for list: '%s'" msgstr "" +#. TP: the letters 'u', 'a' and 'r' are abbreviations of user, +#. alias and relocated user #: VirtualMailManager/cli/subcommands.py:1101 msgid "u" msgstr "" |
|
From: <nev...@us...> - 2014-03-23 20:11:40
|
details: http://hg.localdomain.org/vmm/rev/ef2b73d461d4 changeset: 745:ef2b73d461d4 user: Pascal Volk date: Sun Mar 23 20:11:14 2014 +0000 description: po: Regenerated vmm.pot diffstat: po/vmm.pot | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diffs (21 lines): diff -r 286f88f12d57 -r ef2b73d461d4 po/vmm.pot --- a/po/vmm.pot Sun Mar 23 20:10:40 2014 +0000 +++ b/po/vmm.pot Sun Mar 23 20:11:14 2014 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: vmm 0.6.2\n" "Report-Msgid-Bugs-To: user+vmm/tp...@lo...\n" -"POT-Creation-Date: 2014-03-23 16:32+0000\n" +"POT-Creation-Date: 2014-03-23 20:10+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL...@li...>\n" @@ -1339,6 +1339,8 @@ msgid "Invalid address type for list: '%s'" msgstr "" +#. TP: the letters 'u', 'a' and 'r' are abbreviations of user, +#. alias and relocated user #: VirtualMailManager/cli/subcommands.py:1101 msgid "u" msgstr "" |
|
From: <nev...@us...> - 2014-03-23 20:11:33
|
details: http://hg.localdomain.org/vmm/rev/286f88f12d57 changeset: 744:286f88f12d57 user: Pascal Volk date: Sun Mar 23 20:10:40 2014 +0000 description: VMM/cli/subcommands: Moved the TP comment to the right place. diffstat: VirtualMailManager/cli/subcommands.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (14 lines): diff -r 56346f2cb631 -r 286f88f12d57 VirtualMailManager/cli/subcommands.py --- a/VirtualMailManager/cli/subcommands.py Sun Mar 23 16:33:01 2014 +0000 +++ b/VirtualMailManager/cli/subcommands.py Sun Mar 23 20:10:40 2014 +0000 @@ -1095,9 +1095,9 @@ # only one type is requested, so no type indicator _trans = {TYPE_ACCOUNT: '', TYPE_ALIAS: '', TYPE_RELOCATED: ''} else: + _trans = { # TP: the letters 'u', 'a' and 'r' are abbreviations of user, # alias and relocated user - _trans = { TYPE_ACCOUNT: _('u'), TYPE_ALIAS: _('a'), TYPE_RELOCATED: _('r'), |
|
From: <nev...@us...> - 2014-03-23 17:16:21
|
details: http://hg.localdomain.org/vmm/rev/51d834ac7923 changeset: 743:51d834ac7923 user: Pascal Volk date: Sun Mar 23 17:16:04 2014 +0000 description: merged changes from default(56346f2cb631). diffstat: po/vmm.pot | 572 +++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 311 insertions(+), 261 deletions(-) diffs (truncated from 1545 to 300 lines): diff -r aa346db76ee2 -r 51d834ac7923 po/vmm.pot --- a/po/vmm.pot Sun Mar 09 18:52:27 2014 +0000 +++ b/po/vmm.pot Sun Mar 23 17:16:04 2014 +0000 @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: vmm 0.6.1\n" +"Project-Id-Version: vmm 0.6.2\n" "Report-Msgid-Bugs-To: user+vmm/tp...@lo...\n" -"POT-Creation-Date: 2012-09-04 00:39+0200\n" +"POT-Creation-Date: 2014-03-23 16:32+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL...@li...>\n" @@ -20,91 +20,86 @@ #. TP: Hm, what “quotation marks” should be used? #. If you are unsure have a look at: #. http://en.wikipedia.org/wiki/Quotation_mark,_non-English_usage -#: VirtualMailManager/account.py:59 VirtualMailManager/alias.py:35 -#: VirtualMailManager/catchall.py:44 VirtualMailManager/domain.py:127 +#: VirtualMailManager/account.py:60 VirtualMailManager/alias.py:35 +#: VirtualMailManager/catchall.py:44 VirtualMailManager/domain.py:131 #: VirtualMailManager/relocated.py:39 #, python-format msgid "The domain '%s' does not exist." msgstr "" -#: VirtualMailManager/account.py:122 +#: VirtualMailManager/account.py:123 #, python-format msgid "The mailbox format '%(mbfmt)s' requires Dovecot >= v%(version)s." msgstr "" -#: VirtualMailManager/account.py:129 VirtualMailManager/account.py:354 -#, python-format -msgid "Invalid transport '%(transport)s' for mailbox format '%(mbfmt)s'." -msgstr "" - -#: VirtualMailManager/account.py:169 VirtualMailManager/cli/handler.py:93 -#: VirtualMailManager/handler.py:680 VirtualMailManager/handler.py:764 -#: VirtualMailManager/handler.py:790 VirtualMailManager/handler.py:798 -#: VirtualMailManager/handler.py:806 VirtualMailManager/handler.py:814 -#: VirtualMailManager/handler.py:833 VirtualMailManager/handler.py:845 +#: VirtualMailManager/account.py:166 VirtualMailManager/cli/handler.py:93 +#: VirtualMailManager/handler.py:683 VirtualMailManager/handler.py:789 +#: VirtualMailManager/handler.py:815 VirtualMailManager/handler.py:823 +#: VirtualMailManager/handler.py:831 VirtualMailManager/handler.py:839 +#: VirtualMailManager/handler.py:858 VirtualMailManager/handler.py:870 #, python-format msgid "The account '%s' does not exist." msgstr "" -#: VirtualMailManager/account.py:225 VirtualMailManager/account.py:246 -#: VirtualMailManager/cli/handler.py:77 VirtualMailManager/handler.py:648 +#: VirtualMailManager/account.py:222 VirtualMailManager/account.py:243 +#: VirtualMailManager/cli/handler.py:77 VirtualMailManager/handler.py:651 #, python-format msgid "The account '%s' already exists." msgstr "" -#: VirtualMailManager/account.py:228 VirtualMailManager/handler.py:786 +#: VirtualMailManager/account.py:225 VirtualMailManager/handler.py:811 #, python-format msgid "Could not accept password: '%s'" msgstr "" -#: VirtualMailManager/account.py:249 +#: VirtualMailManager/account.py:246 #, python-format msgid "No password set for account: '%s'" msgstr "" -#: VirtualMailManager/account.py:288 +#: VirtualMailManager/account.py:285 #, python-format msgid "Unknown field: '%s'" msgstr "" -#: VirtualMailManager/account.py:310 VirtualMailManager/domain.py:323 +#: VirtualMailManager/account.py:307 VirtualMailManager/domain.py:331 msgid "PostgreSQL-based dictionary quota requires Dovecot >= v1.1.2." msgstr "" #. TP: A service (e.g. pop3 or imap) may be enabled/usable or #. disabled/unusable for a user. -#: VirtualMailManager/account.py:378 +#: VirtualMailManager/account.py:370 msgid "disabled" msgstr "" -#: VirtualMailManager/account.py:378 +#: VirtualMailManager/account.py:370 msgid "enabled" msgstr "" -#: VirtualMailManager/account.py:417 +#: VirtualMailManager/account.py:409 #, python-format msgid "Could not fetch information for account: '%s'" msgstr "" -#: VirtualMailManager/account.py:461 +#: VirtualMailManager/account.py:453 #, python-format msgid "There are %(count)d aliases with the destination address '%(address)s'." msgstr "" -#: VirtualMailManager/account.py:490 +#: VirtualMailManager/account.py:482 msgid "UID must be an int/long." msgstr "" -#: VirtualMailManager/account.py:492 +#: VirtualMailManager/account.py:484 msgid "UID must be greater than 0." msgstr "" -#: VirtualMailManager/account.py:501 +#: VirtualMailManager/account.py:493 #, python-format msgid "There is no account with the UID: '%d'" msgstr "" -#: VirtualMailManager/alias.py:60 +#: VirtualMailManager/alias.py:61 #, python-format msgid "" "Cannot add %(count_new)i new destination(s) to alias '%(address)s'.\n" @@ -113,7 +108,7 @@ "Hint: Increase Postfix' virtual_alias_expansion_limit" msgstr "" -#: VirtualMailManager/alias.py:67 +#: VirtualMailManager/alias.py:68 #, python-format msgid "" "Cannot add %(count_new)i new destination(s) to alias '%(address)s'.\n" @@ -122,15 +117,15 @@ "Hint: Delete some destination addresses." msgstr "" -#: VirtualMailManager/alias.py:142 VirtualMailManager/alias.py:154 -#: VirtualMailManager/alias.py:161 VirtualMailManager/handler.py:709 +#: VirtualMailManager/alias.py:155 VirtualMailManager/alias.py:172 +#: VirtualMailManager/alias.py:179 VirtualMailManager/handler.py:712 #, python-format msgid "The alias '%s' does not exist." msgstr "" -#: VirtualMailManager/alias.py:145 +#: VirtualMailManager/alias.py:163 #, python-format -msgid "The address '%(addr)s' is not a destination of the alias '%(alias)s'." +msgid "No suitable destinations left to remove from alias '%s'." msgstr "" #: VirtualMailManager/aliasdomain.py:50 @@ -182,24 +177,24 @@ #: VirtualMailManager/catchall.py:77 #, python-format msgid "" -"Cannot add %(count_new)i new destination(s) to catch-all alias for\n" -"domain '%(domain)s'. This alias already exceeds its expansion limit " -"(%(count)i/%(limit)i).\n" +"Cannot add %(count_new)i new destination(s) to catch-all alias for domain\n" +"'%(domain)s'. This alias already exceeds its expansion limit (%(count)i/" +"%(limit)i).\n" "So its unusable, all messages addressed to this alias will be bounced.\n" "Hint: Delete some destination addresses." msgstr "" -#: VirtualMailManager/catchall.py:146 VirtualMailManager/catchall.py:159 -#: VirtualMailManager/catchall.py:166 +#: VirtualMailManager/catchall.py:151 VirtualMailManager/catchall.py:169 +#: VirtualMailManager/catchall.py:176 #, python-format msgid "There are no catch-all aliases defined for domain '%s'." msgstr "" -#: VirtualMailManager/catchall.py:149 +#: VirtualMailManager/catchall.py:159 #, python-format msgid "" -"The address '%(addr)s' is not a destination of the catch-all alias for " -"domain '%(domain)s'." +"No suitable destinations left to remove from the catch-all alias of domain " +"'%s'." msgstr "" #. TP: Please preserve the trailing space. @@ -285,8 +280,35 @@ "list, the subcommand getuser will show the user's address." msgstr "" +#. TP: description of subcommand listaddresses +#: VirtualMailManager/cli/clihelp.py:48 +msgid "" +"This command lists all defined addresses.\n" +"Addresses belonging to alias-domains are prefixed with a '-', addresses of\n" +"regular domains with a '+'. Additionally, the letters 'u', 'a', and 'r'\n" +"indicate the type of each address: user, alias and relocated respectively.\n" +"The output can be limited with an optional <pattern>." +msgstr "" + +#: VirtualMailManager/cli/clihelp.py:53 VirtualMailManager/cli/clihelp.py:60 +#: VirtualMailManager/cli/clihelp.py:67 VirtualMailManager/cli/clihelp.py:82 +#: VirtualMailManager/cli/clihelp.py:88 +#, no-python-format +msgid "" +"To perform a wild card search, the % character can be used at the start\n" +"and/or the end of the <pattern>." +msgstr "" + +#. TP: description of subcommand listaliases +#: VirtualMailManager/cli/clihelp.py:56 +msgid "" +"This command lists all defined aliases. Aliases\n" +"belonging to alias-domains are prefixed with a '-', addresses of regular\n" +"domains with a '+'. The output can be limited with an optional <pattern>." +msgstr "" + #. TP: description of subcommand listdomains -#: VirtualMailManager/cli/clihelp.py:48 +#: VirtualMailManager/cli/clihelp.py:63 msgid "" "This subcommand lists all available domains. All\n" "domain names will be prefixed either with `[+]', if the domain is a primary\n" @@ -294,15 +316,8 @@ "limited with an optional <pattern>." msgstr "" -#: VirtualMailManager/cli/clihelp.py:52 -#, python-format -msgid "" -"To perform a wild card search, the % character can be used at the start\n" -"and/or the end of the <pattern>." -msgstr "" - #. TP: description of subcommand listpwschemes -#: VirtualMailManager/cli/clihelp.py:55 +#: VirtualMailManager/cli/clihelp.py:70 msgid "" "This subcommand lists all password schemes which\n" "could be used in the vmm.cfg as value of the misc.password_scheme option.\n" @@ -310,28 +325,46 @@ "libc." msgstr "" -#: VirtualMailManager/cli/clihelp.py:59 +#: VirtualMailManager/cli/clihelp.py:74 msgid "" "When your Dovecot installation isn't too old, you will see additionally\n" "a few usable encoding suffixes. One of them can be appended to the password\n" "scheme." msgstr "" +#. TP: description of subcommand listrelocated +#: VirtualMailManager/cli/clihelp.py:78 +msgid "" +"This command lists all defined relocated addresses.\n" +"Relocated entries belonging to alias-domains are prefixed with a '-', " +"addresses\n" +"of regular domains with a '+'. The output can be limited with an optional\n" +"<pattern>." +msgstr "" + +#. TP: description of subcommand listusers +#: VirtualMailManager/cli/clihelp.py:85 +msgid "" +"This command lists all user accounts. User accounts\n" +"belonging to alias-domains are prefixed with a '-', addresses of regular\n" +"domains with a '+'. The output can be limited with an optional <pattern>." +msgstr "" + #. TP: description of subcommand version -#: VirtualMailManager/cli/clihelp.py:63 +#: VirtualMailManager/cli/clihelp.py:91 msgid "" "Prints vmm's version and copyright information to stdout.\n" "After this vmm exits." msgstr "" #. TP: description of subcommand domainadd -#: VirtualMailManager/cli/clihelp.py:66 +#: VirtualMailManager/cli/clihelp.py:94 msgid "" "Adds the new domain into the database and creates the\n" "domain directory." msgstr "" -#: VirtualMailManager/cli/clihelp.py:68 +#: VirtualMailManager/cli/clihelp.py:96 msgid "" "If the optional argument <transport> is given, it will override the\n" "default transport (domain.transport) from vmm.cfg. The specified " @@ -339,11 +372,11 @@ "will be the default transport for all new accounts in this domain." msgstr "" |
|
From: <nev...@us...> - 2014-03-23 16:33:26
|
details: http://hg.localdomain.org/vmm/rev/56346f2cb631 changeset: 742:56346f2cb631 user: Pascal Volk date: Sun Mar 23 16:33:01 2014 +0000 description: po: Regenerated vmm.pot diffstat: po/vmm.pot | 572 +++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 311 insertions(+), 261 deletions(-) diffs (truncated from 1545 to 300 lines): diff -r 5ffba47a137d -r 56346f2cb631 po/vmm.pot --- a/po/vmm.pot Sun Mar 23 16:27:31 2014 +0000 +++ b/po/vmm.pot Sun Mar 23 16:33:01 2014 +0000 @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: vmm 0.6.1\n" +"Project-Id-Version: vmm 0.6.2\n" "Report-Msgid-Bugs-To: user+vmm/tp...@lo...\n" -"POT-Creation-Date: 2012-09-04 00:39+0200\n" +"POT-Creation-Date: 2014-03-23 16:32+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL...@li...>\n" @@ -20,91 +20,86 @@ #. TP: Hm, what “quotation marks” should be used? #. If you are unsure have a look at: #. http://en.wikipedia.org/wiki/Quotation_mark,_non-English_usage -#: VirtualMailManager/account.py:59 VirtualMailManager/alias.py:35 -#: VirtualMailManager/catchall.py:44 VirtualMailManager/domain.py:127 +#: VirtualMailManager/account.py:60 VirtualMailManager/alias.py:35 +#: VirtualMailManager/catchall.py:44 VirtualMailManager/domain.py:131 #: VirtualMailManager/relocated.py:39 #, python-format msgid "The domain '%s' does not exist." msgstr "" -#: VirtualMailManager/account.py:122 +#: VirtualMailManager/account.py:123 #, python-format msgid "The mailbox format '%(mbfmt)s' requires Dovecot >= v%(version)s." msgstr "" -#: VirtualMailManager/account.py:129 VirtualMailManager/account.py:354 -#, python-format -msgid "Invalid transport '%(transport)s' for mailbox format '%(mbfmt)s'." -msgstr "" - -#: VirtualMailManager/account.py:169 VirtualMailManager/cli/handler.py:93 -#: VirtualMailManager/handler.py:680 VirtualMailManager/handler.py:764 -#: VirtualMailManager/handler.py:790 VirtualMailManager/handler.py:798 -#: VirtualMailManager/handler.py:806 VirtualMailManager/handler.py:814 -#: VirtualMailManager/handler.py:833 VirtualMailManager/handler.py:845 +#: VirtualMailManager/account.py:166 VirtualMailManager/cli/handler.py:93 +#: VirtualMailManager/handler.py:683 VirtualMailManager/handler.py:789 +#: VirtualMailManager/handler.py:815 VirtualMailManager/handler.py:823 +#: VirtualMailManager/handler.py:831 VirtualMailManager/handler.py:839 +#: VirtualMailManager/handler.py:858 VirtualMailManager/handler.py:870 #, python-format msgid "The account '%s' does not exist." msgstr "" -#: VirtualMailManager/account.py:225 VirtualMailManager/account.py:246 -#: VirtualMailManager/cli/handler.py:77 VirtualMailManager/handler.py:648 +#: VirtualMailManager/account.py:222 VirtualMailManager/account.py:243 +#: VirtualMailManager/cli/handler.py:77 VirtualMailManager/handler.py:651 #, python-format msgid "The account '%s' already exists." msgstr "" -#: VirtualMailManager/account.py:228 VirtualMailManager/handler.py:786 +#: VirtualMailManager/account.py:225 VirtualMailManager/handler.py:811 #, python-format msgid "Could not accept password: '%s'" msgstr "" -#: VirtualMailManager/account.py:249 +#: VirtualMailManager/account.py:246 #, python-format msgid "No password set for account: '%s'" msgstr "" -#: VirtualMailManager/account.py:288 +#: VirtualMailManager/account.py:285 #, python-format msgid "Unknown field: '%s'" msgstr "" -#: VirtualMailManager/account.py:310 VirtualMailManager/domain.py:323 +#: VirtualMailManager/account.py:307 VirtualMailManager/domain.py:331 msgid "PostgreSQL-based dictionary quota requires Dovecot >= v1.1.2." msgstr "" #. TP: A service (e.g. pop3 or imap) may be enabled/usable or #. disabled/unusable for a user. -#: VirtualMailManager/account.py:378 +#: VirtualMailManager/account.py:370 msgid "disabled" msgstr "" -#: VirtualMailManager/account.py:378 +#: VirtualMailManager/account.py:370 msgid "enabled" msgstr "" -#: VirtualMailManager/account.py:417 +#: VirtualMailManager/account.py:409 #, python-format msgid "Could not fetch information for account: '%s'" msgstr "" -#: VirtualMailManager/account.py:461 +#: VirtualMailManager/account.py:453 #, python-format msgid "There are %(count)d aliases with the destination address '%(address)s'." msgstr "" -#: VirtualMailManager/account.py:490 +#: VirtualMailManager/account.py:482 msgid "UID must be an int/long." msgstr "" -#: VirtualMailManager/account.py:492 +#: VirtualMailManager/account.py:484 msgid "UID must be greater than 0." msgstr "" -#: VirtualMailManager/account.py:501 +#: VirtualMailManager/account.py:493 #, python-format msgid "There is no account with the UID: '%d'" msgstr "" -#: VirtualMailManager/alias.py:60 +#: VirtualMailManager/alias.py:61 #, python-format msgid "" "Cannot add %(count_new)i new destination(s) to alias '%(address)s'.\n" @@ -113,7 +108,7 @@ "Hint: Increase Postfix' virtual_alias_expansion_limit" msgstr "" -#: VirtualMailManager/alias.py:67 +#: VirtualMailManager/alias.py:68 #, python-format msgid "" "Cannot add %(count_new)i new destination(s) to alias '%(address)s'.\n" @@ -122,15 +117,15 @@ "Hint: Delete some destination addresses." msgstr "" -#: VirtualMailManager/alias.py:142 VirtualMailManager/alias.py:154 -#: VirtualMailManager/alias.py:161 VirtualMailManager/handler.py:709 +#: VirtualMailManager/alias.py:155 VirtualMailManager/alias.py:172 +#: VirtualMailManager/alias.py:179 VirtualMailManager/handler.py:712 #, python-format msgid "The alias '%s' does not exist." msgstr "" -#: VirtualMailManager/alias.py:145 +#: VirtualMailManager/alias.py:163 #, python-format -msgid "The address '%(addr)s' is not a destination of the alias '%(alias)s'." +msgid "No suitable destinations left to remove from alias '%s'." msgstr "" #: VirtualMailManager/aliasdomain.py:50 @@ -182,24 +177,24 @@ #: VirtualMailManager/catchall.py:77 #, python-format msgid "" -"Cannot add %(count_new)i new destination(s) to catch-all alias for\n" -"domain '%(domain)s'. This alias already exceeds its expansion limit " -"(%(count)i/%(limit)i).\n" +"Cannot add %(count_new)i new destination(s) to catch-all alias for domain\n" +"'%(domain)s'. This alias already exceeds its expansion limit (%(count)i/" +"%(limit)i).\n" "So its unusable, all messages addressed to this alias will be bounced.\n" "Hint: Delete some destination addresses." msgstr "" -#: VirtualMailManager/catchall.py:146 VirtualMailManager/catchall.py:159 -#: VirtualMailManager/catchall.py:166 +#: VirtualMailManager/catchall.py:151 VirtualMailManager/catchall.py:169 +#: VirtualMailManager/catchall.py:176 #, python-format msgid "There are no catch-all aliases defined for domain '%s'." msgstr "" -#: VirtualMailManager/catchall.py:149 +#: VirtualMailManager/catchall.py:159 #, python-format msgid "" -"The address '%(addr)s' is not a destination of the catch-all alias for " -"domain '%(domain)s'." +"No suitable destinations left to remove from the catch-all alias of domain " +"'%s'." msgstr "" #. TP: Please preserve the trailing space. @@ -285,8 +280,35 @@ "list, the subcommand getuser will show the user's address." msgstr "" +#. TP: description of subcommand listaddresses +#: VirtualMailManager/cli/clihelp.py:48 +msgid "" +"This command lists all defined addresses.\n" +"Addresses belonging to alias-domains are prefixed with a '-', addresses of\n" +"regular domains with a '+'. Additionally, the letters 'u', 'a', and 'r'\n" +"indicate the type of each address: user, alias and relocated respectively.\n" +"The output can be limited with an optional <pattern>." +msgstr "" + +#: VirtualMailManager/cli/clihelp.py:53 VirtualMailManager/cli/clihelp.py:60 +#: VirtualMailManager/cli/clihelp.py:67 VirtualMailManager/cli/clihelp.py:82 +#: VirtualMailManager/cli/clihelp.py:88 +#, no-python-format +msgid "" +"To perform a wild card search, the % character can be used at the start\n" +"and/or the end of the <pattern>." +msgstr "" + +#. TP: description of subcommand listaliases +#: VirtualMailManager/cli/clihelp.py:56 +msgid "" +"This command lists all defined aliases. Aliases\n" +"belonging to alias-domains are prefixed with a '-', addresses of regular\n" +"domains with a '+'. The output can be limited with an optional <pattern>." +msgstr "" + #. TP: description of subcommand listdomains -#: VirtualMailManager/cli/clihelp.py:48 +#: VirtualMailManager/cli/clihelp.py:63 msgid "" "This subcommand lists all available domains. All\n" "domain names will be prefixed either with `[+]', if the domain is a primary\n" @@ -294,15 +316,8 @@ "limited with an optional <pattern>." msgstr "" -#: VirtualMailManager/cli/clihelp.py:52 -#, python-format -msgid "" -"To perform a wild card search, the % character can be used at the start\n" -"and/or the end of the <pattern>." -msgstr "" - #. TP: description of subcommand listpwschemes -#: VirtualMailManager/cli/clihelp.py:55 +#: VirtualMailManager/cli/clihelp.py:70 msgid "" "This subcommand lists all password schemes which\n" "could be used in the vmm.cfg as value of the misc.password_scheme option.\n" @@ -310,28 +325,46 @@ "libc." msgstr "" -#: VirtualMailManager/cli/clihelp.py:59 +#: VirtualMailManager/cli/clihelp.py:74 msgid "" "When your Dovecot installation isn't too old, you will see additionally\n" "a few usable encoding suffixes. One of them can be appended to the password\n" "scheme." msgstr "" +#. TP: description of subcommand listrelocated +#: VirtualMailManager/cli/clihelp.py:78 +msgid "" +"This command lists all defined relocated addresses.\n" +"Relocated entries belonging to alias-domains are prefixed with a '-', " +"addresses\n" +"of regular domains with a '+'. The output can be limited with an optional\n" +"<pattern>." +msgstr "" + +#. TP: description of subcommand listusers +#: VirtualMailManager/cli/clihelp.py:85 +msgid "" +"This command lists all user accounts. User accounts\n" +"belonging to alias-domains are prefixed with a '-', addresses of regular\n" +"domains with a '+'. The output can be limited with an optional <pattern>." +msgstr "" + #. TP: description of subcommand version -#: VirtualMailManager/cli/clihelp.py:63 +#: VirtualMailManager/cli/clihelp.py:91 msgid "" "Prints vmm's version and copyright information to stdout.\n" "After this vmm exits." msgstr "" #. TP: description of subcommand domainadd -#: VirtualMailManager/cli/clihelp.py:66 +#: VirtualMailManager/cli/clihelp.py:94 msgid "" "Adds the new domain into the database and creates the\n" "domain directory." msgstr "" -#: VirtualMailManager/cli/clihelp.py:68 +#: VirtualMailManager/cli/clihelp.py:96 msgid "" "If the optional argument <transport> is given, it will override the\n" "default transport (domain.transport) from vmm.cfg. The specified " @@ -339,11 +372,11 @@ "will be the default transport for all new accounts in this domain." msgstr "" |
|
From: <nev...@us...> - 2014-03-23 16:27:53
|
details: http://hg.localdomain.org/vmm/rev/5ffba47a137d changeset: 741:5ffba47a137d user: Pascal Volk date: Sun Mar 23 16:27:31 2014 +0000 description: VMM/cli/clihelp: Two small improvements: - Unified `wild card search' help messages. - Added a comment for xgettext, so it should no longer make a wrong decision about `python-format'. diffstat: VirtualMailManager/cli/clihelp.py | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diffs (20 lines): diff -r b65c3abf9ca8 -r 5ffba47a137d VirtualMailManager/cli/clihelp.py --- a/VirtualMailManager/cli/clihelp.py Sun Mar 09 18:42:58 2014 +0000 +++ b/VirtualMailManager/cli/clihelp.py Sun Mar 23 16:27:31 2014 +0000 @@ -56,6 +56,7 @@ 'listaliases': (_(u"""This command lists all defined aliases. Aliases belonging to alias-domains are prefixed with a '-', addresses of regular domains with a '+'. The output can be limited with an optional <pattern>."""), +# xgettext:no-python-format _(u"""To perform a wild card search, the % character can be used at the start and/or the end of the <pattern>."""),), # TP: description of subcommand listdomains @@ -85,7 +86,7 @@ belonging to alias-domains are prefixed with a '-', addresses of regular domains with a '+'. The output can be limited with an optional <pattern>."""), _(u"""To perform a wild card search, the % character can be used at the start -and/or the end of the pattern."""),), +and/or the end of the <pattern>."""),), # TP: description of subcommand version 'version': (_(u"""Prints vmm's version and copyright information to stdout. After this vmm exits."""),), |
|
From: <nev...@us...> - 2014-03-09 18:52:50
|
details: http://hg.localdomain.org/vmm/rev/aa346db76ee2 changeset: 740:aa346db76ee2 user: Pascal Volk date: Sun Mar 09 18:52:27 2014 +0000 description: merged changes from default(b65c3abf9ca8). diffstat: doc/web/source/installation/dovecot_configuration.rst | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff -r 935b4901d652 -r aa346db76ee2 doc/web/source/installation/dovecot_configuration.rst --- a/doc/web/source/installation/dovecot_configuration.rst Sun Feb 23 23:38:12 2014 +0000 +++ b/doc/web/source/installation/dovecot_configuration.rst Sun Mar 09 18:52:27 2014 +0000 @@ -92,7 +92,7 @@ connect = host=localhost dbname=mailsys user=dovecot password=$Dovecot_PASS default_pass_scheme = CRAM-MD5 password_query = SELECT userid AS "user", password FROM dovecotpassword('%Ln', '%Ld') WHERE %Ls - user_query = SELECT SELECT home, uid, gid, mail FROM dovecotuser('%Ln', '%Ld') + user_query = SELECT home, uid, gid, mail FROM dovecotuser('%Ln', '%Ld') Dovecot v2.x ------------ |
|
From: <nev...@us...> - 2014-03-09 18:45:54
|
details: http://hg.localdomain.org/vmm/rev/b65c3abf9ca8 changeset: 739:b65c3abf9ca8 user: Pascal Volk date: Sun Mar 09 18:42:58 2014 +0000 description: doc/web: dovecot_configuration: corrected 'user_query`. diffstat: doc/web/source/installation/dovecot_configuration.rst | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff -r 8c7eeb2bc139 -r b65c3abf9ca8 doc/web/source/installation/dovecot_configuration.rst --- a/doc/web/source/installation/dovecot_configuration.rst Mon Feb 17 22:28:22 2014 +0000 +++ b/doc/web/source/installation/dovecot_configuration.rst Sun Mar 09 18:42:58 2014 +0000 @@ -92,7 +92,7 @@ connect = host=localhost dbname=mailsys user=dovecot password=$Dovecot_PASS default_pass_scheme = CRAM-MD5 password_query = SELECT userid AS "user", password FROM dovecotpassword('%Ln', '%Ld') WHERE %Ls - user_query = SELECT SELECT home, uid, gid, mail FROM dovecotuser('%Ln', '%Ld') + user_query = SELECT home, uid, gid, mail FROM dovecotuser('%Ln', '%Ld') Dovecot v2.x ------------ |
|
From: <nev...@us...> - 2014-02-23 23:39:06
|
details: http://hg.localdomain.org/vmm/rev/935b4901d652 changeset: 738:935b4901d652 user: Pascal Volk date: Sun Feb 23 23:38:12 2014 +0000 description: {man1,doc/web}: Added description of userpassword's --hash option. diffstat: doc/web/source/howto/manage_accounts.rst | 21 ++++++++++++++++++--- man/man1/vmm.1 | 29 ++++++++++++++++++++++++----- 2 files changed, 42 insertions(+), 8 deletions(-) diffs (105 lines): diff -r 81f4bfc34ed8 -r 935b4901d652 doc/web/source/howto/manage_accounts.rst --- a/doc/web/source/howto/manage_accounts.rst Sun Feb 23 18:16:57 2014 +0000 +++ b/doc/web/source/howto/manage_accounts.rst Sun Feb 23 23:38:12 2014 +0000 @@ -151,8 +151,10 @@ .. program:: vmm userpassword Syntax: - | **vmm userpassword** *address* [**-p** *password*] [**-s** *scheme*] - | **vmm up** *address* [**-p** *password*] [**-s** *scheme*] + | **vmm userpassword** *address* ([**-p** *password*] [**-s** *scheme*] | \ + [**‒‒hash** *pwhash*]) + | **vmm up** *address* ([**-p** *password*] [**-s** *scheme*] | \ + [**‒‒hash** *pwhash*]) .. option:: -p password @@ -163,9 +165,22 @@ When a *scheme* was specified, it overrides the *misc.password_scheme* setting, configured in the :file:`vmm.cfg` file. +.. option:: --hash pwhash + + A hashed password, prefixed with **{**\ *SCHEME*\ **}**; as generated by + :command:`doveadm pw`. + You should enclose the hashed password in single quotes, if it contains + one ore more dollar signs (**$**). + The password of an account can be updated with this subcommand. -If no *password* was provided, :command:`vmm` will prompt for it interactively. +If no *password* or *pwhash* was provided, :command:`vmm` will prompt for a +password interactively. + +.. note:: + When passing a hashed password, :command:`vmm` checks only if the included + *SCHEME* is supported by your Dovecot installation. No further checks are + done. Example: diff -r 81f4bfc34ed8 -r 935b4901d652 man/man1/vmm.1 --- a/man/man1/vmm.1 Sun Feb 23 18:16:57 2014 +0000 +++ b/man/man1/vmm.1 Sun Feb 23 23:38:12 2014 +0000 @@ -1,4 +1,4 @@ -.TH "VMM" "1" "2014-02-15" "vmm 0.7" "vmm" +.TH "VMM" "1" "2014-02-23" "vmm 0.7" "vmm" .SH NAME vmm \- command line tool to manage email domains/accounts/aliases .\" ----------------------------------------------------------------------- @@ -836,10 +836,12 @@ .\" ------------------------------------ .SS userpassword (up) .BI "vmm userpassword" " address" -.RB [ \-p +.RB ([ \-p .IR password ] .RB [ \-s -.IR scheme ] +.IR scheme "] |" +.B \-\-hash +.IR pwhash ]) .PP .TP .BI "\-p " password @@ -855,14 +857,30 @@ .I vmm.cfg file. .\" ------------------------------------ +.TP +.BI "\-\-hash " pwhash +A hashed password, prefixed with +.BI { SCHEME }; +as generated by +.BR "doveadm pw" . +You should enclose the hashed password in single quotes, if it contains +one ore more dollar signs +.RB ( $ ). +.\" ------------------------------------ .PP The password of an account can be updated with this subcommand. .PP If no -.I password +.IR password " or " pwhash was provided, .B vmm -will prompt for it interactively. +will prompt for a password interactively. +.IP Note: +When passing a hashed password, +.B vmm +checks only if the included +.I SCHEME +is supported by your Dovecot installation. No further checks are done. .PP Example: .PP @@ -1140,6 +1158,7 @@ will be used when none of the both above mentioned files exists. .\" ----------------------------------------------------------------------- .SH SEE ALSO +.BR doveadm\-pw (1), .BR dsync (1), .BR transport (5), .BR vmm.cfg (5) |
|
From: <nev...@us...> - 2014-02-23 18:19:38
|
details: http://hg.localdomain.org/vmm/rev/81f4bfc34ed8 changeset: 737:81f4bfc34ed8 user: Pascal Volk date: Sun Feb 23 18:16:57 2014 +0000 description: VMM/cli/subcommands: userpassword: Added option --hash. vmm userpassword --hash {SCHEME}$HASH can be used to save a password hash, e.g. generated by doveadm pw, as new user password. diffstat: VirtualMailManager/cli/subcommands.py | 24 +++++++++++++++++------- 1 files changed, 17 insertions(+), 7 deletions(-) diffs (46 lines): diff -r 66a5f9a405da -r 81f4bfc34ed8 VirtualMailManager/cli/subcommands.py --- a/VirtualMailManager/cli/subcommands.py Sun Feb 23 18:05:53 2014 +0000 +++ b/VirtualMailManager/cli/subcommands.py Sun Feb 23 18:16:57 2014 +0000 @@ -396,8 +396,13 @@ def user_password(ctx): """update the password for the given address""" - ctx.hdlr.user_password(ctx.args.address.lower(), ctx.args.password, - ctx.args.scheme) + if ctx.args.pwhash: + if ctx.args.scheme: + w_std(_('Info: The -s option is ignored when --hash was given.')) + ctx.hdlr.user_pwhash(ctx.args.address.lower(), ctx.args.pwhash) + else: + ctx.hdlr.user_password(ctx.args.address.lower(), ctx.args.password, + ctx.args.scheme) def user_note(ctx): @@ -832,16 +837,21 @@ up = a('userpassword', aliases=('up',), help=_('update the password for the given address'), epilog=fill(_("The password of an account can be updated with this " - "subcommand.\n\nIf no password was provided, vmm will prompt " - "for it interactively. When the scheme was omitted, vmm will " - "use misc.password_scheme from vmm.cfg. ")), + "subcommand.\n\nIf neither a password nor a password hash was " + "provided, vmm will prompt for the new password interactively. " + "When the scheme was omitted, vmm will use " + "misc.password_scheme from vmm.cfg. ")), formatter_class=RawDescriptionHelpFormatter) up.add_argument('address', help=_("an account's e-mail address (local-part@fqdn)")) - up.add_argument('-p', metavar='PASSWORD', dest='password', - help=_("the user's new password")) + up_grp = up.add_mutually_exclusive_group() + up_grp.add_argument('-p', metavar='PASSWORD', dest='password', + help=_("the user's new password")) up.add_argument('-s', metavar='SCHEME', dest='scheme', help=_('scheme used for password hashing')) + up_grp.add_argument('--hash', metavar='PWHASH', dest='pwhash', + help=_('set the given password hash as-is as new ' + 'password')) up.set_defaults(func=user_password, scmd='userpassword') uq = a('userquota', aliases=('uq',), |
|
From: <nev...@us...> - 2014-02-23 18:19:20
|
details: http://hg.localdomain.org/vmm/rev/66a5f9a405da changeset: 736:66a5f9a405da user: Pascal Volk date: Sun Feb 23 18:05:53 2014 +0000 description: VMM/handler: Added method Handler.user_pwhash. diffstat: VirtualMailManager/handler.py | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-) diffs (32 lines): diff -r ddcad86f7386 -r 66a5f9a405da VirtualMailManager/handler.py --- a/VirtualMailManager/handler.py Sun Feb 23 18:00:35 2014 +0000 +++ b/VirtualMailManager/handler.py Sun Feb 23 18:05:53 2014 +0000 @@ -40,6 +40,7 @@ from VirtualMailManager.errors import \ DomainError, NotRootError, PermissionError, VMMError from VirtualMailManager.mailbox import new as new_mailbox +from VirtualMailManager.password import extract_scheme, verify_scheme from VirtualMailManager.quotalimit import QuotaLimit from VirtualMailManager.relocated import Relocated from VirtualMailManager.serviceset import ServiceSet, SERVICES @@ -765,6 +766,20 @@ acc.address, NO_SUCH_ACCOUNT) acc.update_password(password, scheme) + def user_pwhash(self, emailaddress, pwhash): + """Wrapper for Account.modify('pwhash', ...)""" + scheme = extract_scheme(pwhash) + if not scheme: + raise VMMError(_('Missing {SCHEME} prefix from password hash.'), + INVALID_ARGUMENT) + else: + scheme, encoding = verify_scheme(scheme) # or die … + acc = self._get_account(emailaddress) + if not acc: + raise VMMError(_("The account '%s' does not exist.") % + acc.address, NO_SUCH_ACCOUNT) + acc.modify('pwhash', pwhash) + def user_name(self, emailaddress, name): """Wrapper for Account.modify('name', ...).""" acc = self._get_account(emailaddress) |
|
From: <nev...@us...> - 2014-02-23 18:18:49
|
details: http://hg.localdomain.org/vmm/rev/ddcad86f7386 changeset: 735:ddcad86f7386 user: Pascal Volk date: Sun Feb 23 18:00:35 2014 +0000 description: VMM/account: Account.modify accepts a password hash. diffstat: VirtualMailManager/account.py | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diffs (26 lines): diff -r 8167ba72235c -r ddcad86f7386 VirtualMailManager/account.py --- a/VirtualMailManager/account.py Mon Feb 17 23:19:01 2014 +0000 +++ b/VirtualMailManager/account.py Sun Feb 23 18:00:35 2014 +0000 @@ -261,17 +261,19 @@ def modify(self, field, value): """Update the Account's *field* to the new *value*. - Possible values for *field* are: 'name' and 'note'. + Possible values for *field* are: 'name', 'note' and 'pwhash'. Arguments: `field` : str - The attribute name: 'name', or 'note' + The attribute name: 'name', 'note' or 'pwhash' `value` : str The new value of the attribute. """ - if field not in ('name', 'note'): + if field not in ('name', 'note', 'pwhash'): raise AErr(_("Unknown field: '%s'") % field, INVALID_ARGUMENT) + if field == 'pwhash': + field = 'passwd' self._chk_state() dbc = self._dbh.cursor() dbc.execute('UPDATE users SET %s = %%s WHERE uid = %%s' % field, |
|
From: <nev...@us...> - 2014-02-17 23:19:52
|
details: http://hg.localdomain.org/vmm/rev/8167ba72235c changeset: 734:8167ba72235c user: Pascal Volk date: Mon Feb 17 23:19:01 2014 +0000 description: merged changes from default(8c7eeb2bc139). diffstat: Configure.Dovecot_2 | 3 +++ man/man5/vmm.cfg.5 | 11 ++++++++++- vmm.cfg | 3 +++ 3 files changed, 16 insertions(+), 1 deletions(-) diffs (51 lines): diff -r 77561c118f42 -r 8167ba72235c Configure.Dovecot_2 --- a/Configure.Dovecot_2 Sun Feb 16 23:07:30 2014 +0000 +++ b/Configure.Dovecot_2 Mon Feb 17 23:19:01 2014 +0000 @@ -25,6 +25,9 @@ ### # conf.d/10-auth.conf ### +# When you set another misc.password_scheme than PLAIN or CRAM-MD5 in +# your vmm.cfg, you have to remove cram-md5 from the auth_mechanisms +# setting. auth_mechanisms = plain login cram-md5 passdb { driver = sql diff -r 77561c118f42 -r 8167ba72235c man/man5/vmm.cfg.5 --- a/man/man5/vmm.cfg.5 Sun Feb 16 23:07:30 2014 +0000 +++ b/man/man5/vmm.cfg.5 Mon Feb 17 23:19:01 2014 +0000 @@ -1,4 +1,4 @@ -.TH "VMM.CFG" "5" "2014-02-11" "vmm 0.7" "vmm" +.TH "VMM.CFG" "5" "2014-02-17" "vmm 0.7" "vmm" .SH NAME vmm.cfg \- configuration file for vmm .\" ----------------------------------------------------------------------- @@ -509,6 +509,15 @@ Supported encoding suffixes are: .BR .b64 ", " .base64 " and " .hex . For example: PLAIN.BASE64 +.IP Note: +When setting another password scheme than +.BR PLAIN " or " CRAM\-MD5 , +you have to remove +.B cram\-md5 +from the +.I auth_mechanisms +setting in your +.IR dovecot/conf.d/10\-auth.conf . .\" ----------------------------------------------------------------------- .SH EXAMPLE An example configuration. diff -r 77561c118f42 -r 8167ba72235c vmm.cfg --- a/vmm.cfg Sun Feb 16 23:07:30 2014 +0000 +++ b/vmm.cfg Mon Feb 17 23:19:01 2014 +0000 @@ -148,6 +148,9 @@ ; the version number from `dovecot --version` (String) ; e.g. 1.2.17, 2.0.21, 2.1.9 or 2.2.beta1 dovecot_version = 2.1.9 +; NOTE: When using other password schemes than PLAIN or CRAM-MD5, you +; have to remove `cram-md5' from the auth_mechanisms setting in +; dovecot/conf.d/10-auth.conf. ; Password scheme to use (see also: ´vmm listpwschemes`) (String) password_scheme = CRAM-MD5 |