Open SCAP Library
|
OVAL Agent interface. More...
Files | |
file | oval_agent_api.h |
file | oval_agent_xccdf_api.h |
Typedefs | |
typedef struct oval_agent_session | oval_agent_session_t |
Agent session consists of connection to system checking engine, definition model, system characteristics model and results model. | |
typedef xccdf_test_result_type_t( | xccdf_policy_eval_rule_cb_t )(struct xccdf_policy *policy, const char *rule_id, const char *id, struct xccdf_value_binding_iterator *it, void *usr) |
Functions | |
oval_agent_session_t * | oval_agent_new_session (struct oval_definition_model *model, const char *name) |
Create new session for OVAL agent from OVAL definition model. | |
int | oval_agent_eval_definition (oval_agent_session_t *, const char *) |
Probe the system and evaluate specified definition. | |
int | oval_agent_get_definition_result (oval_agent_session_t *, const char *, oval_result_t *) |
Get the OVAL result of a definition from an agent session. | |
int | oval_agent_reset_session (oval_agent_session_t *ag_sess) |
Clean resuls that were generated in this agent session. | |
int | oval_agent_abort_session (oval_agent_session_t *ag_sess) |
Abort a running probe session. | |
int | oval_agent_eval_system (oval_agent_session_t *ag_sess, oscap_reporter cb, void *arg) |
Probe and evaluate all definitions from the content, call the callback functions upon single evaluation. | |
struct oval_results_model * | oval_agent_get_results_model (oval_agent_session_t *ag_sess) |
Get a result model from agent session. | |
const char * | oval_agent_get_filename (oval_agent_session_t *ag_sess) |
Get a filename under which was created. | |
void | oval_agent_destroy_session (oval_agent_session_t *ag_sess) |
Finish OVAL agent session. | |
xccdf_test_result_type_t | oval_agent_eval_rule (struct xccdf_policy *policy, const char *rule_id, const char *id, const char *href, struct xccdf_value_binding_iterator *it, void *usr) |
Internal OVAL Agent Callback that can be used to evaluate XCCDF content. | |
int | oval_agent_resolve_variables (struct oval_agent_session *session, struct xccdf_value_binding_iterator *it) |
Resolve variables from XCCDF Value Bindings and set their values to OVAL Variables. | |
void | oval_agent_export_sysinfo_to_xccdf_result (struct oval_agent_session *session, struct xccdf_result *ritem) |
Transform OVAL Sysinfo into XCCDF Test Result. | |
bool | xccdf_policy_model::xccdf_policy_model_register_engine_oval (struct xccdf_policy_model *model, struct oval_agent_session *sess) |
Function to register predefined oval callback for XCCDF evaluation proccess. |
OVAL Agent interface.
This is a high level API for system probing and OVAL Definition content evaluation.
typedef xccdf_test_result_type_t( xccdf_policy_eval_rule_cb_t)(struct xccdf_policy *policy, const char *rule_id, const char *id, struct xccdf_value_binding_iterator *it, void *usr) |
policy | XCCDF Policy that is being evaluated |
rule_id | ID of XCCDF Rule |
id | ID of OVAL definition |
it | XCCDF Value Binding iterator with value bindings |
usr | Void pointer to the user data structure |
int oval_agent_eval_definition | ( | oval_agent_session_t * | , |
const char * | |||
) |
Probe the system and evaluate specified definition.
xccdf_test_result_type_t oval_agent_eval_rule | ( | struct xccdf_policy * | policy, |
const char * | rule_id, | ||
const char * | id, | ||
const char * | href, | ||
struct xccdf_value_binding_iterator * | it, | ||
void * | usr | ||
) |
Internal OVAL Agent Callback that can be used to evaluate XCCDF content.
struct oval_definition_model * def_model = oval_definition_model_import(oval_file); struct xccdf_benchmark * benchmark = xccdf_benchmark_import(file); struct xccdf_policy_model * policy_model = xccdf_policy_model_new(benchmark); struct oval_agent_session * sess = oval_agent_new_session(def_model, "name-of-file"); ... xccdf_policy_model_register_engine_callback(policy_model, "http://oval.mitre.org/XMLSchema/oval-definitions-5", oval_agent_eval_rule, (void *) sess);
int oval_agent_eval_system | ( | oval_agent_session_t * | ag_sess, |
oscap_reporter | cb, | ||
void * | arg | ||
) |
Probe and evaluate all definitions from the content, call the callback functions upon single evaluation.
void oval_agent_export_sysinfo_to_xccdf_result | ( | struct oval_agent_session * | session, |
struct xccdf_result * | ritem | ||
) |
Transform OVAL Sysinfo into XCCDF Test Result.
session | OVAL Agent session |
ritem | XCCDF Result |
int oval_agent_get_definition_result | ( | oval_agent_session_t * | , |
const char * | , | ||
oval_result_t * | |||
) |
Get the OVAL result of a definition from an agent session.
oval_agent_session_t* oval_agent_new_session | ( | struct oval_definition_model * | model, |
const char * | name | ||
) |
Create new session for OVAL agent from OVAL definition model.
model | OVAL Definition model |
name | Name of file that can be referenced from XCCDF Benchmark |
int oval_agent_resolve_variables | ( | struct oval_agent_session * | session, |
struct xccdf_value_binding_iterator * | it | ||
) |
Resolve variables from XCCDF Value Bindings and set their values to OVAL Variables.
session | OVAL Agent Session |
it | XCCDF Value Bindng iterator |
bool xccdf_policy_model_register_engine_oval | ( | struct xccdf_policy_model * | model, |
struct oval_agent_session * | sess | ||
) |
Function to register predefined oval callback for XCCDF evaluation proccess.
model | XCCDF Policy Model |
sess | oval_agent_session_t parameter for passing session data to callback |