[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: writing my own schema



There are two types of objectclasses: Structural and Auxiliary. You have
defined a Structural objectclass (by default since it is not Auxiliary).
This will cause you problems as you can only have one structural
objectclass, and I see that you have at least two.

I would suggest reading a bit more on LDAP schema so that you can
determine what you really want to create, then choosing inheritance or
making your objectclass auxiliary.

-lon


>
> Hi,
>
> I have written my own schema to include some radius
> attributes. It is my impression that i can just include the
> new schema in slapd.conf and away i go.  I can then make use
> of the new attributes.
>
> If i try and add an entry using the followin ldif file:
>
> dn: cn=gshumway,ou=customers,dc=mydomain,dc=com,dc=au
> cn: gshumway
> sn: Gordon Shumway
> uid: gshumway
> userPassword: password
> Framed-IP-Address: 10.10.10.1
> Service-Type: Framed-User
> portLimit:1
> radiusAttr:
> objectClass: radiatorObject
> objectClass: uidObject
> objectClass: person
> objectClass: organizationalPerson
>
>
> I get the error:
>
> ldapadd: update failed:
> cn=gshumway,ou=customers,dc=mydomain,dc=com,dc=au
> ldap_add: Object class violation (65)
> 	additional info: invalid structural object class chain
> (radiatorObject/person)
>
>
> Am I missing something here ?  My schema is below.
>
> thanks.
>
>
>
> #
> #
> attributetype ( 1.3.6.1.4.1.9667.2.1.1.1
>        NAME 'Framed-Route'
>        DESC 'RADIUS attribute to send value for Framed-Route
> to NAS'
>        EQUALITY caseExactMatch
>        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> attributeType ( 1.3.6.1.4.1.9667.2.1.1.2
>        NAME 'Framed-IP-Address'
>        DESC 'RADIUS attribute to send value for
> Framed-IP-Address to NAS'
>        EQUALITY caseExactMatch
>        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
>
> attributeType ( 1.3.6.1.4.1.9667.2.1.1.3
>        NAME 'portLimit'
>        DESC 'RADIUS attribute to send value for Port-Limit to
> NAS'
>        EQUALITY caseExactMatch
>        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
>        SINGLE-VALUE )
>
> attributetype ( 1.3.6.1.4.1.9667.2.1.1.4
>          NAME 'Service-Type'
> 	  DESC 'RADIUS attribute to send value for Service-Type to NAS'
>          EQUALITY caseExactMatch
>          SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
>          SINGLE-VALUE )
>
> attributetype ( 1.3.6.1.4.1.9667.2.1.1.5
>          NAME 'accountStatus'
>          DESC '1 = active, 3 = inactive'
>          EQUALITY integerMatch
>          SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
>          SINGLE-VALUE )
>
> attributetype ( 1.3.6.1.4.1.9667.2.1.1.6
>        NAME 'radiusAttr'
>        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
>        EQUALITY caseIgnoreMatch
>        DESC 'Multi Value attribute to send a number of
> various RADIUS attribute
> s to the NAS' )
>
>
> objectClass ( 1.3.6.1.4.1.9667.2.1.1
>        NAME 'radiatorObject'
>        MUST (Service-Type)
>        DESC 'Radiator attributes'
>        MAY (
>                Framed-Route $
>                Framed-IP-Address $
>                Service-Type $
>                portLimit $ radiusAttr ) )