junoser 0.5.3 → 0.5.4
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 +15 -0
- data/Gemfile.lock +1 -1
- data/lib/junoser/parser.rb +12 -11
- data/lib/junoser/ruler.rb +18 -0
- data/lib/junoser/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e3d7eddfe23eff9321fcd418687ab21af2d7f6a9188d1c3a7971c9f69393449
|
4
|
+
data.tar.gz: d8496ad009be8d91d5c08d69f45ad44203683bca6b986896ecedb36b2946b709
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 699d47a030b28169dc1d9daceb881e34aee2aed4f9a119f34e81f37bfae9b4f633c14f78ebe05974b9e0f4809280add29bb695d4c73f65c53637fed3a722b509
|
7
|
+
data.tar.gz: 81df8499d1d55b562b1a571dd5328b3fcd8e1fb82de8babf2cd377a951f2b6770eeed58a7cb0bd52c5180a27d378e2c9c18f128435c16cc84194a5f09abdddfc
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,18 @@
|
|
1
|
+
## [0.5.4] - 2023-07-15
|
2
|
+
|
3
|
+
### Added
|
4
|
+
|
5
|
+
* Newly supported syntax
|
6
|
+
* "chassis dump-on-panic"
|
7
|
+
|
8
|
+
### Fixed
|
9
|
+
|
10
|
+
* "policy-options policy-statement xxx from policy" didn't accept `[ ... ]` or `( ... )` expressions
|
11
|
+
* "system no-redirects-ipv6" was unexpectedly marked as invalid
|
12
|
+
* "snmp trap-group xxx categories chassis-cluster" was unexpectedly marked as invalid
|
13
|
+
* error when parsing "class-of-service schedulers foo drop-profile-map ..."
|
14
|
+
|
15
|
+
|
1
16
|
## [0.5.3] - 2023-07-10
|
2
17
|
|
3
18
|
### Added
|
data/Gemfile.lock
CHANGED
data/lib/junoser/parser.rb
CHANGED
@@ -180,7 +180,7 @@ module Junoser
|
|
180
180
|
end
|
181
181
|
|
182
182
|
rule(:policy_algebra) do
|
183
|
-
|
183
|
+
any.as(:arg)
|
184
184
|
end
|
185
185
|
|
186
186
|
rule(:regular_expression) do
|
@@ -9575,7 +9575,7 @@ module Junoser
|
|
9575
9575
|
b(str("categories"),
|
9576
9576
|
c(
|
9577
9577
|
str("authentication"),
|
9578
|
-
str("chassis"),
|
9578
|
+
str("chassis-ha-reswatch"),
|
9579
9579
|
str("link"),
|
9580
9580
|
str("remote-operations"),
|
9581
9581
|
str("routing"),
|
@@ -9587,7 +9587,7 @@ module Junoser
|
|
9587
9587
|
str("services"),
|
9588
9588
|
str("chassis-cluster"),
|
9589
9589
|
str("chassis-high-availability"),
|
9590
|
-
str("chassis
|
9590
|
+
str("chassis"),
|
9591
9591
|
str("timing-events"),
|
9592
9592
|
str("dot3oam-events"),
|
9593
9593
|
b(str("sonet-alarms"),
|
@@ -22386,6 +22386,7 @@ module Junoser
|
|
22386
22386
|
str("vlan-isolation")
|
22387
22387
|
)
|
22388
22388
|
),
|
22389
|
+
str("dump-on-panic"),
|
22389
22390
|
# Ported from vSRX 18.3R1.9
|
22390
22391
|
b(str("cluster"),
|
22391
22392
|
c(
|
@@ -45007,15 +45008,15 @@ module Junoser
|
|
45007
45008
|
a(str("priority"), arg),
|
45008
45009
|
a(str("excess-priority"), arg),
|
45009
45010
|
b(str("drop-profile-map"),
|
45010
|
-
|
45011
|
-
|
45012
|
-
|
45011
|
+
s(
|
45012
|
+
s(str("loss-priority"),
|
45013
|
+
(str("low") | str("high") | str("medium-low") | str("medium-high") | str("any"))
|
45013
45014
|
),
|
45014
|
-
|
45015
|
-
|
45015
|
+
s(str("protocol"),
|
45016
|
+
(str("tcp") | str("non-tcp") | str("any"))
|
45016
45017
|
),
|
45017
|
-
|
45018
|
-
|
45018
|
+
s(str("drop-profile"),
|
45019
|
+
arg
|
45019
45020
|
)
|
45020
45021
|
)
|
45021
45022
|
).as(:oneline),
|
@@ -83449,8 +83450,8 @@ module Junoser
|
|
83449
83450
|
str("no-neighbor-learn"),
|
83450
83451
|
str("no-multicast-echo"),
|
83451
83452
|
str("extended-echo"),
|
83452
|
-
str("no-redirects"),
|
83453
83453
|
str("no-redirects-ipv6"),
|
83454
|
+
str("no-redirects"),
|
83454
83455
|
str("nd-override-preferred-src"),
|
83455
83456
|
str("no-ping-record-route"),
|
83456
83457
|
str("no-ping-time-stamp"),
|
data/lib/junoser/ruler.rb
CHANGED
@@ -96,6 +96,19 @@ module Junoser
|
|
96
96
|
'prefix_list_items'], $1)
|
97
97
|
end
|
98
98
|
|
99
|
+
str.gsub!(/^(\s*)"drop-profile-map" \(\s*s\(\s*"loss-priority" \(\s*(.*\s*\),)\s*"protocol" \(\s*(.*\s*\),)\s*c\(\s*"drop-profile" (.*)/) do
|
100
|
+
format([
|
101
|
+
'"drop-profile-map" (',
|
102
|
+
' s(',
|
103
|
+
' s("loss-priority",',
|
104
|
+
" #{$2}",
|
105
|
+
' s("protocol",',
|
106
|
+
" #{$3}",
|
107
|
+
' s("drop-profile",',
|
108
|
+
" #{$4}"
|
109
|
+
], $1)
|
110
|
+
end
|
111
|
+
|
99
112
|
#
|
100
113
|
# "arg" matches anything so move to the end
|
101
114
|
#
|
@@ -138,6 +151,8 @@ module Junoser
|
|
138
151
|
str.gsub!(/"snmp"(.*\s*.*)"snmptrap"/) { %["snmptrap"#{$1}"snmp"] }
|
139
152
|
str.gsub!(/"ospf"(.*\s*.*)"ospf3"/) { %["ospf3"#{$1}"ospf"] }
|
140
153
|
str.gsub!(/"deny"(.*\s*.*)"deny-password"/) { %["deny-password"#{$1}"deny"] }
|
154
|
+
str.gsub!(/"no-redirects"(.*\s*.*)"no-redirects-ipv6"/) { %["no-redirects-ipv6"#{$1}"no-redirects"] }
|
155
|
+
str.gsub!(/"chassis"([^()]*)"chassis-ha-reswatch"/m) { %["chassis-ha-reswatch"#{$1}"chassis"] }
|
141
156
|
str.gsub! '"tls1" | "tls11" | "tls12"', '"tls11" | "tls12" | "tls1"'
|
142
157
|
str.gsub!(/("group1" \| "group2" \| "group5") \| ([^)]+)/) { "#{$2} | #{$1}" }
|
143
158
|
|
@@ -252,6 +267,9 @@ module Junoser
|
|
252
267
|
# Fix .xsd: support "set interfaces xxx ether-options speed"
|
253
268
|
str.gsub! '"ethernet-1', '"1'
|
254
269
|
|
270
|
+
# Fix .xsd: support "set policy-options policy-statement xxx from policy [expression]"
|
271
|
+
str.gsub!(/^rule\(:policy_algebra\) do(\s*)arg\.as\(:arg\)\send/) { "rule(:policy_algebra) do#{$1}any.as(:arg)\nend" }
|
272
|
+
|
255
273
|
str
|
256
274
|
end
|
257
275
|
|
data/lib/junoser/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: junoser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shintaro Kojima
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-07-
|
11
|
+
date: 2023-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parslet
|