openscap 0.4.8 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +7 -18
  3. data/Rakefile +4 -2
  4. data/lib/openscap/all.rb +2 -11
  5. data/lib/openscap/ds/arf.rb +5 -13
  6. data/lib/openscap/ds/sds.rb +9 -12
  7. data/lib/openscap/exceptions.rb +1 -10
  8. data/lib/openscap/libc.rb +1 -10
  9. data/lib/openscap/openscap.rb +11 -11
  10. data/lib/openscap/source.rb +12 -17
  11. data/lib/openscap/text.rb +35 -15
  12. data/lib/openscap/version.rb +2 -11
  13. data/lib/openscap/xccdf/benchmark.rb +65 -22
  14. data/lib/openscap/xccdf/fix.rb +6 -14
  15. data/lib/openscap/xccdf/group.rb +33 -10
  16. data/lib/openscap/xccdf/ident.rb +2 -10
  17. data/lib/openscap/xccdf/item.rb +36 -71
  18. data/lib/openscap/xccdf/item_common.rb +40 -0
  19. data/lib/openscap/xccdf/policy.rb +11 -10
  20. data/lib/openscap/xccdf/policy_model.rb +16 -16
  21. data/lib/openscap/xccdf/profile.rb +10 -19
  22. data/lib/openscap/xccdf/reference.rb +5 -13
  23. data/lib/openscap/xccdf/rule.rb +12 -25
  24. data/lib/openscap/xccdf/ruleresult.rb +1 -10
  25. data/lib/openscap/xccdf/session.rb +20 -30
  26. data/lib/openscap/xccdf/status.rb +35 -0
  27. data/lib/openscap/xccdf/tailoring.rb +4 -16
  28. data/lib/openscap/xccdf/testresult.rb +11 -26
  29. data/lib/openscap/xccdf/value.rb +1 -10
  30. data/lib/openscap/xccdf.rb +2 -11
  31. data/lib/openscap.rb +1 -10
  32. data/test/common/testcase.rb +2 -11
  33. data/test/data/sds-complex.xml +1 -1
  34. data/test/data/xccdf.xml +2 -1
  35. data/test/ds/arf_test.rb +11 -20
  36. data/test/ds/sds_test.rb +24 -15
  37. data/test/integration/arf_waiver_test.rb +6 -15
  38. data/test/openscap_test.rb +1 -10
  39. data/test/source_test.rb +14 -23
  40. data/test/text_test.rb +1 -10
  41. data/test/xccdf/arf_test.rb +2 -12
  42. data/test/xccdf/benchmark_test.rb +97 -20
  43. data/test/xccdf/item_test.rb +82 -0
  44. data/test/xccdf/policy_test.rb +36 -17
  45. data/test/xccdf/profile_test.rb +51 -18
  46. data/test/xccdf/session_ds_test.rb +14 -23
  47. data/test/xccdf/session_test.rb +3 -12
  48. data/test/xccdf/tailoring_test.rb +1 -10
  49. data/test/xccdf/testresult_test.rb +10 -19
  50. data/test/xccdf/value_test.rb +67 -0
  51. metadata +16 -27
@@ -1,13 +1,4 @@
1
- #
2
- # Copyright (c) 2016 Red Hat Inc.
3
- #
4
- # This software is licensed to you under the GNU General Public License,
5
- # version 2 (GPLv2). There is NO WARRANTY for this software, express or
6
- # implied, including the implied warranties of MERCHANTABILITY or FITNESS
7
- # FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
8
- # along with this software; if not, see
9
- # http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
10
- #
1
+ # frozen_string_literal: true
11
2
 
12
3
  require 'common/testcase'
13
4
  require 'openscap'
@@ -18,12 +9,40 @@ require 'openscap/xccdf/policy_model'
18
9
 
19
10
  class TestPolicy < OpenSCAP::TestCase
20
11
  def test_new_policy_model
