OVALAGENT
[OVAL]

OVAL Agent interface. More...

Files

file  oval_agent_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 int( oval_agent_result_cb_t )(const char *id, int result, void *arg)
 This callback is called after evaluation of each definition.

Functions

oval_agent_session_toval_agent_new_session (struct oval_definition_model *model)
 Create new session for OVAL agent from OVAL definition model.
oval_result_t oval_agent_eval_definition (oval_agent_session_t *ag_sess, const char *id)
 Probe the system and evaluate specified definition.
int oval_agent_reset_session (oval_agent_session_t *ag_sess)
 Clean resuls that were generated in this agent session.
int oval_agent_eval_system (oval_agent_session_t *ag_sess, oval_agent_result_cb_t *cb, void *arg)
 Probe and evaluate all definitions from the content, call the callback functions upon single evaluation.
struct oval_results_modeloval_agent_get_results_model (oval_agent_session_t *ag_sess)
 Get a result model from agent session.
void oval_agent_destroy_session (oval_agent_session_t *ag_sess)
 Finish OVAL agent session.

Evaluators



typedef xccdf_test_result_type_txccdf_policy_eval_rule_cb_t )(struct xccdf_policy *policy, const char *rule_id, const char *id, struct xccdf_value_binding_iterator *it, void *usr)
xccdf_test_result_type_t oval_agent_eval_rule (struct xccdf_policy *policy, const char *rule_id, const char *id, struct xccdf_value_binding_iterator *it, void *usr)
 Internal OVAL Agent Callback that can be used to evaluate XCCDF content.
void 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.

Detailed Description

OVAL Agent interface.

This is a high level API for system probing and OVAL Definition content evaluation.


Typedef Documentation

This callback is called after evaluation of each definition.

Parameters:
id definition id that was evaluated
result definition result
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)
Parameters:
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
Returns:
XCCDF test result type of evaluated rule

Function Documentation

xccdf_test_result_type_t oval_agent_eval_rule ( struct xccdf_policy policy,
const char *  rule_id,
const char *  id,
struct xccdf_value_binding_iterator *  it,
void *  usr 
)

Internal OVAL Agent Callback that can be used to evaluate XCCDF content.

Example
Next example shows common use of this function in evaluation proccess of XCCDF file.
  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);
  ...
  xccdf_policy_model_register_engine_callback(policy_model, "http://oval.mitre.org/XMLSchema/oval-definitions-5", oval_agent_eval_rule, (void *) sess);
void oval_agent_export_sysinfo_to_xccdf_result ( struct oval_agent_session session,
struct xccdf_result ritem 
)

Transform OVAL Sysinfo into XCCDF Test Result.

Parameters:
session OVAL Agent session
ritem XCCDF Result
void 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.

Parameters:
session OVAL Agent Session
it XCCDF Value Bindng iterator
Example
Example in oval_agent.c in function oval_agent_eval_rule
bool xccdf_policy_model_register_engine_oval ( struct xccdf_policy_model model,
struct oval_agent_session sess 
) [inherited]

Function to register predefined oval callback for XCCDF evaluation proccess.

Parameters:
model XCCDF Policy Model
sess oval_agent_session_t parameter for passing session data to callback
Returns:
true if callback registered succesfully, false otherwise

Generated on 14 Jul 2010 for Open SCAP Library by  doxygen 1.6.1