1" pf syntax file 2" Language: OpenBSD packet filter configuration (pf.conf) 3" Original Author: Camiel Dobbelaar <[email protected]> 4" Maintainer: Lauri Tirkkonen <[email protected]> 5" Last Change: 2016 Jul 06 6 7if exists("b:current_syntax") 8 finish 9endif 10 11setlocal foldmethod=syntax 12syn iskeyword @,48-57,_,-,+ 13syn sync fromstart 14 15syn cluster pfNotLS contains=pfTodo,pfVarAssign 16syn keyword pfCmd anchor antispoof block include match pass queue 17syn keyword pfCmd queue set table 18syn match pfCmd /^\s*load\sanchor\>/ 19syn keyword pfTodo TODO XXX contained 20syn keyword pfWildAddr all any 21syn 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_:.]\@!/ 29syn match pfTable /<\s*[a-zA-Z0-9_:][a-zA-Z0-9_:.-]*\s*>/ 30syn 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 36syn region pfString start=/"/ skip=/\\"/ end=/"/ contains=pfIPv4,pfIPv6,pfNetmask,pfTable,pfVar 37syn region pfString start=/'/ skip=/\\'/ end=/'/ contains=pfIPv4,pfIPv6,pfNetmask,pfTable,pfVar 38 39syn 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 89 90hi 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 105 106let b:current_syntax = "pf" 107