21
- @s = OpenSCAP::Source.new '../data/xccdf.xml'
22
- b = OpenSCAP::Xccdf::Benchmark.new @s
23
- pm = OpenSCAP::Xccdf::PolicyModel.new b
24
- assert !b.nil?
25
- assert pm.policies.size == 1, pm.policies.to_s
26
- assert pm.policies['xccdf_org.ssgproject.content_profile_common']
27
- pm.destroy
12
+ with_policy_model do |pm|
13
+ assert pm.policies.size == 1, pm.policies.to_s
14
+ assert pm.policies['xccdf_org.ssgproject.content_profile_common']
15
+ end
16
+ end
17
+
18
+ def test_profile_getter
19
+ with_policy do |policy|
20
+ profile = policy.profile
21
+ assert_equal profile.id, 'xccdf_org.ssgproject.content_profile_common'
22
+ end
23
+ end
24
+
25
+ def test_selects_item
26
+ with_policy do |policy|
27
+ assert policy.selects_item?('xccdf_org.ssgproject.content_rule_disable_prelink')
28
+ refute policy.selects_item?('xccdf_org.ssgproject.content_rule_disable_vsftpd')
29
+ end
30
+ end
31
+
32
+ private
33
+
34
+ def with_policy(&)
35
+ with_policy_model do |pm|
36
+ yield pm.policies['xccdf_org.ssgproject.content_profile_common']
37
+ end
38
+ end
39
+
40
+ def with_policy_model(&)
41
+ OpenSCAP::Source.new '../data/xccdf.xml' do |source|
42
+ OpenSCAP::Xccdf::Benchmark.new source do |bench|
43
+ assert !bench.nil?
44
+ yield bench.policy_model
45
+ end
46
+ end
28
47
  end
29
48
  end
@@ -1,13 +1,4 @@
1
- #
2
- # Copyright (c) 2014 Red Hat Inc.
3
- #
4
- # This software is licensed to you under the GNU General Public License,
5
- # version 2 (GPLv2). There is NO WARRANTY for this software, express or
6
- # implied, including the implied warranties of MERCHANTABILITY or FITNESS
7
- # FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
8
- # along with this software; if not, see
9
- # http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
10
- #
1
+ # frozen_string_literal: true
11
2
 
12
3
  require 'common/testcase'
13
4
  require 'openscap'
@@ -17,13 +8,55 @@ require 'openscap/xccdf/profile'
17
8
 
18
9
  class TestProfile < OpenSCAP::TestCase
19
10
  def test_new_from_file
20
- @s = OpenSCAP::Source.new '../data/xccdf.xml'
21
- b = OpenSCAP::Xccdf::Benchmark.new @s
22
- assert !b.nil?
23
- assert b.profiles.size == 1, b.profiles.to_s
24
- profile1 = b.profiles['xccdf_org.ssgproject.content_profile_common']
25
- assert profile1
26
- assert profile1.title == 'Common Profile for General-Purpose Fedora Systems'
27
- b.destroy
11
+ with_profile do |p|
12
+ assert p.title == 'Common Profile for General-Purpose Fedora Systems'
13
+ end
14
+ end
15
+
16
+ def test_description_html
17
+ with_profile do |p|
18
+ assert_equal p.description, 'This profile contains items common to general-purpose Fedora installations.'
19
+ end
20
+ end
21
+
22
+ def test_status
23
+ with_profile do |p|
24
+ assert_nil p.status_current&.status
25
+ end
26
+ end
27
+
28
+ def test_version
29
+ with_profile do |p|
30
+ assert_equal p.version, '3.2.1'
31
+ end
32
+ end
33
+
34
+ def test_references
35
+ with_profile do |p|
36
+ assert_equal p.references, []
37
+ end
38
+ end
39
+
40
+ def test_abstract
41
+ with_profile do |p|
42
+ assert_false p.abstract?
43
+ end
44
+ end
45
+
46
+ private
47
+
48
+ def with_profile(&)
49
+ benchmark do |b|
50
+ assert b.profiles.size == 1, b.profiles.to_s
51
+ profile = b.profiles['xccdf_org.ssgproject.content_profile_common']
52
+ assert profile
53
+ yield profile
54
+ end
55
+ end
56
+
57
+ def benchmark(&)
58
+ OpenSCAP::Source.new '../data/xccdf.xml' do |source|
59
+ OpenSCAP::Xccdf::Benchmark.new(source, &)
60
+ end
28
61
  end
