from .ldap import BaseLdapApplication
from ..xlate import XLATOR
-__version__ = '0.8.1'
+__version__ = '0.8.2'
LOG = logging.getLogger(__name__)
_ = XLATOR.gettext
for mapping in self.virtalias_mappings:
self.read_virtual_alias_mapping(mapping)
- if self.verbose > 1:
+ if self.verbose > 2:
msg = _('Evaluated static virtual aliases:')
msg += '\n' + pp(self.existing_aliases)
LOG.debug(msg)
c=self.barracuda_base_dn, i=inst)
LOG.debug(msg)
+ # -------------------------------------------------------------------------
+ def read_barracuda_ldap_aliases(self):
+ """Read all virtual aliases in LDAP below the Barracuda container."""
+ msg = _(
+ 'Read all virtual aliases in LDAP below the Barracuda container {!r} ...').format(
+ self.barracuda_base_dn)
+ LOG.info(msg)
+
+ inst = self.ldap_instances[0]
+ ldap_filter = '(&(objectclass=mailRecipient)(mail=*))'
+ base_dn = self.barracuda_base_dn
+ result = self.get_all_entries(inst, ldap_filter=ldap_filter, base_dn=base_dn)
+
+ if self.verbose > 1:
+ msg = _('Virtual aliases in LDAP for Barracuda:')
+ msg += '\n' + pp(result)
+ LOG.debug(msg)
+
+ self.ldap_aliases = result
+
# -------------------------------------------------------------------------
def _run(self):
self.verify_barracuda_container()
self.read_virtual_alias_mappings()
+ self.read_barracuda_ldap_aliases()
# =============================================================================