foreman_openscap 9.0.2 → 9.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/api/v2/compliance/tailoring_files_controller.rb +0 -8
- data/app/models/concerns/foreman_openscap/host_extensions.rb +1 -3
- data/app/models/foreman_openscap/policy.rb +0 -4
- data/app/views/tailoring_files/welcome.html.erb +1 -8
- data/lib/foreman_openscap/version.rb +1 -1
- data/test/functional/api/v2/compliance/tailoring_files_controller_test.rb +0 -11
- data/test/unit/concerns/host_extensions_test.rb +0 -9
- data/webpack/components/OpenscapRemediationWizard/Footer.js +54 -0
- data/webpack/components/OpenscapRemediationWizard/constants.js +9 -0
- data/webpack/components/OpenscapRemediationWizard/index.js +11 -5
- metadata +7 -43
- data/app/helpers/tailoring_files_helper.rb +0 -5
- data/app/services/foreman_openscap/openscap_proxy_assigned_version_check.rb +0 -14
- data/app/services/foreman_openscap/openscap_proxy_version_check.rb +0 -62
- data/locale/cs_CZ/foreman_openscap.edit.po +0 -1455
- data/locale/cs_CZ/foreman_openscap.po.time_stamp +0 -0
- data/locale/de/foreman_openscap.edit.po +0 -1667
- data/locale/de/foreman_openscap.po.time_stamp +0 -0
- data/locale/en/foreman_openscap.edit.po +0 -1455
- data/locale/en/foreman_openscap.po.time_stamp +0 -0
- data/locale/en_GB/foreman_openscap.edit.po +0 -1467
- data/locale/en_GB/foreman_openscap.po.time_stamp +0 -0
- data/locale/es/foreman_openscap.edit.po +0 -1664
- data/locale/es/foreman_openscap.po.time_stamp +0 -0
- data/locale/fr/foreman_openscap.edit.po +0 -1676
- data/locale/fr/foreman_openscap.po.time_stamp +0 -0
- data/locale/gl/foreman_openscap.edit.po +0 -1455
- data/locale/gl/foreman_openscap.po.time_stamp +0 -0
- data/locale/it/foreman_openscap.edit.po +0 -1466
- data/locale/it/foreman_openscap.po.time_stamp +0 -0
- data/locale/ja/foreman_openscap.edit.po +0 -1659
- data/locale/ja/foreman_openscap.po.time_stamp +0 -0
- data/locale/ka/foreman_openscap.edit.po +0 -1654
- data/locale/ka/foreman_openscap.po.time_stamp +0 -0
- data/locale/ko/foreman_openscap.edit.po +0 -1470
- data/locale/ko/foreman_openscap.po.time_stamp +0 -0
- data/locale/pt_BR/foreman_openscap.edit.po +0 -1669
- data/locale/pt_BR/foreman_openscap.po.time_stamp +0 -0
- data/locale/ru/foreman_openscap.edit.po +0 -1474
- data/locale/ru/foreman_openscap.po.time_stamp +0 -0
- data/locale/sv_SE/foreman_openscap.edit.po +0 -1455
- data/locale/sv_SE/foreman_openscap.po.time_stamp +0 -0
- data/locale/zh_CN/foreman_openscap.edit.po +0 -1656
- data/locale/zh_CN/foreman_openscap.po.time_stamp +0 -0
- data/locale/zh_TW/foreman_openscap.edit.po +0 -1471
- data/locale/zh_TW/foreman_openscap.po.time_stamp +0 -0
- data/test/unit/services/tailoring_files_proxy_check_test.rb +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db9d5beb1a4f3e676150bd6c7982feccee708f920dd68cb422b0736824a10cee
|
4
|
+
data.tar.gz: cb3c657f011aac5d73fc6595a5b9abed49033928223a53974c20f69cd8f97eed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a7f09d5b4102cb8d1b95b2ed9e6b2005b84e5a28a9896411be2655bc073d5f4cb59b55096a42072e3450e685753534bdf0afcf7a91f4f567e412269092593a5
|
7
|
+
data.tar.gz: 9fddaa152d91a99f7efaa986ffdaf64926c56378f170ea2a82213648c10c163e97c081f122100f1cb823537f8ad540623dc1bfe54f355817f198948ba299dc17
|
@@ -6,7 +6,6 @@ module Api::V2
|
|
6
6
|
include ForemanOpenscap::Api::V2::ScapApiControllerExtensions
|
7
7
|
|
8
8
|
before_action :find_resource, :except => %w[index create]
|
9
|
-
before_action :openscap_proxy_check, :only => %w[create]
|
10
9
|
|
11
10
|
api :GET, '/compliance/tailoring_files', N_('List Tailoring files')
|
12
11
|
param_group :search_and_pagination, ::Api::V2::BaseController
|
@@ -77,13 +76,6 @@ module Api::V2
|
|
77
76
|
super
|
78
77
|
end
|
79
78
|
end
|
80
|
-
|
81
|
-
def openscap_proxy_check
|
82
|
-
unless ForemanOpenscap::TailoringFile.any?
|
83
|
-
check = ForemanOpenscap::OpenscapProxyVersionCheck.new.run
|
84
|
-
render_error :custom_error, :status => :unprocessable_entity, :locals => { :message => check.message } unless check.pass?
|
85
|
-
end
|
86
|
-
end
|
87
79
|
end
|
88
80
|
end
|
89
81
|
end
|
@@ -102,9 +102,7 @@ module ForemanOpenscap
|
|
102
102
|
end
|
103
103
|
|
104
104
|
def policies_enc_raw
|
105
|
-
|
106
|
-
method = check.pass? ? :to_enc : :to_enc_legacy
|
107
|
-
combined_policies.map(&method)
|
105
|
+
combined_policies.map(&:to_enc)
|
108
106
|
end
|
109
107
|
|
110
108
|
def combined_policies
|
@@ -196,10 +196,6 @@ module ForemanOpenscap
|
|
196
196
|
}.merge(period_enc)
|
197
197
|
end
|
198
198
|
|
199
|
-
def to_enc_legacy
|
200
|
-
to_enc.tap { |hash| hash['download_path'] = "/compliance/policies/#{self.id}/content" }
|
201
|
-
end
|
202
|
-
|
203
199
|
def should_validate?(step_name)
|
204
200
|
if new_record? && wizard_initiated?
|
205
201
|
step_index > step_to_i(step_name)
|
@@ -8,14 +8,7 @@
|
|
8
8
|
<%= (_('In Foreman, tailoring_files represent the custom modifications to default XCCDF profiles and they can be applied to hosts
|
9
9
|
via %s') % link_to('compliance policies', policies_path)).html_safe %>
|
10
10
|
</p>
|
11
|
-
<% proxy_check = run_tailoring_proxy_check %>
|
12
11
|
<div class="blank-slate-pf-main-action">
|
13
|
-
<%= new_link(_('New Tailoring File'), {}, { :class => "btn-lg"
|
12
|
+
<%= new_link(_('New Tailoring File'), {}, { :class => "btn-lg" }) %>
|
14
13
|
</div>
|
15
|
-
|
16
|
-
<p>
|
17
|
-
<% unless proxy_check.pass? %>
|
18
|
-
<%= alert :class => 'alert-warning', :header => '', :text => proxy_check.message.html_safe %>
|
19
|
-
<% end %>
|
20
|
-
</p>
|
21
14
|
</div>
|
@@ -24,8 +24,6 @@ class Api::V2::Compliance::TailoringFilesControllerTest < ActionController::Test
|
|
24
24
|
test "should create tailoring_file" do
|
25
25
|
tf = FactoryBot.build(:tailoring_file)
|
26
26
|
tf_params = { :name => tf.name, :original_filename => tf.original_filename, :scap_file => tf.scap_file }
|
27
|
-
ForemanOpenscap::OpenscapProxyVersionCheck.any_instance.stubs(:openscap_proxy_versions)
|
28
|
-
.returns({})
|
29
27
|
post :create, :params => tf_params, :session => set_session_user
|
30
28
|
assert_response :success
|
31
29
|
end
|
@@ -50,13 +48,4 @@ class Api::V2::Compliance::TailoringFilesControllerTest < ActionController::Test
|
|
50
48
|
assert_response :ok
|
51
49
|
refute ForemanOpenscap::ScapContent.exists?(tailoring_file.id)
|
52
50
|
end
|
53
|
-
|
54
|
-
test "should not create tailoring file when there is outdated proxy version" do
|
55
|
-
tf = FactoryBot.build(:tailoring_file)
|
56
|
-
tf_params = { :name => tf.name, :original_filename => tf.original_filename, :scap_file => tf.scap_file }
|
57
|
-
ForemanOpenscap::OpenscapProxyVersionCheck.any_instance.stubs(:openscap_proxy_versions)
|
58
|
-
.returns('test-proxy' => '0.5.4')
|
59
|
-
post :create, :params => tf_params, :session => set_session_user
|
60
|
-
assert_response :unprocessable_entity
|
61
|
-
end
|
62
51
|
end
|
@@ -9,16 +9,7 @@ class HostExtensionsTest < ActiveSupport::TestCase
|
|
9
9
|
@host = FactoryBot.create(:compliance_host, :policies => [@policy])
|
10
10
|
end
|
11
11
|
|
12
|
-
test "should have download_path in enc without digest" do
|
13
|
-
ForemanOpenscap::OpenscapProxyAssignedVersionCheck.any_instance.stubs(:openscap_proxy_versions)
|
14
|
-
.returns('test-proxy' => '0.5.4')
|
15
|
-
enc_out = JSON.parse @host.policies_enc
|
16
|
-
assert_equal 5, enc_out.first['download_path'].split('/').length
|
17
|
-
end
|
18
|
-
|
19
12
|
test "should have download_path in enc with digest" do
|
20
|
-
ForemanOpenscap::OpenscapProxyAssignedVersionCheck.any_instance.stubs(:openscap_proxy_versions)
|
21
|
-
.returns({})
|
22
13
|
enc_out = JSON.parse @host.policies_enc
|
23
14
|
assert_equal 6, enc_out.first['download_path'].split('/').length
|
24
15
|
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import {
|
3
|
+
Button,
|
4
|
+
WizardFooter,
|
5
|
+
WizardContextConsumer,
|
6
|
+
} from '@patternfly/react-core';
|
7
|
+
import { translate as __ } from 'foremanReact/common/I18n';
|
8
|
+
import { WIZARD_TITLES } from './constants';
|
9
|
+
|
10
|
+
export const Footer = () => (
|
11
|
+
<WizardFooter>
|
12
|
+
<WizardContextConsumer>
|
13
|
+
{({ activeStep, onNext, onBack, onClose, goToStepByName }) => {
|
14
|
+
const isValid =
|
15
|
+
activeStep && activeStep.enableNext !== undefined
|
16
|
+
? activeStep.enableNext
|
17
|
+
: true;
|
18
|
+
|
19
|
+
return (
|
20
|
+
<>
|
21
|
+
{!activeStep.isFinishedStep ? (
|
22
|
+
<Button
|
23
|
+
ouiaId="oscap-rem-wiz-next-button"
|
24
|
+
variant="primary"
|
25
|
+
type="submit"
|
26
|
+
onClick={onNext}
|
27
|
+
isDisabled={!isValid}
|
28
|
+
>
|
29
|
+
{activeStep.name === WIZARD_TITLES.reviewRemediation
|
30
|
+
? __('Run')
|
31
|
+
: __('Next')}
|
32
|
+
</Button>
|
33
|
+
) : null}
|
34
|
+
<Button
|
35
|
+
ouiaId="oscap-rem-wiz-back-button"
|
36
|
+
variant="secondary"
|
37
|
+
onClick={onBack}
|
38
|
+
isDisabled={activeStep.name === WIZARD_TITLES.snippetSelect}
|
39
|
+
>
|
40
|
+
{__('Back')}
|
41
|
+
</Button>
|
42
|
+
<Button
|
43
|
+
ouiaId="oscap-rem-wiz-cancel-button"
|
44
|
+
variant="link"
|
45
|
+
onClick={onClose}
|
46
|
+
>
|
47
|
+
{__('Cancel')}
|
48
|
+
</Button>
|
49
|
+
</>
|
50
|
+
);
|
51
|
+
}}
|
52
|
+
</WizardContextConsumer>
|
53
|
+
</WizardFooter>
|
54
|
+
);
|
@@ -1,3 +1,5 @@
|
|
1
|
+
import { translate as __ } from 'foremanReact/common/I18n';
|
2
|
+
|
1
3
|
export const OPENSCAP_REMEDIATION_MODAL_ID = 'openscapRemediationModal';
|
2
4
|
export const HOSTS_PATH = '/hosts';
|
3
5
|
export const FAIL_RULE_SEARCH = 'fails_xccdf_rule';
|
@@ -12,3 +14,10 @@ export const JOB_INVOCATION_API_REQUEST_KEY = 'OPENSCAP_REX_JOB_INVOCATIONS';
|
|
12
14
|
|
13
15
|
export const SNIPPET_SH = 'urn:xccdf:fix:script:sh';
|
14
16
|
export const SNIPPET_ANSIBLE = 'urn:xccdf:fix:script:ansible';
|
17
|
+
|
18
|
+
export const WIZARD_TITLES = {
|
19
|
+
snippetSelect: __('Select snippet'),
|
20
|
+
reviewHosts: __('Review hosts'),
|
21
|
+
reviewRemediation: __('Review remediation'),
|
22
|
+
finish: __('Done'),
|
23
|
+
};
|
@@ -7,12 +7,17 @@ import { sprintf, translate as __ } from 'foremanReact/common/I18n';
|
|
7
7
|
import { API_OPERATIONS, get } from 'foremanReact/redux/API';
|
8
8
|
|
9
9
|
import OpenscapRemediationWizardContext from './OpenscapRemediationWizardContext';
|
10
|
+
import { Footer } from './Footer';
|
10
11
|
import {
|
11
12
|
selectLogResponse,
|
12
13
|
selectLogError,
|
13
14
|
selectLogStatus,
|
14
15
|
} from './OpenscapRemediationSelectors';
|
15
|
-
import {
|
16
|
+
import {
|
17
|
+
REPORT_LOG_REQUEST_KEY,
|
18
|
+
FAIL_RULE_SEARCH,
|
19
|
+
WIZARD_TITLES,
|
20
|
+
} from './constants';
|
16
21
|
import { SnippetSelect, ReviewHosts, ReviewRemediation, Finish } from './steps';
|
17
22
|
|
18
23
|
const OpenscapRemediationWizard = ({
|
@@ -66,7 +71,7 @@ const OpenscapRemediationWizard = ({
|
|
66
71
|
|
67
72
|
const reviewHostsStep = {
|
68
73
|
id: 2,
|
69
|
-
name:
|
74
|
+
name: WIZARD_TITLES.reviewHosts,
|
70
75
|
component: <ReviewHosts />,
|
71
76
|
canJumpTo: Boolean(snippet && method === 'job'),
|
72
77
|
enableNext: Boolean(snippet && method),
|
@@ -74,7 +79,7 @@ const OpenscapRemediationWizard = ({
|
|
74
79
|
const steps = [
|
75
80
|
{
|
76
81
|
id: 1,
|
77
|
-
name:
|
82
|
+
name: WIZARD_TITLES.snippetSelect,
|
78
83
|
component: <SnippetSelect />,
|
79
84
|
canJumpTo: true,
|
80
85
|
enableNext: Boolean(snippet && method),
|
@@ -82,7 +87,7 @@ const OpenscapRemediationWizard = ({
|
|
82
87
|
...(snippet && method === 'job' ? [reviewHostsStep] : []),
|
83
88
|
{
|
84
89
|
id: 3,
|
85
|
-
name:
|
90
|
+
name: WIZARD_TITLES.reviewRemediation,
|
86
91
|
component: <ReviewRemediation />,
|
87
92
|
canJumpTo: Boolean(snippet && method),
|
88
93
|
enableNext: method === 'job',
|
@@ -90,7 +95,7 @@ const OpenscapRemediationWizard = ({
|
|
90
95
|
},
|
91
96
|
{
|
92
97
|
id: 4,
|
93
|
-
name:
|
98
|
+
name: WIZARD_TITLES.finish,
|
94
99
|
component: <Finish onClose={onWizardClose} />,
|
95
100
|
isFinishedStep: true,
|
96
101
|
},
|
@@ -128,6 +133,7 @@ const OpenscapRemediationWizard = ({
|
|
128
133
|
isOpen={isRemediationWizardOpen}
|
129
134
|
steps={steps}
|
130
135
|
onClose={onWizardClose}
|
136
|
+
footer={<Footer />}
|
131
137
|
/>
|
132
138
|
</OpenscapRemediationWizardContext.Provider>
|
133
139
|
)}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_openscap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 9.0.
|
4
|
+
version: 9.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- slukasik@redhat.com
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-07-
|
11
|
+
date: 2024-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -91,7 +91,6 @@ files:
|
|
91
91
|
- app/helpers/foreman_openscap_helper.rb
|
92
92
|
- app/helpers/policies_helper.rb
|
93
93
|
- app/helpers/policy_dashboard_helper.rb
|
94
|
-
- app/helpers/tailoring_files_helper.rb
|
95
94
|
- app/lib/proxy_api/migration.rb
|
96
95
|
- app/lib/proxy_api/openscap.rb
|
97
96
|
- app/mailers/foreman_openscap/policy_mailer.rb
|
@@ -127,8 +126,6 @@ files:
|
|
127
126
|
- app/services/foreman_openscap/hostgroup_overrider_common.rb
|
128
127
|
- app/services/foreman_openscap/lookup_key_overrider.rb
|
129
128
|
- app/services/foreman_openscap/lookup_key_overrides_common.rb
|
130
|
-
- app/services/foreman_openscap/openscap_proxy_assigned_version_check.rb
|
131
|
-
- app/services/foreman_openscap/openscap_proxy_version_check.rb
|
132
129
|
- app/services/foreman_openscap/policy_dashboard/data.rb
|
133
130
|
- app/services/foreman_openscap/report_dashboard/data.rb
|
134
131
|
- app/services/proxy_status/openscap_spool.rb
|
@@ -299,71 +296,39 @@ files:
|
|
299
296
|
- locale/Makefile
|
300
297
|
- locale/action_names.rb
|
301
298
|
- locale/cs_CZ/LC_MESSAGES/foreman_openscap.mo
|
302
|
-
- locale/cs_CZ/foreman_openscap.edit.po
|
303
299
|
- locale/cs_CZ/foreman_openscap.po
|
304
|
-
- locale/cs_CZ/foreman_openscap.po.time_stamp
|
305
300
|
- locale/de/LC_MESSAGES/foreman_openscap.mo
|
306
|
-
- locale/de/foreman_openscap.edit.po
|
307
301
|
- locale/de/foreman_openscap.po
|
308
|
-
- locale/de/foreman_openscap.po.time_stamp
|
309
302
|
- locale/en/LC_MESSAGES/foreman_openscap.mo
|
310
|
-
- locale/en/foreman_openscap.edit.po
|
311
303
|
- locale/en/foreman_openscap.po
|
312
|
-
- locale/en/foreman_openscap.po.time_stamp
|
313
304
|
- locale/en_GB/LC_MESSAGES/foreman_openscap.mo
|
314
|
-
- locale/en_GB/foreman_openscap.edit.po
|
315
305
|
- locale/en_GB/foreman_openscap.po
|
316
|
-
- locale/en_GB/foreman_openscap.po.time_stamp
|
317
306
|
- locale/es/LC_MESSAGES/foreman_openscap.mo
|
318
|
-
- locale/es/foreman_openscap.edit.po
|
319
307
|
- locale/es/foreman_openscap.po
|
320
|
-
- locale/es/foreman_openscap.po.time_stamp
|
321
308
|
- locale/foreman_openscap.pot
|
322
309
|
- locale/fr/LC_MESSAGES/foreman_openscap.mo
|
323
|
-
- locale/fr/foreman_openscap.edit.po
|
324
310
|
- locale/fr/foreman_openscap.po
|
325
|
-
- locale/fr/foreman_openscap.po.time_stamp
|
326
311
|
- locale/gl/LC_MESSAGES/foreman_openscap.mo
|
327
|
-
- locale/gl/foreman_openscap.edit.po
|
328
312
|
- locale/gl/foreman_openscap.po
|
329
|
-
- locale/gl/foreman_openscap.po.time_stamp
|
330
313
|
- locale/it/LC_MESSAGES/foreman_openscap.mo
|
331
|
-
- locale/it/foreman_openscap.edit.po
|
332
314
|
- locale/it/foreman_openscap.po
|
333
|
-
- locale/it/foreman_openscap.po.time_stamp
|
334
315
|
- locale/ja/LC_MESSAGES/foreman_openscap.mo
|
335
|
-
- locale/ja/foreman_openscap.edit.po
|
336
316
|
- locale/ja/foreman_openscap.po
|
337
|
-
- locale/ja/foreman_openscap.po.time_stamp
|
338
317
|
- locale/ka/LC_MESSAGES/foreman_openscap.mo
|
339
|
-
- locale/ka/foreman_openscap.edit.po
|
340
318
|
- locale/ka/foreman_openscap.po
|
341
|
-
- locale/ka/foreman_openscap.po.time_stamp
|
342
319
|
- locale/ko/LC_MESSAGES/foreman_openscap.mo
|
343
|
-
- locale/ko/foreman_openscap.edit.po
|
344
320
|
- locale/ko/foreman_openscap.po
|
345
|
-
- locale/ko/foreman_openscap.po.time_stamp
|
346
321
|
- locale/pt_BR/LC_MESSAGES/foreman_openscap.mo
|
347
|
-
- locale/pt_BR/foreman_openscap.edit.po
|
348
322
|
- locale/pt_BR/foreman_openscap.po
|
349
|
-
- locale/pt_BR/foreman_openscap.po.time_stamp
|
350
323
|
- locale/ru/LC_MESSAGES/foreman_openscap.mo
|
351
|
-
- locale/ru/foreman_openscap.edit.po
|
352
324
|
- locale/ru/foreman_openscap.po
|
353
|
-
- locale/ru/foreman_openscap.po.time_stamp
|
354
325
|
- locale/sv_SE/LC_MESSAGES/foreman_openscap.mo
|
355
|
-
- locale/sv_SE/foreman_openscap.edit.po
|
356
326
|
- locale/sv_SE/foreman_openscap.po
|
357
|
-
- locale/sv_SE/foreman_openscap.po.time_stamp
|
358
327
|
- locale/zanata.xml
|
359
328
|
- locale/zh_CN/LC_MESSAGES/foreman_openscap.mo
|
360
|
-
- locale/zh_CN/foreman_openscap.edit.po
|
361
329
|
- locale/zh_CN/foreman_openscap.po
|
362
|
-
- locale/zh_CN/foreman_openscap.po.time_stamp
|
363
330
|
- locale/zh_TW/LC_MESSAGES/foreman_openscap.mo
|
364
|
-
- locale/zh_TW/foreman_openscap.edit.po
|
365
331
|
- locale/zh_TW/foreman_openscap.po
|
366
|
-
- locale/zh_TW/foreman_openscap.po.time_stamp
|
367
332
|
- package.json
|
368
333
|
- test/factories/arf_report_factory.rb
|
369
334
|
- test/factories/asset_factory.rb
|
@@ -409,7 +374,6 @@ files:
|
|
409
374
|
- test/unit/services/hostgroup_overrider_test.rb
|
410
375
|
- test/unit/services/lookup_key_overrider_test.rb
|
411
376
|
- test/unit/services/report_dashboard/data_test.rb
|
412
|
-
- test/unit/services/tailoring_files_proxy_check_test.rb
|
413
377
|
- test/unit/tailoring_file_test.rb
|
414
378
|
- webpack/components/ConfirmModal.js
|
415
379
|
- webpack/components/ConfirmModal.scss
|
@@ -422,6 +386,7 @@ files:
|
|
422
386
|
- webpack/components/IndexTable/IndexTableHelper.js
|
423
387
|
- webpack/components/IndexTable/index.js
|
424
388
|
- webpack/components/LinkButton.js
|
389
|
+
- webpack/components/OpenscapRemediationWizard/Footer.js
|
425
390
|
- webpack/components/OpenscapRemediationWizard/OpenscapRemediationSelectors.js
|
426
391
|
- webpack/components/OpenscapRemediationWizard/OpenscapRemediationWizardContext.js
|
427
392
|
- webpack/components/OpenscapRemediationWizard/ViewSelectedHostsLink.js
|
@@ -461,7 +426,7 @@ homepage: https://github.com/theforeman/foreman_openscap
|
|
461
426
|
licenses:
|
462
427
|
- GPL-3.0
|
463
428
|
metadata: {}
|
464
|
-
post_install_message:
|
429
|
+
post_install_message:
|
465
430
|
rdoc_options: []
|
466
431
|
require_paths:
|
467
432
|
- lib
|
@@ -476,8 +441,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
476
441
|
- !ruby/object:Gem::Version
|
477
442
|
version: '0'
|
478
443
|
requirements: []
|
479
|
-
rubygems_version: 3.
|
480
|
-
signing_key:
|
444
|
+
rubygems_version: 3.3.26
|
445
|
+
signing_key:
|
481
446
|
specification_version: 4
|
482
447
|
summary: Foreman plug-in for displaying OpenSCAP audit reports
|
483
448
|
test_files:
|
@@ -525,5 +490,4 @@ test_files:
|
|
525
490
|
- test/unit/services/hostgroup_overrider_test.rb
|
526
491
|
- test/unit/services/lookup_key_overrider_test.rb
|
527
492
|
- test/unit/services/report_dashboard/data_test.rb
|
528
|
-
- test/unit/services/tailoring_files_proxy_check_test.rb
|
529
493
|
- test/unit/tailoring_file_test.rb
|
@@ -1,14 +0,0 @@
|
|
1
|
-
module ForemanOpenscap
|
2
|
-
class OpenscapProxyAssignedVersionCheck < OpenscapProxyVersionCheck
|
3
|
-
def initialize(host)
|
4
|
-
@host = host
|
5
|
-
super()
|
6
|
-
end
|
7
|
-
|
8
|
-
private
|
9
|
-
|
10
|
-
def get_openscap_proxies
|
11
|
-
@host.openscap_proxy ? [@host.openscap_proxy] : []
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,62 +0,0 @@
|
|
1
|
-
module ForemanOpenscap
|
2
|
-
class OpenscapProxyVersionCheck
|
3
|
-
def initialize
|
4
|
-
@versions = {}
|
5
|
-
@message = ''
|
6
|
-
@down = []
|
7
|
-
end
|
8
|
-
|
9
|
-
def run
|
10
|
-
@versions = openscap_proxy_versions.select do |key, value|
|
11
|
-
Gem::Version.new(value) < Gem::Version.new("0.6.1")
|
12
|
-
end
|
13
|
-
self
|
14
|
-
end
|
15
|
-
|
16
|
-
def pass?
|
17
|
-
!any_outdated? && !any_unreachable?
|
18
|
-
end
|
19
|
-
|
20
|
-
def any_outdated?
|
21
|
-
!@versions.empty?
|
22
|
-
end
|
23
|
-
|
24
|
-
def any_unreachable?
|
25
|
-
!@down.empty?
|
26
|
-
end
|
27
|
-
|
28
|
-
def message
|
29
|
-
if pass?
|
30
|
-
@message
|
31
|
-
else
|
32
|
-
build_message
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
private
|
37
|
-
|
38
|
-
def build_message
|
39
|
-
@message = _('This feature is temporarily disabled. ')
|
40
|
-
@message << _('The following Smart Proxies need to be updated to unlock the feature: %s. ') % @versions.keys.to_sentence if any_outdated?
|
41
|
-
@message << _('The following proxies could not be reached: %s. Please make sure they are available so Foreman can check their versions.') % @down.to_sentence if any_unreachable?
|
42
|
-
@message
|
43
|
-
end
|
44
|
-
|
45
|
-
def get_openscap_proxies
|
46
|
-
SmartProxy.with_features "Openscap"
|
47
|
-
end
|
48
|
-
|
49
|
-
def openscap_proxy_versions
|
50
|
-
get_openscap_proxies.inject({}) do |memo, proxy|
|
51
|
-
begin
|
52
|
-
status = ProxyStatus::Version.new(proxy).version
|
53
|
-
openscap_version = status["modules"]["openscap"]
|
54
|
-
memo[proxy.name] = openscap_version
|
55
|
-
rescue Foreman::WrappedException
|
56
|
-
@down << proxy.name
|
57
|
-
end
|
58
|
-
memo
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|