diff options
Diffstat (limited to '')
-rw-r--r-- | runtime/syntax/ldapconf.vim | 338 |
1 files changed, 338 insertions, 0 deletions
diff --git a/runtime/syntax/ldapconf.vim b/runtime/syntax/ldapconf.vim new file mode 100644 index 0000000..662ea20 --- /dev/null +++ b/runtime/syntax/ldapconf.vim @@ -0,0 +1,338 @@ +" Vim syntax file +" Language: ldap.conf(5) configuration file. +" Previous Maintainer: Nikolai Weibull <now@bitwi.se> +" Latest Revision: 2006-12-11 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn keyword ldapconfTodo contained TODO FIXME XXX NOTE + +syn region ldapconfComment display oneline start='^\s*#' end='$' + \ contains=ldapconfTodo, + \ @Spell + +syn match ldapconfBegin display '^' + \ nextgroup=ldapconfOption, + \ ldapconfDeprOption, + \ ldapconfComment + +syn case ignore + +syn keyword ldapconfOption contained URI + \ nextgroup=ldapconfURI + \ skipwhite + +syn keyword ldapconfOption contained + \ BASE + \ BINDDN + \ nextgroup=ldapconfDNAttrType + \ skipwhite + +syn keyword ldapconfDeprOption contained + \ HOST + \ nextgroup=ldapconfHost + \ skipwhite + +syn keyword ldapconfDeprOption contained + \ PORT + \ nextgroup=ldapconfPort + \ skipwhite + +syn keyword ldapconfOption contained + \ REFERRALS + \ nextgroup=ldapconfBoolean + \ skipwhite + +syn keyword ldapconfOption contained + \ SIZELIMIT + \ TIMELIMIT + \ nextgroup=ldapconfInteger + \ skipwhite + +syn keyword ldapconfOption contained + \ DEREF + \ nextgroup=ldapconfDerefWhen + \ skipwhite + +syn keyword ldapconfOption contained + \ SASL_MECH + \ nextgroup=ldapconfSASLMechanism + \ skipwhite + +syn keyword ldapconfOption contained + \ SASL_REALM + \ nextgroup=ldapconfSASLRealm + \ skipwhite + +syn keyword ldapconfOption contained + \ SASL_AUTHCID + \ SASL_AUTHZID + \ nextgroup=ldapconfSASLAuthID + \ skipwhite + +syn keyword ldapconfOption contained + \ SASL_SECPROPS + \ nextgroup=ldapconfSASLSecProps + \ skipwhite + +syn keyword ldapconfOption contained + \ TLS_CACERT + \ TLS_CERT + \ TLS_KEY + \ TLS_RANDFILE + \ nextgroup=ldapconfFilename + \ skipwhite + +syn keyword ldapconfOption contained + \ TLS_CACERTDIR + \ nextgroup=ldapconfPath + \ skipwhite + +syn keyword ldapconfOption contained + \ TLS_CIPHER_SUITE + \ nextgroup=@ldapconfTLSCipher + \ skipwhite + +syn keyword ldapconfOption contained + \ TLS_REQCERT + \ nextgroup=ldapconfTLSCertCheck + \ skipwhite + +syn keyword ldapconfOption contained + \ TLS_CRLCHECK + \ nextgroup=ldapconfTLSCRLCheck + \ skipwhite + +syn case match + +syn match ldapconfURI contained display + \ 'ldaps\=://[^[:space:]:]\+\%(:\d\+\)\=' + \ nextgroup=ldapconfURI + \ skipwhite + +" LDAP Distinguished Names are defined in Section 3 of RFC 2253: +" http://www.ietf.org/rfc/rfc2253.txt. +syn match ldapconfDNAttrType contained display + \ '\a[a-zA-Z0-9-]\+\|\d\+\%(\.\d\+\)*' + \ nextgroup=ldapconfDNAttrTypeEq + +syn match ldapconfDNAttrTypeEq contained display + \ '=' + \ nextgroup=ldapconfDNAttrValue + +syn match ldapconfDNAttrValue contained display + \ '\%([^,=+<>#;\\"]\|\\\%([,=+<>#;\\"]\|\x\x\)\)*\|#\%(\x\x\)\+\|"\%([^\\"]\|\\\%([,=+<>#;\\"]\|\x\x\)\)*"' + \ nextgroup=ldapconfDNSeparator + +syn match ldapconfDNSeparator contained display + \ '[+,]' + \ nextgroup=ldapconfDNAttrType + +syn match ldapconfHost contained display + \ '[^[:space:]:]\+\%(:\d\+\)\=' + \ nextgroup=ldapconfHost + \ skipwhite + +syn match ldapconfPort contained display + \ '\d\+' + +syn keyword ldapconfBoolean contained + \ on + \ true + \ yes + \ off + \ false + \ no + +syn match ldapconfInteger contained display + \ '\d\+' + +syn keyword ldapconfDerefWhen contained + \ never + \ searching + \ finding + \ always + +" Taken from http://www.iana.org/assignments/sasl-mechanisms. +syn keyword ldapconfSASLMechanism contained + \ KERBEROS_V4 + \ GSSAPI + \ SKEY + \ EXTERNAL + \ ANONYMOUS + \ OTP + \ PLAIN + \ SECURID + \ NTLM + \ NMAS_LOGIN + \ NMAS_AUTHEN + \ KERBEROS_V5 + +syn match ldapconfSASLMechanism contained display + \ 'CRAM-MD5\|GSS-SPNEGO\|DIGEST-MD5\|9798-[UM]-\%(RSA-SHA1-ENC\|\%(EC\)\=DSA-SHA1\)\|NMAS-SAMBA-AUTH' + +" TODO: I have been unable to find a definition for a SASL realm, +" authentication identity, and proxy authorization identity. +syn match ldapconfSASLRealm contained display + \ '\S\+' + +syn match ldapconfSASLAuthID contained display + \ '\S\+' + +syn keyword ldapconfSASLSecProps contained + \ none + \ noplain + \ noactive + \ nodict + \ noanonymous + \ forwardsec + \ passcred + \ nextgroup=ldapconfSASLSecPSep + +syn keyword ldapconfSASLSecProps contained + \ minssf + \ maxssf + \ maxbufsize + \ nextgroup=ldapconfSASLSecPEq + +syn match ldapconfSASLSecPEq contained display + \ '=' + \ nextgroup=ldapconfSASLSecFactor + +syn match ldapconfSASLSecFactor contained display + \ '\d\+' + \ nextgroup=ldapconfSASLSecPSep + +syn match ldapconfSASLSecPSep contained display + \ ',' + \ nextgroup=ldapconfSASLSecProps + +syn match ldapconfFilename contained display + \ '.\+' + +syn match ldapconfPath contained display + \ '.\+' + +" Defined in openssl-ciphers(1). +" TODO: Should we include the stuff under CIPHER SUITE NAMES? +syn cluster ldapconfTLSCipher contains=ldapconfTLSCipherOp, + \ ldapconfTLSCipherName, + \ ldapconfTLSCipherSort + +syn match ldapconfTLSCipherOp contained display + \ '[+!-]' + \ nextgroup=ldapconfTLSCipherName + +syn keyword ldapconfTLSCipherName contained + \ DEFAULT + \ COMPLEMENTOFDEFAULT + \ ALL + \ COMPLEMENTOFALL + \ HIGH + \ MEDIUM + \ LOW + \ EXP + \ EXPORT + \ EXPORT40 + \ EXPORT56 + \ eNULL + \ NULL + \ aNULL + \ kRSA + \ RSA + \ kEDH + \ kDHr + \ kDHd + \ aRSA + \ aDSS + \ DSS + \ aDH + \ kFZA + \ aFZA + \ eFZA + \ FZA + \ TLSv1 + \ SSLv3 + \ SSLv2 + \ DH + \ ADH + \ AES + \ 3DES + \ DES + \ RC4 + \ RC2 + \ IDEA + \ MD5 + \ SHA1 + \ SHA + \ Camellia + \ nextgroup=ldapconfTLSCipherSep + +syn match ldapconfTLSCipherSort contained display + \ '@STRENGTH' + \ nextgroup=ldapconfTLSCipherSep + +syn match ldapconfTLSCipherSep contained display + \ '[:, ]' + \ nextgroup=@ldapconfTLSCipher + +syn keyword ldapconfTLSCertCheck contained + \ never + \ allow + \ try + \ demand + \ hard + +syn keyword ldapconfTLSCRLCheck contained + \ none + \ peer + \ all + +hi def link ldapconfTodo Todo +hi def link ldapconfComment Comment +hi def link ldapconfOption Keyword +hi def link ldapconfDeprOption Error +hi def link ldapconfString String +hi def link ldapconfURI ldapconfString +hi def link ldapconfDNAttrType Identifier +hi def link ldapconfOperator Operator +hi def link ldapconfEq ldapconfOperator +hi def link ldapconfDNAttrTypeEq ldapconfEq +hi def link ldapconfValue ldapconfString +hi def link ldapconfDNAttrValue ldapconfValue +hi def link ldapconfSeparator ldapconfOperator +hi def link ldapconfDNSeparator ldapconfSeparator +hi def link ldapconfHost ldapconfURI +hi def link ldapconfNumber Number +hi def link ldapconfPort ldapconfNumber +hi def link ldapconfBoolean Boolean +hi def link ldapconfInteger ldapconfNumber +hi def link ldapconfType Type +hi def link ldapconfDerefWhen ldapconfType +hi def link ldapconfDefine Define +hi def link ldapconfSASLMechanism ldapconfDefine +hi def link ldapconfSASLRealm ldapconfURI +hi def link ldapconfSASLAuthID ldapconfValue +hi def link ldapconfSASLSecProps ldapconfType +hi def link ldapconfSASLSecPEq ldapconfEq +hi def link ldapconfSASLSecFactor ldapconfNumber +hi def link ldapconfSASLSecPSep ldapconfSeparator +hi def link ldapconfFilename ldapconfString +hi def link ldapconfPath ldapconfFilename +hi def link ldapconfTLSCipherOp ldapconfOperator +hi def link ldapconfTLSCipherName ldapconfDefine +hi def link ldapconfSpecial Special +hi def link ldapconfTLSCipherSort ldapconfSpecial +hi def link ldapconfTLSCipherSep ldapconfSeparator +hi def link ldapconfTLSCertCheck ldapconfType +hi def link ldapconfTLSCRLCheck ldapconfType + +let b:current_syntax = "ldapconf" + +let &cpo = s:cpo_save +unlet s:cpo_save |