Bram Moolenaar | b8017e7 | 2007-05-10 18:59:07 +0000 | [diff] [blame] | 1 | " Vim syntax file |
Bram Moolenaar | 214641f | 2017-03-05 17:04:09 +0100 | [diff] [blame] | 2 | " Language: ldap.conf(5) configuration file. |
| 3 | " Previous Maintainer: Nikolai Weibull <now@bitwi.se> |
| 4 | " Latest Revision: 2006-12-11 |
Bram Moolenaar | b8017e7 | 2007-05-10 18:59:07 +0000 | [diff] [blame] | 5 | |
| 6 | if exists("b:current_syntax") |
| 7 | finish |
| 8 | endif |
| 9 | |
| 10 | let s:cpo_save = &cpo |
| 11 | set cpo&vim |
| 12 | |
| 13 | syn keyword ldapconfTodo contained TODO FIXME XXX NOTE |
| 14 | |
| 15 | syn region ldapconfComment display oneline start='^\s*#' end='$' |
| 16 | \ contains=ldapconfTodo, |
| 17 | \ @Spell |
| 18 | |
| 19 | syn match ldapconfBegin display '^' |
| 20 | \ nextgroup=ldapconfOption, |
| 21 | \ ldapconfDeprOption, |
| 22 | \ ldapconfComment |
| 23 | |
| 24 | syn case ignore |
| 25 | |
| 26 | syn keyword ldapconfOption contained URI |
| 27 | \ nextgroup=ldapconfURI |
| 28 | \ skipwhite |
| 29 | |
| 30 | syn keyword ldapconfOption contained |
| 31 | \ BASE |
| 32 | \ BINDDN |
| 33 | \ nextgroup=ldapconfDNAttrType |
| 34 | \ skipwhite |
| 35 | |
| 36 | syn keyword ldapconfDeprOption contained |
| 37 | \ HOST |
| 38 | \ nextgroup=ldapconfHost |
| 39 | \ skipwhite |
| 40 | |
| 41 | syn keyword ldapconfDeprOption contained |
| 42 | \ PORT |
| 43 | \ nextgroup=ldapconfPort |
| 44 | \ skipwhite |
| 45 | |
| 46 | syn keyword ldapconfOption contained |
| 47 | \ REFERRALS |
| 48 | \ nextgroup=ldapconfBoolean |
| 49 | \ skipwhite |
| 50 | |
| 51 | syn keyword ldapconfOption contained |
| 52 | \ SIZELIMIT |
| 53 | \ TIMELIMIT |
| 54 | \ nextgroup=ldapconfInteger |
| 55 | \ skipwhite |
| 56 | |
| 57 | syn keyword ldapconfOption contained |
| 58 | \ DEREF |
| 59 | \ nextgroup=ldapconfDerefWhen |
| 60 | \ skipwhite |
| 61 | |
| 62 | syn keyword ldapconfOption contained |
| 63 | \ SASL_MECH |
| 64 | \ nextgroup=ldapconfSASLMechanism |
| 65 | \ skipwhite |
| 66 | |
| 67 | syn keyword ldapconfOption contained |
| 68 | \ SASL_REALM |
| 69 | \ nextgroup=ldapconfSASLRealm |
| 70 | \ skipwhite |
| 71 | |
| 72 | syn keyword ldapconfOption contained |
| 73 | \ SASL_AUTHCID |
| 74 | \ SASL_AUTHZID |
| 75 | \ nextgroup=ldapconfSASLAuthID |
| 76 | \ skipwhite |
| 77 | |
| 78 | syn keyword ldapconfOption contained |
| 79 | \ SASL_SECPROPS |
| 80 | \ nextgroup=ldapconfSASLSecProps |
| 81 | \ skipwhite |
| 82 | |
| 83 | syn keyword ldapconfOption contained |
| 84 | \ TLS_CACERT |
| 85 | \ TLS_CERT |
| 86 | \ TLS_KEY |
| 87 | \ TLS_RANDFILE |
| 88 | \ nextgroup=ldapconfFilename |
| 89 | \ skipwhite |
| 90 | |
| 91 | syn keyword ldapconfOption contained |
| 92 | \ TLS_CACERTDIR |
| 93 | \ nextgroup=ldapconfPath |
| 94 | \ skipwhite |
| 95 | |
| 96 | syn keyword ldapconfOption contained |
| 97 | \ TLS_CIPHER_SUITE |
| 98 | \ nextgroup=@ldapconfTLSCipher |
| 99 | \ skipwhite |
| 100 | |
| 101 | syn keyword ldapconfOption contained |
| 102 | \ TLS_REQCERT |
| 103 | \ nextgroup=ldapconfTLSCertCheck |
| 104 | \ skipwhite |
| 105 | |
| 106 | syn keyword ldapconfOption contained |
| 107 | \ TLS_CRLCHECK |
| 108 | \ nextgroup=ldapconfTLSCRLCheck |
| 109 | \ skipwhite |
| 110 | |
| 111 | syn case match |
| 112 | |
| 113 | syn match ldapconfURI contained display |
| 114 | \ 'ldaps\=://[^[:space:]:]\+\%(:\d\+\)\=' |
| 115 | \ nextgroup=ldapconfURI |
| 116 | \ skipwhite |
| 117 | |
| 118 | " LDAP Distinguished Names are defined in Section 3 of RFC 2253: |
| 119 | " http://www.ietf.org/rfc/rfc2253.txt. |
| 120 | syn match ldapconfDNAttrType contained display |
| 121 | \ '\a[a-zA-Z0-9-]\+\|\d\+\%(\.\d\+\)*' |
| 122 | \ nextgroup=ldapconfDNAttrTypeEq |
| 123 | |
| 124 | syn match ldapconfDNAttrTypeEq contained display |
| 125 | \ '=' |
| 126 | \ nextgroup=ldapconfDNAttrValue |
| 127 | |
| 128 | syn match ldapconfDNAttrValue contained display |
| 129 | \ '\%([^,=+<>#;\\"]\|\\\%([,=+<>#;\\"]\|\x\x\)\)*\|#\%(\x\x\)\+\|"\%([^\\"]\|\\\%([,=+<>#;\\"]\|\x\x\)\)*"' |
| 130 | \ nextgroup=ldapconfDNSeparator |
| 131 | |
| 132 | syn match ldapconfDNSeparator contained display |
| 133 | \ '[+,]' |
| 134 | \ nextgroup=ldapconfDNAttrType |
| 135 | |
| 136 | syn match ldapconfHost contained display |
| 137 | \ '[^[:space:]:]\+\%(:\d\+\)\=' |
| 138 | \ nextgroup=ldapconfHost |
| 139 | \ skipwhite |
| 140 | |
| 141 | syn match ldapconfPort contained display |
| 142 | \ '\d\+' |
| 143 | |
| 144 | syn keyword ldapconfBoolean contained |
| 145 | \ on |
| 146 | \ true |
| 147 | \ yes |
| 148 | \ off |
| 149 | \ false |
| 150 | \ no |
| 151 | |
| 152 | syn match ldapconfInteger contained display |
| 153 | \ '\d\+' |
| 154 | |
| 155 | syn keyword ldapconfDerefWhen contained |
| 156 | \ never |
| 157 | \ searching |
| 158 | \ finding |
| 159 | \ always |
| 160 | |
| 161 | " Taken from http://www.iana.org/assignments/sasl-mechanisms. |
| 162 | syn keyword ldapconfSASLMechanism contained |
| 163 | \ KERBEROS_V4 |
| 164 | \ GSSAPI |
| 165 | \ SKEY |
| 166 | \ EXTERNAL |
| 167 | \ ANONYMOUS |
| 168 | \ OTP |
| 169 | \ PLAIN |
| 170 | \ SECURID |
| 171 | \ NTLM |
| 172 | \ NMAS_LOGIN |
| 173 | \ NMAS_AUTHEN |
| 174 | \ KERBEROS_V5 |
| 175 | |
| 176 | syn match ldapconfSASLMechanism contained display |
| 177 | \ 'CRAM-MD5\|GSS-SPNEGO\|DIGEST-MD5\|9798-[UM]-\%(RSA-SHA1-ENC\|\%(EC\)\=DSA-SHA1\)\|NMAS-SAMBA-AUTH' |
| 178 | |
| 179 | " TODO: I have been unable to find a definition for a SASL realm, |
| 180 | " authentication identity, and proxy authorization identity. |
| 181 | syn match ldapconfSASLRealm contained display |
| 182 | \ '\S\+' |
| 183 | |
| 184 | syn match ldapconfSASLAuthID contained display |
| 185 | \ '\S\+' |
| 186 | |
| 187 | syn keyword ldapconfSASLSecProps contained |
| 188 | \ none |
| 189 | \ noplain |
| 190 | \ noactive |
| 191 | \ nodict |
| 192 | \ noanonymous |
| 193 | \ forwardsec |
| 194 | \ passcred |
| 195 | \ nextgroup=ldapconfSASLSecPSep |
| 196 | |
| 197 | syn keyword ldapconfSASLSecProps contained |
| 198 | \ minssf |
| 199 | \ maxssf |
| 200 | \ maxbufsize |
| 201 | \ nextgroup=ldapconfSASLSecPEq |
| 202 | |
| 203 | syn match ldapconfSASLSecPEq contained display |
| 204 | \ '=' |
| 205 | \ nextgroup=ldapconfSASLSecFactor |
| 206 | |
| 207 | syn match ldapconfSASLSecFactor contained display |
| 208 | \ '\d\+' |
| 209 | \ nextgroup=ldapconfSASLSecPSep |
| 210 | |
| 211 | syn match ldapconfSASLSecPSep contained display |
| 212 | \ ',' |
| 213 | \ nextgroup=ldapconfSASLSecProps |
| 214 | |
| 215 | syn match ldapconfFilename contained display |
| 216 | \ '.\+' |
| 217 | |
| 218 | syn match ldapconfPath contained display |
| 219 | \ '.\+' |
| 220 | |
| 221 | " Defined in openssl-ciphers(1). |
| 222 | " TODO: Should we include the stuff under CIPHER SUITE NAMES? |
| 223 | syn cluster ldapconfTLSCipher contains=ldapconfTLSCipherOp, |
| 224 | \ ldapconfTLSCipherName, |
| 225 | \ ldapconfTLSCipherSort |
| 226 | |
| 227 | syn match ldapconfTLSCipherOp contained display |
| 228 | \ '[+!-]' |
| 229 | \ nextgroup=ldapconfTLSCipherName |
| 230 | |
| 231 | syn keyword ldapconfTLSCipherName contained |
| 232 | \ DEFAULT |
| 233 | \ COMPLEMENTOFDEFAULT |
| 234 | \ ALL |
| 235 | \ COMPLEMENTOFALL |
| 236 | \ HIGH |
| 237 | \ MEDIUM |
| 238 | \ LOW |
| 239 | \ EXP |
| 240 | \ EXPORT |
| 241 | \ EXPORT40 |
| 242 | \ EXPORT56 |
| 243 | \ eNULL |
| 244 | \ NULL |
| 245 | \ aNULL |
| 246 | \ kRSA |
| 247 | \ RSA |
| 248 | \ kEDH |
| 249 | \ kDHr |
| 250 | \ kDHd |
| 251 | \ aRSA |
| 252 | \ aDSS |
| 253 | \ DSS |
| 254 | \ aDH |
| 255 | \ kFZA |
| 256 | \ aFZA |
| 257 | \ eFZA |
| 258 | \ FZA |
| 259 | \ TLSv1 |
| 260 | \ SSLv3 |
| 261 | \ SSLv2 |
| 262 | \ DH |
| 263 | \ ADH |
| 264 | \ AES |
| 265 | \ 3DES |
| 266 | \ DES |
| 267 | \ RC4 |
| 268 | \ RC2 |
| 269 | \ IDEA |
| 270 | \ MD5 |
| 271 | \ SHA1 |
| 272 | \ SHA |
| 273 | \ Camellia |
| 274 | \ nextgroup=ldapconfTLSCipherSep |
| 275 | |
| 276 | syn match ldapconfTLSCipherSort contained display |
| 277 | \ '@STRENGTH' |
| 278 | \ nextgroup=ldapconfTLSCipherSep |
| 279 | |
| 280 | syn match ldapconfTLSCipherSep contained display |
| 281 | \ '[:, ]' |
| 282 | \ nextgroup=@ldapconfTLSCipher |
| 283 | |
| 284 | syn keyword ldapconfTLSCertCheck contained |
| 285 | \ never |
| 286 | \ allow |
| 287 | \ try |
| 288 | \ demand |
| 289 | \ hard |
| 290 | |
| 291 | syn keyword ldapconfTLSCRLCheck contained |
| 292 | \ none |
| 293 | \ peer |
| 294 | \ all |
| 295 | |
| 296 | hi def link ldapconfTodo Todo |
| 297 | hi def link ldapconfComment Comment |
| 298 | hi def link ldapconfOption Keyword |
| 299 | hi def link ldapconfDeprOption Error |
| 300 | hi def link ldapconfString String |
| 301 | hi def link ldapconfURI ldapconfString |
| 302 | hi def link ldapconfDNAttrType Identifier |
| 303 | hi def link ldapconfOperator Operator |
| 304 | hi def link ldapconfEq ldapconfOperator |
| 305 | hi def link ldapconfDNAttrTypeEq ldapconfEq |
| 306 | hi def link ldapconfValue ldapconfString |
| 307 | hi def link ldapconfDNAttrValue ldapconfValue |
| 308 | hi def link ldapconfSeparator ldapconfOperator |
| 309 | hi def link ldapconfDNSeparator ldapconfSeparator |
| 310 | hi def link ldapconfHost ldapconfURI |
| 311 | hi def link ldapconfNumber Number |
| 312 | hi def link ldapconfPort ldapconfNumber |
| 313 | hi def link ldapconfBoolean Boolean |
| 314 | hi def link ldapconfInteger ldapconfNumber |
| 315 | hi def link ldapconfType Type |
| 316 | hi def link ldapconfDerefWhen ldapconfType |
| 317 | hi def link ldapconfDefine Define |
| 318 | hi def link ldapconfSASLMechanism ldapconfDefine |
| 319 | hi def link ldapconfSASLRealm ldapconfURI |
| 320 | hi def link ldapconfSASLAuthID ldapconfValue |
| 321 | hi def link ldapconfSASLSecProps ldapconfType |
| 322 | hi def link ldapconfSASLSecPEq ldapconfEq |
| 323 | hi def link ldapconfSASLSecFactor ldapconfNumber |
| 324 | hi def link ldapconfSASLSecPSep ldapconfSeparator |
| 325 | hi def link ldapconfFilename ldapconfString |
| 326 | hi def link ldapconfPath ldapconfFilename |
| 327 | hi def link ldapconfTLSCipherOp ldapconfOperator |
| 328 | hi def link ldapconfTLSCipherName ldapconfDefine |
| 329 | hi def link ldapconfSpecial Special |
| 330 | hi def link ldapconfTLSCipherSort ldapconfSpecial |
| 331 | hi def link ldapconfTLSCipherSep ldapconfSeparator |
| 332 | hi def link ldapconfTLSCertCheck ldapconfType |
| 333 | hi def link ldapconfTLSCRLCheck ldapconfType |
| 334 | |
| 335 | let b:current_syntax = "ldapconf" |
| 336 | |
| 337 | let &cpo = s:cpo_save |
| 338 | unlet s:cpo_save |