junoser 0.7.3 → 0.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2e6df480657c3d5918488f74cce4fb003d9f8b5472957d328966d77fc95a1ffe
4
- data.tar.gz: 8dd2431e38b33a0f2364610f62960d6dfc6c4117a94bbc4b86b3b39e1b1f46af
3
+ metadata.gz: 12351e81f0171b437b21495350678fbaf6da7a1f891651122f011c4ec502fad7
4
+ data.tar.gz: 28611ae8ffe0f20d1f9fe3940716164bdda7003b818a7589b274dea346361186
5
5
  SHA512:
6
- metadata.gz: 04a55401f9bcadfae291d179df38fd4c024947593b8c6c3910898edcd54ef549712378c3dc188a24bf45a5b968a1a545bc8079387a61551ce6e0d81f08e95d6d
7
- data.tar.gz: 0b2695675044a3d3393522294f9f1863c2aab48126697a249134eb097a0338c878cf58fde4f200cbb19f7b7ddf9f43c2459bd72ba23614b1774d03088d56fcdb
6
+ metadata.gz: 6a2ea0ec812c54f815fb10ccf5f6c9635c75e018e56da8269ef37e69b7b462d14739bcb4ac4ee3d4d2ce3018541fe439f6101271d68e313aeb4fba82e0cbb749
7
+ data.tar.gz: 60d905971c8741415e9833d463e27e3090006f2067223f7b0bda057054a8a945f6d7e7cd5112ddb33f7abdc8cefc33f9fd1c9245e983ae4b236a4b3ac27e4bd0
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.7.4] - 2026-03-17
2
+
3
+ ### Fixed
4
+
5
+ * "security ... policy xxx match (source|destination)-address any-(ipv4|ipv6)" was unexpectedly marked as invalid
6
+
7
+
1
8
  ## [0.7.3] - 2025-10-02
2
9
 
3
10
  ### Added
data/Gemfile.lock CHANGED
@@ -1,51 +1,61 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- junoser (0.7.3)
4
+ junoser (0.7.4)
5
5
  parslet
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
+ addressable (2.8.9)
11
+ public_suffix (>= 2.0.2, < 8.0)
10
12
  ast (2.4.3)
11
- json (2.15.0)
13
+ bigdecimal (4.0.1)
14
+ json (2.19.1)
15
+ json-schema (6.2.0)
16
+ addressable (~> 2.8)
17
+ bigdecimal (>= 3.1, < 5)
12
18
  language_server-protocol (3.17.0.5)
13
19
  lint_roller (1.1.0)
20
+ mcp (0.8.0)
21
+ json-schema (>= 4.1)
14
22
  mini_portile2 (2.8.9)
15
- nokogiri (1.18.10)
23
+ nokogiri (1.19.1)
16
24
  mini_portile2 (~> 2.8.2)
17
25
  racc (~> 1.4)
18
26
  parallel (1.27.0)
19
- parser (3.3.9.0)
27
+ parser (3.3.10.2)
20
28
  ast (~> 2.4.1)
21
29
  racc
22
30
  parslet (2.0.0)
23
- power_assert (2.0.5)
24
- prism (1.5.1)
31
+ power_assert (3.0.1)
32
+ prism (1.9.0)
33
+ public_suffix (7.0.5)
25
34
  racc (1.8.1)
26
35
  rainbow (3.1.1)
27
- rake (13.3.0)
36
+ rake (13.3.1)
28
37
  regexp_parser (2.11.3)
29
- rubocop (1.81.1)
38
+ rubocop (1.85.1)
30
39
  json (~> 2.3)
31
40
  language_server-protocol (~> 3.17.0.2)
32
41
  lint_roller (~> 1.1.0)
42
+ mcp (~> 0.6)
33
43
  parallel (~> 1.10)
34
44
  parser (>= 3.3.0.2)
35
45
  rainbow (>= 2.2.2, < 4.0)
36
46
  regexp_parser (>= 2.9.3, < 3.0)
37
- rubocop-ast (>= 1.47.1, < 2.0)
47
+ rubocop-ast (>= 1.49.0, < 2.0)
38
48
  ruby-progressbar (~> 1.7)
39
49
  unicode-display_width (>= 2.4.0, < 4.0)
40
- rubocop-ast (1.47.1)
50
+ rubocop-ast (1.49.1)
41
51
  parser (>= 3.3.7.2)
42
- prism (~> 1.4)
52
+ prism (~> 1.7)
43
53
  ruby-progressbar (1.13.0)
44
- test-unit (3.7.0)
54
+ test-unit (3.7.7)
45
55
  power_assert
46
56
  unicode-display_width (3.2.0)
47
57
  unicode-emoji (~> 4.1)
48
- unicode-emoji (4.1.0)
58
+ unicode-emoji (4.2.0)
49
59
 
50
60
  PLATFORMS
51
61
  ruby
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2015-2025 Shintaro Kojima
3
+ Copyright (c) 2015-2026 Shintaro Kojima
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,7 +1,6 @@
1
1
  # Junoser
2
2
 
