# HG changeset patch
# User Pascal Volk <user@localhost.localdomain.org>
# Date 1347815385 0
# Node ID 5882bfdf83e8a86feecf41cbb8a6089b38bd9e93
# Parent  1ec3497a67334289b17bfc45390f225573da5cd5
VMM/domain: Enabled transport-validation.

Validate the transport also in Domain.set_transport() and
Domain.update_transport().

diff -r 1ec3497a6733 -r 5882bfdf83e8 VirtualMailManager/domain.py
--- a/VirtualMailManager/domain.py	Sun Sep 16 17:05:33 2012 +0000
+++ b/VirtualMailManager/domain.py	Sun Sep 16 17:09:45 2012 +0000
@@ -15,7 +15,9 @@
 from VirtualMailManager.constants import \
      ACCOUNT_AND_ALIAS_PRESENT, DOMAIN_ALIAS_EXISTS, DOMAIN_EXISTS, \
      DOMAIN_INVALID, DOMAIN_TOO_LONG, NO_SUCH_DOMAIN, VMM_ERROR
+from VirtualMailManager.common import validate_transport
 from VirtualMailManager.errors import VMMError, DomainError as DomErr
+from VirtualMailManager.maillocation import MailLocation
 from VirtualMailManager.pycompat import all, any
 from VirtualMailManager.quotalimit import QuotaLimit
 from VirtualMailManager.serviceset import ServiceSet
@@ -247,6 +249,10 @@
         """
         self._chk_state(False)
         assert isinstance(transport, Transport)
+        validate_transport(transport,
+                           MailLocation(self._dbh,
+                                        mbfmt=cfg_dget('mailbox.format'),
+                                        directory=cfg_dget('mailbox.root')))
         self._transport = transport
 
     def set_note(self, note):
@@ -367,6 +373,10 @@
         assert isinstance(transport, Transport)
         if not force and transport == self._transport:
             return
+        validate_transport(transport,
+                           MailLocation(self._dbh,
+                                        mbfmt=cfg_dget('mailbox.format'),
+                                        directory=cfg_dget('mailbox.root')))
         self._update_tables_ref('tid', transport.tid, force)
         self._transport = transport