[OpenLDAP v2.4.23] olcRefIntNothing doet het niet

Pagina: 1
Acties:

  • DPLuS
  • Registratie: April 2000
  • Niet online
Ik draai OpenLDAP v2.4.23 op Debian Squeeze

Ik heb de module refint geactiveerd, door middel van de volgende LDIF bestanden:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
dn: cn=module{0},cn=config
objectclass: olcModuleList
cn: module{0}
olcmoduleload: {0}back_hdb
olcmoduleload: {1}refint
olcmoduleload: {2}memberof
olcmodulepath: /usr/lib/ldap

en:

dn: olcOverlay={0}refint,olcDatabase={1}hdb,cn=config
objectclass: olcOverlayConfig
objectclass: olcRefintConfig
olcoverlay: {0}refint
olcrefintattribute: member memberOf
olcrefintnothing: cn=admin,dc=test,dc=nl


Indien ik nu een gebruiker aanmaak, en daar de naam van wijzig, dan gaat het wijzigen van die naam in de bijbehorende groep gewoon goed, dus daar ben ik tevreden over.
Wat er niet goed gaat is het volgende:

Uit de openLDAP docs (http://www.openldap.org/doc/admin24/overlays.html) bij 12.11.2:

If we removed all users from the directory who are a member of this group, then the end result would be a single member in the group: cn=admin,dc=example,dc=com. This is the refint_nothing parameter kicking into action so that the schema is not violated.

Dus dat betekent als ik een laatste member van een groep zou verwijderen, dan moet hij die gebruiker vervangen door de DN die ik opgeef in olcrefintnothing

Echter, dit doet 'ie niet, hij blijft die gebruiker in de groep houden, met de volgende foutmelding in de syslog:

code:
1
2
3
4
Feb 16 17:32:13 vm03 slapd[28174]: conn=1001 op=21 DEL dn="uid=test,dc=test,dc=nl"
Feb 16 17:32:13 vm03 slapd[28174]: Entry (cn=groep34,dc=test,dc=nl): object class 'groupOfNames' requires attribute 'member'
Feb 16 17:32:13 vm03 slapd[28174]: entry failed schema check: object class 'groupOfNames' requires attribute 'member'
Feb 16 17:32:13 vm03 slapd[28174]: conn=1001 op=21: memberof_value_modify member="uid=test,dc=test,dc=nl" failed err=65 text=


Mijn vraag is nu: waarom werkt dit niet?
De rest gaat trouwens wel goed, dus het gaat enkel mis indien de groep maar 1 member heeft en die dus verwijderd wordt uit de LDAP directory, dan wordt deze NIET vervangen met de DN zoals gespecificeerd in de olcRefIntNothing waarde.

Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 03-10 18:55

Kees

Serveradmin / BOFH / DoC
Ik weet niet of het mogelijk is; maar kun je je loglevel omhoogschroeven en zien of daar nuttigerere informatie uit voorkomt? Een loglevel van -1 geeft je waarschijnlijk genoeg logs om een paar uur bezig te zijn, en eventueel de fout te vinden :P

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

  • DPLuS
  • Registratie: April 2000
  • Niet online
Dat heb ik bij deze gedaan, en ik kan uit de log halen dat het mis gaat, maar niet waarom:

Ter verduidelijking:
cn=test,dc=domein,dc=local = de groep met het member attribuut
peter1,dc=domein,dc=local = de verwijderde gebruiker en het enige lid van de bovenstaande groep

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Feb 17 13:27:27 vm03 slapd[25075]: refint_search_cb <cn=test,dc=domein,dc=local>
Feb 17 13:27:27 vm03 slapd[25075]: refint_search_cb: member: uid=peter1,dc=domein,dc=local (#1)
Feb 17 13:27:27 vm03 slapd[25075]: send_ldap_result: conn=-1 op=0 p=0
Feb 17 13:27:27 vm03 slapd[25075]: send_ldap_result: err=0 matched="" text=""
Feb 17 13:27:27 vm03 slapd[25075]: refint_search_cb <NOTHING>
Feb 17 13:27:27 vm03 slapd[25075]: hdb_modify: cn=test,dc=domein,dc=local
Feb 17 13:27:27 vm03 slapd[25075]: slap_queue_csn: queing 0xb59c06b6 20120217122727.743313Z#000000#000#000000
Feb 17 13:27:27 vm03 slapd[25075]: bdb_dn2entry("cn=test,dc=domein,dc=local")
Feb 17 13:27:27 vm03 slapd[25075]: bdb_modify_internal: 0x00000006: cn=test,dc=domein,dc=local
Feb 17 13:27:27 vm03 slapd[25075]: <= acl_access_allowed: granted to database root
Feb 17 13:27:27 vm03 slapd[25075]: bdb_modify_internal: delete member
Feb 17 13:27:27 vm03 slapd[25075]: dnMatch 0#012#011"uid=peter1,dc=domein,dc=local"#012#011"uid=peter1,dc=domein,dc=local"
Feb 17 13:27:27 vm03 slapd[25075]: bdb_modify_internal: replace modifiersName
Feb 17 13:27:27 vm03 slapd[25075]: bdb_modify_internal: delete member
Feb 17 13:27:27 vm03 slapd[25075]: bdb_modify_internal: 16 modify/delete: member: no such attribute
Feb 17 13:27:27 vm03 slapd[25075]: hdb_modify: modify failed (16)
Feb 17 13:27:27 vm03 slapd[25075]: send_ldap_result: conn=-1 op=0 p=0
Feb 17 13:27:27 vm03 slapd[25075]: send_ldap_result: err=16 matched="" text="modify/delete: member: no such attribute"
Feb 17 13:27:27 vm03 slapd[25075]: slap_graduate_commit_csn: removing 0x938a7d0 20120217122727.743313Z#000000#000#000000
Feb 17 13:27:27 vm03 slapd[25075]: refint_repair: dependent modify failed: 16
Feb 17 13:27:27 vm03 slapd[25075]: daemon: activity on 1 descriptor



Hij zegt uiteindelijk:
slapd[25075]: send_ldap_result: err=16 matched="" text="modify/delete: member: no such attribute"


Maar natuurlijk bestaat het attribuut member op de groep DN!
Dus ik heb het vermoeden dat dit gewoon een bug is?
Of heeft iemand een ander idee?

edit:

Het is inderdaad een bug, en inmiddels ook al gefixt:
http://www.openldap.org/its/index.cgi?findid=6663

[ Voor 2% gewijzigd door DPLuS op 17-02-2012 15:54 . Reden: filed a bug @ openldap ]