29
62
  end
@@ -1,13 +1,4 @@
1
- #
2
- # Copyright (c) 2014 Red Hat Inc.
3
- #
4
- # This software is licensed to you under the GNU General Public License,
5
- # version 2 (GPLv2). There is NO WARRANTY for this software, express or
6
- # implied, including the implied warranties of MERCHANTABILITY or FITNESS
7
- # FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
8
- # along with this software; if not, see
9
- # http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
10
- #
1
+ # frozen_string_literal: true
11
2
 
12
3
  require 'openscap'
13
4
  require 'common/testcase'
@@ -26,7 +17,7 @@ class TestSessionDS < OpenSCAP::TestCase
26
17
 
27
18
  def test_session_load_ds_comp
28
19
  @s = OpenSCAP::Xccdf::Session.new('../data/sds-complex.xml')
29
- @s.load(:datastream_id => 'scap_org.open-scap_datastream_tst2', :component_id => 'scap_org.open-scap_cref_second-xccdf.xml2')
20
+ @s.load(datastream_id: 'scap_org.open-scap_datastream_tst2', component_id: 'scap_org.open-scap_cref_second-xccdf.xml2')
30
21
  @s.evaluate
31
22
  end
32
23
 
@@ -34,7 +25,7 @@ class TestSessionDS < OpenSCAP::TestCase
34
25
  @s = OpenSCAP::Xccdf::Session.new('../data/sds-complex.xml')
35
26
  msg = nil
36
27
  begin
37
- @s.load(:datastream_id => 'nonexistent')
28
+ @s.load(datastream_id: 'nonexistent')
38
29
  assert false
39
30
  rescue OpenSCAP::OpenSCAPError => e
40
31
  msg = e.to_s
@@ -46,7 +37,7 @@ class TestSessionDS < OpenSCAP::TestCase
46
37
  @s = OpenSCAP::Xccdf::Session.new('../data/sds-complex.xml')
47
38
  msg = nil
48
39
  begin
49
- @s.load(:component_id => 'nonexistent')
40
+ @s.load(component_id: 'nonexistent')
50
41
  assert false
51
42
  rescue OpenSCAP::OpenSCAPError => e
52
43
  msg = e.to_s
@@ -56,7 +47,7 @@ class TestSessionDS < OpenSCAP::TestCase
56
47
 
57
48
  def test_session_set_profile
58
49
  @s = OpenSCAP::Xccdf::Session.new('../data/sds-complex.xml')
59
- @s.load(:component_id => 'scap_org.open-scap_cref_second-xccdf.xml')
50
+ @s.load(component_id: 'scap_org.open-scap_cref_second-xccdf.xml')
60
51
  @s.profile = 'xccdf_moc.elpmaxe.www_profile_1'
61
52
  @s.evaluate
62
53
  end
@@ -78,40 +69,40 @@ class TestSessionDS < OpenSCAP::TestCase
78
69
  @s = OpenSCAP::Xccdf::Session.new('../data/sds-complex.xml')
79
70
  @s.load
80
71
  @s.evaluate
81
- @s.export_results(:rds_file => 'report.rds.xml')
72
+ @s.export_results(rds_file: 'report.rds.xml')
82
73
  assert_exported ['report.rds.xml']
83
74
  end
84
75
 
85
76
  def test_session_export_xccdf_results
86
77
  @s = OpenSCAP::Xccdf::Session.new('../data/sds-complex.xml')
87
- @s.load(:component_id => 'scap_org.open-scap_cref_second-xccdf.xml')
78
+ @s.load(component_id: 'scap_org.open-scap_cref_second-xccdf.xml')
88
79
  @s.profile = 'xccdf_moc.elpmaxe.www_profile_1'
89
80
  @s.evaluate
90
- @s.export_results(:xccdf_file => 'result.xccdf.xml')
81
+ @s.export_results(xccdf_file: 'result.xccdf.xml')
91
82
  assert_exported ['result.xccdf.xml']
