# LdapSaisie - LDAP Schema - Example
# Web Site : https://ldapsaisie.org
objectIdentifier EeRoot                 1.3.6.1.4.1.10650
objectIdentifier LeRoot                 EeRoot:4
objectIdentifier LsRoot                 LeRoot:10000
objectIdentifier LsLDAP                 LsRoot:2
objectIdentifier LsLDAPAttribute        LsLDAP:1
objectIdentifier LsLDAPObjectClass      LsLDAP:2

# <Ls attributes>
attributetype (LsLDAPAttribute:1
  NAME 'lsAllowedServices'
  DESC 'List of allowed services'
  EQUALITY caseIgnoreMatch
  SUBSTR caseIgnoreSubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )

attributetype ( LsLDAPAttribute:2 NAME 'lsRecoveryHash'
  DESC 'Password Recover Hash'
  EQUALITY caseIgnoreMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)

attributetype ( LsLDAPAttribute:3 NAME 'lsGodfatherDn'
	SUP distinguishedName
	DESC 'Godfather dn of this entry' )
# </Ls attributes>

# <Ls Objectclass>
objectclass (LsLDAPObjectClass:1
  NAME 'lspeople'
  DESC 'LS people Objectclass'
  STRUCTURAL
  MUST ( uid $ cn )
  MAY ( jpegPhoto $ sn $ givenName $ postalAddress $ postalCode $ l $ st $ c $
        telephoneNumber $ mobile $ fax $ mail $ personalTitle $ description $
        userPassword $ lsallowedservices $ lsRecoveryHash $ lsGodfatherDn ))

objectclass (LsLDAPObjectClass:3
  NAME 'lsgroup'
  DESC 'LS group Objectclass'
  AUXILIARY
  MUST ( cn )
  MAY ( uniquemember $ description $ lsGodfatherDn ))

objectclass (LsLDAPObjectClass:4
  NAME 'lssysaccount'
  DESC 'LS system account Objectclass'
  STRUCTURAL
  MUST ( uid )
  MAY (userpassword $ description))

objectclass ( LsLDAPObjectClass:5
  NAME 'lscompany'
  SUP organizationalUnit
  STRUCTURAL
  MUST ( ou )
  MAY ( description $ lsGodfatherDn ))

# </Ls Objectclass>
