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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/bin/smart-proxy-openscap-send +5 -1
  4. data/lib/smart_proxy_openscap/arf_parser.rb +74 -17
  5. data/lib/smart_proxy_openscap/content_parser.rb +19 -25
  6. data/lib/smart_proxy_openscap/fetch_scap_file.rb +45 -0
  7. data/lib/smart_proxy_openscap/foreman_arf_forwarder.rb +15 -0
  8. data/lib/smart_proxy_openscap/foreman_forwarder.rb +19 -16
  9. data/lib/smart_proxy_openscap/foreman_oval_forwarder.rb +19 -0
  10. data/lib/smart_proxy_openscap/openscap_api.rb +59 -28
  11. data/lib/smart_proxy_openscap/openscap_exception.rb +1 -0
  12. data/lib/smart_proxy_openscap/openscap_html_generator.rb +1 -1
  13. data/lib/smart_proxy_openscap/openscap_import_api.rb +3 -3
  14. data/lib/smart_proxy_openscap/openscap_lib.rb +5 -3
  15. data/lib/smart_proxy_openscap/openscap_plugin.rb +2 -1
  16. data/lib/smart_proxy_openscap/oval_report_parser.rb +54 -0
  17. data/lib/smart_proxy_openscap/oval_report_storage_fs.rb +26 -0
  18. data/lib/smart_proxy_openscap/profiles_parser.rb +22 -23
  19. data/lib/smart_proxy_openscap/spool_forwarder.rb +4 -4
  20. data/lib/smart_proxy_openscap/storage.rb +0 -2
  21. data/lib/smart_proxy_openscap/storage_fs.rb +7 -4
  22. data/lib/smart_proxy_openscap/storage_fs_common.rb +42 -0
  23. data/lib/smart_proxy_openscap/version.rb +1 -1
  24. data/settings.d/openscap.yml.example +3 -0
  25. data/smart_proxy_openscap.gemspec +2 -0
  26. data/test/data/oval-results.xml.bz2 +0 -0
  27. data/test/data/rhel-7-including-unpatched.oval.xml.bz2 +0 -0
  28. data/test/fetch_oval_content_api_test.rb +38 -0
  29. data/test/fetch_scap_api_test.rb +1 -1
  30. data/test/oval_report_parser_test.rb +14 -0
  31. data/test/post_oval_report_api_test.rb +30 -0
  32. data/test/post_report_api_test.rb +2 -2
  33. data/test/scap_content_parser_api_test.rb +1 -1
  34. data/test/script_class_test.rb +0 -58
  35. metadata +29 -11
  36. data/bin/smart-proxy-arf-json +0 -7
  37. data/bin/smart-proxy-scap-profiles +0 -7
  38. data/bin/smart-proxy-scap-validation +0 -7
  39. data/lib/smart_proxy_openscap/arf_json.rb +0 -114
  40. data/lib/smart_proxy_openscap/fetch_scap_content.rb +0 -17
  41. data/lib/smart_proxy_openscap/fetch_tailoring_file.rb +0 -17
  42. data/lib/smart_proxy_openscap/scap_profiles.rb +0 -52
  43. 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