Example #1
0
 def ldap_connect(self):
     """Return an LDAPClient authenticated to this host as directory manager
     """
     self.log.info('Connecting to LDAP at %s', self.external_hostname)
     ldap = IPAdmin(self.external_hostname)
     binddn = self.config.dirman_dn
     self.log.info('LDAP bind as %s' % binddn)
     ldap.do_simple_bind(binddn, self.config.dirman_password)
     return ldap
Example #2
0
 def ldap_connect(self):
     """Return an LDAPClient authenticated to this host as directory manager
     """
     self.log.info('Connecting to LDAP at %s', self.external_hostname)
     ldap = IPAdmin(self.external_hostname)
     binddn = self.config.dirman_dn
     self.log.info('LDAP bind as %s' % binddn)
     ldap.do_simple_bind(binddn, self.config.dirman_password)
     return ldap
Example #3
0
def get_base_dn(ldap_uri):
    """
    Retrieve LDAP server base DN.
    """
    try:
        conn = IPAdmin(ldap_uri=ldap_uri)
        conn.do_simple_bind(DN(), '')
        base_dn = get_ipa_basedn(conn)
    except Exception, e:
        root_logger.error('migration context search failed: %s' % e)
        return ''
Example #4
0
def get_base_dn(ldap_uri):
    """
    Retrieve LDAP server base DN.
    """
    try:
        conn = IPAdmin(ldap_uri=ldap_uri)
        conn.do_simple_bind(DN(), '')
        base_dn = get_ipa_basedn(conn)
    except Exception, e:
        root_logger.error('migration context search failed: %s' % e)
        return ''
Example #5
0
def bind(ldap_uri, base_dn, username, password):
    if not base_dn:
        root_logger.error('migration unable to get base dn')
        raise IOError(errno.EIO, 'Cannot get Base DN')
    bind_dn = DN(('uid', username), ('cn', 'users'), ('cn', 'accounts'), base_dn)
    try:
        conn = IPAdmin(ldap_uri=ldap_uri)
        conn.do_simple_bind(bind_dn, password)
    except (errors.ACIError, errors.DatabaseError, errors.NotFound), e:
        root_logger.error(
            'migration invalid credentials for %s: %s' % (bind_dn, e))
        raise IOError(
            errno.EPERM, 'Invalid LDAP credentials for user %s' % username)
Example #6
0
def bind(ldap_uri, base_dn, username, password):
    if not base_dn:
        root_logger.error('migration unable to get base dn')
        raise IOError(errno.EIO, 'Cannot get Base DN')
    bind_dn = DN(('uid', username), ('cn', 'users'), ('cn', 'accounts'),
                 base_dn)
    try:
        conn = IPAdmin(ldap_uri=ldap_uri)
        conn.do_simple_bind(bind_dn, password)
    except (errors.ACIError, errors.DatabaseError, errors.NotFound), e:
        root_logger.error('migration invalid credentials for %s: %s' %
                          (bind_dn, e))
        raise IOError(errno.EPERM,
                      'Invalid LDAP credentials for user %s' % username)