92
83
  end
93
84
 
94
85
  def test_session_export_html_report
95
86
  @s = OpenSCAP::Xccdf::Session.new('../data/sds-complex.xml')
96
- @s.load(:component_id => 'scap_org.open-scap_cref_second-xccdf.xml')
87
+ @s.load(component_id: 'scap_org.open-scap_cref_second-xccdf.xml')
97
88
  @s.profile = 'xccdf_moc.elpmaxe.www_profile_1'
98
89
  @s.evaluate
99
- @s.export_results(:report_file => 'report.html', :xccdf_file => 'result.xccdf.xml')
90
+ @s.export_results(report_file: 'report.html', xccdf_file: 'result.xccdf.xml')
100
91
  assert_exported ['report.html', 'result.xccdf.xml']
101
92
  end
102
93
 
103
94
  def test_session_export_oval_variables
104
95
  @s = OpenSCAP::Xccdf::Session.new('../data/sds-complex.xml')
105
- @s.load(:component_id => 'scap_org.open-scap_cref_second-xccdf.xml')
96
+ @s.load(component_id: 'scap_org.open-scap_cref_second-xccdf.xml')
106
97
  @s.profile = 'xccdf_moc.elpmaxe.www_profile_1'
107
98
  @s.evaluate
108
- @s.export_results(:oval_variables => true)
99
+ @s.export_results(oval_variables: true)
109
100
  assert_exported []
110
101
  end
111
102
 
112
103
  def test_remediate
113
104
  @s = OpenSCAP::Xccdf::Session.new('../data/sds-complex.xml')
114
- @s.load(:component_id => 'scap_org.open-scap_cref_second-xccdf.xml')
105
+ @s.load(component_id: 'scap_org.open-scap_cref_second-xccdf.xml')
115
106
  @s.profile = 'xccdf_moc.elpmaxe.www_profile_1'
116
107
  @s.evaluate
117
108
  @s.remediate
@@ -120,6 +111,6 @@ class TestSessionDS < OpenSCAP::TestCase
120
111
  def assert_exported(files)
121
112
  # libopenscap compiled with --enable-debug creates debug files
122
113
  FileUtils.rm_rf(Dir.glob('oscap_debug.log.*'))
123
- assert files.sort == Dir.glob('*').sort
114
+ assert files.sort == Dir.glob('*')
124
115
  end
125
116
  end
@@ -1,13 +1,4 @@
1
- #
2
- # Copyright (c) 2014 Red Hat Inc.
3
- #
4
- # This software is licensed to you under the GNU General Public License,
5
- # version 2 (GPLv2). There is NO WARRANTY for this software, express or
6
- # implied, including the implied warranties of MERCHANTABILITY or FITNESS
7
- # FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
8
- # along with this software; if not, see
9
- # http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
10
- #
1
+ # frozen_string_literal: true
11
2
 
12
3
  require 'openscap'
13
4
  require 'common/testcase'
@@ -21,7 +12,7 @@ class TestSession < OpenSCAP::TestCase
21
12
  rescue OpenSCAP::OpenSCAPError => e
22
13
  msg = e.to_s
23
14
  end
24
- assert msg.start_with?("Unable to open file: ''"), 'Message was: ' + msg
15
+ assert msg.start_with?("Unable to open file: ''"), "Message was: #{msg}"
25
16
  end
26
17
 
27
18
  def test_session_new_nil
@@ -32,7 +23,7 @@ class TestSession < OpenSCAP::TestCase
32
23
  rescue OpenSCAP::OpenSCAPError => e
33
24
  msg = e.to_s
34
25
  end
35
- assert msg.start_with?('No filename specified!'), 'Message was: ' + msg
26
+ assert msg.start_with?('No filename specified!'), "Message was: #{msg}"
36
27
  end
37
28
 
38
29
  def test_sds_false
@@ -1,13 +1,4 @@
1
- #
2
- # Copyright (c) 2014--2016 Red Hat Inc.
3
- #
4
- # This software is licensed to you under the GNU General Public License,
5
- # version 2 (GPLv2). There is NO WARRANTY for this software, express or
6
- # implied, including the implied warranties of MERCHANTABILITY or FITNESS
7
- # FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
8
- # along with this software; if not, see
9
- # http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
10
- #
1
+ # frozen_string_literal: true
11
2
 
