def get_db_conn(db): if backend == 'ldap' and db in ['ldap', 'vmail']: from libs.ldaplib.auth import verify_bind_dn_pw qr = verify_bind_dn_pw(dn=settings.ldap_bind_dn, password=settings.ldap_bind_password, close_connection=False) if qr[0]: return qr[1] else: return None try: conn = web.database(dbn=sql_dbn, host=settings.__dict__[db + '_db_host'], port=int(settings.__dict__[db + '_db_port']), db=settings.__dict__[db + '_db_name'], user=settings.__dict__[db + '_db_user'], pw=settings.__dict__[db + '_db_password']) conn.supports_multiple_insert = True return conn except Exception, e: print_error(e)
web.config.debug = ira_tool_lib.debug logger = ira_tool_lib.logger # Check database name to make sure it's Cluebringer if settings.policyd_db_name != 'cluebringer': sys.exit('Error: not a Cluebringer database.') logger.info('Query all mail domains (including alias domains).') all_domains = [] if settings.backend == 'ldap': import ldap from libs.ldaplib.auth import verify_bind_dn_pw # Initialize LDAP connection. qr = verify_bind_dn_pw(dn=settings.ldap_bind_dn, password=settings.ldap_bind_password, close_connection=False) if qr[0]: ldap_conn = qr[1] # Query mail domains qr = ldap_conn.search_s(settings.ldap_basedn, ldap.SCOPE_SUBTREE, "(objectClass=mailDomain)", ['domainName', 'domainAliasName']) for r in qr: entry = r[1] all_domains += entry.get('domainName', []) all_domains += entry.get('domainAliasName', []) else:
web.config.debug = ira_tool_lib.debug logger = ira_tool_lib.logger # Check database name to make sure it's Cluebringer if settings.policyd_db_name != "cluebringer": sys.exit("Error: not a Cluebringer database.") logger.info("Query all mail domains (including alias domains).") all_domains = [] if settings.backend == "ldap": import ldap from libs.ldaplib.auth import verify_bind_dn_pw # Initialize LDAP connection. qr = verify_bind_dn_pw(dn=settings.ldap_bind_dn, password=settings.ldap_bind_password, close_connection=False) if qr[0]: ldap_conn = qr[1] # Query mail domains qr = ldap_conn.search_s( settings.ldap_basedn, ldap.SCOPE_SUBTREE, "(objectClass=mailDomain)", ["domainName", "domainAliasName"] ) for r in qr: entry = r[1] all_domains += entry.get("domainName", []) all_domains += entry.get("domainAliasName", []) else: conn = ira_tool_lib.get_db_conn("vmail")