##
## Needed attributes for GOsa (GONICUS System Administrator)
##
## Version 030303
##
## Maintainer:	Cajus Pollmeier (pollmeier@GONICUS.de)
##


# Attributes
attributetype ( 1.3.6.1.4.1.10098.1.1.12.1 NAME 'gosaSubtreeACL'
        DESC 'GOsa acl entry'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.2 NAME 'gosaUser'
        DESC 'GOsa user'
        EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.3 NAME 'gosaObject'
        DESC 'GOsa object'
        EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.4 NAME 'gosaMailServer'
        DESC 'Specify users main mail server'
        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.5 NAME 'gosaMailQuota'
        DESC 'GOsa quota definitions'
        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.6 NAME 'gosaMailAlternateAddress'
        DESC 'Additional mail addresses where the user is reachable'
        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.7 NAME 'gosaMailForwardingAddress'
        DESC 'Addresses where to forward mail to'
        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.8 NAME 'gosaMailMaxSize'
        DESC 'Block mails bigger than this value'
        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.9 NAME 'gosaSpamSortLevel'
        DESC 'Spamassassins hits'
        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.10 NAME 'gosaSpamMailbox'
        DESC 'Where to put spam'
        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.11 NAME 'gosaVacationMessage'
        DESC 'Text to display in case of vacation'
        EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.12 NAME 'gosaMailDeliveryMode'
        DESC 'What to do with mails'
        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.13 NAME 'gosaDefaultPrinter'
        DESC 'Defines a default printer a user owns'
        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.14 NAME 'gosaDefaultLanguage'
        DESC 'Defines the default language for a user'
        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.15 NAME 'gosaHostACL'
        DESC 'Defines the places where users can login'
        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.16 NAME 'gosaService'
        DESC 'Defines services a certain host can provide'
        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.17 NAME 'gosaProxyID'
        DESC 'Defines the proxy user id used, needed for some filters'
        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.18 NAME 'gosaProxyAcctFlags'
        DESC 'Proxy Account Flags'
        EQUALITY caseIgnoreIA5Match
	SUBSTR caseIgnoreIA5SubstringsMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{16} SINGLE-VALUE)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.19 NAME 'gosaProxyWorkingStart'
        DESC 'Specifies the beginning of work in minutes, relative to 00:00'
        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.20 NAME 'gosaProxyWorkingStop'
        DESC 'Specifies the end of work in minutes, relative to 00:00'
        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.21 NAME 'gosaApplicationName'
        DESC 'Specifies the name of an application to be shown up on users desktop'
        EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.22 NAME 'gosaApplicationExecute'
        DESC 'Specifies the executable path of an application'
        EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.23 NAME 'gosaApplicationFlags'
        DESC 'Specifies the application flags G(roup only), D(esktop), M(enu)'
        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.31 NAME 'gosaApplicationCategory'
	DESC 'Store application parameters'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.24 NAME 'gosaApplicationIcon'
        DESC 'Keeps the application icon in png format'
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.28)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.25 NAME 'gosaSharedFolderTarget'
        DESC 'Keeps the target of cyrus shared folders'
        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.26 NAME 'gosaMemberApplication'
        DESC 'Like memberUid, just for applications'
        EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.27 NAME 'gosaApplicationParameter'
        DESC 'Store application parameters'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.28 NAME 'gosaProxyQuota'
        DESC 'Specifies the amount of data a user may surf in a defined period of time'
        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.29 NAME 'gosaProxyQuotaPeriod'
        DESC 'Specifies period of time where the counter is been reseted'
        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.30 NAME 'gosaGroupObjects'
        DESC 'Takes a 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.32 NAME 'gosaApplicationMimeType'
	DESC 'Takes a list of relevant mime-type|priority settings'
	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.33 NAME 'gosaUnitTag'
        DESC 'Takes a list of relevant mime-type|priority settings'
        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 'Takes ACL entries for gosaRoles'
        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 'Takes ACL entries for gosaRoles'
        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.36 NAME 'gosaSnapshotType'
        DESC 'Takes either undo or snapshot'
        EQUALITY caseIgnoreMatch
        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.37 NAME 'gosaSnapshotTimestamp'
        DESC '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 'Original DN of saved 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.10098.1.1.12.39 NAME 'gosaSnapshotData'
        DESC 'Original DN of saved object'
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 SINGLE-VALUE)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.40 NAME 'gosaSetting'
        DESC 'Original DN of saved object'
        EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.41 NAME 'gosaVacationStart'
        DESC 'Timestamp for enabling current vacation message'
        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.42 NAME 'gosaVacationStop'
        DESC 'Timestamp for switching off current vacation message'
        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.43 NAME 'gosaApplicationPriority'
        DESC 'Keeps the application icon in png format'
        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.44 NAME 'gotoLastSystemLogin'
        DESC 'Timestamp for a Users last System Login'
        SYNTAX  1.3.6.1.4.1.1466.115.121.1.15)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.45 NAME 'gotoLastSystem'
        EQUALITY distinguishedNameMatch
        DESC 'The DN of the System where the Login was performed'
        SYNTAX  1.3.6.1.4.1.1466.115.121.1.12)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.46 NAME 'gosaLoginRestriction'
        DESC 'Multivalue attribute to carry a number of allowed ips/subnets'
        SUP name)