12
3
  require 'openscap'
13
4
  require 'openscap/source'
@@ -1,13 +1,4 @@
1
- #
2
- # Copyright (c) 2014 Red Hat Inc.
3
- #
4
- # This software is licensed to you under the GNU General Public License,
5
- # version 2 (GPLv2). There is NO WARRANTY for this software, express or
6
- # implied, including the implied warranties of MERCHANTABILITY or FITNESS
7
- # FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
8
- # along with this software; if not, see
9
- # http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
10
- #
1
+ # frozen_string_literal: true
11
2
 
12
3
  require 'openscap'
13
4
  require 'openscap/source'
@@ -27,7 +18,7 @@ class TestTestResult < OpenSCAP::TestCase
27
18
  msg = e.to_s
28
19
  end
29
20
  assert msg.start_with?("Expected 'TestResult' element while found 'Benchmark'."),
30
- 'Message was: ' + msg
21
+ "Message was: #{msg}"
31
22
  end
32
23
 
33
24
  def test_result_create_and_query_properties
@@ -53,10 +44,10 @@ class TestTestResult < OpenSCAP::TestCase
53
44
  tr = new_tr
54
45
  rr = tr.rr['xccdf_org.ssgproject.content_rule_disable_prelink']
55
46
  assert rr.result == 'fail'
56
- rr.override!(:new_result => :pass,
57
- :time => 'yesterday',
58
- :authority => 'John Hacker',
59
- :raw_text => 'We are testing prelink on this machine')
47
+ rr.override!(new_result: :pass,
48
+ time: 'yesterday',
49
+ authority: 'John Hacker',
50
+ raw_text: 'We are testing prelink on this machine')
60
51
  assert rr.result == 'pass'
61
52
  tr.destroy
62
53
  end
@@ -76,10 +67,10 @@ class TestTestResult < OpenSCAP::TestCase
76
67
 
77
68
  rr = tr.rr['xccdf_org.ssgproject.content_rule_disable_prelink']
78
69
  assert rr.result == 'fail'
79
- rr.override!(:new_result => :pass,
80
- :time => 'yesterday',
81
- :authority => 'John Hacker',
82
- :raw_text => 'We are testing prelink on this machine')
70
+ rr.override!(new_result: :pass,
71
+ time: 'yesterday',
72
+ authority: 'John Hacker',
73
+ raw_text: 'We are testing prelink on this machine')
83
74
  assert rr.result == 'pass'
84
75
 
85
76
  assert_default_score tr.score, 34, 35
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'common/testcase'
4
+ require 'openscap'
5
+ require 'openscap/source'
6
+ require 'openscap/xccdf/benchmark'
7
+
8
+ class TestBenchmark < OpenSCAP::TestCase
9
+ def test_benchmark_values
10
+ with_benchmark do |b|
11
+ val_ids = []
12
+ b.each_value do |val|
13
+ val_ids << val.id
14
+ end
15
+ assert_equal val_ids, ['xccdf_org.ssgproject.content_value_conditional_clause']
16
+ end
17
+ end
18
+
19
+ def test_value_props
20
+ with_value do |val|
21
+ assert_equal val.id, 'xccdf_org.ssgproject.content_value_conditional_clause'
22
+ assert_equal val.title, 'A conditional clause for check statements.'
23
+ assert_equal val.description, 'A conditional clause for check statements.'
24
+ end
25
+ end
26
+
27
+ def test_collect_all_values
28
+ with_all_values do |vals|
29
+ assert_equal vals.length, 7
30
+ assert_equal vals.to_set(&:id).length, 7
31
+ end
32
+ end
33
+
34
+ private
35
+
36
+ def with_value(&)
37
+ with_benchmark { |b| b.each_value(&) }
38
+ end
39
+
40
+ def with_all_values(&)
41
+ vals = []
42
+ with_benchmark do |b|
43
+ vals += collect_values(b)
44
+ yield vals
45
+ end
46
+ end
47
+
48
+ def with_benchmark(&)
49
+ OpenSCAP::Source.new '../data/xccdf.xml' do |source|
50
+ OpenSCAP::Xccdf::Benchmark.new(source, &)
51
+ end
52
+ end
53
+
54
+ def collect_values(item)
55
+ vals = []
56
+ if item.is_a?(OpenSCAP::Xccdf::Benchmark) || item.is_a?(OpenSCAP::Xccdf::Group)
57
+ item.each_value { |v| vals << v }
58
+
59
+ if item.is_a? OpenSCAP::Xccdf::Benchmark
60
+ item.each_item { |item| vals += collect_values(item) }
61
+ else
62
+ item.each_child { |item| vals += collect_values(item) }
63
+ end
64
+ end
65
+ vals
66
+ end
67
+ end
metadata CHANGED
@@ -1,43 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openscap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.8
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Lukasik
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-20 00:00:00.000000000 Z
11
+ date: 2023-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 1.0.0
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: 1.0.0
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: ffi
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
- - - ">="
17
+ - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: 1.0.9
19
+ version: 1.15.5
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
- - - ">="
24
+ - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: 1.0.9
26
+ version: 1.15.5
41
27
  description: |-
