1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| | #autoload
local -a expl attrs
# These come from dumping attributes from basic installations of both openldap
# and FreeIPA and combining results. It is possible to have custom additions so
# a definitive list is not possible Hence the use of -x with compadd.
#
attrs=(
associatedDomain authenticationMethod automountInformation automountKey
automountMapName bindTimeLimit cACertificate;binary cn dc defaultSearchBase
defaultServerList description displayName dn followReferrals gecos gidNumber
givenName homeDirectory info initials ipaCertIssuerSerial ipaCertSubject
ipaConfigString ipaKeyExtUsage ipaKeyTrust ipaNTSecurityIdentifier
ipaPublicKey ipaUniqueID ipHostNumber loginShell mail member memberUid
mepManagedBy nisDomain nisNetgroupTriple o objectClass objectClassMap ou
pwdAllowUserChange pwdAttribute pwdCheckQuality pwdExpireWarning
pwdFailureCountInterval pwdGraceAuthNLimit pwdInHistory pwdLockout
pwdLockoutDuration pwdMaxAge pwdMaxFailure pwdMinAge pwdMinLength
pwdMustChange pwdSafeModify searchTimeLimit serviceSearchDescriptor sn
telephoneNumber uid uidNumber userCertificate;binary userPKCS12
userSMIMECertificate
)
_description ldap-attributes expl "ldap attribute"
compadd "${@:/-X/-x}" "${expl[@]:/-X/-x}" \
-M 'm:{a-zA-Z}={A-Za-z} r:[^A-Z]||[A-Z]=* r:|=*' -a attrs
|