junoser 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -1
- data/Gemfile.lock +1 -1
- data/Rakefile +10 -1
- data/example/mx-19.3R3-S1.3.rb +161 -297
- data/example/vsrx-18.3R1.9.rb +1305 -1305
- data/lib/junoser/parser.rb +170 -306
- data/lib/junoser/ruler.rb +8 -0
- data/lib/junoser/version.rb +1 -1
- data/lib/junoser/xsd/base.rb +4 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f37eb9172418859fd2a4144cdd0d4b47c657162e02117cfb9fe73a33fe9ca0e2
|
4
|
+
data.tar.gz: 4791fbaf136985e1b16a4dba7daaf2fc2dbcee8ed85508d2e3c65b5b3f4575b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5961c24e760831bf52f6edb82c5972aefb023d99639091fb2c12d95f083ef57e9e2703fd441dbb0c1d5e44b5e386834679e910873e44825c9a7c103243fa2c6c
|
7
|
+
data.tar.gz: 9e41dcfb72bfe2f5b801506c50725a4a0da2f56a09a8ddeedb8cb7d4b8ae82864008c89cdf2da837ced1c83d39d2e7d53640bba5f7dcb459d434e0d173862659
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,18 @@
|
|
1
|
+
## [0.4.2] - 2021-08-30
|
2
|
+
|
3
|
+
### Added
|
4
|
+
|
5
|
+
* Newly supported syntax
|
6
|
+
* "virtual-chassis vcp-snmp-statistics"
|
7
|
+
* "application_object"
|
8
|
+
|
9
|
+
### Fixed
|
10
|
+
|
11
|
+
* Keywords "tls", "group", "dest-nat-rule-match", "src-nat-rule-match", and "static-nat-rule-match" might be marked as invalid in some hierarchies
|
12
|
+
* "applications application xxx term xxx"
|
13
|
+
* "security"
|
14
|
+
|
15
|
+
|
1
16
|
## [0.4.1] - 2021-06-06
|
2
17
|
|
3
18
|
### Added
|
@@ -7,7 +22,7 @@
|
|
7
22
|
|
8
23
|
### Fixed
|
9
24
|
|
10
|
-
* "scpf-link", "https", "inet6", "icmp6", "icmpv6", "ospf3", and "snmptrap"
|
25
|
+
* Keywords "scpf-link", "https", "inet6", "icmp6", "icmpv6", "ospf3", and "snmptrap" might be marked as invalid in some hierarchies
|
11
26
|
* "policy-options community xxx members"
|
12
27
|
* "policy-options route-distinguisher xxx members"
|
13
28
|
* "routing-options confederation members"
|
data/Gemfile.lock
CHANGED
data/Rakefile
CHANGED
@@ -19,12 +19,22 @@ def open_files(input, output, &block)
|
|
19
19
|
o.close
|
20
20
|
end
|
21
21
|
|
22
|
+
def move_wildcards(element)
|
23
|
+
['ipaddr', 'ipv6addr', 'ipprefix'].each do |pattern|
|
24
|
+
element.xpath(%[.//xsd:element[@type="#{pattern}"]/xsd:annotation/xsd:appinfo/flag[text()="nokeyword"]/../../..]).each do |wildcard|
|
25
|
+
parent = wildcard.parent
|
26
|
+
removed = wildcard.remove
|
27
|
+
parent << removed
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
22
31
|
|
23
32
|
namespace :build do
|
24
33
|
desc 'Build an intermediate config hierarchy'
|
25
34
|
task :config do
|
26
35
|
open_files(xsd_path, rule_path) do |input, output|
|
27
36
|
Nokogiri::XML(input).root.remove_unused.xpath('/xsd:schema/*').each do |e|
|
37
|
+
move_wildcards e # Move wildcard elements to the end of siblings as they capture keywords unexpectedly
|
28
38
|
output.puts e.to_config
|
29
39
|
end
|
30
40
|
end
|
@@ -56,7 +66,6 @@ task 'find-srx-methods' do
|
|
56
66
|
end
|
57
67
|
end
|
58
68
|
|
59
|
-
|
60
69
|
Rake::TestTask.new do |t|
|
61
70
|
t.libs << 'test'
|
62
71
|
|
data/example/mx-19.3R3-S1.3.rb
CHANGED
@@ -1996,10 +1996,10 @@ rule(:configuration) do
|
|
1996
1996
|
),
|
1997
1997
|
"wildcard-address" ( /* IP wildcard address and mask */
|
1998
1998
|
sc(
|
1999
|
-
ipaddr /* IP wildcard address */,
|
2000
1999
|
"wildcard-mask" ( /* IP wildcard address mask */
|
2001
2000
|
ipaddr /* IP wildcard address mask */
|
2002
|
-
)
|
2001
|
+
),
|
2002
|
+
ipaddr /* IP wildcard address */
|
2003
2003
|
)
|
2004
2004
|
).as(:oneline),
|
2005
2005
|
"port-range" ( /* IP port ranges */
|
@@ -2017,10 +2017,10 @@ rule(:configuration) do
|
|
2017
2017
|
),
|
2018
2018
|
"wildcard-address" ( /* IP wildcard address and mask */
|
2019
2019
|
sc(
|
2020
|
-
ipaddr /* IP wildcard address */,
|
2021
2020
|
"wildcard-mask" ( /* IP wildcard address mask */
|
2022
2021
|
ipaddr /* IP wildcard address mask */
|
2023
|
-
)
|
2022
|
+
),
|
2023
|
+
ipaddr /* IP wildcard address */
|
2024
2024
|
)
|
2025
2025
|
).as(:oneline),
|
2026
2026
|
"port-range" ( /* IP port ranges */
|
@@ -5912,34 +5912,34 @@ rule(:configuration) do
|
|
5912
5912
|
c(
|
5913
5913
|
"source-ip" ( /* Filter based on source-ip (and wildcard) */
|
5914
5914
|
sc(
|
5915
|
-
ipaddr /* Source IP */,
|
5916
5915
|
"wildcard" ( /* Source IP wildcard */
|
5917
5916
|
ipaddr /* Source IP wildcard */
|
5918
|
-
)
|
5917
|
+
),
|
5918
|
+
ipaddr /* Source IP */
|
5919
5919
|
)
|
5920
5920
|
).as(:oneline),
|
5921
5921
|
"dest-ip" ( /* Filter based on dest-ip (and wildcard) */
|
5922
5922
|
sc(
|
5923
|
-
ipaddr /* Dest IP */,
|
5924
5923
|
"wildcard" ( /* Dest IP wildcard */
|
5925
5924
|
ipaddr /* Dest IP wildcard */
|
5926
|
-
)
|
5925
|
+
),
|
5926
|
+
ipaddr /* Dest IP */
|
5927
5927
|
)
|
5928
5928
|
).as(:oneline),
|
5929
5929
|
"sw-sip" ( /* Filter based on source softwire ip (and wildcard) */
|
5930
5930
|
sc(
|
5931
|
-
ipv6addr /* Source softwire IP */,
|
5932
5931
|
"wildcard" ( /* Source IP wildcard */
|
5933
5932
|
ipv6addr /* Source IP wildcard */
|
5934
|
-
)
|
5933
|
+
),
|
5934
|
+
ipv6addr /* Source softwire IP */
|
5935
5935
|
)
|
5936
5936
|
).as(:oneline),
|
5937
5937
|
"sw-dip" ( /* Filter based on destination softwire ip (and wildcard) */
|
5938
5938
|
sc(
|
5939
|
-
ipaddr /* Destination softwire IP */,
|
5940
5939
|
"wildcard" ( /* Destination IP wildcard */
|
5941
5940
|
ipaddr /* Destination IP wildcard */
|
5942
|
-
)
|
5941
|
+
),
|
5942
|
+
ipaddr /* Destination softwire IP */
|
5943
5943
|
)
|
5944
5944
|
).as(:oneline),
|
5945
5945
|
"sport-range" ( /* Filter based on source port */
|
@@ -10594,7 +10594,8 @@ rule(:configuration) do
|
|
10594
10594
|
"no-auto-conversion" /* Disable automatic VC port conversion */,
|
10595
10595
|
"auto-conversion" /* Enable automatic VC port conversion */
|
10596
10596
|
),
|
10597
|
-
"vcp-no-hold-time" /* Set no hold time for vcp interfaces
|
10597
|
+
"vcp-no-hold-time" /* Set no hold time for vcp interfaces */,
|
10598
|
+
"vcp-snmp-statistics"
|
10598
10599
|
)
|
10599
10600
|
),
|
10600
10601
|
"ethernet-switching-options" (
|
@@ -17879,53 +17880,6 @@ rule(:any_template) do
|
|
17879
17880
|
)
|
17880
17881
|
end
|
17881
17882
|
|
17882
|
-
rule(:application_object) do
|
17883
|
-
arg.as(:arg) (
|
17884
|
-
c(
|
17885
|
-
"application-protocol" ( /* Application protocol type */
|
17886
|
-
("bootp" | "dce-rpc" | "dce-rpc-portmap" | "dns" | "exec" | "ftp" | "ftp-data" | "gprs-gtp-c" | "gprs-gtp-u" | "gprs-gtp-v0" | "gprs-sctp" | "h323" | "icmp" | "icmpv6" | "ignore" | "iiop" | "ike-esp-nat" | "ip" | "login" | "mgcp-ca" | "mgcp-ua" | "ms-rpc" | "netbios" | "netshow" | "none" | "pptp" | "q931" | "ras" | "realaudio" | "rpc" | "rpc-portmap" | "rsh" | "rtsp" | "sccp" | "sip" | "shell" | "snmp" | "sqlnet" | "sqlnet-v2" | "sun-rpc" | "talk" | "tftp" | "traceroute" | "http" | "winframe" | "https" | "imap" | "smtp" | "ssh" | "telnet" | "twamp")
|
17887
|
-
),
|
17888
|
-
"protocol" ( /* Match IP protocol type */
|
17889
|
-
("icmp" | "igmp" | "ipip" | "tcp" | "egp" | "udp" | "rsvp" | "gre" | "esp" | "ah" | "icmp6" | "ospf" | "pim" | "sctp" | arg)
|
17890
|
-
),
|
17891
|
-
"source-port" ( /* Match TCP/UDP source port */
|
17892
|
-
("ftp-data" | "ftp" | "ssh" | "telnet" | "smtp" | "tacacs" | "tacacs-ds" | "domain" | "dhcp" | "bootps" | "bootpc" | "tftp" | "finger" | "http" | "kerberos-sec" | "pop3" | "sunrpc" | "ident" | "nntp" | "ntp" | "netbios-ns" | "netbios-dgm" | "netbios-ssn" | "imap" | "snmp" | "snmptrap" | "xdmcp" | "bgp" | "ldap" | "mobileip-agent" | "mobilip-mn" | "msdp" | "https" | "snpp" | "biff" | "exec" | "login" | "who" | "cmd" | "syslog" | "printer" | "talk" | "ntalk" | "rip" | "timed" | "klogin" | "kshell" | "ldp" | "krb-prop" | "krbupdate" | "kpasswd" | "socks" | "afs" | "pptp" | "radius" | "radacct" | "zephyr-srv" | "zephyr-clt" | "zephyr-hm" | "nfsd" | "eklogin" | "ekshell" | "rkinit" | "cvspserver" | arg)
|
17893
|
-
),
|
17894
|
-
"destination-port" ( /* Match TCP/UDP destination port */
|
17895
|
-
("ftp-data" | "ftp" | "ssh" | "telnet" | "smtp" | "tacacs" | "tacacs-ds" | "domain" | "dhcp" | "bootps" | "bootpc" | "tftp" | "finger" | "http" | "kerberos-sec" | "pop3" | "sunrpc" | "ident" | "nntp" | "ntp" | "netbios-ns" | "netbios-dgm" | "netbios-ssn" | "imap" | "snmp" | "snmptrap" | "xdmcp" | "bgp" | "ldap" | "mobileip-agent" | "mobilip-mn" | "msdp" | "https" | "snpp" | "biff" | "exec" | "login" | "who" | "cmd" | "syslog" | "printer" | "talk" | "ntalk" | "rip" | "timed" | "klogin" | "kshell" | "ldp" | "krb-prop" | "krbupdate" | "kpasswd" | "socks" | "afs" | "pptp" | "radius" | "radacct" | "zephyr-srv" | "zephyr-clt" | "zephyr-hm" | "nfsd" | "eklogin" | "ekshell" | "rkinit" | "cvspserver" | arg)
|
17896
|
-
),
|
17897
|
-
"ether-type" arg /* Match ether type */,
|
17898
|
-
"snmp-command" ( /* Match SNMP command */
|
17899
|
-
("get" | "get-next" | "get-response" | "set" | "trap")
|
17900
|
-
),
|
17901
|
-
"icmp-type" ( /* Match ICMP message type */
|
17902
|
-
("echo-request" | "echo-reply" | "unreachable" | "source-quench" | "redirect" | "router-advertisement" | "router-solicit" | "time-exceeded" | "parameter-problem" | "timestamp" | "timestamp-reply" | "info-request" | "info-reply" | "mask-request" | "mask-reply" | arg)
|
17903
|
-
),
|
17904
|
-
"icmp6-type" ( /* Match ICMP6 message type */
|
17905
|
-
("echo-request" | "echo-reply" | "destination-unreachable" | "router-advertisement" | "router-solicit" | "time-exceeded" | "parameter-problem" | "packet-too-big" | "membership-query" | "membership-report" | "membership-termination" | "redirect" | "neighbor-solicit" | "neighbor-advertisement" | "router-renumbering" | "node-information-request" | "node-information-reply" | arg)
|
17906
|
-
),
|
17907
|
-
"icmp-code" ( /* Match ICMP message code */
|
17908
|
-
("network-unreachable" | "host-unreachable" | "protocol-unreachable" | "port-unreachable" | "fragmentation-needed" | "source-route-failed" | "destination-network-unknown" | "destination-host-unknown" | "source-host-isolated" | "destination-network-prohibited" | "destination-host-prohibited" | "network-unreachable-for-tos" | "host-unreachable-for-tos" | "communication-prohibited-by-filtering" | "host-precedence-violation" | "precedence-cutoff-in-effect" | "redirect-for-network" | "redirect-for-host" | "redirect-for-tos-and-net" | "redirect-for-tos-and-host" | "ttl-eq-zero-during-transit" | "ttl-eq-zero-during-reassembly" | "ip-header-bad" | "required-option-missing" | arg)
|
17909
|
-
),
|
17910
|
-
"icmp6-code" ( /* Match ICMP6 message code */
|
17911
|
-
("no-route-to-destination" | "administratively-prohibited" | "address-unreachable" | "port-unreachable" | "ttl-eq-zero-during-transit" | "ttl-eq-zero-during-reassembly" | "ip6-header-bad" | "unrecognized-next-header" | "unrecognized-option" | arg)
|
17912
|
-
),
|
17913
|
-
"ttl-threshold" arg /* Traceroute TTL threshold */,
|
17914
|
-
"rpc-program-number" arg /* Match range of RPC program numbers */,
|
17915
|
-
"uuid" arg /* Match universal unique identifier for DCE RPC objects */,
|
17916
|
-
"inactivity-timeout" ( /* Application-specific inactivity timeout */
|
17917
|
-
("never" | arg)
|
17918
|
-
),
|
17919
|
-
"gate-timeout" arg /* Application-specific gate timeout */,
|
17920
|
-
"child-inactivity-timeout" arg /* Application-specific child session inactivity timeout */,
|
17921
|
-
c(
|
17922
|
-
"do-not-translate-AAAA-query-to-A-query" /* Knob to control the translation of AAAA query to A query */,
|
17923
|
-
"do-not-translate-A-query-to-AAAA-query" /* Knob to control the translation of A query to AAAA query */
|
17924
|
-
)
|
17925
|
-
)
|
17926
|
-
)
|
17927
|
-
end
|
17928
|
-
|
17929
17883
|
rule(:application_set_object) do
|
17930
17884
|
arg.as(:arg) (
|
17931
17885
|
c(
|
@@ -28321,34 +28275,34 @@ rule(:interfaces_type) do
|
|
28321
28275
|
c(
|
28322
28276
|
"source-ip" ( /* Filter based on source-ip (and wildcard) */
|
28323
28277
|
sc(
|
28324
|
-
ipaddr /* Source IP */,
|
28325
28278
|
"wildcard" ( /* Source IP wildcard */
|
28326
28279
|
ipaddr /* Source IP wildcard */
|
28327
|
-
)
|
28280
|
+
),
|
28281
|
+
ipaddr /* Source IP */
|
28328
28282
|
)
|
28329
28283
|
).as(:oneline),
|
28330
28284
|
"dest-ip" ( /* Filter based on dest-ip (and wildcard) */
|
28331
28285
|
sc(
|
28332
|
-
ipaddr /* Dest IP */,
|
28333
28286
|
"wildcard" ( /* Dest IP wildcard */
|
28334
28287
|
ipaddr /* Dest IP wildcard */
|
28335
|
-
)
|
28288
|
+
),
|
28289
|
+
ipaddr /* Dest IP */
|
28336
28290
|
)
|
28337
28291
|
).as(:oneline),
|
28338
28292
|
"sw-sip" ( /* Filter based on source softwire ip (and wildcard) */
|
28339
28293
|
sc(
|
28340
|
-
ipv6addr /* Source softwire IP */,
|
28341
28294
|
"wildcard" ( /* Source IP wildcard */
|
28342
28295
|
ipv6addr /* Source IP wildcard */
|
28343
|
-
)
|
28296
|
+
),
|
28297
|
+
ipv6addr /* Source softwire IP */
|
28344
28298
|
)
|
28345
28299
|
).as(:oneline),
|
28346
28300
|
"sw-dip" ( /* Filter based on destination softwire ip (and wildcard) */
|
28347
28301
|
sc(
|
28348
|
-
ipaddr /* Destination softwire IP */,
|
28349
28302
|
"wildcard" ( /* Destination IP wildcard */
|
28350
28303
|
ipaddr /* Destination IP wildcard */
|
28351
|
-
)
|
28304
|
+
),
|
28305
|
+
ipaddr /* Destination softwire IP */
|
28352
28306
|
)
|
28353
28307
|
).as(:oneline),
|
28354
28308
|
"sport-range" ( /* Filter based on source port */
|
@@ -43766,34 +43720,34 @@ rule(:juniper_dynamic_profile_object) do
|
|
43766
43720
|
c(
|
43767
43721
|
"source-ip" ( /* Filter based on source-ip (and wildcard) */
|
43768
43722
|
sc(
|
43769
|
-
ipaddr /* Source IP */,
|
43770
43723
|
"wildcard" ( /* Source IP wildcard */
|
43771
43724
|
ipaddr /* Source IP wildcard */
|
43772
|
-
)
|
43725
|
+
),
|
43726
|
+
ipaddr /* Source IP */
|
43773
43727
|
)
|
43774
43728
|
).as(:oneline),
|
43775
43729
|
"dest-ip" ( /* Filter based on dest-ip (and wildcard) */
|
43776
43730
|
sc(
|
43777
|
-
ipaddr /* Dest IP */,
|
43778
43731
|
"wildcard" ( /* Dest IP wildcard */
|
43779
43732
|
ipaddr /* Dest IP wildcard */
|
43780
|
-
)
|
43733
|
+
),
|
43734
|
+
ipaddr /* Dest IP */
|
43781
43735
|
)
|
43782
43736
|
).as(:oneline),
|
43783
43737
|
"sw-sip" ( /* Filter based on source softwire ip (and wildcard) */
|
43784
43738
|
sc(
|
43785
|
-
ipv6addr /* Source softwire IP */,
|
43786
43739
|
"wildcard" ( /* Source IP wildcard */
|
43787
43740
|
ipv6addr /* Source IP wildcard */
|
43788
|
-
)
|
43741
|
+
),
|
43742
|
+
ipv6addr /* Source softwire IP */
|
43789
43743
|
)
|
43790
43744
|
).as(:oneline),
|
43791
43745
|
"sw-dip" ( /* Filter based on destination softwire ip (and wildcard) */
|
43792
43746
|
sc(
|
43793
|
-
ipaddr /* Destination softwire IP */,
|
43794
43747
|
"wildcard" ( /* Destination IP wildcard */
|
43795
43748
|
ipaddr /* Destination IP wildcard */
|
43796
|
-
)
|
43749
|
+
),
|
43750
|
+
ipaddr /* Destination softwire IP */
|
43797
43751
|
)
|
43798
43752
|
).as(:oneline),
|
43799
43753
|
"sport-range" ( /* Filter based on source port */
|
@@ -47223,34 +47177,34 @@ rule(:juniper_dynamic_profile_object) do
|
|
47223
47177
|
c(
|
47224
47178
|
"source-ip" ( /* Filter based on source-ip (and wildcard) */
|
47225
47179
|
sc(
|
47226
|
-
ipaddr /* Source IP */,
|
47227
47180
|
"wildcard" ( /* Source IP wildcard */
|
47228
47181
|
ipaddr /* Source IP wildcard */
|
47229
|
-
)
|
47182
|
+
),
|
47183
|
+
ipaddr /* Source IP */
|
47230
47184
|
)
|
47231
47185
|
).as(:oneline),
|
47232
47186
|
"dest-ip" ( /* Filter based on dest-ip (and wildcard) */
|
47233
47187
|
sc(
|
47234
|
-
ipaddr /* Dest IP */,
|
47235
47188
|
"wildcard" ( /* Dest IP wildcard */
|
47236
47189
|
ipaddr /* Dest IP wildcard */
|
47237
|
-
)
|
47190
|
+
),
|
47191
|
+
ipaddr /* Dest IP */
|
47238
47192
|
)
|
47239
47193
|
).as(:oneline),
|
47240
47194
|
"sw-sip" ( /* Filter based on source softwire ip (and wildcard) */
|
47241
47195
|
sc(
|
47242
|
-
ipv6addr /* Source softwire IP */,
|
47243
47196
|
"wildcard" ( /* Source IP wildcard */
|
47244
47197
|
ipv6addr /* Source IP wildcard */
|
47245
|
-
)
|
47198
|
+
),
|
47199
|
+
ipv6addr /* Source softwire IP */
|
47246
47200
|
)
|
47247
47201
|
).as(:oneline),
|
47248
47202
|
"sw-dip" ( /* Filter based on destination softwire ip (and wildcard) */
|
47249
47203
|
sc(
|
47250
|
-
ipaddr /* Destination softwire IP */,
|
47251
47204
|
"wildcard" ( /* Destination IP wildcard */
|
47252
47205
|
ipaddr /* Destination IP wildcard */
|
47253
|
-
)
|
47206
|
+
),
|
47207
|
+
ipaddr /* Destination softwire IP */
|
47254
47208
|
)
|
47255
47209
|
).as(:oneline),
|
47256
47210
|
"sport-range" ( /* Filter based on source port */
|
@@ -55337,10 +55291,10 @@ rule(:juniper_policy_options) do
|
|
55337
55291
|
c(
|
55338
55292
|
"self" /* Use a local address as the next-hop address */,
|
55339
55293
|
"peer-address" /* Use the remote peer address as the next-hop address */,
|
55340
|
-
ipaddr /* Next-hop address */,
|
55341
55294
|
"reject" /* Use a reject next hop */,
|
55342
55295
|
"discard" /* Use a discard next hop */,
|
55343
|
-
"next-table" arg /* Perform a forwarding lookup in the specified table
|
55296
|
+
"next-table" arg /* Perform a forwarding lookup in the specified table */,
|
55297
|
+
ipaddr /* Next-hop address */
|
55344
55298
|
)
|
55345
55299
|
)
|
55346
55300
|
).as(:oneline),
|
@@ -55948,10 +55902,10 @@ rule(:juniper_policy_options) do
|
|
55948
55902
|
c(
|
55949
55903
|
"self" /* Use a local address as the next-hop address */,
|
55950
55904
|
"peer-address" /* Use the remote peer address as the next-hop address */,
|
55951
|
-
ipaddr /* Next-hop address */,
|
55952
55905
|
"reject" /* Use a reject next hop */,
|
55953
55906
|
"discard" /* Use a discard next hop */,
|
55954
|
-
"next-table" arg /* Perform a forwarding lookup in the specified table
|
55907
|
+
"next-table" arg /* Perform a forwarding lookup in the specified table */,
|
55908
|
+
ipaddr /* Next-hop address */
|
55955
55909
|
)
|
55956
55910
|
)
|
55957
55911
|
).as(:oneline),
|
@@ -56163,8 +56117,8 @@ rule(:juniper_policy_options) do
|
|
56163
56117
|
c(
|
56164
56118
|
"inet" ( /* Route to match corresponds to an inet/inet6 prefix */
|
56165
56119
|
c(
|
56166
|
-
|
56167
|
-
|
56120
|
+
"table" arg /* Routing table in which route should exist */,
|
56121
|
+
ipprefix /* Exact address of the route */
|
56168
56122
|
)
|
56169
56123
|
),
|
56170
56124
|
"ccc" ( /* Route to match corresponds to a ccc prefix */
|
@@ -56178,8 +56132,8 @@ rule(:juniper_policy_options) do
|
|
56178
56132
|
)
|
56179
56133
|
)
|
56180
56134
|
),
|
56181
|
-
|
56182
|
-
|
56135
|
+
"table" arg /* Routing table in which route should exist */,
|
56136
|
+
ipprefix /* Exact address of the route */
|
56183
56137
|
)
|
56184
56138
|
)
|
56185
56139
|
)
|
@@ -56468,10 +56422,10 @@ rule(:control_prefix_list_filter_type) do
|
|
56468
56422
|
c(
|
56469
56423
|
"self" /* Use a local address as the next-hop address */,
|
56470
56424
|
"peer-address" /* Use the remote peer address as the next-hop address */,
|
56471
|
-
ipaddr /* Next-hop address */,
|
56472
56425
|
"reject" /* Use a reject next hop */,
|
56473
56426
|
"discard" /* Use a discard next hop */,
|
56474
|
-
"next-table" arg /* Perform a forwarding lookup in the specified table
|
56427
|
+
"next-table" arg /* Perform a forwarding lookup in the specified table */,
|
56428
|
+
ipaddr /* Next-hop address */
|
56475
56429
|
)
|
56476
56430
|
)
|
56477
56431
|
).as(:oneline),
|
@@ -56863,10 +56817,10 @@ rule(:control_route_filter_type) do
|
|
56863
56817
|
c(
|
56864
56818
|
"self" /* Use a local address as the next-hop address */,
|
56865
56819
|
"peer-address" /* Use the remote peer address as the next-hop address */,
|
56866
|
-
ipaddr /* Next-hop address */,
|
56867
56820
|
"reject" /* Use a reject next hop */,
|
56868
56821
|
"discard" /* Use a discard next hop */,
|
56869
|
-
"next-table" arg /* Perform a forwarding lookup in the specified table
|
56822
|
+
"next-table" arg /* Perform a forwarding lookup in the specified table */,
|
56823
|
+
ipaddr /* Next-hop address */
|
56870
56824
|
)
|
56871
56825
|
)
|
56872
56826
|
).as(:oneline),
|
@@ -57242,10 +57196,10 @@ rule(:control_source_address_filter_type) do
|
|
57242
57196
|
c(
|
57243
57197
|
"self" /* Use a local address as the next-hop address */,
|
57244
57198
|
"peer-address" /* Use the remote peer address as the next-hop address */,
|
57245
|
-
ipaddr /* Next-hop address */,
|
57246
57199
|
"reject" /* Use a reject next hop */,
|
57247
57200
|
"discard" /* Use a discard next hop */,
|
57248
|
-
"next-table" arg /* Perform a forwarding lookup in the specified table
|
57201
|
+
"next-table" arg /* Perform a forwarding lookup in the specified table */,
|
57202
|
+
ipaddr /* Next-hop address */
|
57249
57203
|
)
|
57250
57204
|
)
|
57251
57205
|
).as(:oneline),
|
@@ -77513,9 +77467,9 @@ rule(:juniper_system) do
|
|
77513
77467
|
).as(:oneline),
|
77514
77468
|
"inet6-backup-router" ( /* IPv6 router to use while booting */
|
77515
77469
|
sc(
|
77516
|
-
ipv6addr /* Address of router to use while booting */,
|
77517
77470
|
"destination" ( /* Destination network reachable through the router */
|
77518
|
-
ipv6prefix /* Destination network reachable through the router
|
77471
|
+
ipv6prefix /* Destination network reachable through the router */,
|
77472
|
+
ipv6addr /* Address of router to use while booting */
|
77519
77473
|
)
|
77520
77474
|
)
|
77521
77475
|
).as(:oneline),
|
@@ -98364,14 +98318,6 @@ rule(:log_object) do
|
|
98364
98318
|
)
|
98365
98319
|
end
|
98366
98320
|
|
98367
|
-
rule(:logical_system_type) do
|
98368
|
-
arg.as(:arg) (
|
98369
|
-
c(
|
98370
|
-
"max-sessions" arg /* Max number of IDP sessions */
|
98371
|
-
)
|
98372
|
-
)
|
98373
|
-
end
|
98374
|
-
|
98375
98321
|
rule(:login_class_object) do
|
98376
98322
|
arg.as(:arg) (
|
98377
98323
|
c(
|
@@ -101523,31 +101469,6 @@ rule(:nasreq_definition) do
|
|
101523
101469
|
)
|
101524
101470
|
end
|
101525
101471
|
|
101526
|
-
rule(:nat_object) do
|
101527
|
-
c(
|
101528
|
-
"pool" ( /* Define a NAT pool */
|
101529
|
-
nat_pool_object /* Define a NAT pool */
|
101530
|
-
),
|
101531
|
-
"ipv6-multicast-interfaces" ("all" | "interface-name") ( /* Enable IPv6 multicast filter for IPv6 NAT */
|
101532
|
-
c(
|
101533
|
-
"disable" /* Disable IPv6 multicast filter for IPv6 NAT */
|
101534
|
-
)
|
101535
|
-
),
|
101536
|
-
"allow-overlapping-nat-pools" /* Allow usage of overlapping and same nat pools in multiple service sets */,
|
101537
|
-
"rule" ( /* Define a NAT rule */
|
101538
|
-
nat_rule_object /* Define a NAT rule */
|
101539
|
-
),
|
101540
|
-
"port-forwarding" ( /* Define a port-forwarding pool */
|
101541
|
-
pf_mapping /* Define a port-forwarding pool */
|
101542
|
-
),
|
101543
|
-
"rule-set" arg ( /* Defines a set of NAT rules */
|
101544
|
-
c(
|
101545
|
-
"rule" arg /* Rule to be included in this rule set */
|
101546
|
-
)
|
101547
|
-
)
|
101548
|
-
)
|
101549
|
-
end
|
101550
|
-
|
101551
101472
|
rule(:nat_pool_object) do
|
101552
101473
|
arg.as(:arg) (
|
101553
101474
|
c(
|
@@ -105285,10 +105206,10 @@ rule(:route_filter_list_items) do
|
|
105285
105206
|
c(
|
105286
105207
|
"self" /* Use a local address as the next-hop address */,
|
105287
105208
|
"peer-address" /* Use the remote peer address as the next-hop address */,
|
105288
|
-
ipaddr /* Next-hop address */,
|
105289
105209
|
"reject" /* Use a reject next hop */,
|
105290
105210
|
"discard" /* Use a discard next hop */,
|
105291
|
-
"next-table" arg /* Perform a forwarding lookup in the specified table
|
105211
|
+
"next-table" arg /* Perform a forwarding lookup in the specified table */,
|
105212
|
+
ipaddr /* Next-hop address */
|
105292
105213
|
)
|
105293
105214
|
)
|
105294
105215
|
).as(:oneline),
|
@@ -105552,11 +105473,11 @@ end
|
|
105552
105473
|
|
105553
105474
|
rule(:routing_destination_address) do
|
105554
105475
|
c(
|
105555
|
-
ipaddr /* IP address */,
|
105556
105476
|
"port" arg /* Port number */,
|
105557
105477
|
"transport-protocol" ( /* Transport protocol */
|
105558
105478
|
transport_protocol /* Transport protocol */
|
105559
|
-
)
|
105479
|
+
),
|
105480
|
+
ipaddr /* IP address */
|
105560
105481
|
).as(:oneline)
|
105561
105482
|
end
|
105562
105483
|
|
@@ -107412,12 +107333,6 @@ rule(:ipsec_sa) do
|
|
107412
107333
|
)
|
107413
107334
|
end
|
107414
107335
|
|
107415
|
-
rule(:ipsec_traceoptions) do
|
107416
|
-
c(
|
107417
|
-
"flag" enum(("packet-processing" | "packet-drops" | "security-associations" | "next-hop-tunnel-binding" | "all")) /* Events to include in data-plane IPSec trace output */.as(:oneline)
|
107418
|
-
)
|
107419
|
-
end
|
107420
|
-
|
107421
107336
|
rule(:ipsec_trusted_channel_sa) do
|
107422
107337
|
c(
|
107423
107338
|
"description" arg /* Text description of trusted channel security association */,
|
@@ -107467,114 +107382,6 @@ rule(:ipsec_trusted_channel_sa) do
|
|
107467
107382
|
)
|
107468
107383
|
end
|
107469
107384
|
|
107470
|
-
rule(:ipsec_vpn_monitor) do
|
107471
|
-
c(
|
107472
|
-
"interval" arg /* Monitor interval in seconds */,
|
107473
|
-
"threshold" arg /* Number of consecutive failures to determine connectivity */
|
107474
|
-
)
|
107475
|
-
end
|
107476
|
-
|
107477
|
-
rule(:ipsec_vpn_template) do
|
107478
|
-
arg.as(:arg) (
|
107479
|
-
c(
|
107480
|
-
"bind-interface" ( /* Bind to tunnel interface (route-based VPN) */
|
107481
|
-
interface_name /* Bind to tunnel interface (route-based VPN) */
|
107482
|
-
),
|
107483
|
-
"df-bit" ( /* Specifies how to handle the Don't Fragment bit */
|
107484
|
-
("clear" | "set" | "copy")
|
107485
|
-
),
|
107486
|
-
"vpn-monitor" ( /* Monitor VPN liveliness */
|
107487
|
-
ipsec_template_monitor /* Monitor VPN liveliness */
|
107488
|
-
),
|
107489
|
-
c(
|
107490
|
-
"manual" ( /* Define a manual security association */
|
107491
|
-
c(
|
107492
|
-
"gateway" ( /* Define the IPSec peer */
|
107493
|
-
hostname /* Define the IPSec peer */
|
107494
|
-
),
|
107495
|
-
"external-interface" ( /* External interface for the security association */
|
107496
|
-
interface_unit /* External interface for the security association */
|
107497
|
-
),
|
107498
|
-
"protocol" ( /* Define an IPSec protocol for the security association */
|
107499
|
-
("ah" | "esp")
|
107500
|
-
),
|
107501
|
-
"spi" arg /* Define security parameter index */,
|
107502
|
-
"authentication" ( /* Define authentication parameters */
|
107503
|
-
c(
|
107504
|
-
"algorithm" ( /* Define authentication algorithm */
|
107505
|
-
("hmac-md5-96" | "hmac-sha1-96" | "hmac-sha-256-128" | "hmac-sha-256-96")
|
107506
|
-
),
|
107507
|
-
"key" ( /* Define an authentication key */
|
107508
|
-
sc(
|
107509
|
-
c(
|
107510
|
-
"ascii-text" arg /* Format as text */,
|
107511
|
-
"hexadecimal" arg /* Format as hexadecimal */
|
107512
|
-
)
|
107513
|
-
)
|
107514
|
-
).as(:oneline)
|
107515
|
-
)
|
107516
|
-
),
|
107517
|
-
"encryption" ( /* Define encryption parameters */
|
107518
|
-
c(
|
107519
|
-
"algorithm" ( /* Define encryption algorithm */
|
107520
|
-
("des-cbc" | "3des-cbc" | "aes-128-cbc" | "aes-192-cbc" | "aes-256-cbc")
|
107521
|
-
),
|
107522
|
-
"key" ( /* Define an encryption key */
|
107523
|
-
sc(
|
107524
|
-
c(
|
107525
|
-
"ascii-text" arg /* Format as text */,
|
107526
|
-
"hexadecimal" arg /* Format as hexadecimal */
|
107527
|
-
)
|
107528
|
-
)
|
107529
|
-
).as(:oneline)
|
107530
|
-
)
|
107531
|
-
)
|
107532
|
-
)
|
107533
|
-
),
|
107534
|
-
"ike" ( /* Define an IKE-keyed IPSec vpn */
|
107535
|
-
c(
|
107536
|
-
"gateway" arg /* Name of remote gateway */,
|
107537
|
-
"idle-time" arg /* Idle time to delete SA */,
|
107538
|
-
"no-anti-replay" /* Disable the anti-replay check */,
|
107539
|
-
"proxy-identity" ( /* IPSec proxy-id to use in IKE negotiations */
|
107540
|
-
ipsec_template_proxy_id /* IPSec proxy-id to use in IKE negotiations */
|
107541
|
-
),
|
107542
|
-
"ipsec-policy" arg /* Name of the IPSec policy */,
|
107543
|
-
"install-interval" arg /* Delay installation of rekeyed outbound SAs on initiator */
|
107544
|
-
)
|
107545
|
-
)
|
107546
|
-
),
|
107547
|
-
"establish-tunnels" ( /* Define the criteria to establish tunnels */
|
107548
|
-
("immediately" | "on-traffic")
|
107549
|
-
)
|
107550
|
-
)
|
107551
|
-
)
|
107552
|
-
end
|
107553
|
-
|
107554
|
-
rule(:ipsec_template_monitor) do
|
107555
|
-
c(
|
107556
|
-
"optimized" /* Optimize for scalability */,
|
107557
|
-
"source-interface" ( /* Source interface for monitor message */
|
107558
|
-
interface_unit /* Source interface for monitor message */
|
107559
|
-
),
|
107560
|
-
"destination-ip" ( /* Destination IP addres for monitor message */
|
107561
|
-
ipaddr /* Destination IP addres for monitor message */
|
107562
|
-
)
|
107563
|
-
)
|
107564
|
-
end
|
107565
|
-
|
107566
|
-
rule(:ipsec_template_proxy_id) do
|
107567
|
-
c(
|
107568
|
-
"local" ( /* Local IP address/prefix length */
|
107569
|
-
ipprefix_mandatory /* Local IP address/prefix length */
|
107570
|
-
),
|
107571
|
-
"remote" ( /* Remote IP address/prefix length */
|
107572
|
-
ipprefix_mandatory /* Remote IP address/prefix length */
|
107573
|
-
),
|
107574
|
-
"service" arg /* Name of serivce that passes through, any enables all services */
|
107575
|
-
)
|
107576
|
-
end
|
107577
|
-
|
107578
107385
|
rule(:security_macsec) do
|
107579
107386
|
c(
|
107580
107387
|
"traceoptions" ( /* Tracing options for debugging protocol operation */
|
@@ -108138,14 +107945,14 @@ rule(:service_set_ipsec_vpn_options_object) do
|
|
108138
107945
|
"trusted-ca" arg /* List of trusted certificate authority profiles */,
|
108139
107946
|
"local-gateway" ( /* Address and routing instance for local gateway */
|
108140
107947
|
sc(
|
108141
|
-
ipaddr /* Local gateway address */,
|
108142
107948
|
"routing-instance" arg /* Name of routing instance that hosts local gateway */,
|
108143
107949
|
"interface" ( /* Interface as local gateway */
|
108144
107950
|
interface_unit /* Interface as local gateway */
|
108145
107951
|
),
|
108146
107952
|
"gw-interface" ( /* Interface as local gateway */
|
108147
107953
|
interface_unit /* Interface as local gateway */
|
108148
|
-
)
|
107954
|
+
),
|
107955
|
+
ipaddr /* Local gateway address */
|
108149
107956
|
)
|
108150
107957
|
).as(:oneline),
|
108151
107958
|
"ike-access-profile" arg /* IKE access profile for dynamic peers */,
|
@@ -109942,10 +109749,10 @@ rule(:source_address_filter_list_items) do
|
|
109942
109749
|
c(
|
109943
109750
|
"self" /* Use a local address as the next-hop address */,
|
109944
109751
|
"peer-address" /* Use the remote peer address as the next-hop address */,
|
109945
|
-
ipaddr /* Next-hop address */,
|
109946
109752
|
"reject" /* Use a reject next hop */,
|
109947
109753
|
"discard" /* Use a discard next hop */,
|
109948
|
-
"next-table" arg /* Perform a forwarding lookup in the specified table
|
109754
|
+
"next-table" arg /* Perform a forwarding lookup in the specified table */,
|
109755
|
+
ipaddr /* Next-hop address */
|
109949
109756
|
)
|
109950
109757
|
)
|
109951
109758
|
).as(:oneline),
|
@@ -115822,8 +115629,8 @@ rule(:default_anti_virus_feature) do
|
|
115822
115629
|
c(
|
115823
115630
|
"server" ( /* SAV and Anti-Spam first hop DNS server */
|
115824
115631
|
c(
|
115825
|
-
|
115826
|
-
|
115632
|
+
"routing-instance" arg /* Routing instance name */,
|
115633
|
+
ipaddr /* SAV and Anti-Spam first hop DNS server ip */
|
115827
115634
|
)
|
115828
115635
|
),
|
115829
115636
|
"sxl-timeout" arg /* Sxl sophos anti-virus engine timeout */,
|
@@ -116163,9 +115970,9 @@ end
|
|
116163
115970
|
|
116164
115971
|
rule(:host_object) do
|
116165
115972
|
c(
|
116166
|
-
ipaddr /* IP address */,
|
116167
115973
|
"port" arg /* Host port number */,
|
116168
|
-
"routing-instance" arg /* Routing-instance name
|
115974
|
+
"routing-instance" arg /* Routing-instance name */,
|
115975
|
+
ipaddr /* IP address */
|
116169
115976
|
)
|
116170
115977
|
end
|
116171
115978
|
|
@@ -116563,7 +116370,6 @@ rule(:address_type) do
|
|
116563
116370
|
c(
|
116564
116371
|
"description" arg /* Text description of address */,
|
116565
116372
|
c(
|
116566
|
-
ipprefix /* Numeric IPv4 or IPv6 address with prefix */,
|
116567
116373
|
"dns-name" ( /* DNS address name */
|
116568
116374
|
dns_name_type /* DNS address name */
|
116569
116375
|
),
|
@@ -116572,7 +116378,8 @@ rule(:address_type) do
|
|
116572
116378
|
),
|
116573
116379
|
"range-address" ( /* Address range */
|
116574
116380
|
range_address_type /* Address range */
|
116575
|
-
)
|
116381
|
+
),
|
116382
|
+
ipprefix /* Numeric IPv4 or IPv6 address with prefix */
|
116576
116383
|
)
|
116577
116384
|
)
|
116578
116385
|
)
|
@@ -117077,36 +116884,6 @@ rule(:security_ipsec_policy) do
|
|
117077
116884
|
)
|
117078
116885
|
end
|
117079
116886
|
|
117080
|
-
rule(:security_ipsec_vpn) do
|
117081
|
-
c(
|
117082
|
-
"internal" ( /* Define an IPSec SA for internal RE-RE communication */
|
117083
|
-
c(
|
117084
|
-
"security-association" ( /* Define an IPsec security association */
|
117085
|
-
ipsec_internal_sa /* Define an IPsec security association */
|
117086
|
-
)
|
117087
|
-
)
|
117088
|
-
),
|
117089
|
-
"traceoptions" ( /* Trace options for IPSec data-plane debug */
|
117090
|
-
ipsec_traceoptions /* Trace options for IPSec data-plane debug */
|
117091
|
-
),
|
117092
|
-
"vpn-monitor-options" ( /* Global options for VPN liveliness monitoring */
|
117093
|
-
ipsec_vpn_monitor /* Global options for VPN liveliness monitoring */
|
117094
|
-
),
|
117095
|
-
"proposal" ( /* Define an IPSec proposal */
|
117096
|
-
ipsec_proposal /* Define an IPSec proposal */
|
117097
|
-
),
|
117098
|
-
"policy" ( /* Define an IPSec policy */
|
117099
|
-
ipsec_policy /* Define an IPSec policy */
|
117100
|
-
),
|
117101
|
-
"vpn" ( /* Define an IPSec VPN */
|
117102
|
-
ipsec_vpn_template /* Define an IPSec VPN */
|
117103
|
-
),
|
117104
|
-
"security-association" ( /* Define a manual control plane SA */
|
117105
|
-
ipsec_sa /* Define a manual control plane SA */
|
117106
|
-
)
|
117107
|
-
)
|
117108
|
-
end
|
117109
|
-
|
117110
116887
|
rule(:ipsec_traceoptions) do
|
117111
116888
|
c(
|
117112
116889
|
"flag" enum(("packet-processing" | "packet-drops" | "security-associations" | "next-hop-tunnel-binding" | "all")) /* Events to include in data-plane IPSec trace output */.as(:oneline)
|
@@ -117450,7 +117227,6 @@ rule(:ssg_destination_nat_object) do
|
|
117450
117227
|
),
|
117451
117228
|
"address" ( /* Add address or address range to pool */
|
117452
117229
|
sc(
|
117453
|
-
ipprefix /* IPv4 or IPv6 address or address range */,
|
117454
117230
|
c(
|
117455
117231
|
"to" ( /* Upper limit of address range */
|
117456
117232
|
c(
|
@@ -117458,7 +117234,8 @@ rule(:ssg_destination_nat_object) do
|
|
117458
117234
|
)
|
117459
117235
|
),
|
117460
117236
|
"port" arg /* Specify the port value */
|
117461
|
-
)
|
117237
|
+
),
|
117238
|
+
ipprefix /* IPv4 or IPv6 address or address range */
|
117462
117239
|
)
|
117463
117240
|
).as(:oneline)
|
117464
117241
|
)
|
@@ -118056,13 +117833,13 @@ rule(:static_nat_rule_object) do
|
|
118056
117833
|
),
|
118057
117834
|
"prefix" ( /* Address prefix */
|
118058
117835
|
c(
|
118059
|
-
ipprefix /* IPv4 or IPv6 address prefix value */,
|
118060
117836
|
"mapped-port" ( /* Mapped port */
|
118061
117837
|
static_nat_rule_mapped_port_object /* Mapped port */
|
118062
117838
|
).as(:oneline),
|
118063
117839
|
"routing-instance" ( /* Routing instance */
|
118064
117840
|
("default" | arg)
|
118065
|
-
)
|
117841
|
+
),
|
117842
|
+
ipprefix /* IPv4 or IPv6 address prefix value */
|
118066
117843
|
)
|
118067
117844
|
),
|
118068
117845
|
"prefix-name" ( /* Address from address book */
|
@@ -118078,10 +117855,10 @@ rule(:static_nat_rule_object) do
|
|
118078
117855
|
),
|
118079
117856
|
"nptv6-prefix" ( /* NPTv6 address prefix, the longest prefix will be supported is /64 */
|
118080
117857
|
c(
|
118081
|
-
ipprefix /* IPv6 address prefix value, the longest prefix will be supported is /64 */,
|
118082
117858
|
"routing-instance" ( /* Routing instance */
|
118083
117859
|
("default" | arg)
|
118084
|
-
)
|
117860
|
+
),
|
117861
|
+
ipprefix /* IPv6 address prefix value, the longest prefix will be supported is /64 */
|
118085
117862
|
)
|
118086
117863
|
),
|
118087
117864
|
"nptv6-prefix-name" ( /* NPTv6 address from address book */
|
@@ -118416,4 +118193,91 @@ rule(:zone_system_services_object_type) do
|
|
118416
118193
|
)
|
118417
118194
|
)
|
118418
118195
|
end
|
118196
|
+
|
118197
|
+
rule(:application_object) do
|
118198
|
+
arg.as(:arg) (
|
118199
|
+
c(
|
118200
|
+
"description" arg /* Text description of application */,
|
118201
|
+
"term" ( /* Define individual application protocols */
|
118202
|
+
term_object /* Define individual application protocols */
|
118203
|
+
),
|
118204
|
+
"application-protocol" ( /* Application protocol type */
|
118205
|
+
("bootp" | "dce-rpc" | "dce-rpc-portmap" | "dns" | "exec" | "ftp" | "ftp-data" | "gprs-gtp-c" | "gprs-gtp-u" | "gprs-gtp-v0" | "gprs-sctp" | "h323" | "icmp" | "icmpv6" | "ignore" | "iiop" | "ike-esp-nat" | "ip" | "login" | "mgcp-ca" | "mgcp-ua" | "ms-rpc" | "netbios" | "netshow" | "none" | "pptp" | "q931" | "ras" | "realaudio" | "rpc" | "rpc-portmap" | "rsh" | "rtsp" | "sccp" | "sip" | "shell" | "snmp" | "sqlnet" | "sqlnet-v2" | "sun-rpc" | "talk" | "tftp" | "traceroute" | "http" | "winframe" | "https" | "imap" | "smtp" | "ssh" | "telnet" | "twamp")
|
118206
|
+
),
|
118207
|
+
"protocol" ( /* Match IP protocol type */
|
118208
|
+
("icmp" | "igmp" | "ipip" | "tcp" | "egp" | "udp" | "rsvp" | "gre" | "esp" | "ah" | "icmp6" | "ospf" | "pim" | "sctp" | arg)
|
118209
|
+
),
|
118210
|
+
"source-port" ( /* Match TCP/UDP source port */
|
118211
|
+
("ftp-data" | "ftp" | "ssh" | "telnet" | "smtp" | "tacacs" | "tacacs-ds" | "domain" | "dhcp" | "bootps" | "bootpc" | "tftp" | "finger" | "http" | "kerberos-sec" | "pop3" | "sunrpc" | "ident" | "nntp" | "ntp" | "netbios-ns" | "netbios-dgm" | "netbios-ssn" | "imap" | "snmp" | "snmptrap" | "xdmcp" | "bgp" | "ldap" | "mobileip-agent" | "mobilip-mn" | "msdp" | "https" | "snpp" | "biff" | "exec" | "login" | "who" | "cmd" | "syslog" | "printer" | "talk" | "ntalk" | "rip" | "timed" | "klogin" | "kshell" | "ldp" | "krb-prop" | "krbupdate" | "kpasswd" | "socks" | "afs" | "pptp" | "radius" | "radacct" | "zephyr-srv" | "zephyr-clt" | "zephyr-hm" | "nfsd" | "eklogin" | "ekshell" | "rkinit" | "cvspserver" | arg)
|
118212
|
+
),
|
118213
|
+
"destination-port" ( /* Match TCP/UDP destination port */
|
118214
|
+
("ftp-data" | "ftp" | "ssh" | "telnet" | "smtp" | "tacacs" | "tacacs-ds" | "domain" | "dhcp" | "bootps" | "bootpc" | "tftp" | "finger" | "http" | "kerberos-sec" | "pop3" | "sunrpc" | "ident" | "nntp" | "ntp" | "netbios-ns" | "netbios-dgm" | "netbios-ssn" | "imap" | "snmp" | "snmptrap" | "xdmcp" | "bgp" | "ldap" | "mobileip-agent" | "mobilip-mn" | "msdp" | "https" | "snpp" | "biff" | "exec" | "login" | "who" | "cmd" | "syslog" | "printer" | "talk" | "ntalk" | "rip" | "timed" | "klogin" | "kshell" | "ldp" | "krb-prop" | "krbupdate" | "kpasswd" | "socks" | "afs" | "pptp" | "radius" | "radacct" | "zephyr-srv" | "zephyr-clt" | "zephyr-hm" | "nfsd" | "eklogin" | "ekshell" | "rkinit" | "cvspserver" | arg)
|
118215
|
+
),
|
118216
|
+
"ether-type" arg /* Match ether type */,
|
118217
|
+
"snmp-command" arg /* Match SNMP command */,
|
118218
|
+
"icmp-type" ( /* Match ICMP message type */
|
118219
|
+
("echo-request" | "echo-reply" | "unreachable" | "source-quench" | "redirect" | "router-advertisement" | "router-solicit" | "time-exceeded" | "parameter-problem" | "timestamp" | "timestamp-reply" | "info-request" | "info-reply" | "mask-request" | "mask-reply" | arg)
|
118220
|
+
),
|
118221
|
+
"icmp6-type" ( /* Match ICMP6 message type */
|
118222
|
+
("echo-request" | "echo-reply" | "destination-unreachable" | "router-advertisement" | "router-solicit" | "time-exceeded" | "parameter-problem" | "packet-too-big" | "membership-query" | "membership-report" | "membership-termination" | "redirect" | "neighbor-solicit" | "neighbor-advertisement" | "router-renumbering" | "node-information-request" | "node-information-reply" | arg)
|
118223
|
+
),
|
118224
|
+
"icmp-code" ( /* Match ICMP message code */
|
118225
|
+
("network-unreachable" | "host-unreachable" | "protocol-unreachable" | "port-unreachable" | "fragmentation-needed" | "source-route-failed" | "destination-network-unknown" | "destination-host-unknown" | "source-host-isolated" | "destination-network-prohibited" | "destination-host-prohibited" | "network-unreachable-for-tos" | "host-unreachable-for-tos" | "communication-prohibited-by-filtering" | "host-precedence-violation" | "precedence-cutoff-in-effect" | "redirect-for-network" | "redirect-for-host" | "redirect-for-tos-and-net" | "redirect-for-tos-and-host" | "ttl-eq-zero-during-transit" | "ttl-eq-zero-during-reassembly" | "ip-header-bad" | "required-option-missing" | arg)
|
118226
|
+
),
|
118227
|
+
"icmp6-code" ( /* Match ICMP6 message code */
|
118228
|
+
("no-route-to-destination" | "administratively-prohibited" | "address-unreachable" | "port-unreachable" | "ttl-eq-zero-during-transit" | "ttl-eq-zero-during-reassembly" | "ip6-header-bad" | "unrecognized-next-header" | "unrecognized-option" | arg)
|
118229
|
+
),
|
118230
|
+
"ttl-threshold" arg /* Traceroute TTL threshold */,
|
118231
|
+
"rpc-program-number" arg /* Match range of RPC program numbers */,
|
118232
|
+
"uuid" arg /* Match universal unique identifier for DCE RPC objects */,
|
118233
|
+
"inactivity-timeout" ( /* Application-specific inactivity timeout */
|
118234
|
+
("never" | arg)
|
118235
|
+
),
|
118236
|
+
"gate-timeout" arg /* Application-specific gate timeout */,
|
118237
|
+
"child-inactivity-timeout" arg /* Application-specific child session inactivity timeout */,
|
118238
|
+
"learn-sip-register" /* Learn potential incoming SIP calls by inspecting the SIP register method */,
|
118239
|
+
"sip-call-hold-timeout" arg /* SIP flow timeout when call is put on hold */,
|
118240
|
+
c(
|
118241
|
+
"do-not-translate-AAAA-query-to-A-query" /* Knob to control the translation of AAAA query to A query */,
|
118242
|
+
"do-not-translate-A-query-to-AAAA-query" /* Knob to control the translation of A query to AAAA query */
|
118243
|
+
)
|
118244
|
+
)
|
118245
|
+
)
|
118246
|
+
end
|
118247
|
+
|
118248
|
+
rule(:term_object) do
|
118249
|
+
arg.as(:arg) (
|
118250
|
+
c(
|
118251
|
+
"alg" ( /* Application Layer Gateway */
|
118252
|
+
("bootp" | "dce-rpc" | "dce-rpc-portmap" | "dns" | "exec" | "ftp" | "ftp-data" | "gprs-gtp-c" | "gprs-gtp-u" | "gprs-gtp-v0" | "gprs-sctp" | "h323" | "icmp" | "icmpv6" | "ignore" | "iiop" | "ike-esp-nat" | "ip" | "login" | "mgcp-ca" | "mgcp-ua" | "ms-rpc" | "netbios" | "netshow" | "none" | "pptp" | "q931" | "ras" | "realaudio" | "rpc" | "rpc-portmap" | "rsh" | "rtsp" | "sccp" | "sip" | "shell" | "snmp" | "sqlnet" | "sqlnet-v2" | "sun-rpc" | "talk" | "tftp" | "traceroute" | "http" | "winframe" | "https" | "imap" | "smtp" | "ssh" | "telnet" | "twamp")
|
118253
|
+
),
|
118254
|
+
"protocol" ( /* Match IP protocol type */
|
118255
|
+
("icmp" | "igmp" | "ipip" | "tcp" | "egp" | "udp" | "rsvp" | "gre" | "esp" | "ah" | "icmp6" | "ospf" | "pim" | "sctp" | arg)
|
118256
|
+
),
|
118257
|
+
"source-port" ( /* Match TCP/UDP source port */
|
118258
|
+
("ftp-data" | "ftp" | "ssh" | "telnet" | "smtp" | "tacacs" | "tacacs-ds" | "domain" | "dhcp" | "bootps" | "bootpc" | "tftp" | "finger" | "http" | "kerberos-sec" | "pop3" | "sunrpc" | "ident" | "nntp" | "ntp" | "netbios-ns" | "netbios-dgm" | "netbios-ssn" | "imap" | "snmp" | "snmptrap" | "xdmcp" | "bgp" | "ldap" | "mobileip-agent" | "mobilip-mn" | "msdp" | "https" | "snpp" | "biff" | "exec" | "login" | "who" | "cmd" | "syslog" | "printer" | "talk" | "ntalk" | "rip" | "timed" | "klogin" | "kshell" | "ldp" | "krb-prop" | "krbupdate" | "kpasswd" | "socks" | "afs" | "pptp" | "radius" | "radacct" | "zephyr-srv" | "zephyr-clt" | "zephyr-hm" | "nfsd" | "eklogin" | "ekshell" | "rkinit" | "cvspserver" | arg)
|
118259
|
+
),
|
118260
|
+
"destination-port" ( /* Match TCP/UDP destination port */
|
118261
|
+
("ftp-data" | "ftp" | "ssh" | "telnet" | "smtp" | "tacacs" | "tacacs-ds" | "domain" | "dhcp" | "bootps" | "bootpc" | "tftp" | "finger" | "http" | "kerberos-sec" | "pop3" | "sunrpc" | "ident" | "nntp" | "ntp" | "netbios-ns" | "netbios-dgm" | "netbios-ssn" | "imap" | "snmp" | "snmptrap" | "xdmcp" | "bgp" | "ldap" | "mobileip-agent" | "mobilip-mn" | "msdp" | "https" | "snpp" | "biff" | "exec" | "login" | "who" | "cmd" | "syslog" | "printer" | "talk" | "ntalk" | "rip" | "timed" | "klogin" | "kshell" | "ldp" | "krb-prop" | "krbupdate" | "kpasswd" | "socks" | "afs" | "pptp" | "radius" | "radacct" | "zephyr-srv" | "zephyr-clt" | "zephyr-hm" | "nfsd" | "eklogin" | "ekshell" | "rkinit" | "cvspserver" | arg)
|
118262
|
+
),
|
118263
|
+
"icmp-type" ( /* Match ICMP message type */
|
118264
|
+
("echo-request" | "echo-reply" | "unreachable" | "source-quench" | "redirect" | "router-advertisement" | "router-solicit" | "time-exceeded" | "parameter-problem" | "timestamp" | "timestamp-reply" | "info-request" | "info-reply" | "mask-request" | "mask-reply" | arg)
|
118265
|
+
),
|
118266
|
+
"icmp-code" ( /* Match ICMP message code */
|
118267
|
+
("network-unreachable" | "host-unreachable" | "protocol-unreachable" | "port-unreachable" | "fragmentation-needed" | "source-route-failed" | "destination-network-unknown" | "destination-host-unknown" | "source-host-isolated" | "destination-network-prohibited" | "destination-host-prohibited" | "network-unreachable-for-tos" | "host-unreachable-for-tos" | "communication-prohibited-by-filtering" | "host-precedence-violation" | "precedence-cutoff-in-effect" | "redirect-for-network" | "redirect-for-host" | "redirect-for-tos-and-net" | "redirect-for-tos-and-host" | "ttl-eq-zero-during-transit" | "ttl-eq-zero-during-reassembly" | "ip-header-bad" | "required-option-missing" | arg)
|
118268
|
+
),
|
118269
|
+
"icmp6-type" ( /* Match ICMP6 message type */
|
118270
|
+
("echo-request" | "echo-reply" | "destination-unreachable" | "router-advertisement" | "router-solicit" | "time-exceeded" | "parameter-problem" | "packet-too-big" | "membership-query" | "membership-report" | "membership-termination" | "redirect" | "neighbor-solicit" | "neighbor-advertisement" | "router-renumbering" | "node-information-request" | "node-information-reply" | arg)
|
118271
|
+
),
|
118272
|
+
"icmp6-code" ( /* Match ICMP6 message code */
|
118273
|
+
("no-route-to-destination" | "administratively-prohibited" | "address-unreachable" | "port-unreachable" | "ttl-eq-zero-during-transit" | "ttl-eq-zero-during-reassembly" | "ip6-header-bad" | "unrecognized-next-header" | "unrecognized-option" | arg)
|
118274
|
+
),
|
118275
|
+
"rpc-program-number" arg /* Match range of RPC program numbers */,
|
118276
|
+
"uuid" arg /* Match universal unique identifier for DCE RPC objects */,
|
118277
|
+
"inactivity-timeout" ( /* Application-specific inactivity timeout */
|
118278
|
+
("never" | arg)
|
118279
|
+
)
|
118280
|
+
)
|
118281
|
+
).as(:oneline)
|
118282
|
+
end
|
118419
118283
|
# End of vSRX 18.3R1.9
|