3
3
  [![Test on Ubuntu](https://github.com/codeout/junoser/actions/workflows/test-linux.yaml/badge.svg)](https://github.com/codeout/junoser/actions/workflows/test-linux.yaml)
4
- [![Code Climate](https://codeclimate.com/github/codeout/junoser.png)](https://codeclimate.com/github/codeout/junoser)
5
4
  [![Inline docs](http://inch-ci.org/github/codeout/junoser.svg)](http://inch-ci.org/github/codeout/junoser)
6
5
 
7
6
  Junoser is a JUNOS configuration PEG parser which can be automatically generated from Juniper's netconf.xsd. (XML Schema Definition for NETCONF)
@@ -103,4 +102,4 @@ Or send a pull request to fix.
103
102
 
104
103
  ## Copyright and License
105
104
 
106
- Copyright (c) 2015-2025 Shintaro Kojima. Code released under the [MIT license](LICENSE.txt).
105
+ Copyright (c) 2015-2026 Shintaro Kojima. Code released under the [MIT license](LICENSE.txt).
@@ -30666,7 +30666,7 @@ module Junoser
30666
30666
  ),
30667
30667
  c(
30668
30668
  b(str("source-address"),
30669
- (str("any") | str("any-ipv4") | str("any-ipv6") | arg)
30669
+ (str("any-ipv4") | str("any-ipv6") | str("any") | arg)
30670
30670
  ),
30671
30671
  b(str("source-except"),
30672
30672
  (arg)
@@ -30683,7 +30683,7 @@ module Junoser
30683
30683
  ),
30684
30684
  c(
30685
30685
  b(str("destination-address"),
30686
- (str("any") | str("any-ipv4") | str("any-ipv6") | arg)
30686
+ (str("any-ipv4") | str("any-ipv6") | str("any") | arg)
30687
30687
  ),
30688
30688
  b(str("destination-except"),
30689
30689
  (arg)
@@ -30800,7 +30800,7 @@ module Junoser
30800
30800
  ),
30801
30801
  c(
30802
30802
  b(str("source-address"),
30803
- (str("any") | str("any-ipv4") | str("any-ipv6") | arg)
30803
+ (str("any-ipv4") | str("any-ipv6") | str("any") | arg)
30804
30804
  ),
30805
30805
  b(str("source-except"),
30806
30806
  (arg)
@@ -30817,7 +30817,7 @@ module Junoser
30817
30817
  ),
30818
30818
  c(
30819
30819
  b(str("destination-address"),
30820
- (str("any") | str("any-ipv4") | str("any-ipv6") | arg)
30820
+ (str("any-ipv4") | str("any-ipv6") | str("any") | arg)
30821
30821
  ),
30822
30822
  b(str("destination-except"),
30823
30823
  (arg)
@@ -132365,12 +132365,12 @@ module Junoser
132365
132365
  c(
132366
132366
  c(
132367
132367
  b(str("source-address"),
132368
- (str("any") | str("any-ipv4") | str("any-ipv6") | arg)
132368
+ (str("any-ipv4") | str("any-ipv6") | str("any") | arg)
132369
132369
  )
132370
132370
  ),
132371
132371
  c(
132372
132372
  b(str("destination-address"),
132373
- (str("any") | str("any-ipv4") | str("any-ipv6") | arg)
132373
+ (str("any-ipv4") | str("any-ipv6") | str("any") | arg)
132374
132374
  )
132375
132375
  ),
132376
132376
  str("source-address-excluded"),
@@ -133404,12 +133404,12 @@ module Junoser
133404
133404
  c(
133405
133405
  c(
133406
133406
  b(str("source-address"),
133407
- (str("any") | str("any-ipv4") | str("any-ipv6") | arg)
133407
+ (str("any-ipv4") | str("any-ipv6") | str("any") | arg)
133408
133408
  )
133409
133409
  ),
133410
133410
  c(
133411
133411
  b(str("destination-address"),
133412
- (str("any") | str("any-ipv4") | str("any-ipv6") | arg)
133412
+ (str("any-ipv4") | str("any-ipv6") | str("any") | arg)
133413
133413
  )
133414
133414
  ),
133415
133415
  str("source-address-excluded"),
data/lib/junoser/ruler.rb CHANGED
@@ -164,7 +164,9 @@ module Junoser
164
164
  ' a(arg, arg)'], '')
165
165
  end
166
166
 
167
- # Fix overkill
167
+ str.gsub! '"any" | "any-ipv4" | "any-ipv6"', '"any-ipv4" | "any-ipv6" | "any"'
168
+
169
+ # Fix overkill
168
170
  str.gsub!(/^(\s*)"priority" \(\s*ca\(\s*arg\s*\)/) do
169
171
  fmt(['"priority" (',
170
172
  ' a(arg, arg)', $1])
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Junoser
4
- VERSION = '0.7.3'
4
+ VERSION = '0.7.4'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: junoser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.3
4
+ version: 0.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shintaro Kojima
@@ -94,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
94
  - !ruby/object:Gem::Version
95
95
  version: '0'
96
96
  requirements: []
97
- rubygems_version: 3.6.9
97
+ rubygems_version: 4.0.3
98
98
  specification_version: 4
99
99
  summary: PEG parser for JUNOS configuration.
100
100
  test_files: []