42
28
  A FFI wrapper around the OpenSCAP library.
43
29
  Currently it provides only subset of libopenscap functionality.
@@ -65,6 +51,7 @@ files:
65
51
  - lib/openscap/xccdf/group.rb
66
52
  - lib/openscap/xccdf/ident.rb
67
53
  - lib/openscap/xccdf/item.rb
54
+ - lib/openscap/xccdf/item_common.rb
68
55
  - lib/openscap/xccdf/policy.rb
69
56
  - lib/openscap/xccdf/policy_model.rb
70
57
  - lib/openscap/xccdf/profile.rb
@@ -72,6 +59,7 @@ files:
72
59
  - lib/openscap/xccdf/rule.rb
73
60
  - lib/openscap/xccdf/ruleresult.rb
74
61
  - lib/openscap/xccdf/session.rb
62
+ - lib/openscap/xccdf/status.rb
75
63
  - lib/openscap/xccdf/tailoring.rb
76
64
  - lib/openscap/xccdf/testresult.rb
77
65
  - lib/openscap/xccdf/value.rb
@@ -90,17 +78,19 @@ files:
90
78
  - test/text_test.rb
91
79
  - test/xccdf/arf_test.rb
92
80
  - test/xccdf/benchmark_test.rb
81
+ - test/xccdf/item_test.rb
93
82
  - test/xccdf/policy_test.rb
94
83
  - test/xccdf/profile_test.rb
95
84
  - test/xccdf/session_ds_test.rb
96
85
  - test/xccdf/session_test.rb
97
86
  - test/xccdf/tailoring_test.rb
98
87
  - test/xccdf/testresult_test.rb
99
- homepage: https://github.com/OpenSCAP/ruby-openscap
88
+ - test/xccdf/value_test.rb
89
+ homepage: https://github.com/isimluk/ruby-openscap
100
90
  licenses:
101
91
  - GPL-2.0
102
92
  metadata: {}
103
- post_install_message:
93
+ post_install_message:
104
94
  rdoc_options: []
105
95
  require_paths:
106
96
  - lib
@@ -108,16 +98,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
108
98
  requirements:
109
99
  - - ">="
110
100
  - !ruby/object:Gem::Version
111
- version: '0'
101
+ version: 3.2.2
112
102
  required_rubygems_version: !ruby/object:Gem::Requirement
113
103
  requirements:
114
104
  - - ">="
115
105
  - !ruby/object:Gem::Version
116
106
  version: '0'
117
107
  requirements: []
118
- rubyforge_project:
119
- rubygems_version: 2.6.14.1
120
- signing_key:
108
+ rubygems_version: 3.4.10
109
+ signing_key:
121
110
  specification_version: 4
122
111
  summary: A FFI wrapper around the OpenSCAP library
123
112
  test_files: []