foreman_scap_client 0.5.2 → 0.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 825ce2dba8229d5ed21451e89686f8b5d496d11a7b8520cc69e5e0b46be0f08c
4
- data.tar.gz: fdde4a6929aaf4318acec62faf415121977f03cdb5a0034a09195520527ed83e
3
+ metadata.gz: ee515e83b0f3905864064b90029612792b2c607fa45b2d1e0b8d57739f1724aa
4
+ data.tar.gz: 62f2894c2f3e40fe977aff6f7b22e04add6c41a177da6be9061ed741432f8a1f
5
5
  SHA512:
6
- metadata.gz: '086cbe81e50cbacdc9955ee9f5e65354fbd34e4a2c05937dbf333e37d890dc236508ca6dc6bd49d99d268178a7090a967c62e1debbfceed198135d09d6b35b56'
7
- data.tar.gz: dfafef66458765b284a1b5ff37ec8ce94a083f881adecafb6bbc0b489f7686a17a36b648f1efaf29c4bc4b899f65c7e1f7346e218e2b6f706aa96c51218b5d55
6
+ metadata.gz: '08dc4cc7aec0dc4fea47b5202ee9b4b79aa409f18a45cf3d9c2602549d1d92ccc30bf1eafd6137f927f02e4fa4beecf3da595c3fc2f8ade50be71c7defe86316'
7
+ data.tar.gz: 41c69b9e16d6fcb586012fb6f57f581f0088d352176f3c62772ab409258592d4bc698b6f902e44361c3bdd2c4b7dbab4a791d4d554e4d6815bc810ab6616b3c4
@@ -12,12 +12,11 @@ end
12
12
 
13
13
  if args.size == 1
14
14
  ForemanScapClient::Client.new.run(args[0].to_i, skip_upload)
15
+ # Left around for compatibility
15
16
  elsif args.size == 2 && args[0] == 'ds'
16
17
  ForemanScapClient::Client.new.run(args[1].to_i, skip_upload)
17
- elsif args.size == 2 && args[0] == 'oval'
18
- ForemanScapClient::OvalClient.new.run(args[1].to_i, skip_upload)
19
18
  else
20
- puts "Usage: #{$0} [ds | oval] policy_id [--skip-upload]"
19
+ puts "Usage: #{$0} [ds] policy_id [--skip-upload]"
21
20
  puts " where policy_id is a key used in config file"
22
21
  exit 2
23
22
  end
@@ -33,7 +33,3 @@
33
33
  2:
34
34
  :profile: 'xccdf_org.ssgproject.content_profile_common'
35
35
  :content_path: '/usr/share/xml/scap/ssg/content/ssg-fedora-ds.xml'
36
-
37
- :oval:
38
- 3:
39
- :content_path: '/var/lib/openscap/oval_content/ansible-2.9.oval.xml.bz2'
@@ -1,4 +1,3 @@
1
- require 'rubygems' if RUBY_VERSION.start_with? '1.8'
2
1
  require 'yaml'
3
2
  require 'tmpdir'
4
3
  require 'net/http'
@@ -71,17 +70,13 @@ module ForemanScapClient
71
70
  puts "DEBUG: running: " + scan_command
72
71
  puts "with ENV vars: #{scan_command_env_vars}" unless scan_command_env_vars.empty?
73
72
 
74
- if RUBY_VERSION.start_with? '1.8'
75
- legacy_run_scan
76
- else
77
- run_scan
78
- end
73
+ run_scan
79
74
  end
80
75
 
81
76
  def run_scan
82
77
  stdout_str, error_str, result = Open3.capture3(scan_command_env_vars, scan_command)
83
78
  if result.success? || result.exitstatus == 2
84
- puts error_str.scrub("?").split("\n").select { |item| item.start_with?('WARNING:') || item.start_with?('Downloading') }.join("\n")
79
+ error_str.each_line { |item| print item if item.start_with?('WARNING:') || item.start_with?('Downloading') }
85
80
  @report = results_path
86
81
  else
87
82
  puts 'Scan failed'
@@ -91,19 +86,6 @@ module ForemanScapClient
91
86
  end
92
87
  end
93
88
 
94
- def legacy_run_scan
95
- warn_proxy_not_supported
96
- result = `#{scan_command}`
97
-
98
- if $?.success? || $?.exitstatus == 2
99
- @report = results_path
100
- else
101
- puts 'Scan failed'
102
- puts result
103
- exit(2)
104
- end
105
- end
106
-
107
89
  def scan_command_env_vars
108
90
  if http_proxy_uri
109
91
  {
@@ -130,10 +112,6 @@ module ForemanScapClient
130
112
  "#{results_path}.bz2"
131
113
  end
132
114
 
133
- def warn_proxy_not_supported
134
- puts 'Configuration for HTTP(S) proxy found but not supported for ruby 1.8' if http_proxy_uri
135
- end
136
-
137
115
  def bzip_command
138
116
  "/usr/bin/env bzip2 #{results_path}"
139
117
  end
@@ -1,3 +1,3 @@
1
1
  module ForemanScapClient
2
- VERSION = "0.5.2"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -1,3 +1,2 @@
1
1
  require "foreman_scap_client/version"
2
2
  require "foreman_scap_client/client"
3
- require "foreman_scap_client/oval_client"
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_scap_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marek Hulan
8
8
  - Šimon Lukašík
9
9
  - Shlomi Zadok
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-12-15 00:00:00.000000000 Z
13
+ date: 2024-05-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -58,13 +58,12 @@ files:
58
58
  - lib/foreman_scap_client.rb
59
59
  - lib/foreman_scap_client/base_client.rb
60
60
  - lib/foreman_scap_client/client.rb
61
- - lib/foreman_scap_client/oval_client.rb
62
61
  - lib/foreman_scap_client/version.rb
63
62
  homepage: https://github.com/theforeman/foreman_scap_client
64
63
  licenses:
65
64
  - GPL-3.0
66
65
  metadata: {}
67
- post_install_message:
66
+ post_install_message:
68
67
  rdoc_options: []
69
68
  require_paths:
70
69
  - lib
@@ -80,8 +79,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
79
  version: '0'
81
80
  requirements:
82
81
  - bzip2
83
- rubygems_version: 3.2.33
84
- signing_key:
82
+ rubygems_version: 3.3.26
83
+ signing_key:
85
84
  specification_version: 4
86
85
  summary: Client script that runs openscap scan and uploads the result to foreman proxy
87
86
  test_files: []
@@ -1,31 +0,0 @@
1
- require 'foreman_scap_client/base_client'
2
-
3
- module ForemanScapClient
4
- class OvalClient < BaseClient
5
- private
6
-
7
- def policy_namespace
8
- :oval
9
- end
10
-
11
- def ensure_scan_files
12
- ensure_file :content_path, :download_path, "OVAL content"
13
- end
14
-
15
- def upload_uri
16
- foreman_proxy_uri + "/compliance/oval_reports/#{@policy_id}"
17
- end
18
-
19
- def scan_command
20
- "oscap oval eval --results #{results_path} #{policy_from_config[:content_path]}"
21
- end
22
-
23
- def print_upload_result(parsed)
24
- if parsed['reported_at']
25
- puts "Report successfully uploaded at #{parsed['reported_at']}"
26
- else
27
- puts "Report not uploaded, cause: #{parsed['result']}"
28
- end
29
- end
30
- end
31
- end