attributetype ( 1.3.6.1.4.1.10098.1.1.12.47 NAME 'gosaUserDefinedFilter'
        DESC 'A user defined filter'
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)

attributetype ( 1.3.6.1.4.1.10098.1.1.6.2 NAME 'academicTitle'
        DESC 'Field to represent the academic title'
        EQUALITY caseIgnoreMatch
        SUBSTR caseIgnoreSubstringsMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)

attributetype ( 1.3.6.1.4.1.15305.2.1 NAME ( 'gender' 'sex' )
        DESC    'Gender: M for male, F for female'
        EQUALITY caseIgnoreIA5Match
        SYNTAX  1.3.6.1.4.1.1466.115.121.1.26{1}
        SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.15305.2.2 NAME ( 'dateOfBirth' 'dob' )
        DESC    'Date of birth in ISO 8601 format'
        EQUALITY caseIgnoreMatch
        SYNTAX  1.3.6.1.4.1.1466.115.121.1.15{10}
        SINGLE-VALUE )

# cyrus imapd access control list
# acls work with users and groups
attributetype ( 1.3.6.1.4.1.19414.2.1.651
		NAME 'acl'
  		EQUALITY caseIgnoreIA5Match
		SUBSTR caseIgnoreIA5SubstringsMatch
	    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )

