Sha256: 5fc04e0dfb93399dfa6d56abf7153e464247235ddf58a3bac7cb32b0cb8d483d
Contents?: true
Size: 834 Bytes
Versions: 2
Compression:
Stored size: 834 Bytes
Contents
require 'json' require 'openscap' require 'openscap/source' module Proxy module OpenSCAP class ScapValidation def allowed_types { 'tailoring_file' => 'XCCDF Tailoring', 'scap_content' => 'SCAP Source Datastream' } end def validate(in_file, out_file, type) errors = [] ::OpenSCAP.oscap_init source = ::OpenSCAP::Source.new(in_file) if source.type != allowed_types[type] errors << "Uploaded file is #{source.type}, unexpected file type" end begin source.validate! rescue ::OpenSCAP::OpenSCAPError errors << "Invalid SCAP file type" end File.write out_file, { :errors => errors }.to_json source.destroy ::OpenSCAP.oscap_cleanup end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
smart_proxy_openscap-0.6.7 | lib/smart_proxy_openscap/scap_validation.rb |
smart_proxy_openscap-0.6.6 | lib/smart_proxy_openscap/scap_validation.rb |