I can tell you that we had to remove dynlist altogether starting with 2.5.x  as 
just the creation of the object without even defining any attributes would 
cause our slapd to become unresponsive within an hour of normal traffic.

-----Original Message-----
From: Carsten Jäckel <[email protected]> 
Sent: Monday, December 12, 2022 11:07 AM
To: [email protected]
Subject: [EXTERNAL] Overlays accesslog and dynlist

This is an EXTERNAL email. STOP. THINK before you CLICK links or OPEN 
attachments. If suspicious please click the 'Report to Incidents' button in 
Outlook or forward to [email protected] from a mobile device.

Hello experts,

we are using OpenLDAP 2.5.13 and we are facing problems using the accesslog 
overlay along with the dynlist overlay.
As long as we use only the accesslog overlay the logging works as expected. 
Successfully logged search access:
ldapsearch -H ldaps://ldap.example.com:636 -D cn=manager,dc=example,dc=com -W 
-b dc=users,dc=example,dc=com cn=user1 mail Result of ldapsearch -H 
ldaps://ldap.example.com:636 -D cn=log -W -b cn=log objectclass=*:

######################################
...

# 20221212145029.000000Z, log
dn: reqStart=20221212145029.000000Z,cn=log
objectClass: auditBind
reqStart: 20221212145029.000000Z
reqEnd: 20221212145029.000001Z
reqType: bind
reqSession: 1022
reqAuthzID:
reqDN: cn=manager,dc=example,dc=com
reqResult: 0
reqVersion: 3
reqMethod: SIMPLE

# 20221212145029.000002Z, log
dn: reqStart=20221212145029.000002Z,cn=log
objectClass: auditSearch
reqStart: 20221212145029.000002Z
reqEnd: 20221212145029.000003Z
reqType: search
reqSession: 1022
reqAuthzID: manager,dc=example,dc=com
reqDN: dc=users,dc=example,dc=com
reqResult: 0
reqScope: sub
reqDerefAliases: never
reqAttrsOnly: FALSE
reqFilter: (cn=user1)
reqAttr: mail
reqEntries: 1
reqTimeLimit: -1
reqSizeLimit: -1

# 20221212145029.000004Z, log
dn: reqStart=20221212145029.000004Z,cn=log
objectClass: auditObject
reqStart: 20221212145029.000004Z
reqEnd: 20221212145029.000005Z
reqType: unbind
reqSession: 1022
reqAuthzID: manager,dc=example,dc=com
######################################


After adding overlay dynlist the information in the accesslog database after 
the same search operation ldapsearch -H ldaps://ldap.example.com:636 -D 
cn=manager,dc=example,dc=com -W -b dc=users,dc=example,dc=com cn=user1 mail is 
as follows:

######################################
...

# 20221212144859.000000Z, log
dn: reqStart=20221212144859.000000Z,cn=log
objectClass: auditBind
reqStart: 20221212144859.000000Z
reqEnd: 20221212144859.000001Z
reqType: bind
reqSession: 1019
reqAuthzID:
reqDN: manager,dc=example,dc=com
reqResult: 0
reqVersion: 3
reqMethod: SIMPLE

# 20221212144859.000002Z, log
dn: reqStart=20221212144859.000002Z,cn=log
objectClass: auditSearch
reqStart: 20221212144859.000002Z
reqEnd: 20221212144859.000003Z
reqType: search
reqSession: 1019
reqAuthzID: manager,dc=example,dc=com
reqDN: dc=users,dc=example,dc=com
reqResult: 0
reqScope: sub
reqDerefAliases: never
reqAttrsOnly: FALSE
reqFilter: (objectClass=groupOfURLs)
reqAttr: memberURL
reqEntries: 0
reqTimeLimit: -1
reqSizeLimit: -1

# 20221212144859.000005Z, log
dn: reqStart=20221212144859.000005Z,cn=log
objectClass: auditObject
reqStart: 20221212144859.000005Z
reqEnd: 20221212144859.000006Z
reqType: unbind
reqSession: 1019
reqAuthzID: manager,dc=example,dc=com
######################################

Is it possible that the configuration of the dynlist overlay somehow overrides 
the configuration of the accesslog overlay? Changing the order of the overlays 
has no impact.
Are there some dependencies between the accesslog and the dynlist overlay that 
we didn't attend to in the slapo-accesslog/slapo-dynlist manuals?
Is there something wrong in our configuration?

Configuration:
######################################
dn: olcDatabase={1}mdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {1}mdb

...

olcSuffix: dc=example,dc=com
olcSyncUseSubentry: FALSE

dn: olcOverlay={0}refint,olcDatabase={1}mdb,cn=config
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcRefintConfig
objectClass: top
olcOverlay: {0}refint
olcRefintAttribute: member
olcRefintAttribute: memberOf
olcRefintNothing: cn=tgroup,dc=groups,dc=example,dc=com

dn: olcOverlay={1}ppolicy,olcDatabase={1}mdb,cn=config
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcPPolicyConfig
objectClass: top
olcOverlay: {1}ppolicy
olcPPolicyHashCleartext: TRUE

dn: olcOverlay={2}dynlist,olcDatabase={1}mdb,cn=config
objectClass: olcConfig
objectClass: olcDynListConfig
objectClass: olcOverlayConfig
objectClass: top
olcOverlay: {2}dynlist
olcDynListAttrSet: {0}groupOfURLs memberURL member+memberOf@groupOfNames

dn: olcOverlay={3}lastbind,olcDatabase={1}mdb,cn=config
objectClass: olcConfig
objectClass: olcLastBindConfig
objectClass: olcOverlayConfig
objectClass: top
olcOverlay: {3}lastbind
olcLastBindPrecision: 86400

dn: olcOverlay={4}accesslog,olcDatabase={1}mdb,cn=config
objectClass: olcAccessLogConfig
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: top
olcAccessLogDB: cn=log
olcOverlay: {4}accesslog
olcAccessLogOld: (objectClass=inetOrgPerson)
olcAccessLogOldAttr: description
olcAccessLogOps: all
olcAccessLogPurge: 01:00 00:15
######################################

Any help is apreciated, thank you very much in advance.

Carsten

Reply via email to