blob: b928dc4fbbf390689226269a4d3388779e8c5be9 [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 Moolenaara9604e62018-07-21 05:56:22 +02005" Last Change: 2018 Jul 16
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
Bram Moolenaara9604e62018-07-21 05:56:22 +020011let b:current_syntax = "pf"
Bram Moolenaar071d4272004-06-13 20:20:40 +000012setlocal foldmethod=syntax
Bram Moolenaar063b9d12016-07-09 20:21:48 +020013syn iskeyword @,48-57,_,-,+
Bram Moolenaar071d4272004-06-13 20:20:40 +000014syn sync fromstart
15
Bram Moolenaarbf884932013-04-05 22:26:15 +020016syn cluster pfNotLS contains=pfTodo,pfVarAssign
Bram Moolenaar063b9d12016-07-09 20:21:48 +020017syn keyword pfCmd anchor antispoof block include match pass queue
18syn keyword pfCmd queue set table
19syn match pfCmd /^\s*load\sanchor\>/
Bram Moolenaar071d4272004-06-13 20:20:40 +000020syn keyword pfTodo TODO XXX contained
Bram Moolenaara9604e62018-07-21 05:56:22 +020021syn keyword pfWildAddr any no-route urpf-failed self
Bram Moolenaar071d4272004-06-13 20:20:40 +000022syn match pfComment /#.*$/ contains=pfTodo
23syn match pfCont /\\$/
24syn match pfErrClose /}/
25syn match pfIPv4 /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/
26syn match pfIPv6 /[a-fA-F0-9:]*::[a-fA-F0-9:.]*/
27syn match pfIPv6 /[a-fA-F0-9:]\+:[a-fA-F0-9:]\+:[a-fA-F0-9:.]\+/
28syn match pfNetmask /\/\d\+/
29syn match pfNum /[a-zA-Z0-9_:.]\@<!\d\+[a-zA-Z0-9_:.]\@!/
Bram Moolenaar063b9d12016-07-09 20:21:48 +020030syn match pfTable /<\s*[a-zA-Z0-9_:][a-zA-Z0-9_:.-]*\s*>/
Bram Moolenaar071d4272004-06-13 20:20:40 +000031syn match pfVar /$[a-zA-Z][a-zA-Z0-9_]*/
32syn match pfVarAssign /^\s*[a-zA-Z][a-zA-Z0-9_]*\s*=/me=e-1
33syn region pfFold1 start=/^#\{1}>/ end=/^#\{1,3}>/me=s-1 transparent fold
34syn region pfFold2 start=/^#\{2}>/ end=/^#\{2,3}>/me=s-1 transparent fold
35syn region pfFold3 start=/^#\{3}>/ end=/^#\{3}>/me=s-1 transparent fold
36syn region pfList start=/{/ end=/}/ transparent contains=ALLBUT,pfErrClose,@pfNotLS
Bram Moolenaar063b9d12016-07-09 20:21:48 +020037syn region pfString start=/"/ skip=/\\"/ end=/"/ contains=pfIPv4,pfIPv6,pfNetmask,pfTable,pfVar
38syn region pfString start=/'/ skip=/\\'/ end=/'/ contains=pfIPv4,pfIPv6,pfNetmask,pfTable,pfVar
Bram Moolenaar071d4272004-06-13 20:20:40 +000039
Bram Moolenaar063b9d12016-07-09 20:21:48 +020040hi def link pfCmd Statement
41hi def link pfComment Comment
42hi def link pfCont Statement
43hi def link pfErrClose Error
44hi def link pfIPv4 Type
45hi def link pfIPv6 Type
46hi def link pfNetmask Constant
47hi def link pfNum Constant
48hi def link pfService Constant
49hi def link pfString String
50hi def link pfTable Identifier
51hi def link pfTodo Todo
52hi def link pfVar Identifier
53hi def link pfVarAssign Identifier
54hi def link pfWildAddr Type
Bram Moolenaar071d4272004-06-13 20:20:40 +000055
Bram Moolenaara9604e62018-07-21 05:56:22 +020056" from OpenBSD src/etc/services r1.95
57syn keyword pfService 802-11-iapp
58syn keyword pfService Microsoft-SQL-Monitor
59syn keyword pfService Microsoft-SQL-Server
60syn keyword pfService NeXTStep
61syn keyword pfService NextStep
62syn keyword pfService afpovertcp
63syn keyword pfService afs3-bos
64syn keyword pfService afs3-callback
65syn keyword pfService afs3-errors
66syn keyword pfService afs3-fileserver
67syn keyword pfService afs3-kaserver
68syn keyword pfService afs3-prserver
69syn keyword pfService afs3-rmtsys
70syn keyword pfService afs3-update
71syn keyword pfService afs3-vlserver
72syn keyword pfService afs3-volser
73syn keyword pfService amt-redir-tcp
74syn keyword pfService amt-redir-tls
75syn keyword pfService amt-soap-http
76syn keyword pfService amt-soap-https
77syn keyword pfService asf-rmcp
78syn keyword pfService at-echo
79syn keyword pfService at-nbp
80syn keyword pfService at-rtmp
81syn keyword pfService at-zis
82syn keyword pfService auth
83syn keyword pfService authentication
84syn keyword pfService bfd-control
85syn keyword pfService bfd-echo
86syn keyword pfService bftp
87syn keyword pfService bgp
88syn keyword pfService bgpd
89syn keyword pfService biff
90syn keyword pfService bootpc
91syn keyword pfService bootps
92syn keyword pfService canna
93syn keyword pfService cddb
94syn keyword pfService cddbp
95syn keyword pfService chargen
96syn keyword pfService chat
97syn keyword pfService cmd
98syn keyword pfService cmip-agent
99syn keyword pfService cmip-man
100syn keyword pfService comsat
101syn keyword pfService conference
102syn keyword pfService conserver
103syn keyword pfService courier
104syn keyword pfService csnet-ns
105syn keyword pfService cso-ns
106syn keyword pfService cvspserver
107syn keyword pfService daap
108syn keyword pfService datametrics
109syn keyword pfService daytime
110syn keyword pfService dhcpd-sync
111syn keyword pfService dhcpv6-client
112syn keyword pfService dhcpv6-server
113syn keyword pfService discard
114syn keyword pfService domain
115syn keyword pfService echo
116syn keyword pfService efs
117syn keyword pfService eklogin
118syn keyword pfService ekshell
119syn keyword pfService ekshell2
120syn keyword pfService epmap
121syn keyword pfService eppc
122syn keyword pfService exec
123syn keyword pfService finger
124syn keyword pfService ftp
125syn keyword pfService ftp-data
126syn keyword pfService git
127syn keyword pfService gopher
128syn keyword pfService gre-in-udp
129syn keyword pfService gre-udp-dtls
130syn keyword pfService hostname
131syn keyword pfService hostnames
132syn keyword pfService hprop
133syn keyword pfService http
134syn keyword pfService https
135syn keyword pfService hunt
136syn keyword pfService hylafax
137syn keyword pfService iapp
138syn keyword pfService icb
139syn keyword pfService ident
140syn keyword pfService imap
141syn keyword pfService imap2
142syn keyword pfService imap3
143syn keyword pfService imaps
144syn keyword pfService ingreslock
145syn keyword pfService ipp
146syn keyword pfService iprop
147syn keyword pfService ipsec-msft
148syn keyword pfService ipsec-nat-t
149syn keyword pfService ipx
150syn keyword pfService irc
151syn keyword pfService isakmp
152syn keyword pfService iscsi
153syn keyword pfService isisd
154syn keyword pfService iso-tsap
155syn keyword pfService kauth
156syn keyword pfService kdc
157syn keyword pfService kerberos
158syn keyword pfService kerberos-adm
159syn keyword pfService kerberos-iv
160syn keyword pfService kerberos-sec
161syn keyword pfService kerberos_master
162syn keyword pfService kf
163syn keyword pfService kip
164syn keyword pfService klogin
165syn keyword pfService kpasswd
166syn keyword pfService kpop
167syn keyword pfService krb524
168syn keyword pfService krb_prop
169syn keyword pfService krbupdate
170syn keyword pfService krcmd
171syn keyword pfService kreg
172syn keyword pfService kshell
173syn keyword pfService kx
174syn keyword pfService l2tp
175syn keyword pfService ldap
176syn keyword pfService ldaps
177syn keyword pfService ldp
178syn keyword pfService link
179syn keyword pfService login
180syn keyword pfService mail
181syn keyword pfService mdns
182syn keyword pfService mdnsresponder
183syn keyword pfService microsoft-ds
184syn keyword pfService ms-sql-m
185syn keyword pfService ms-sql-s
186syn keyword pfService msa
187syn keyword pfService msp
188syn keyword pfService mtp
189syn keyword pfService mysql
190syn keyword pfService name
191syn keyword pfService nameserver
192syn keyword pfService netbios-dgm
193syn keyword pfService netbios-ns
194syn keyword pfService netbios-ssn
195syn keyword pfService netnews
196syn keyword pfService netplan
197syn keyword pfService netrjs
198syn keyword pfService netstat
199syn keyword pfService netwall
200syn keyword pfService newdate
201syn keyword pfService nextstep
202syn keyword pfService nfs
203syn keyword pfService nfsd
204syn keyword pfService nicname
205syn keyword pfService nnsp
206syn keyword pfService nntp
207syn keyword pfService ntalk
208syn keyword pfService ntp
209syn keyword pfService null
210syn keyword pfService openwebnet
211syn keyword pfService ospf6d
212syn keyword pfService ospfapi
213syn keyword pfService ospfd
214syn keyword pfService photuris
215syn keyword pfService pop2
216syn keyword pfService pop3
217syn keyword pfService pop3pw
218syn keyword pfService pop3s
219syn keyword pfService poppassd
220syn keyword pfService portmap
221syn keyword pfService postgresql
222syn keyword pfService postoffice
223syn keyword pfService pptp
224syn keyword pfService presence
225syn keyword pfService printer
226syn keyword pfService prospero
227syn keyword pfService prospero-np
228syn keyword pfService puppet
229syn keyword pfService pwdgen
230syn keyword pfService qotd
231syn keyword pfService quote
232syn keyword pfService radacct
233syn keyword pfService radius
234syn keyword pfService radius-acct
235syn keyword pfService rdp
236syn keyword pfService readnews
237syn keyword pfService remotefs
238syn keyword pfService resource
239syn keyword pfService rfb
240syn keyword pfService rfe
241syn keyword pfService rfs
242syn keyword pfService rfs_server
243syn keyword pfService ripd
244syn keyword pfService ripng
245syn keyword pfService rje
246syn keyword pfService rkinit
247syn keyword pfService rlp
248syn keyword pfService routed
249syn keyword pfService router
250syn keyword pfService rpc
251syn keyword pfService rpcbind
252syn keyword pfService rsync
253syn keyword pfService rtelnet
254syn keyword pfService rtsp
255syn keyword pfService sa-msg-port
256syn keyword pfService sane-port
257syn keyword pfService sftp
258syn keyword pfService shell
259syn keyword pfService sieve
260syn keyword pfService silc
261syn keyword pfService sink
262syn keyword pfService sip
263syn keyword pfService smtp
264syn keyword pfService smtps
265syn keyword pfService smux
266syn keyword pfService snmp
267syn keyword pfService snmp-trap
268syn keyword pfService snmptrap
269syn keyword pfService snpp
270syn keyword pfService socks
271syn keyword pfService source
272syn keyword pfService spamd
273syn keyword pfService spamd-cfg
274syn keyword pfService spamd-sync
275syn keyword pfService spooler
276syn keyword pfService spop3
277syn keyword pfService ssdp
278syn keyword pfService ssh
279syn keyword pfService submission
280syn keyword pfService sunrpc
281syn keyword pfService supdup
282syn keyword pfService supfiledbg
283syn keyword pfService supfilesrv
284syn keyword pfService support
285syn keyword pfService svn
286syn keyword pfService svrloc
287syn keyword pfService swat
288syn keyword pfService syslog
289syn keyword pfService syslog-tls
290syn keyword pfService systat
291syn keyword pfService tacacs
292syn keyword pfService tacas+
293syn keyword pfService talk
294syn keyword pfService tap
295syn keyword pfService tcpmux
296syn keyword pfService telnet
297syn keyword pfService tempo
298syn keyword pfService tftp
299syn keyword pfService time
300syn keyword pfService timed
301syn keyword pfService timeserver
302syn keyword pfService timserver
303syn keyword pfService tsap
304syn keyword pfService ttylink
305syn keyword pfService ttytst
306syn keyword pfService ub-dns-control
307syn keyword pfService ulistserv
308syn keyword pfService untp
309syn keyword pfService usenet
310syn keyword pfService users
311syn keyword pfService uucp
312syn keyword pfService uucp-path
313syn keyword pfService uucpd
314syn keyword pfService vnc
315syn keyword pfService vxlan
316syn keyword pfService wais
317syn keyword pfService webster
318syn keyword pfService who
319syn keyword pfService whod
320syn keyword pfService whois
321syn keyword pfService www
322syn keyword pfService x400
323syn keyword pfService x400-snd
324syn keyword pfService xcept
325syn keyword pfService xdmcp
326syn keyword pfService xmpp-bosh
327syn keyword pfService xmpp-client
328syn keyword pfService xmpp-server
329syn keyword pfService z3950
330syn keyword pfService zabbix-agent
331syn keyword pfService zabbix-trapper
332syn keyword pfService zebra
333syn keyword pfService zebrasrv