openscap_parser 1.0.0 → 1.1.0
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/lib/openscap_parser/benchmark.rb +2 -0
- data/lib/openscap_parser/fix.rb +55 -0
- data/lib/openscap_parser/fixes.rb +21 -0
- data/lib/openscap_parser/group.rb +73 -0
- data/lib/openscap_parser/groups.rb +22 -0
- data/lib/openscap_parser/oval_report.rb +24 -0
- data/lib/openscap_parser/profile.rb +0 -7
- data/lib/openscap_parser/rule.rb +44 -0
- data/lib/openscap_parser/rule_identifier.rb +7 -0
- data/lib/openscap_parser/rule_result.rb +10 -0
- data/lib/openscap_parser/selectors.rb +9 -0
- data/lib/openscap_parser/set_value.rb +18 -0
- data/lib/openscap_parser/set_values.rb +21 -0
- data/lib/openscap_parser/sub.rb +18 -0
- data/lib/openscap_parser/subs.rb +38 -0
- data/lib/openscap_parser/tailoring_file.rb +2 -0
- data/lib/openscap_parser/test_result.rb +2 -0
- data/lib/openscap_parser/test_result_file.rb +3 -0
- data/lib/openscap_parser/version.rb +1 -1
- data/lib/openscap_parser/xml_node.rb +4 -0
- data/lib/openscap_parser.rb +2 -0
- data/lib/oval/definition.rb +47 -0
- data/lib/oval/definition_result.rb +17 -0
- data/lib/oval/reference.rb +21 -0
- data/openscap_parser.gemspec +1 -1
- metadata +17 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 159fcf26b6fe71666a9d057d89d772589ac8436d783b7773556121b6b5c11654
|
4
|
+
data.tar.gz: f8181135885961c284b2dabfd4de0408d8888e7cf4271da699f0e42fc0e30bf6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be89da681f6a355591027ce73b0dd3a68bcbd73bcc442a2d4e21c2a51485a9e841d493bafef8757aff5f85025e0a5251d3b1519801b2fdb1343fe070b165fe6b
|
7
|
+
data.tar.gz: 8949839744c203ec9074e3069097a3d98739eb65c7a76841c117f456eb02c55c3eee1576cf3b550501012b52f549d8aaaac0f601350d5f92e37a79e2a6602117
|
@@ -5,6 +5,7 @@ require 'openscap_parser/xml_file'
|
|
5
5
|
require 'openscap_parser/rules'
|
6
6
|
require 'openscap_parser/profiles'
|
7
7
|
require 'openscap_parser/rule_references'
|
8
|
+
require 'openscap_parser/groups'
|
8
9
|
|
9
10
|
# Mimics openscap-ruby Benchmark interface
|
10
11
|
module OpenscapParser
|
@@ -13,6 +14,7 @@ module OpenscapParser
|
|
13
14
|
include OpenscapParser::Rules
|
14
15
|
include OpenscapParser::RuleReferences
|
15
16
|
include OpenscapParser::Profiles
|
17
|
+
include OpenscapParser::Groups
|
16
18
|
|
17
19
|
def id
|
18
20
|
@id ||= @parsed_xml['id']
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'openscap_parser/xml_node'
|
3
|
+
require 'openscap_parser/subs'
|
4
|
+
|
5
|
+
module OpenscapParser
|
6
|
+
class Fix < XmlNode
|
7
|
+
include OpenscapParser::Subs
|
8
|
+
|
9
|
+
def id
|
10
|
+
@id ||= @parsed_xml['id']
|
11
|
+
end
|
12
|
+
|
13
|
+
def system
|
14
|
+
@system ||= @parsed_xml['system']
|
15
|
+
end
|
16
|
+
|
17
|
+
def complexity
|
18
|
+
@complexity ||= @parsed_xml['complexity']
|
19
|
+
end
|
20
|
+
|
21
|
+
def disruption
|
22
|
+
@disruption ||= @parsed_xml['disruption']
|
23
|
+
end
|
24
|
+
|
25
|
+
def strategy
|
26
|
+
@strategy ||= @parsed_xml['strategy']
|
27
|
+
end
|
28
|
+
|
29
|
+
def full_text(set_values)
|
30
|
+
full_text_lines(set_values).join('')
|
31
|
+
end
|
32
|
+
|
33
|
+
def full_text_lines(set_values)
|
34
|
+
map_child_nodes(set_values).map do |text_node|
|
35
|
+
text_node.respond_to?(:text) ? text_node.text : ''
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def map_child_nodes(set_values = [])
|
40
|
+
map_sub_nodes @parsed_xml.children, set_values
|
41
|
+
end
|
42
|
+
|
43
|
+
def to_h
|
44
|
+
{
|
45
|
+
:id => id,
|
46
|
+
:system => system,
|
47
|
+
:complexity => complexity,
|
48
|
+
:disruption => disruption,
|
49
|
+
:strategy => strategy,
|
50
|
+
:text => text,
|
51
|
+
:subs => subs.map(&:to_h)
|
52
|
+
}
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'openscap_parser/fix'
|
4
|
+
|
5
|
+
module OpenscapParser
|
6
|
+
module Fixes
|
7
|
+
def self.included(base)
|
8
|
+
base.class_eval do
|
9
|
+
def fixes
|
10
|
+
@fixes ||= fix_nodes.map do |fix_node|
|
11
|
+
OpenscapParser::Fix.new(parsed_xml: fix_node)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def fix_nodes(xpath = ".//fix")
|
16
|
+
xpath_nodes(xpath)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module OpenscapParser
|
3
|
+
class Group < XmlNode
|
4
|
+
include OpenscapParser::Util
|
5
|
+
|
6
|
+
def id
|
7
|
+
@id ||= parsed_xml['id']
|
8
|
+
end
|
9
|
+
|
10
|
+
def title
|
11
|
+
@title ||= parsed_xml.at_css('title') &&
|
12
|
+
parsed_xml.at_css('title').text
|
13
|
+
end
|
14
|
+
|
15
|
+
def description
|
16
|
+
@description ||= newline_to_whitespace(
|
17
|
+
parsed_xml.at_css('description') &&
|
18
|
+
parsed_xml.at_css('description').text || ''
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
def rationale
|
23
|
+
@rationale ||= newline_to_whitespace(
|
24
|
+
parsed_xml.at_css('rationale') &&
|
25
|
+
parsed_xml.at_css('rationale').text || ''
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
def requires
|
30
|
+
@requires ||= parsed_xml.xpath('./requires') &&
|
31
|
+
parsed_xml.xpath('./requires/@idref').flat_map do |r|
|
32
|
+
r.to_s&.split
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def conflicts
|
37
|
+
@conflicts ||= parsed_xml.xpath('./conflicts') &&
|
38
|
+
parsed_xml.xpath('./conflicts/@idref').flat_map do |c|
|
39
|
+
c.to_s&.split
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def selected
|
44
|
+
@selected ||= parsed_xml['selected']
|
45
|
+
end
|
46
|
+
|
47
|
+
def parent_id
|
48
|
+
@parent_id = parsed_xml.xpath('../@id').to_s
|
49
|
+
end
|
50
|
+
|
51
|
+
def parent_type
|
52
|
+
if parsed_xml.xpath("name(..)='Group'")
|
53
|
+
@parent_type = 'Group'
|
54
|
+
else
|
55
|
+
@parent_type = 'Benchmark'
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def to_h
|
60
|
+
{
|
61
|
+
:id => id,
|
62
|
+
:title => title,
|
63
|
+
:description => description,
|
64
|
+
:requires => requires,
|
65
|
+
:conflicts => conflicts,
|
66
|
+
:rationale => rationale,
|
67
|
+
:selected => selected,
|
68
|
+
:parent_id => parent_id,
|
69
|
+
:parent_type => parent_type
|
70
|
+
}
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'openscap_parser/group'
|
4
|
+
|
5
|
+
module OpenscapParser
|
6
|
+
# Methods related to finding and saving rule references
|
7
|
+
module Groups
|
8
|
+
def self.included(base)
|
9
|
+
base.class_eval do
|
10
|
+
def groups
|
11
|
+
@groups ||= group_nodes.map do |group_node|
|
12
|
+
OpenscapParser::Group.new(parsed_xml: group_node)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def group_nodes(xpath = './/Group')
|
17
|
+
xpath_nodes(xpath)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'openscap_parser/xml_file'
|
3
|
+
require 'oval/definition_result'
|
4
|
+
require 'oval/definition'
|
5
|
+
|
6
|
+
module OpenscapParser
|
7
|
+
class OvalReport < XmlFile
|
8
|
+
def definition_results
|
9
|
+
@definition_results ||= definition_result_nodes.map { |node| ::Oval::DefinitionResult.new parsed_xml: node }
|
10
|
+
end
|
11
|
+
|
12
|
+
def definition_result_nodes(xpath = "./oval_results/results/system/definitions/definition")
|
13
|
+
xpath_nodes(xpath)
|
14
|
+
end
|
15
|
+
|
16
|
+
def definitions
|
17
|
+
@definitions ||= definition_nodes.map { |node| Oval::Definition.new parsed_xml: node }
|
18
|
+
end
|
19
|
+
|
20
|
+
def definition_nodes(xpath = "./oval_results/oval_definitions/definitions/definition")
|
21
|
+
xpath_nodes(xpath)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -24,13 +24,6 @@ module OpenscapParser
|
|
24
24
|
@parsed_xml.xpath("select[@selected='true']/@idref").map(&:text)
|
25
25
|
end
|
26
26
|
|
27
|
-
def set_values
|
28
|
-
@set_values ||= @parsed_xml.xpath("set-value") &&
|
29
|
-
@parsed_xml.xpath("set-value").map do |set_value|
|
30
|
-
[set_value['idref'], set_value.text]
|
31
|
-
end.to_h
|
32
|
-
end
|
33
|
-
|
34
27
|
def to_h
|
35
28
|
{ :id => id, :title => title, :description => description }
|
36
29
|
end
|
data/lib/openscap_parser/rule.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'openscap_parser/rule_identifier'
|
4
4
|
require 'openscap_parser/rule_references'
|
5
|
+
require 'openscap_parser/fixes'
|
5
6
|
require 'openscap_parser/xml_file'
|
6
7
|
|
7
8
|
# Mimics openscap-ruby Rule interface
|
@@ -9,6 +10,7 @@ module OpenscapParser
|
|
9
10
|
class Rule < XmlNode
|
10
11
|
include OpenscapParser::Util
|
11
12
|
include OpenscapParser::RuleReferences
|
13
|
+
include OpenscapParser::Fixes
|
12
14
|
|
13
15
|
def id
|
14
16
|
@id ||= parsed_xml['id']
|
@@ -27,6 +29,20 @@ module OpenscapParser
|
|
27
29
|
parsed_xml.at_css('title').text
|
28
30
|
end
|
29
31
|
|
32
|
+
def requires
|
33
|
+
@requires ||= parsed_xml.xpath('./requires') &&
|
34
|
+
parsed_xml.xpath('./requires/@idref').flat_map do |r|
|
35
|
+
r.to_s&.split
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def conflicts
|
40
|
+
@conflicts ||= parsed_xml.xpath('./conflicts') &&
|
41
|
+
parsed_xml.xpath('./conflicts/@idref').flat_map do |c|
|
42
|
+
c.to_s&.split
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
30
46
|
def description
|
31
47
|
@description ||= newline_to_whitespace(
|
32
48
|
parsed_xml.at_css('description') &&
|
@@ -54,5 +70,33 @@ module OpenscapParser
|
|
54
70
|
def identifier_node
|
55
71
|
@identifier_node ||= parsed_xml.at_xpath('ident')
|
56
72
|
end
|
73
|
+
|
74
|
+
def parent_id
|
75
|
+
parsed_xml.xpath('../@id').to_s
|
76
|
+
end
|
77
|
+
|
78
|
+
def parent_type
|
79
|
+
if parsed_xml.xpath("name(..)='Group'")
|
80
|
+
@parent_type = 'Group'
|
81
|
+
else
|
82
|
+
@parent_type = 'Benchmark'
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
def to_h
|
87
|
+
{
|
88
|
+
:id => id,
|
89
|
+
:selected => selected,
|
90
|
+
:severity => severity,
|
91
|
+
:title => title,
|
92
|
+
:requires => requires,
|
93
|
+
:conflicts => conflicts,
|
94
|
+
:description => description,
|
95
|
+
:rationale => rationale,
|
96
|
+
:identifier => rule_identifier.to_h,
|
97
|
+
:parent_id => parent_id,
|
98
|
+
:parent_type => parent_type
|
99
|
+
}
|
100
|
+
end
|
57
101
|
end
|
58
102
|
end
|
@@ -22,6 +22,16 @@ module OpenscapParser
|
|
22
22
|
@result ||= parsed_xml.at_xpath('result') &&
|
23
23
|
parsed_xml.at_xpath('result').text || ''
|
24
24
|
end
|
25
|
+
|
26
|
+
def to_h
|
27
|
+
{
|
28
|
+
:id => id,
|
29
|
+
:time => time,
|
30
|
+
:severity => severity,
|
31
|
+
:weight => weight,
|
32
|
+
:result => result
|
33
|
+
}
|
34
|
+
end
|
25
35
|
end
|
26
36
|
end
|
27
37
|
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'openscap_parser/xml_node'
|
3
|
+
|
4
|
+
module OpenscapParser
|
5
|
+
class SetValue < XmlNode
|
6
|
+
def id
|
7
|
+
@id ||= @parsed_xml['idref']
|
8
|
+
end
|
9
|
+
|
10
|
+
def text
|
11
|
+
@text ||= @parsed_xml.text
|
12
|
+
end
|
13
|
+
|
14
|
+
def to_h
|
15
|
+
{ :id => id, :text => text }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'openscap_parser/set_value'
|
4
|
+
|
5
|
+
module OpenscapParser
|
6
|
+
module SetValues
|
7
|
+
def self.included(base)
|
8
|
+
base.class_eval do
|
9
|
+
def set_values
|
10
|
+
@set_values ||= set_value_nodes.map do |set_value_node|
|
11
|
+
OpenscapParser::SetValue.new(parsed_xml: set_value_node)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def set_value_nodes(xpath = ".//set-value")
|
16
|
+
xpath_nodes(xpath)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'openscap_parser/xml_node'
|
3
|
+
|
4
|
+
module OpenscapParser
|
5
|
+
class Sub < XmlNode
|
6
|
+
def id
|
7
|
+
@id ||= @parsed_xml['idref']
|
8
|
+
end
|
9
|
+
|
10
|
+
def use
|
11
|
+
@use ||= @parsed_xml['use']
|
12
|
+
end
|
13
|
+
|
14
|
+
def to_h
|
15
|
+
{ :id => id, :text => text, :use => use }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'openscap_parser/sub'
|
4
|
+
|
5
|
+
module OpenscapParser
|
6
|
+
module Subs
|
7
|
+
def self.included(base)
|
8
|
+
base.class_eval do
|
9
|
+
def subs
|
10
|
+
return [] unless sub_nodes
|
11
|
+
@subs ||= sub_nodes.map do |xml|
|
12
|
+
Sub.new(parsed_xml: xml)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def sub_nodes(xpath = './/sub')
|
17
|
+
@sub_nodes ||= xpath_nodes(xpath)
|
18
|
+
end
|
19
|
+
|
20
|
+
def map_sub_nodes(children, set_values)
|
21
|
+
children.map do |child|
|
22
|
+
next child if child.name == 'text'
|
23
|
+
next replace_sub(Sub.new(parsed_xml: child), set_values) if child.name == 'sub'
|
24
|
+
child
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def replace_sub(sub, set_values)
|
31
|
+
set_value = set_values.find { |set_value| set_value.id == sub.id }
|
32
|
+
return unless set_value
|
33
|
+
set_value.parsed_xml.children.first
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -1,10 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'openscap_parser/rule_results'
|
4
|
+
require 'openscap_parser/selectors'
|
4
5
|
|
5
6
|
module OpenscapParser
|
6
7
|
class TestResult < XmlNode
|
7
8
|
include OpenscapParser::RuleResults
|
9
|
+
include OpenscapParser::Selectors
|
8
10
|
|
9
11
|
def target
|
10
12
|
@target ||= parsed_xml.at_xpath('target') &&
|
data/lib/openscap_parser.rb
CHANGED
@@ -6,6 +6,7 @@ require 'openscap_parser/benchmarks'
|
|
6
6
|
require 'openscap_parser/test_results'
|
7
7
|
require 'openscap_parser/profiles'
|
8
8
|
require 'openscap_parser/rules'
|
9
|
+
require 'openscap_parser/groups'
|
9
10
|
require 'openscap_parser/rule_results'
|
10
11
|
require 'openscap_parser/tailorings'
|
11
12
|
|
@@ -13,6 +14,7 @@ require 'openscap_parser/xml_file'
|
|
13
14
|
require 'openscap_parser/datastream_file'
|
14
15
|
require 'openscap_parser/test_result_file'
|
15
16
|
require 'openscap_parser/tailoring_file'
|
17
|
+
require 'openscap_parser/oval_report'
|
16
18
|
|
17
19
|
require 'date'
|
18
20
|
require 'railtie' if defined?(Rails)
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require "openscap_parser/xml_node"
|
2
|
+
require "oval/reference"
|
3
|
+
|
4
|
+
module Oval
|
5
|
+
class Definition < ::OpenscapParser::XmlNode
|
6
|
+
def id
|
7
|
+
@id ||= @parsed_xml['id']
|
8
|
+
end
|
9
|
+
|
10
|
+
def version
|
11
|
+
@version ||= @parsed_xml['version']
|
12
|
+
end
|
13
|
+
|
14
|
+
def klass
|
15
|
+
@klass ||= @parsed_xml['class']
|
16
|
+
end
|
17
|
+
|
18
|
+
def title
|
19
|
+
xml = @parsed_xml.at_xpath("./metadata/title")
|
20
|
+
@title ||= xml && xml.text
|
21
|
+
end
|
22
|
+
|
23
|
+
def description
|
24
|
+
xml = @parsed_xml.at_xpath("./metadata/description")
|
25
|
+
@description ||= xml && xml.text
|
26
|
+
end
|
27
|
+
|
28
|
+
def reference_nodes
|
29
|
+
@reference_nodes ||= @parsed_xml.xpath("./metadata/reference")
|
30
|
+
end
|
31
|
+
|
32
|
+
def references
|
33
|
+
@references ||= reference_nodes.map { |node| Reference.new parsed_xml: node }
|
34
|
+
end
|
35
|
+
|
36
|
+
def to_h
|
37
|
+
{
|
38
|
+
:id => id,
|
39
|
+
:version => version,
|
40
|
+
:klass => klass,
|
41
|
+
:title => title,
|
42
|
+
:description => description,
|
43
|
+
:references => references.map(&:to_h)
|
44
|
+
}
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'openscap_parser/xml_node'
|
2
|
+
|
3
|
+
module Oval
|
4
|
+
class DefinitionResult < ::OpenscapParser::XmlNode
|
5
|
+
def definition_id
|
6
|
+
@definition_id ||= @parsed_xml['definition_id']
|
7
|
+
end
|
8
|
+
|
9
|
+
def result
|
10
|
+
@result ||= @parsed_xml['result']
|
11
|
+
end
|
12
|
+
|
13
|
+
def to_h
|
14
|
+
{ :id => definition_id, :result => result }
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require "openscap_parser/xml_node"
|
2
|
+
|
3
|
+
module Oval
|
4
|
+
class Reference < ::OpenscapParser::XmlNode
|
5
|
+
def source
|
6
|
+
@source ||= @parsed_xml['source']
|
7
|
+
end
|
8
|
+
|
9
|
+
def ref_id
|
10
|
+
@ref_id ||= @parsed_xml['ref_id']
|
11
|
+
end
|
12
|
+
|
13
|
+
def ref_url
|
14
|
+
@ref_url ||= @parsed_xml['ref_url']
|
15
|
+
end
|
16
|
+
|
17
|
+
def to_h
|
18
|
+
{ :source => source, :ref_id => ref_id, :ref_url => ref_url }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/openscap_parser.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
|
|
11
11
|
|
12
12
|
spec.summary = %q{Parse OpenSCAP content}
|
13
13
|
spec.description = %q{This gem is a Ruby interface into SCAP content. It can parse SCAP datastream files (i.e. ssg-rhel7-ds.xml), scan result files output by oscap eval, and tailoring files.}
|
14
|
-
spec.homepage = 'https://github.com/
|
14
|
+
spec.homepage = 'https://github.com/OpenSCAP/openscap_parser'
|
15
15
|
spec.license = 'MIT'
|
16
16
|
|
17
17
|
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openscap_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Lobato Garcia
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-03-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -149,6 +149,11 @@ files:
|
|
149
149
|
- lib/openscap_parser/benchmark.rb
|
150
150
|
- lib/openscap_parser/benchmarks.rb
|
151
151
|
- lib/openscap_parser/datastream_file.rb
|
152
|
+
- lib/openscap_parser/fix.rb
|
153
|
+
- lib/openscap_parser/fixes.rb
|
154
|
+
- lib/openscap_parser/group.rb
|
155
|
+
- lib/openscap_parser/groups.rb
|
156
|
+
- lib/openscap_parser/oval_report.rb
|
152
157
|
- lib/openscap_parser/profile.rb
|
153
158
|
- lib/openscap_parser/profiles.rb
|
154
159
|
- lib/openscap_parser/rule.rb
|
@@ -158,6 +163,11 @@ files:
|
|
158
163
|
- lib/openscap_parser/rule_result.rb
|
159
164
|
- lib/openscap_parser/rule_results.rb
|
160
165
|
- lib/openscap_parser/rules.rb
|
166
|
+
- lib/openscap_parser/selectors.rb
|
167
|
+
- lib/openscap_parser/set_value.rb
|
168
|
+
- lib/openscap_parser/set_values.rb
|
169
|
+
- lib/openscap_parser/sub.rb
|
170
|
+
- lib/openscap_parser/subs.rb
|
161
171
|
- lib/openscap_parser/tailoring.rb
|
162
172
|
- lib/openscap_parser/tailoring_file.rb
|
163
173
|
- lib/openscap_parser/tailorings.rb
|
@@ -168,13 +178,16 @@ files:
|
|
168
178
|
- lib/openscap_parser/version.rb
|
169
179
|
- lib/openscap_parser/xml_file.rb
|
170
180
|
- lib/openscap_parser/xml_node.rb
|
181
|
+
- lib/oval/definition.rb
|
182
|
+
- lib/oval/definition_result.rb
|
183
|
+
- lib/oval/reference.rb
|
171
184
|
- lib/railtie.rb
|
172
185
|
- lib/ssg.rb
|
173
186
|
- lib/ssg/downloader.rb
|
174
187
|
- lib/ssg/unarchiver.rb
|
175
188
|
- lib/tasks/ssg.rake
|
176
189
|
- openscap_parser.gemspec
|
177
|
-
homepage: https://github.com/
|
190
|
+
homepage: https://github.com/OpenSCAP/openscap_parser
|
178
191
|
licenses:
|
179
192
|
- MIT
|
180
193
|
metadata: {}
|
@@ -193,7 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
206
|
- !ruby/object:Gem::Version
|
194
207
|
version: '0'
|
195
208
|
requirements: []
|
196
|
-
rubygems_version: 3.
|
209
|
+
rubygems_version: 3.2.16
|
197
210
|
signing_key:
|
198
211
|
specification_version: 4
|
199
212
|
summary: Parse OpenSCAP content
|