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
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 ?
Thanks again for reply
--
Nicolas