# Classes
objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.1 NAME 'gosaObject' SUP top AUXILIARY
        DESC 'Class for GOsa settings (v2.6.1)'
        MUST ( gosaSubtreeACL ))

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.2 NAME 'gosaLockEntry' SUP top STRUCTURAL
        DESC 'Class for GOsa locking (v2.6.1)'
        MUST ( gosaUser $ gosaObject $ cn ))

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.3 NAME 'gosaCacheEntry' SUP top STRUCTURAL
        DESC 'Class for GOsa caching (v2.6.1)'
	MAY  ( gosaUser )
	MUST ( cn ))

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.4 NAME 'gosaDepartment' SUP top AUXILIARY
        DESC 'Class to mark Departments for GOsa (v2.6.1)'
	MUST  ( ou $ description )
	MAY   ( manager ))

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.5 NAME 'gosaMailAccount' SUP top AUXILIARY
        DESC 'Class to mark MailAccounts for GOsa (v2.6.1)'
	MUST ( mail $ gosaMailServer $ gosaMailDeliveryMode)
	MAY  ( gosaMailQuota $ gosaMailAlternateAddress $ gosaMailForwardingAddress $
	       gosaMailMaxSize $ gosaSpamSortLevel $ gosaSpamMailbox $
	       gosaVacationMessage $ gosaVacationStart $ gosaVacationStop $ gosaSharedFolderTarget $ acl))

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.6 NAME 'gosaAccount' SUP top AUXILIARY
        DESC 'Class for GOsa Accounts (v2.6.6)'
	MUST ( uid )
        MAY ( sambaLMPassword $ sambaNTPassword $ sambaPwdLastSet $ gosaDefaultPrinter $
	      gosaDefaultLanguage $ academicTitle $ personalTitle $ gosaHostACL $ dateOfBirth $
		    sambaBadPasswordCount $ sambaBadPasswordTime $ gender $ 
        gotoLastSystemLogin $ gotoLastSystem $ gosaLoginRestriction ))

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.7 NAME 'gosaHost' SUP top AUXILIARY
        DESC 'Class for GOsa Hosts (v2.6.1)'
        MUST ( cn )
        MAY ( description $ gosaService ))

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.8 NAME 'gosaProxyAccount' SUP top AUXILIARY
        DESC 'Class for GOsa Proxy settings (v2.6.1)'
        MUST ( gosaProxyAcctFlags )
        MAY ( gosaProxyID $ gosaProxyWorkingStart $ gosaProxyWorkingStop $ gosaProxyQuota $
              gosaProxyQuotaPeriod ))

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.9 NAME 'gosaApplication' SUP top STRUCTURAL
        DESC 'Class for GOsa applications (v2.6.1)'
        MUST ( cn $ gosaApplicationExecute )
        MAY ( gosaApplicationName $ gosaApplicationIcon $ gosaApplicationFlags $ gosaApplicationMimeType $
              gosaApplicationParameter $ gotoLogonScript $ description $ gosaApplicationCategory ))

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.10 NAME 'gosaApplicationGroup' SUP top AUXILIARY
        DESC 'Class for GOsa application groups (v2.6.1)'
        MUST ( cn )
        MAY ( gosaMemberApplication $ gosaApplicationParameter ))

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.11 NAME 'gosaUserTemplate' SUP top AUXILIARY
        DESC 'Class for GOsa User Templates (v2.6.1)'
        MUST ( cn ))

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.12 NAME 'gosaGroupOfNames'
        DESC 'GOsa object grouping (v2.6.1)'
		SUP top STRUCTURAL
		MUST ( cn $ gosaGroupObjects ) MAY ( member $ description ) )

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.13 NAME 'gosaWebdavAccount'
        DESC 'GOsa webdav enabling account (v2.6.1)'
        SUP top AUXILIARY
        MUST ( cn $ uid ))

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.14 NAME 'gosaIntranetAccount'
		DESC 'GOsa Inatrent enabling account (v2.6.1)'
		SUP top AUXILIARY
		MUST ( cn $ uid )
		MAY ( gosaDefaultLanguage ))

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.15 NAME 'gosaAdministrativeUnit'
       DESC 'Marker for administrational units (v2.6.1)'
           SUP top AUXILIARY
       MUST ( gosaUnitTag ))

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.16 NAME 'gosaAdministrativeUnitTag'
       DESC 'Marker for objects below administrational units (v2.6.1)'
           SUP top AUXILIARY
       MUST ( gosaUnitTag ))

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

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.18 NAME 'gosaAcl'
       DESC 'ACL container to define single ACLs (v2.6.1)' SUP top AUXILIARY
       MUST ( gosaAclEntry  ))

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

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.20 NAME 'gosaConfig'
       DESC 'Settings for gosa. Replaces parts of the gosa.conf. (v2.6)' SUP top STRUCTURAL
       MUST ( cn ) 
       MAY  ( gosaSetting ) )

# GOto submenu entries
objectclass (1.3.6.1.4.1.10098.1.2.1.43 NAME 'gotoSubmenuEntry'
        DESC 'GOto - contains environment settings (v2.6)' SUP top STRUCTURAL
        MUST ( cn )
        MAY ( gosaApplicationIcon $ gosaApplicationPriority ) )

# GOto menu entries
objectclass (1.3.6.1.4.1.10098.1.2.1.44 NAME 'gotoMenuEntry'
        DESC 'GOto - defines a menu entry (v2.6)' SUP top STRUCTURAL
        MUST ( cn )
        MAY ( gosaApplicationParameter $ gosaApplicationPriority ) )

objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.21 NAME 'gosaProperties' SUP top AUXILIARY
        DESC 'Class for GOsa Properties, stores for example user filters (v2.6.8)'
        MAY ( gosaUserDefinedFilter ) ) 
