blob: 81add10e7e985bd49a8dece726223edc57863613 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" pf syntax file
Bram Moolenaarbf884932013-04-05 22:26:15 +02002" Language: OpenBSD packet filter configuration (pf.conf)
3" Original Author: Camiel Dobbelaar <cd@sentia.nl>
4" Maintainer: Lauri Tirkkonen <lotheac@iki.fi>
Bram Moolenaar063b9d12016-07-09 20:21:48 +02005" Last Change: 2016 Jul 06
Bram Moolenaar071d4272004-06-13 20:20:40 +00006
Bram Moolenaar063b9d12016-07-09 20:21:48 +02007if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +00008 finish
9endif
10
11setlocal foldmethod=syntax
Bram Moolenaar063b9d12016-07-09 20:21:48 +020012syn iskeyword @,48-57,_,-,+
Bram Moolenaar071d4272004-06-13 20:20:40 +000013syn sync fromstart
14
Bram Moolenaarbf884932013-04-05 22:26:15 +020015syn cluster pfNotLS contains=pfTodo,pfVarAssign
Bram Moolenaar063b9d12016-07-09 20:21:48 +020016syn keyword pfCmd anchor antispoof block include match pass queue
17syn keyword pfCmd queue set table
18syn match pfCmd /^\s*load\sanchor\>/
Bram Moolenaar071d4272004-06-13 20:20:40 +000019syn keyword pfTodo TODO XXX contained
20syn keyword pfWildAddr all any
Bram Moolenaar071d4272004-06-13 20:20:40 +000021syn match pfComment /#.*$/ contains=pfTodo
22syn match pfCont /\\$/
23syn match pfErrClose /}/
24syn match pfIPv4 /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/
25syn match pfIPv6 /[a-fA-F0-9:]*::[a-fA-F0-9:.]*/
26syn match pfIPv6 /[a-fA-F0-9:]\+:[a-fA-F0-9:]\+:[a-fA-F0-9:.]\+/
27syn match pfNetmask /\/\d\+/
28syn match pfNum /[a-zA-Z0-9_:.]\@<!\d\+[a-zA-Z0-9_:.]\@!/
Bram Moolenaar063b9d12016-07-09 20:21:48 +020029syn match pfTable /<\s*[a-zA-Z0-9_:][a-zA-Z0-9_:.-]*\s*>/
Bram Moolenaar071d4272004-06-13 20:20:40 +000030syn match pfVar /$[a-zA-Z][a-zA-Z0-9_]*/
31syn match pfVarAssign /^\s*[a-zA-Z][a-zA-Z0-9_]*\s*=/me=e-1
32syn region pfFold1 start=/^#\{1}>/ end=/^#\{1,3}>/me=s-1 transparent fold
33syn region pfFold2 start=/^#\{2}>/ end=/^#\{2,3}>/me=s-1 transparent fold
34syn region pfFold3 start=/^#\{3}>/ end=/^#\{3}>/me=s-1 transparent fold
35syn region pfList start=/{/ end=/}/ transparent contains=ALLBUT,pfErrClose,@pfNotLS
Bram Moolenaar063b9d12016-07-09 20:21:48 +020036syn region pfString start=/"/ skip=/\\"/ end=/"/ contains=pfIPv4,pfIPv6,pfNetmask,pfTable,pfVar
37syn region pfString start=/'/ skip=/\\'/ end=/'/ contains=pfIPv4,pfIPv6,pfNetmask,pfTable,pfVar
Bram Moolenaar071d4272004-06-13 20:20:40 +000038
Bram Moolenaar063b9d12016-07-09 20:21:48 +020039syn keyword pfService 802-11-iapp Microsoft-SQL-Monitor
40syn keyword pfService Microsoft-SQL-Server NeXTStep NextStep
41syn keyword pfService afpovertcp afs3-bos afs3-callback afs3-errors
42syn keyword pfService afs3-fileserver afs3-kaserver afs3-prserver
43syn keyword pfService afs3-rmtsys afs3-update afs3-vlserver
44syn keyword pfService afs3-volser amt-redir-tcp amt-redir-tls
45syn keyword pfService amt-soap-http amt-soap-https asf-rmcp at-echo
46syn keyword pfService at-nbp at-rtmp at-zis auth authentication
47syn keyword pfService bfd-control bfd-echo bftp bgp bgpd biff bootpc
48syn keyword pfService bootps canna cddb cddbp chargen chat cmd
49syn keyword pfService cmip-agent cmip-man comsat conference
50syn keyword pfService conserver courier csnet-ns cso-ns cvspserver
51syn keyword pfService daap datametrics daytime dhcpd-sync
52syn keyword pfService dhcpv6-client dhcpv6-server discard domain
53syn keyword pfService echo efs eklogin ekshell ekshell2 epmap eppc
54syn keyword pfService exec finger ftp ftp-data git gopher hostname
55syn keyword pfService hostnames hprop http https hunt hylafax iapp
56syn keyword pfService icb ident imap imap2 imap3 imaps ingreslock
57syn keyword pfService ipp iprop ipsec-msft ipsec-nat-t ipx irc
58syn keyword pfService isakmp iscsi isisd iso-tsap kauth kdc kerberos
59syn keyword pfService kerberos-adm kerberos-iv kerberos-sec
60syn keyword pfService kerberos_master kf kip klogin kpasswd kpop
61syn keyword pfService krb524 krb_prop krbupdate krcmd kreg kshell kx
62syn keyword pfService l2tp ldap ldaps ldp link login mail mdns
63syn keyword pfService mdnsresponder microsoft-ds ms-sql-m ms-sql-s
64syn keyword pfService msa msp mtp mysql name nameserver netbios-dgm
65syn keyword pfService netbios-ns netbios-ssn netnews netplan netrjs
66syn keyword pfService netstat netwall newdate nextstep nfs nfsd
67syn keyword pfService nicname nnsp nntp ntalk ntp null openwebnet
68syn keyword pfService ospf6d ospfapi ospfd photuris pop2 pop3 pop3pw
69syn keyword pfService pop3s poppassd portmap postgresql postoffice
70syn keyword pfService pptp presence printer prospero prospero-np
71syn keyword pfService puppet pwdgen qotd quote radacct radius
72syn keyword pfService radius-acct rdp readnews remotefs resource rfb
73syn keyword pfService rfe rfs rfs_server ripd ripng rje rkinit rlp
74syn keyword pfService routed router rpc rpcbind rsync rtelnet rtsp
75syn keyword pfService sa-msg-port sane-port sftp shell sieve silc
76syn keyword pfService sink sip smtp smtps smux snmp snmp-trap
77syn keyword pfService snmptrap snpp socks source spamd spamd-cfg
78syn keyword pfService spamd-sync spooler spop3 ssdp ssh submission
79syn keyword pfService sunrpc supdup supfiledbg supfilesrv support
80syn keyword pfService svn svrloc swat syslog syslog-tls systat
81syn keyword pfService tacacs tacas+ talk tap tcpmux telnet tempo
82syn keyword pfService tftp time timed timeserver timserver tsap
83syn keyword pfService ttylink ttytst ub-dns-control ulistserv untp
84syn keyword pfService usenet users uucp uucp-path uucpd vnc vxlan
85syn keyword pfService wais webster who whod whois www x400 x400-snd
86syn keyword pfService xcept xdmcp xmpp-bosh xmpp-client xmpp-server
87syn keyword pfService z3950 zabbix-agent zabbix-trapper zebra
88syn keyword pfService zebrasrv
Bram Moolenaar071d4272004-06-13 20:20:40 +000089
Bram Moolenaar063b9d12016-07-09 20:21:48 +020090hi def link pfCmd Statement
91hi def link pfComment Comment
92hi def link pfCont Statement
93hi def link pfErrClose Error
94hi def link pfIPv4 Type
95hi def link pfIPv6 Type
96hi def link pfNetmask Constant
97hi def link pfNum Constant
98hi def link pfService Constant
99hi def link pfString String
100hi def link pfTable Identifier
101hi def link pfTodo Todo
102hi def link pfVar Identifier
103hi def link pfVarAssign Identifier
104hi def link pfWildAddr Type
Bram Moolenaar071d4272004-06-13 20:20:40 +0000105
106let b:current_syntax = "pf"