smart_proxy_openscap 0.7.3 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/bin/smart-proxy-openscap-send +5 -1
- data/lib/smart_proxy_openscap/arf_parser.rb +74 -17
- data/lib/smart_proxy_openscap/content_parser.rb +19 -25
- data/lib/smart_proxy_openscap/fetch_scap_file.rb +45 -0
- data/lib/smart_proxy_openscap/foreman_arf_forwarder.rb +15 -0
- data/lib/smart_proxy_openscap/foreman_forwarder.rb +19 -16
- data/lib/smart_proxy_openscap/foreman_oval_forwarder.rb +19 -0
- data/lib/smart_proxy_openscap/openscap_api.rb +59 -28
- data/lib/smart_proxy_openscap/openscap_exception.rb +1 -0
- data/lib/smart_proxy_openscap/openscap_html_generator.rb +1 -1
- data/lib/smart_proxy_openscap/openscap_import_api.rb +3 -3
- data/lib/smart_proxy_openscap/openscap_lib.rb +5 -3
- data/lib/smart_proxy_openscap/openscap_plugin.rb +2 -1
- data/lib/smart_proxy_openscap/oval_report_parser.rb +54 -0
- data/lib/smart_proxy_openscap/oval_report_storage_fs.rb +26 -0
- data/lib/smart_proxy_openscap/profiles_parser.rb +22 -23
- data/lib/smart_proxy_openscap/spool_forwarder.rb +4 -4
- data/lib/smart_proxy_openscap/storage.rb +0 -2
- data/lib/smart_proxy_openscap/storage_fs.rb +7 -4
- data/lib/smart_proxy_openscap/storage_fs_common.rb +42 -0
- data/lib/smart_proxy_openscap/version.rb +1 -1
- data/settings.d/openscap.yml.example +3 -0
- data/smart_proxy_openscap.gemspec +2 -0
- data/test/data/oval-results.xml.bz2 +0 -0
- data/test/data/rhel-7-including-unpatched.oval.xml.bz2 +0 -0
- data/test/fetch_oval_content_api_test.rb +38 -0
- data/test/fetch_scap_api_test.rb +1 -1
- data/test/oval_report_parser_test.rb +14 -0
- data/test/post_oval_report_api_test.rb +30 -0
- data/test/post_report_api_test.rb +2 -2
- data/test/scap_content_parser_api_test.rb +1 -1
- data/test/script_class_test.rb +0 -58
- metadata +29 -11
- data/bin/smart-proxy-arf-json +0 -7
- data/bin/smart-proxy-scap-profiles +0 -7
- data/bin/smart-proxy-scap-validation +0 -7
- data/lib/smart_proxy_openscap/arf_json.rb +0 -114
- data/lib/smart_proxy_openscap/fetch_scap_content.rb +0 -17
- data/lib/smart_proxy_openscap/fetch_tailoring_file.rb +0 -17
- data/lib/smart_proxy_openscap/scap_profiles.rb +0 -52
- data/lib/smart_proxy_openscap/scap_validation.rb +0 -35
@@ -1,35 +0,0 @@
|
|
1
|
-
require 'json'
|
2
|
-
require 'openscap'
|
3
|
-
require 'openscap/source'
|
4
|
-
|
5
|
-
module Proxy
|
6
|
-
module OpenSCAP
|
7
|
-
class ScapValidation
|
8
|
-
def allowed_types
|
9
|
-
{
|
10
|
-
'tailoring_file' => 'XCCDF Tailoring',
|
11
|
-
'scap_content' => 'SCAP Source Datastream'
|
12
|
-
}
|
13
|
-
end
|
14
|
-
|
15
|
-
def validate(in_file, out_file, type)
|
16
|
-
errors = []
|
17
|
-
::OpenSCAP.oscap_init
|
18
|
-
source = ::OpenSCAP::Source.new(in_file)
|
19
|
-
if source.type != allowed_types[type]
|
20
|
-
errors << "Uploaded file is #{source.type}, unexpected file type"
|
21
|
-
end
|
22
|
-
|
23
|
-
begin
|
24
|
-
source.validate!
|
25
|
-
rescue ::OpenSCAP::OpenSCAPError
|
26
|
-
errors << "Invalid SCAP file type"
|
27
|
-
end
|
28
|
-
File.write out_file, { :errors => errors }.to_json
|
29
|
-
ensure
|
30
|
-
source.destroy if source
|
31
|
-
::OpenSCAP.oscap_cleanup
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|