# File lib/openscap/xccdf/session.rb, line 16 def initialize(input_filename) @input_filename = input_filename @s = OpenSCAP.xccdf_session_new(input_filename) if @s.null? OpenSCAP.raise! end end
# File lib/openscap/xccdf/session.rb, line 46 def evaluate if OpenSCAP.xccdf_session_evaluate(@s) != 0 OpenSCAP.raise! end end
# File lib/openscap/xccdf/session.rb, line 56 def export_results(rds_file:nil, xccdf_file:nil, report_file:nil, oval_results:false, oval_variables:false, engines_results:false) OpenSCAP.raise! unless OpenSCAP.xccdf_session_set_arf_export(@s, rds_file) OpenSCAP.raise! unless OpenSCAP.xccdf_session_set_xccdf_export(@s, xccdf_file) OpenSCAP.raise! unless OpenSCAP.xccdf_session_set_report_export(@s, report_file) OpenSCAP.xccdf_session_set_oval_results_export(@s, oval_results) OpenSCAP.xccdf_session_set_oval_variables_export(@s, oval_variables) OpenSCAP.xccdf_session_set_check_engine_plugins_results_export(@s, engines_results) OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_oval(@s) == 0 OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_check_engine_plugins(@s) == 0 OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_xccdf(@s) == 0 OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_arf(@s) == 0 end
# File lib/openscap/xccdf/session.rb, line 71 def finalize(s) OpenSCAP.xccdf_session_free(s.s) end
# File lib/openscap/xccdf/session.rb, line 28 def load(datastream_id:nil, component_id:nil) if sds? OpenSCAP.xccdf_session_set_datastream_id(@s, datastream_id) OpenSCAP.xccdf_session_set_component_id(@s, component_id) end if OpenSCAP.xccdf_session_load(@s) != 0 OpenSCAP.raise! end OpenSCAP.raise! unless OpenSCAP.xccdf_session_load_check_engine_plugins(@s) == 0 end
# File lib/openscap/xccdf/session.rb, line 39 def profile=(p) @profile = p if OpenSCAP.xccdf_session_set_profile_id(@s, p) == false raise OpenSCAPError, "No profile '" + p + "' found" end end
# File lib/openscap/xccdf/session.rb, line 52 def remediate OpenSCAP.raise! unless OpenSCAP.xccdf_session_remediate(@s) == 0 end
# File lib/openscap/xccdf/session.rb, line 24 def sds? return OpenSCAP.xccdf_session_is_sds(@s) end