#
# qmail-ldap v3 directory schema
#
# The offical qmail-ldap OID assigned by IANA is 7914
#
# Created by: David E. Storey <dave@tamos.net>
# Modified and included into qmail-ldap by Andre Oppermann <opi@nrg4u.com>
#
# I've gone through this schema and I think it is now correct but I'm
# not 100% certain. The next release will clear it up.
#
# This schema depends on:
#	- core.schema
#	- cosine.schema
#	- nis.schema
#

# Attribute Type Definitions

attributetype ( 1.3.6.1.4.1.7914.1.2.1.1 NAME 'qmailUID'
	DESC 'UID of the user on the mailsystem'
	EQUALITY numericStringMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.36
	SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.7914.1.2.1.2 NAME 'qmailGID'
	DESC 'GID of the user on the mailsystem'
	EQUALITY numericStringMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.36
	SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.7914.1.2.1.3 NAME 'mailMessageStore'
	DESC 'Path to the maildir/mbox on the mail system'
	EQUALITY caseExactIA5Match
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
	SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.7914.1.2.1.4 NAME 'mailAlternateAddress'
	DESC 'Secondary (alias) mailaddresses for the same user'
	EQUALITY caseIgnoreIA5Match
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )

attributetype ( 1.3.6.1.4.1.7914.1.2.1.5 NAME 'mailQuota'
	DESC 'The amount of space the user can use until all further messages get bounced.'
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.44
	SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.7914.1.2.1.6 NAME 'mailHost'
	DESC 'On which qmail server the messagestore of this user is located.'
	EQUALITY caseIgnoreIA5Match
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
	SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.7914.1.2.1.7 NAME 'mailForwardingAddress'
	DESC 'Address(es) to forward all incoming messages to.'
	EQUALITY caseIgnoreIA5Match
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )

attributetype ( 1.3.6.1.4.1.7914.1.2.1.8 NAME 'deliveryProgramPath'
	DESC 'Program to execute for all incoming mails.'
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
	SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.7914.1.2.1.9 NAME 'qmailDotMode'
	DESC 'Interpretation of .qmail files: both, dotonly, ldaponly, ldapwithprog, none'
	EQUALITY caseIgnoreIA5Match
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
	SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.7914.1.2.1.10 NAME 'deliveryMode'
	DESC 'multi field entries of: normal, forwardonly, nombox, localdelivery, reply, echo'
	EQUALITY caseIgnoreIA5Match
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )

attributetype ( 1.3.6.1.4.1.7914.1.2.1.11 NAME 'mailReplyText'
	DESC 'A reply text for every incoming message'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{4096}
	SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.7914.1.2.1.12 NAME 'accountStatus'
	DESC 'The status of a user account: active, nopop, disabled, deleted'
	EQUALITY caseIgnoreIA5Match
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
	SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.7914.1.2.1.14 NAME 'qmailAccountPurge'
        DESC 'The earliest date when a mailMessageStore will be purged'
        EQUALITY caseIgnoreIA5Match
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
        SINGLE-VALUE )

# Object Class Definitions

objectclass ( 1.3.6.1.4.1.7914.1.2.2.1 NAME 'qmailUser'
	DESC 'QMail-LDAP User' SUP top AUXILIARY
	MUST ( mail $ uid )
	MAY ( mailMessageStore $ homeDirectory $ userPassword $
	      mailAlternateAddress $ qmailUID $ qmailGID $ mailQuota $
	      mailHost $ mailForwardingAddress $ deliveryProgramPath $
	      qmailDotMode $ deliveryMode $ mailReplyText $
	      accountStatus $ qmailAccountPurge ) )

