#include "common/alloc.h"
#include "common/_error.h"
#include "common/util.h"
#include "common/list.h"
#include "common/oscap_acquire.h"
#include "common/oscap_string.h"
#include "common/debug_priv.h"
#include "sce_engine_api.h"
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <wait.h>
#include <unistd.h>
#include <sys/stat.h>
#include <assert.h>
#include <fcntl.h>
#include <sys/types.h>
#include <limits.h>
#include <libgen.h>
Data Structures | |
| struct | sce_check_result |
| struct | sce_session |
| struct | sce_parameters |
Functions | |
| struct sce_check_result * | sce_check_result_new (void) |
| sce_check_result | |
| void | sce_check_result_free (struct sce_check_result *v) |
| sce_check_result | |
| void | sce_check_result_set_href (struct sce_check_result *v, const char *href) |
| Sets the href used to execute the check that yielded given check result. | |
| const char * | sce_check_result_get_href (struct sce_check_result *v) |
| sce_check_result | |
| void | sce_check_result_set_basename (struct sce_check_result *v, const char *base_name) |
| Sets basename of the script that was used for check evaluation. | |
| const char * | sce_check_result_get_basename (struct sce_check_result *v) |
| sce_check_result | |
| void | sce_check_result_set_stdout (struct sce_check_result *v, const char *_stdout) |
| Sets stdout that was captured while script was evaluating. | |
| const char * | sce_check_result_get_stdout (struct sce_check_result *v) |
| sce_check_result | |
| void | sce_check_result_set_stderr (struct sce_check_result *v, const char *_stderr) |
| Sets stderr that was captured while script was evaluating. | |
| const char * | sce_check_result_get_stderr (struct sce_check_result *v) |
| sce_check_result | |
| void | sce_check_result_set_exit_code (struct sce_check_result *v, int exit_code) |
| Sets exit code with which the script ended execution after evaluation sce_check_result. | |
| int | sce_check_result_get_exit_code (struct sce_check_result *v) |
| sce_check_result | |
| void | sce_check_result_reset_environment_variables (struct sce_check_result *v) |
| Clears the list of passed environment variables. | |
| void | sce_check_result_add_environment_variable (struct sce_check_result *v, const char *var) |
| Adds an environment variable entry to list of environment variables that were passed to the script. | |
| void | sce_check_result_set_xccdf_result (struct sce_check_result *v, xccdf_test_result_type_t result) |
| Sets the final xccdf result (after exit code to xccdf mapping takes place). | |
| xccdf_test_result_type_t | sce_check_result_get_xccdf_result (struct sce_check_result *v) |
| sce_check_result | |
| void | sce_check_result_export (struct sce_check_result *v, const char *target_file) |
| Exports details (in XML form) of given check result to given file. | |
| struct sce_session * | sce_session_new (void) |
| sce_session | |
| void | sce_session_free (struct sce_session *s) |
| sce_session | |
| void | sce_session_reset (struct sce_session *s) |
| Removes all check results from the session. | |
| void | sce_session_add_check_result (struct sce_session *s, struct sce_check_result *result) |
| Adds a check result to the session. | |
| struct sce_check_result_iterator * | sce_session_get_check_results (struct sce_session *s) |
| void | sce_session_export_to_directory (struct sce_session *s, const char *directory) |
| Exports all check results to given directory. | |
| struct sce_parameters * | sce_parameters_new (void) |
| sce_parameters | |
| void | sce_parameters_free (struct sce_parameters *v) |
| sce_parameters | |
| void | sce_parameters_set_xccdf_directory (struct sce_parameters *v, const char *value) |
| Sets the directory that contains XCCDF that will reference SCE checks. | |
| const char * | sce_parameters_get_xccdf_directory (struct sce_parameters *v) |
| sce_parameters | |
| void | sce_parameters_set_session (struct sce_parameters *v, struct sce_session *value) |
| Sets SCE session to use for check results storage. | |
| struct sce_session * | sce_parameters_get_session (struct sce_parameters *v) |
| sce_parameters | |
| void | sce_parameters_allocate_session (struct sce_parameters *v) |
| Just a convenience shortcut of setting a session to a newly allocated session. | |
| xccdf_test_result_type_t | sce_engine_eval_rule (struct xccdf_policy *policy, const char *rule_id, const char *id, const char *href, struct xccdf_value_binding_iterator *value_binding_it, struct xccdf_check_import_iterator *check_import_it, void *usr) |
| Internal rule evaluation callback, don't use directly. | |
| bool | xccdf_policy_model_register_engine_sce (struct xccdf_policy_model *model, struct sce_parameters *parameters) |
| Registers SCE to given policy model. | |
| void sce_check_result_add_environment_variable | ( | struct sce_check_result * | v, | |
| const char * | var | |||
| ) |
Adds an environment variable entry to list of environment variables that were passed to the script.
These include XCCDF result codes, bound XCCDF variables and possibly more.
sce_check_result contains these mostly for debugging purposes.
| var | entry that will be added, in "VARIABLE_NAME=VARIABLE_VALUE" form sce_check_result |
| void sce_check_result_export | ( | struct sce_check_result * | v, | |
| const char * | target_file | |||
| ) |
Exports details (in XML form) of given check result to given file.
sce_check_result
| void sce_check_result_reset_environment_variables | ( | struct sce_check_result * | v | ) |
Clears the list of passed environment variables.
sce_check_result
| void sce_check_result_set_basename | ( | struct sce_check_result * | v, | |
| const char * | basename | |||
| ) |
Sets basename of the script that was used for check evaluation.
sce_check_result
| void sce_check_result_set_href | ( | struct sce_check_result * | v, | |
| const char * | href | |||
| ) |
Sets the href used to execute the check that yielded given check result.
sce_check_result
| void sce_check_result_set_stderr | ( | struct sce_check_result * | v, | |
| const char * | details | |||
| ) |
Sets stderr that was captured while script was evaluating.
| stderr | should contain output only from stderr sce_check_result |
| void sce_check_result_set_stdout | ( | struct sce_check_result * | v, | |
| const char * | details | |||
| ) |
Sets stdout that was captured while script was evaluating.
| stdout | should contain output only from stdout sce_check_result |
| void sce_check_result_set_xccdf_result | ( | struct sce_check_result * | v, | |
| xccdf_test_result_type_t | result | |||
| ) |
Sets the final xccdf result (after exit code to xccdf mapping takes place).
sce_check_result
| xccdf_test_result_type_t sce_engine_eval_rule | ( | struct xccdf_policy * | policy, | |
| const char * | rule_id, | |||
| const char * | id, | |||
| const char * | href, | |||
| struct xccdf_value_binding_iterator * | value_binding_it, | |||
| struct xccdf_check_import_iterator * | check_import_it, | |||
| void * | usr | |||
| ) |
Internal rule evaluation callback, don't use directly.
| void sce_parameters_allocate_session | ( | struct sce_parameters * | v | ) |
Just a convenience shortcut of setting a session to a newly allocated session.
The session gets automatically freed when sce_parameters are freed, don't deallocate it! sce_parameters
| void sce_parameters_set_session | ( | struct sce_parameters * | v, | |
| struct sce_session * | value | |||
| ) |
Sets SCE session to use for check results storage.
| v | ||
| value | SCE session to use (sce_parameters take ownership of it, don't deallocate it!) sce_parameters |
| void sce_session_add_check_result | ( | struct sce_session * | s, | |
| struct sce_check_result * | result | |||
| ) |
Adds a check result to the session.
| s | session to add the check result to | |
| result | result to be added (the session takes ownership of it, don't deallocate it!) sce_session |
| void sce_session_export_to_directory | ( | struct sce_session * | s, | |
| const char * | directory | |||
| ) |
Exports all check results to given directory.
sce_session
| void sce_session_reset | ( | struct sce_session * | s | ) |
Removes all check results from the session.
sce_session
| bool xccdf_policy_model_register_engine_sce | ( | struct xccdf_policy_model * | model, | |
| struct sce_parameters * | sce_parameters | |||
| ) |
Registers SCE to given policy model.
| model | model to register SCE to | |
| sce_parameters | various parameters to be used with SCE (you are responsible to deallocate them!) |
1.5.6