Projet

Général

Profil

0003-ldap-always-report-count-of-synchronized-users-61128.patch

Benjamin Dauvergne, 27 janvier 2022 13:53

Télécharger (2,3 ko)

Voir les différences:

Subject: [PATCH 3/3] ldap: always report count of synchronized users (#61128)

 src/authentic2/backends/ldap_backend.py | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
src/authentic2/backends/ldap_backend.py
896 896
        """Retrieve group DNs from the LDAP by attributes (memberOf) or by
897 897
        filter.
898 898
        """
899
        ldap_uri = conn.get_option(ldap.OPT_URI)
900 899
        group_base_dn = block['group_basedn'] or block['basedn']
901 900
        member_of_attribute = block['member_of_attribute']
902 901
        group_filter = block['group_filter']
......
1470 1469
            conn, user_basedn, ldap.SCOPE_SUBTREE, user_filter, attrlist=attribute_names
1471 1470
        )
1472 1471
        backend = cls()
1473
        count = 0
1474 1472
        for dn, attrs in results:
1475
            count += 1
1476 1473
            user = backend._return_user(dn, None, conn, block, attrs)
1477 1474
            if not user:
1478 1475
                log.warning('unable to retrieve user for dn %s', dn)
......
1486 1483
                    ', '.join('%s=%s' % (k, v) for k, v in attrs.items()),
1487 1484
                )
1488 1485
            yield user
1489
        log.info('Search for %s returned %s users.', user_filter, count)
1490 1486

  
1491 1487
    @classmethod
1492 1488
    def get_users(cls, realm=None):
......
1497 1493
        for block in blocks:
1498 1494
            if realm and realm != block['realm']:
1499 1495
                continue
1496
            count = 0
1500 1497
            try:
1501
                yield from cls.get_users_for_block(block)
1498
                for user in cls.get_users_for_block(block):
1499
                    count += 1
1500
                    yield user
1502 1501
            except ldap.LDAPError as e:
1503 1502
                log.error('synchronization failed on an LDAP error: "%s"', e)
1503
            user_filter = cls.get_sync_ldap_user_filter(block)
1504
            log.info('Search for %s returned %s users.', user_filter, count)
1504 1505

  
1505 1506
    @classmethod
1506 1507
    def deactivate_orphaned_users(cls):
1507
-