diff --git a/bin/deltalogparse.py b/bin/deltalogparse.py index df535523f533665b018d5018a33c12638b5dc502..7c52e2afa21e66853860bda432da4e42b053ea49 100755 --- a/bin/deltalogparse.py +++ b/bin/deltalogparse.py @@ -19,7 +19,7 @@ log_path = '/var/log/ldap/' log_file_log = log_path + 'deltalogparse.log' log_file_deltalog = log_path + 'delta.log' search_base = 'cn=deltalog' -object_classes = '(|(objectClass=auditModify)(objectClass=auditAdd)(objectClass=auditDelete))' +object_classes = '(|(objectClass=auditModify)(objectClass=auditAdd)(objectClass=auditDelete)(objectClass=auditModRDN))' log = logging.getLogger('log') log.setLevel(log_level) @@ -73,10 +73,11 @@ def is_skipped(entry): def filtered(entry): """Filter out attributes not of interest""" - for attribute in entry['attributes']['reqMod']: - if rgx_filter.search(attribute): - log.info('filter attribute: {}'.format(attribute)) - entry['attributes']['reqMod'].remove(attribute) + if 'reqMod' in entry['attributes']: + for attribute in entry['attributes']['reqMod']: + if rgx_filter.search(attribute): + log.info('filter attribute: {}'.format(attribute)) + entry['attributes']['reqMod'].remove(attribute) del entry['raw_dn'] del entry['raw_attributes'] @@ -159,6 +160,7 @@ def main(): log.exception('error: reading socket! trying to reconnect...') if slapd.reconnect(): log.error('socket reconnected.') + continue if response: for entry in slapd.response():