@!@
import re
sender_canonical_maps = []
val = re.split('[, ]+', configRegistry.get('mail/maps/canonical/sender/enable',''))
if 'file' in val:
	sender_canonical_maps.append('hash:/etc/postfix/canonical_sender')
if 'ldap' in val:
	sender_canonical_maps.append('ldap:/etc/postfix/ldap.canonicalsender')
if sender_canonical_maps:
	val_classes = [ x for x in re.split('[, ]+', configRegistry.get('mail/maps/canonical/sender/classes','')) if x ]
	if val_classes:
		print('sender_canonical_classes = %s' % ', '.join(val_classes))
	print('sender_canonical_maps = %s' % ', '.join(sender_canonical_maps))

recipient_canonical_maps = []
val = re.split('[, ]+', configRegistry.get('mail/maps/canonical/recipient/enable',''))
if 'file' in val:
	recipient_canonical_maps.append('hash:/etc/postfix/canonical_recipient')
if 'ldap' in val:
	recipient_canonical_maps.append('ldap:/etc/postfix/ldap.canonicalrecipient')
if recipient_canonical_maps:
	val_classes = [ x for x in re.split('[, ]+', configRegistry.get('mail/maps/canonical/recipient/classes','')) if x ]
	if val_classes:
		print('recipient_canonical_classes = %s' % ', '.join(val_classes))
	print('recipient_canonical_maps = %s' % ', '.join(recipient_canonical_maps))


local_header_rewrite_clients = re.split('[, ]+', configRegistry.get('mail/postfix/local/header/rewrite/clients',''))
if local_header_rewrite_clients:
	print('local_header_rewrite_clients = %s' % ', '.join(local_header_rewrite_clients))

print('')

# enable virtual tables if requested
if configRegistry.is_true('mail/postfix/virtual/enabled', False):
	default_virtual_mailbox_maps = 'ldap:/etc/postfix/ldap.virtual_mailbox, ldap:/etc/postfix/ldap.sharedfolderlocal'
	# Bug #45205: adding mailbox_maps to alias_maps, so both will be together in the unionmap below
	use_unionmap_in_virtual_alias_maps = configRegistry.is_true('mail/postfix/activate_unionmap_in_virtual_alias_maps', False)
	if use_unionmap_in_virtual_alias_maps:
		default_virtual_alias_maps = 'hash:/etc/postfix/virtual, ldap:/etc/postfix/ldap.groups, ldap:/etc/postfix/ldap.distlist, ldap:/etc/postfix/ldap.virtual, ldap:/etc/postfix/ldap.external_aliases, ldap:/etc/postfix/ldap.sharedfolderremote, ldap:/etc/postfix/ldap.sharedfolderlocal_aliases, {}'.format(default_virtual_mailbox_maps)
	else:
		default_virtual_alias_maps = 'hash:/etc/postfix/virtual, ldap:/etc/postfix/ldap.groups, ldap:/etc/postfix/ldap.distlist, ldap:/etc/postfix/ldap.virtual, ldap:/etc/postfix/ldap.external_aliases, ldap:/etc/postfix/ldap.sharedfolderremote, ldap:/etc/postfix/ldap.sharedfolderlocal_aliases'

	default_virtual_domains = 'ldap:/etc/postfix/ldap.virtualdomains'

	virtual_alias_domains = re.split(',\s*', configRegistry.get('mail/postfix/virtual/alias/domains', '' ))
	print('\nvirtual_alias_domains = %s' % ',\n        '.join(virtual_alias_domains))

	virtual_alias_maps = re.split(',\s*', configRegistry.get('mail/postfix/virtual/alias/maps', default_virtual_alias_maps))
	if 'ldap' in val:
		virtual_alias_maps.append('ldap:/etc/postfix/ldap.virtualwithcanonical')
	if use_unionmap_in_virtual_alias_maps:
		print('\nvirtual_alias_maps = unionmap:{%s}' % ',\n        '.join(virtual_alias_maps))
	else:
		print('\nvirtual_alias_maps = %s' % ',\n        '.join(virtual_alias_maps))


	virtual_mailbox_domains = re.split(',\s*', configRegistry.get('mail/postfix/virtual/mailbox/domains', default_virtual_domains ))
	print('\nvirtual_mailbox_domains = %s' % ',\n        '.join(virtual_mailbox_domains))

	virtual_mailbox_maps = re.split(',\s*', configRegistry.get('mail/postfix/virtual/mailbox/maps', default_virtual_mailbox_maps))
	if 'ldap' in val:
		virtual_mailbox_maps.append('ldap:/etc/postfix/ldap.virtualwithcanonical')
	print('\nvirtual_mailbox_maps = %s' % ',\n        '.join(virtual_mailbox_maps))

	print('\nvirtual_transport = %s' % configRegistry.get('mail/postfix/virtual/transport', 'lmtp:127.0.0.1:2003'))
@!@

canonical_maps = hash:/etc/postfix/canonical
relocated_maps = hash:/etc/postfix/relocated

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

