|
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 |
1.7.4