From: Frank Brehm Date: Wed, 24 May 2023 12:14:26 +0000 (+0200) Subject: Get virtual aliases for Barracuda from LDAP. X-Git-Tag: 0.9.0~1^2~28 X-Git-Url: https://git.uhu-banane.net/?a=commitdiff_plain;h=94d876b7558fb066e2271b6557bc6243045e7849;p=pixelpark%2Fpp-admin-tools.git Get virtual aliases for Barracuda from LDAP. --- diff --git a/lib/pp_admintools/app/barracuda_sync.py b/lib/pp_admintools/app/barracuda_sync.py index 6279e9f..ea5cc4b 100644 --- a/lib/pp_admintools/app/barracuda_sync.py +++ b/lib/pp_admintools/app/barracuda_sync.py @@ -27,7 +27,7 @@ from ldap3 import BASE from .ldap import BaseLdapApplication from ..xlate import XLATOR -__version__ = '0.8.1' +__version__ = '0.8.2' LOG = logging.getLogger(__name__) _ = XLATOR.gettext @@ -372,7 +372,7 @@ class BarracudaSyncApp(BaseLdapApplication): 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) @@ -440,11 +440,32 @@ class BarracudaSyncApp(BaseLdapApplication): 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() # =============================================================================