-personal_ws-1.1 en 1492
+personal_ws-1.1 en 1508
nattrsets
inappropriateAuthentication
api
olcOverlayConfig
shoesize
olcTLSCACertificateFile
-cdx
CGI
+cdx
DCE
DAP
attributename
authzID
authzid
authzId
-ddd
DAs
+ddd
userApplications
BNF
attrs
hallvard
ASN
acknowledgements
-ava
Chu
+ava
monitorCounter
del
DDR
maxentries
authc
seeAlso
-searchBase
searchbase
+searchBase
realnamingcontext
-dns
-DN's
-DNs
dn's
+DNs
+DN's
+dns
dereference
sortKey
authzTo
searchResultReference
fmt
qdescrs
+olcConstraintAttribute
olcSuffix
objectClassModsProhibited
+numEntries
unavailableCriticalExtension
supportedControl
GHz
sizelimit
unixODBC
notAllowedOnNonLeaf
-blen
APIs
+blen
attrsOnly
attrsonly
slappasswd
caseExactOrderingMatch
olcDbQuarantine
RELEASEDATE
-basedn
baseDN
+basedn
argv
gss
schemachecking
-WhoAmI
whoami
+WhoAmI
syslogd
dataflow
subentries
attrpair
balancer
entryAlreadyExists
+suretec
BerkeleyDB's
notAllowedOnRDN
singleLevel
localstatedir
sockbuf
PENs
-IPv
ipv
+IPv
ghenry
hyc
multimaster
myOID
structuralObjectClass
integerMatch
-OpenLDAP
openldap
+OpenLDAP
moddn
rewriteEngine
AVAs
logins
jts
memberAttr
-newPasswdFile
newpasswdfile
+newPasswdFile
ucdata
LLL
confdir
structs
desc
LTCOMPILE
+auditContext
bindmethod
+sambaNTPassword
olcDbCheckpoint
addprinc
+auditContainer
modme
refreshOnly
PIII
pwdPolicySubentry
-supportedSASLMechanism
supportedSASLmechanism
+supportedSASLMechanism
FIXME
realanonymous
caseExactMatch
olcSizeLimit
Bourne
attr
-objectIdentifier
objectidentifier
+objectIdentifier
refint
msgtype
OBJEXT
alloc
PDU
OLF
-inetOrgPerson
inetorgperson
+inetOrgPerson
deleteoldrdn
monitorCounterObject
pid
entrylimit
attrdescN
logold
-PRD
-sbi
pos
+sbi
+PRD
reqEntries
pre
bvals
telephoneNumber
DLDAP
peernamestyle
-SHA
Sep
+SHA
filename
rpath
argsfile
ostring
toolsets
mwrscdx
-UCD
SMD
+UCD
cancelled
crit
organizationalUnit
modulepath
quickstart
mySNMP
-UDP
tgz
+UDP
RDBMs
rdbms
Matic
refreshDone
ssf
replogfile
-vec
-TOC
rwm
+TOC
+vec
LDAPDN
compareAttrDN
endmacro
repl
monitoringslapd
referralsp
-SRP
tmp
+SRP
olcDbNosync
conns
SSL
PDkzODdASFxOQ
SRV
-sss
rwx
+sss
deallocators
Contribware
URLlist
+olcConstraintConfig
str
subinitial
CSNs
params
groupnummer
searchEntryDN
+titleCatalog
negttl
chainingPreferred
TABs
ldapsearch
cp
displayName
-bv
eg
+bv
olcBackendConfig
-fd
dn
+fd
+sambaPwdLastSet
LDAPSync
olcReplicationInterval
fG
logevels
IG
addDN
+olcAuditlogFile
tbls
ldapmodify
kb
entryCSNs
dlopen
continuated
-newSuperior
newsuperior
+newSuperior
Preprocessor
XXLIBS
deallocate
nelems
liblutil
wrscdx
+numResponses
scherr
internet
logfilter
contrib
FQDNs
bjorn
-myLDAP
myldap
+myLDAP
peercred
SNMP
myObjectClass
ldapbis
attributeoptions
serverID
-memberof
memberOf
+memberof
pseudorootpw
allmail
CFLAGS
dcedn
olcOverlay
exop
-BerElement
berelement
+BerElement
olcRootDN
octetString
SampleLDAP
allusersgroup
PostgreSQL
bvstr
+logsuccess
filesystem
pathtest
-objectclass
objectClass
+objectclass
submatches
newrdn
armijo
syncuser
Masarati
LDAPSyntax
-oldPasswdFile
oldpasswdfile
+oldPasswdFile
reqDN
SSFs
ietf
setspec
scanf
TLSv
-distinguishedName
distinguishedname
+distinguishedName
BerVarray
caseIgnoreSubstrin
ldapwhoami
zeilenga
WebUpdate
numericoid
-ChangeLog
changelog
+ChangeLog
creatorsName
ascii
wahl
authcDN
TLSCipherSuite
supportedSASLMechanisms
-rootDSE
rootdse
+rootDSE
dsaparam
cachefree
UMich's
attribute's
extern
varchar
-olcDbCachesize
olcDbCacheSize
-authcID
+olcDbCachesize
authcid
+authcID
POSIX
hnPk
ldapext
somevalue
LIBRELEASE
randkey
-StartTLS
starttls
+StartTLS
LDAPSchemaExtensionItem
reqReferral
shtool
errObject
gsskrb
valsort
-berval's
bervals
+berval's
derefFindingBaseObj
checkpointed
keytab
memcalloc
inet
saslargs
-givenName
givenname
+givenName
olcDbMode
pidfile
olcLimits
superset
directoryString
ktadd
-proxytemplate
proxyTemplate
+proxytemplate
wildcards
monitoredObject
TTLs
impl
strongerAuthRequired
outvalue
-returncode
returnCode
+returncode
attributeDescription
attrval
dnssrv
errlist
addpartial
slapdn
+olcAuditLogConfig
uncached
ldapapiinfo
groupOfUniqueNames
dhparam
-slapds
slapd's
+slapds
inputfile
RDBMSes
wildcard
Locator
-errABsObject
errAbsObject
+errABsObject
SASL's
html
searchResultDone
olcBdbConfig
-LDAPMod
ldapmod
+LDAPMod
olcHidden
userPassword
TLSRandFile
queryid
Warper
XDEFS
-URL's
urls
-postaladdress
+URL's
postalAddress
+postaladdress
passwd
plugins
george
slapdconfig
sysconfig
dnSubtreeMatch
-olcSaslSecprops
olcSaslSecProps
+olcSaslSecprops
auditModify
groupOfNames
jensen
reloadHint
prepending
olcGlobal
-matchingrule
matchingRule
+matchingrule
SmVuc
MSSQL
nisMailAlias
realusers
dnstyle
suffixalias
-proxyattrset
-proxyAttrSet
proxyAttrset
+proxyAttrSet
+proxyattrset
pwdMustChange
ldif
bvfree
PRNGD
LDAPRDN
entryUUIDs
-proxyCache
+sambaPwdCanChange
proxycache
+proxyCache
SERATGCgaGBYWGDEjJR
noanonymous
accessee
errMatchedDN
everytime
mkdep
-olcDbIndex
olcDbindex
+olcDbIndex
syntaxOID
reqData
databasetype
saslBindInProgress
bitstring
ACLs
+suretecsystems
berptr
olcModuleLoad
namingViolation
-attributeType
attributetype
+attributeType
auditModRDN
cacert
memberUid
syntaxes
memberURL
monitorRuntimeConfig
-binddn
-bindDN
bindDn
+bindDN
+binddn
methodp
-timelimitExceeded
timeLimitExceeded
+timelimitExceeded
pwdInHistory
LTSTATIC
-requestor's
requestors
+requestor's
LDAPCONF
saslauthd
MKDEPFLAG
gecos
entryUUID
-GnuTLS
-GNUtls
gnutls
+GNUtls
+GnuTLS
postread
timeval
+aaa
DHAVE
loopDetect
caseIgnoreSubstringsMatch
LDAPControl
pwdMinLength
ldapcompare
-readOnly
readonly
+readOnly
RANDFILE
attrlist
aci
AES
bdb
attributeOrValueExists
-ManageDsaIT
manageDSAit
+ManageDsaIT
bindpw
monitorContainer
pEntry
mkln
numericStringSubstringsMatch
testgroup
-OpenSSL
openssl
+OpenSSL
ModName
cacheable
freeit
ali
mandir
changetype
-CA's
CAs
+CA's
typeA
bvecfree
ODBC
H3: Overview
This overlay enforces a regular expression constraint on all values
-of specified attributes. It is used to enforce a more rigorous
-syntax when the underlying attribute syntax is too general.
+of specified attributes during an LDAP modify request that contains add or modify
+commands. It is used to enforce a more rigorous syntax when the underlying attribute
+syntax is too general.
H3: Constraint Configuration
-
+
+Configuration via {{slapd.conf}}(5) would look like:
+
+> overlay constraint
+> constraint_attribute mail regex ^[:alnum:]+@mydomain.com$
+> constraint_attribute title uri
+> ldap:///dc=catalog,dc=example,dc=com?title?sub?(objectClass=titleCatalog)
+
+A specification like the above would reject any {{mail}} attribute which did not
+look like {{<alpha-numeric string>@mydomain.com}}.
+
+It would also reject any title attribute whose values were not listed in the
+title attribute of any {{titleCatalog}} entries in the given scope.
+
+An example for use with {{cn=config}}:
+
+> dn: cn=module{0},cn=config
+> changetype: modify
+> add: olcModuleLoad
+> olcModuleLoad: {1}constraint.la
+>
+> dn: olcOverlay=constraint,olcDatabase={1}hdb,cn=config
+> changetype: add
+> objectClass: olcOverlayConfig
+> objectClass: olcConstraintConfig
+> olcOverlay: constraint
+> olcConstraintAttribute: mail regex ^[:alnum:]+@mydomain.com$
+> olcConstraintAttribute: title uri ldap:///dc=catalog,dc=example,dc=com?title?sub?(objectClass=titleCatalog)
+
H2: Dynamic Directory Services