Am Wed, 22 Oct 2014 18:41:41 +0200 schrieb Nicolas RENAULT <[email protected]>:
> Le 21/10/2014 17:42, Dieter Klünter a écrit : > > Am Tue, 21 Oct 2014 14:35:14 +0200 > > schrieb Nicolas RENAULT <[email protected]>: > > > >> Le 21/10/2014 09:23, Michael Ströder a écrit : > >>> Dieter Klünter wrote: > >>>> collectiveAttrbibuteSubentry is declared in schema_prep.c. When I > >>>> tested collective attributes, a few years ago, slapd had to be > >>>> build with -DLDAP_COLLECTIVE_ATTRIBUTES. I don't know whether > >>>> this is still the case. > >>> I've tested this yesterday and I had to build with > >>> -DLDAP_COLLECTIVE_ATTRIBUTES to make > >>> 'collectiveAttrbibuteSubentry' appear in the subschema subentry. > >>> > >>> Ciao, Michael. > >>> > >> thanks for reply > >> > >> so now the noob question : how do I build with > >> -DLDAP_COLLECTIVE_ATTRIBUTES ? > >> with our clue I try to restart the process with : > >> > >> configure : > >> > >> ./configure --enable-syslog --enable-modules --enable-rewrite > >> --enable-ldap --enable-meta --enable-collect --enable-dyngroup > >> --enable-memberof --enable-proxycache --enable-rwm --enable-sssvlv > >> --enable-valsort -DLDAP_COLLECTIVE_ATTRIBUTES > >> > >> result : > >> configure: error: unrecognized option: > >> `-DLDAP_COLLECTIVE_ATTRIBUTES' > >> > >> so I look on "configure --help" and "less INSTALL" , try to google > >> DLDAP_COLLECTIVE_ATTRIBUTES and at last try a grep on the directory > >> openldap-2.4.40/ but cannot find ref on how to build openldap with > >> DLDAP_COLLECTIVE_ATTRIBUTES .. > >> > >> finally and for archives : > >> > >> ./configure --enable-syslog --enable-modules --enable-rewrite > >> --enable-ldap --enable-meta --enable-collect --enable-dyngroup > >> --enable-memberof --enable-proxycache --enable-rwm --enable-sssvlv > >> --enable-valsort CFLAGS="-DLDAP_COLLECTIVE_ATTRIBUTES" > >> > >> after that , make depend, make , make install > >> > >> Works ! that is the good process ? > >> > >> now i can add the ldif with the example the you give me without > >> errors. > >> > >> but it doesn't appli collectives attributes : > >> > >> I have create this to test overlay collect : > >> > >> ## dcObject is an AUXILIARY objectclass and MUST > >> ## have a STRUCTURAL objectclass (organization in this case) > >> > >> dn: dc=example,dc=fr > >> dc: example > >> o: example proxy LDAP Server > >> description: Root entry for example proxy LDAP server > >> objectClass: top > >> objectclass: dcObject > >> objectclass: organization > >> > >> ## FIRST Level hierarchy > >> > >> dn: ou=TOUT,dc=example,dc=fr > >> ou: TOUT > >> description: OU pour contenir tout les annuaires > >> objectClass: top > >> objectClass: organizationalUnit > >> > >> ## FIRST Level hierarchy - Manager > >> > >> dn: cn=Manager,dc=example,dc=fr > >> cn: Manager > >> description: Rootdn > >> objectclass: organizationalRole > >> > >> after that I add this (from example provide in reply) : > >> > >> dn: cn=office,dc=example,dc=fr > >> objectClass: subentry > >> objectClass: extensibleObject > >> objectClass: collectiveAttributeSubentry > >> cn: office > >> subtreeSpecification: {base "ou=TOUT" minimum 2} > >> c-l: Berlin > >> c-street: Main Street > >> > >> and > >> > >> dn: cn=user_test,ou=TOUT,dc=example,dc=fr > >> sn: test > >> cn: user_test > >> objectClass: user > >> objectClass: organizationalPerson > >> objectClass: person > >> objectClass: top > >> > >> and in slapd.conf just for tests : > >> > >> include /etc/openldap/schema/collective.schema > >> ....... > >> database bdb > >> suffix "dc=example,dc=fr" > >> rootdn "cn=Manager,dc=example,dc=fr" > >> rootpw "xxxxx" > >> directory /usr/local/var/openldap-base > >> limits * size=1000 > >> overlay collect > >> collectinfo cn=office,dc=example,dc=fr l,street > > attributes should be c-l,c-street > ok so now the line is > > collectinfo cn=office,dc=example,dc=fr c-l,c-street > > > >> with that , when I do an ldap search : > >> > >> ldapsearch -H ldap://localhost -x -D "cn=Manager,dc=example,dc=fr" > >> -W -b "ou=TOUT,dc=example,dc=fr" > >> "(&(objectClass=user)(cn=user_test))" # extended LDIF > >> # > >> # LDAPv3 > >> # base <ou=TOUT,dc=example,dc=fr> with scope subtree > >> # filter: (&(objectClass=user)(cn=user_test)) > >> # requesting: ALL > >> # > >> > >> # user_test, TOUT, example.fr > >> dn: cn=user_test,ou=TOUT,dc=example,dc=fr > >> sn: test > >> cn: user_test > >> objectClass: user > >> objectClass: organizationalPerson > >> objectClass: person > >> objectClass: top > >> > >> # search result > >> search: 2 > >> result: 0 Success > >> > >> # numResponses: 2 > >> # numEntries: 1 > >> > >> no trace for the l and street attributes. any idea ? > > The entries should be in cn=office,dc=example,dc=fr > sorry but I don't understand : > > I create the object cn=office,dc=example,dc=fr > > dn: cn=office,dc=example,dc=fr > objectClass: subentry > objectClass: extensibleObject > objectClass: collectiveAttributeSubentry > cn: office > subtreeSpecification: {base "ou=TOUT" minimum 2} > c-l: Berlin > c-street: Main Street > > > with the subtreeSpecification to apply to "ou=TOUT" on > dc=example,dc=fr. > > no ? > > I read the man > > "Collective attributes are added to entries returned by a search > operation when the entry is within the scope of the related ancestor" > > I think that your reply refer to this part, but can you provide an > working example or adapt my example to a working state ? > > Thanks for reply > dn: cn=office,dc=example,dc=fr objectClass: subentry objectClass: collectiveAttributeSubentry subtreeSpecification: {base "ou=TOUT" minimum 0 maximum 2} cn: office c-l: Berlin c-street: Main Street dn:ou=TOUT,cn=office,dc=example,dc=fr objectClass: organizationalUnit ou: TOUT dn: cn=user_test,ou=TOUT,cn=office,dc=example,dc=fr sn: test cn: user_test objectClass: organizationalPerson The attribute type subtreeSpecification my have an empty value. -Dieter -- Dieter Klünter | Systemberatung http://dkluenter.de GPG Key ID:DA147B05 53°37'09,95"N 10°08'02,42"E
