##
## core-fd.schema - Needed by FusionDirectory for its basic fonctionnalities
##


# Attributes

attributetype ( 1.3.6.1.4.1.10098.1.1.12.30 NAME 'gosaGroupObjects'
  DESC 'GOsa - List of all object types that are in a gosaGroupOfNames'
  EQUALITY caseIgnoreIA5Match
  SUBSTR caseIgnoreIA5SubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.34 NAME 'gosaAclTemplate'
  DESC 'GOsa - ACL entries for ACL roles'
  EQUALITY caseIgnoreIA5Match
  SUBSTR caseIgnoreIA5SubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.35 NAME 'gosaAclEntry'
  DESC 'GOsa - ACL entries'
  EQUALITY caseIgnoreIA5Match
  SUBSTR caseIgnoreIA5SubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.37 NAME 'gosaSnapshotTimestamp'
  DESC 'GOsa - Unix timestamp of snapshot'
  EQUALITY caseIgnoreMatch
  SUBSTR caseIgnoreSubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.38 NAME 'gosaSnapshotDN'
  DESC 'GOsa - Original DN of saved object in snapshot'
  EQUALITY caseIgnoreMatch
  SUBSTR caseIgnoreSubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.39 NAME 'gosaSnapshotData'
  DESC 'GOsa - Original data of saved object in snapshot'
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 SINGLE-VALUE)

attributetype ( 1.3.6.1.4.1.38414.62.1.1 NAME 'fdUserDn'
  DESC 'FusionDirectory - DN of a user'
  EQUALITY caseIgnoreMatch
  SUBSTR caseIgnoreSubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.38414.62.1.2 NAME 'fdObjectDn'
  DESC 'FusionDirectory - DN of an object'
  EQUALITY caseIgnoreMatch
  SUBSTR caseIgnoreSubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.38414.62.1.3 NAME 'fdLockTimestamp'
  DESC 'FusionDirectory - Lock token timestamp'
  EQUALITY generalizedTimeMatch
  ORDERING generalizedTimeOrderingMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 SINGLE-VALUE )

# Subscriptions

attributetype ( 1.3.6.1.4.1.38414.62.11.1 NAME 'fdSubscriptionStartDate'
  DESC 'FusionDirectory - Subscription Starting Date'
  EQUALITY generalizedTimeMatch
  ORDERING generalizedTimeOrderingMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.38414.62.11.2 NAME 'fdSubscriptionEndDate'
  DESC 'FusionDirectory - Subscription End Date'
  EQUALITY generalizedTimeMatch
  ORDERING generalizedTimeOrderingMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.38414.62.11.3 NAME 'fdSubscriptionType'
  DESC 'FusionDirectory - Subscription type'
  EQUALITY caseIgnoreMatch
  SUBSTR caseIgnoreSubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.38414.62.11.4 NAME 'fdSubscriptionContractId'
  DESC 'FusionDirectory - Subscription contract ID'
  EQUALITY caseIgnoreMatch
  SUBSTR caseIgnoreSubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.38414.62.11.5 NAME 'fdSubscriptionName'
  DESC 'FusionDirectory - Subscription client name'
  SUP name )

# Classes

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.4 NAME 'gosaDepartment' SUP top AUXILIARY
  DESC 'GOsa - Class to mark Departments for GOsa'
  MUST  ( ou $ description )
  MAY   ( manager $ co $ labeledURI ) )

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.12 NAME 'gosaGroupOfNames'
  DESC 'GOsa - Adds the gosaGroupObjects field to groupOfNames'
  SUP top AUXILIARY
  MUST ( cn $ gosaGroupObjects ) MAY ( member $ description ) )

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.17 NAME 'gosaRole'
  DESC 'GOsa - ACL container to define ACL roles'
  SUP top STRUCTURAL
  MUST ( gosaAclTemplate $ cn )
  MAY  ( description ) )

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.18 NAME 'gosaAcl'
  DESC 'GOsa - ACL container to define single ACLs'
  SUP top AUXILIARY
  MUST ( gosaAclEntry  ))

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.19 NAME 'gosaSnapshotObject'
  DESC 'GOsa - Container object for undo and snapshot data'
  SUP top STRUCTURAL
  MUST ( gosaSnapshotTimestamp $ gosaSnapshotDN $ gosaSnapshotData )
  MAY  ( description ) )

objectclass ( 1.3.6.1.4.1.38414.62.2.1 NAME 'fdLockEntry' SUP top STRUCTURAL
  DESC 'FusionDirectory - Class for FD locking'
  MUST ( fdUserDn $ fdObjectDn $ cn $ fdLockTimestamp ))

objectclass ( 1.3.6.1.4.1.38414.62.2.2 NAME 'fdSubscriptionInformation' SUP top STRUCTURAL
  DESC 'FusionDirectory - Information about current subscription'
  MUST ( cn )
  MAY ( uid $ fdSubscriptionStartDate $ fdSubscriptionEndDate $ fdSubscriptionType $ fdSubscriptionContractId $ fdSubscriptionName ))