Greenbone Vulnerability Management Libraries
11.0.0
|
API for Open Scanner Protocol communication. More...
Go to the source code of this file.
Data Structures | |
struct | osp_get_scan_status_opts_t |
struct | osp_get_performance_opts_t |
struct | osp_get_vts_opts_t |
struct | osp_start_scan_opts_t |
Typedefs | |
typedef struct osp_connection | osp_connection_t |
typedef struct osp_credential | osp_credential_t |
typedef struct osp_target | osp_target_t |
typedef struct osp_vt_group | osp_vt_group_t |
typedef struct osp_vt_single | osp_vt_single_t |
typedef struct osp_param | osp_param_t |
Enumerations | |
enum | osp_param_type_t { OSP_PARAM_TYPE_INT = 0, OSP_PARAM_TYPE_STR, OSP_PARAM_TYPE_PASSWORD, OSP_PARAM_TYPE_FILE, OSP_PARAM_TYPE_BOOLEAN, OSP_PARAM_TYPE_OVALDEF_FILE, OSP_PARAM_TYPE_SELECTION, OSP_PARAM_TYPE_CRD_UP } |
OSP parameter types. More... | |
enum | osp_scan_status_t { OSP_SCAN_STATUS_ERROR = -1, OSP_SCAN_STATUS_INIT, OSP_SCAN_STATUS_RUNNING, OSP_SCAN_STATUS_STOPPED, OSP_SCAN_STATUS_FINISHED } |
OSP scan status. More... | |
Functions | |
osp_connection_t * | osp_connection_new (const char *, int, const char *, const char *, const char *) |
void | osp_connection_close (osp_connection_t *) |
Close a connection to an OSP server. More... | |
int | osp_get_version (osp_connection_t *, char **, char **, char **, char **, char **, char **) |
Get the scanner version from an OSP server. More... | |
int | osp_get_vts_version (osp_connection_t *, char **) |
Get the VTs version from an OSP server. More... | |
int | osp_get_vts (osp_connection_t *, entity_t *) |
Get all VTs from an OSP server. More... | |
int | osp_get_vts_ext (osp_connection_t *, osp_get_vts_opts_t, entity_t *) |
Get filtered set of VTs from an OSP server. More... | |
int | osp_start_scan (osp_connection_t *, const char *, const char *, GHashTable *, const char *, char **) |
Start an OSP scan against a target. More... | |
int | osp_start_scan_ext (osp_connection_t *, osp_start_scan_opts_t, char **) |
Start an OSP scan against a target. More... | |
int | osp_get_scan (osp_connection_t *, const char *, char **, int, char **) |
Get a scan from an OSP server. More... | |
int | osp_get_scan_pop (osp_connection_t *, const char *, char **, int, int, char **) |
Get a scan from an OSP server, optionally removing the results. More... | |
osp_scan_status_t | osp_get_scan_status_ext (osp_connection_t *, osp_get_scan_status_opts_t, char **) |
Get a scan status from an OSP server. More... | |
int | osp_delete_scan (osp_connection_t *, const char *) |
Delete a scan from an OSP server. More... | |
int | osp_stop_scan (osp_connection_t *, const char *, char **) |
Stop a scan on an OSP server. More... | |
int | osp_get_scanner_details (osp_connection_t *, char **, GSList **) |
Get an OSP scanner's details. More... | |
int | osp_get_performance_ext (osp_connection_t *, osp_get_performance_opts_t, char **, char **) |
Get performance graphics from an OSP server. More... | |
osp_param_t * | osp_param_new (void) |
Create a new OSP parameter. More... | |
const char * | osp_param_id (const osp_param_t *) |
Get an OSP parameter's id. More... | |
const char * | osp_param_name (const osp_param_t *) |
Get an OSP parameter's name. More... | |
const char * | osp_param_desc (const osp_param_t *) |
Get an OSP parameter's description. More... | |
const char * | osp_param_default (const osp_param_t *) |
Get an OSP parameter's default value. More... | |
const char * | osp_param_type_str (const osp_param_t *) |
Get an OSP parameter in string format form its type. More... | |
int | osp_param_mandatory (const osp_param_t *) |
Get an OSP parameter's mandatory value. More... | |
void | osp_param_free (osp_param_t *) |
Free an OSP parameter. More... | |
osp_credential_t * | osp_credential_new (const char *, const char *, const char *) |
Allocate and initialize a new OSP credential. More... | |
void | osp_credential_free (osp_credential_t *) |
Free an OSP credential. More... | |
const gchar * | osp_credential_get_auth_data (osp_credential_t *, const char *) |
Get authentication data from an OSP credential. More... | |
void | osp_credential_set_auth_data (osp_credential_t *, const char *, const char *) |
Get authentication data from an OSP credential. More... | |
osp_target_t * | osp_target_new (const char *, const char *, const char *) |
void | osp_target_free (osp_target_t *) |
void | osp_target_add_credential (osp_target_t *, osp_credential_t *) |
osp_vt_group_t * | osp_vt_group_new (const char *) |
void | osp_vt_group_free (osp_vt_group_t *) |
osp_vt_single_t * | osp_vt_single_new (const char *) |
void | osp_vt_single_free (osp_vt_single_t *) |
void | osp_vt_single_add_value (osp_vt_single_t *, const char *, const char *) |
API for Open Scanner Protocol communication.
Definition in file osp.h.
typedef struct osp_connection osp_connection_t |
typedef struct osp_credential osp_credential_t |
typedef struct osp_param osp_param_t |
typedef struct osp_target osp_target_t |
typedef struct osp_vt_group osp_vt_group_t |
typedef struct osp_vt_single osp_vt_single_t |
enum osp_param_type_t |
OSP parameter types.
Definition at line 46 of file osp.h.
enum osp_scan_status_t |
void osp_connection_close | ( | osp_connection_t * | connection | ) |
Close a connection to an OSP server.
[in] | connection | Connection to OSP server to close. |
Definition at line 223 of file osp.c.
References gvm_server_close(), osp_connection::host, osp_connection::session, and osp_connection::socket.
osp_connection_t* osp_connection_new | ( | const char * | , |
int | , | ||
const char * | , | ||
const char * | , | ||
const char * | |||
) |
void osp_credential_free | ( | osp_credential_t * | credential | ) |
Free an OSP credential.
[in] | credential | The credential to free. |
Definition at line 1322 of file osp.c.
References osp_credential::auth_data, osp_credential::port, osp_credential::service, and osp_credential::type.
const gchar* osp_credential_get_auth_data | ( | osp_credential_t * | credential, |
const char * | name | ||
) |
Get authentication data from an OSP credential.
[in] | credential | The credential to get the data from. |
[in] | name | The name of the data item to get. |
Definition at line 1343 of file osp.c.
References osp_credential::auth_data.
osp_credential_t* osp_credential_new | ( | const char * | type, |
const char * | service, | ||
const char * | port | ||
) |
Allocate and initialize a new OSP credential.
[in] | type | The credential type. |
[in] | service | The service the credential is for. |
[in] | port | The port. |
Definition at line 1299 of file osp.c.
References osp_credential::auth_data, osp_credential::port, osp_credential::service, and osp_credential::type.
void osp_credential_set_auth_data | ( | osp_credential_t * | credential, |
const char * | name, | ||
const char * | value | ||
) |
Get authentication data from an OSP credential.
[in] | credential | The credential to get the data from. |
[in] | name | The name of the data item to get. |
[in] | value | The authentication data or NULL to unset. |
Definition at line 1359 of file osp.c.
References osp_credential::auth_data.
int osp_delete_scan | ( | osp_connection_t * | connection, |
const char * | scan_id | ||
) |
Delete a scan from an OSP server.
[in] | connection | Connection to an OSP server. |
[in] | scan_id | ID of scan to delete. |
Definition at line 429 of file osp.c.
References entity_attribute(), free_entity(), and osp_send_command().
int osp_get_performance_ext | ( | osp_connection_t * | connection, |
osp_get_performance_opts_t | opts, | ||
char ** | graph, | ||
char ** | error | ||
) |
Get performance graphics from an OSP server.
[in] | connection | Connection to an OSP server. |
[in] | opts | Struct containing the options to apply. |
[out] | graph | Graphic base64 encoded. |
[out] | error | Pointer to error, if any. |
Definition at line 464 of file osp.c.
References osp_get_performance_opts_t::end, entity_attribute(), entity_text(), free_entity(), osp_send_command(), osp_get_performance_opts_t::start, and osp_get_performance_opts_t::titles.
int osp_get_scan | ( | osp_connection_t * | connection, |
const char * | scan_id, | ||
char ** | report_xml, | ||
int | details, | ||
char ** | error | ||
) |
Get a scan from an OSP server.
[in] | connection | Connection to an OSP server. |
[in] | scan_id | ID of scan to get. |
[out] | report_xml | Scans report. |
[in] | details | 0 for no scan details, 1 otherwise. |
[out] | error | Pointer to error, if any. |
Definition at line 663 of file osp.c.
References osp_get_scan_pop().
int osp_get_scan_pop | ( | osp_connection_t * | connection, |
const char * | scan_id, | ||
char ** | report_xml, | ||
int | details, | ||
int | pop_results, | ||
char ** | error | ||
) |
Get a scan from an OSP server, optionally removing the results.
[in] | connection | Connection to an OSP server. |
[in] | scan_id | ID of scan to get. |
[out] | report_xml | Scans report. |
[in] | details | 0 for no scan details, 1 otherwise. |
[in] | pop_results | 0 to leave results, 1 to pop results from scanner. |
[out] | error | Pointer to error, if any. |
Definition at line 597 of file osp.c.
References entity_attribute(), entity_child(), free_entity(), osp_send_command(), and print_entity_to_string().
Referenced by osp_get_scan().
osp_scan_status_t osp_get_scan_status_ext | ( | osp_connection_t * | connection, |
osp_get_scan_status_opts_t | opts, | ||
char ** | error | ||
) |
Get a scan status from an OSP server.
[in] | connection | Connection to an OSP server. |
[in] | scan_id | ID of scan to get. |
[out] | error | Pointer to error, if any. |
Definition at line 530 of file osp.c.
References entity_attribute(), entity_child(), free_entity(), OSP_SCAN_STATUS_ERROR, OSP_SCAN_STATUS_FINISHED, OSP_SCAN_STATUS_INIT, OSP_SCAN_STATUS_RUNNING, OSP_SCAN_STATUS_STOPPED, osp_send_command(), and osp_get_scan_status_opts_t::scan_id.
int osp_get_scanner_details | ( | osp_connection_t * | connection, |
char ** | desc, | ||
GSList ** | params | ||
) |
Get an OSP scanner's details.
[in] | connection | Connection to an OSP server. |
[out] | desc | Scanner's description. |
[out] | params | Scanner's parameters. |
Definition at line 1135 of file osp.c.
References osp_param::def, osp_param::desc, entity_s::entities, entity_attribute(), entity_child(), entity_text(), free_entity(), osp_param::id, osp_param::mandatory, osp_param::name, next_entities(), osp_param_new(), osp_param_str_to_type(), osp_send_command(), and osp_param::type.
int osp_get_version | ( | osp_connection_t * | connection, |
char ** | s_name, | ||
char ** | s_version, | ||
char ** | d_name, | ||
char ** | d_version, | ||
char ** | p_name, | ||
char ** | p_version | ||
) |
Get the scanner version from an OSP server.
[in] | connection | Connection to an OSP server. |
[out] | s_name | Parsed scanner name. |
[out] | s_version | Parsed scanner version. |
[out] | d_name | Parsed scanner name. |
[out] | d_version | Parsed scanner version. |
[out] | p_name | Parsed scanner name. |
[out] | p_version | Parsed scanner version. |
Definition at line 250 of file osp.c.
References entity_child(), entity_text(), free_entity(), and osp_send_command().
int osp_get_vts | ( | osp_connection_t * | connection, |
entity_t * | vts | ||
) |
Get all VTs from an OSP server.
[in] | connection | Connection to an OSP server. |
[out] | vts | VTs. |
Definition at line 376 of file osp.c.
References osp_send_command().
int osp_get_vts_ext | ( | osp_connection_t * | connection, |
osp_get_vts_opts_t | opts, | ||
entity_t * | vts | ||
) |
Get filtered set of VTs from an OSP server.
[in] | connection | Connection to an OSP server. |
[in] | opts | Struct containing the options to apply. |
[out] | vts | VTs. |
Definition at line 400 of file osp.c.
References osp_get_vts_opts_t::filter, and osp_send_command().
int osp_get_vts_version | ( | osp_connection_t * | connection, |
char ** | vts_version | ||
) |
Get the VTs version from an OSP server.
[in] | connection | Connection to an OSP server. |
[out] | vts_version | Parsed scanner version. |
Definition at line 334 of file osp.c.
References entity_child(), entity_text(), free_entity(), and osp_send_command().
const char* osp_param_default | ( | const osp_param_t * | param | ) |
Get an OSP parameter's default value.
[in] | param | OSP parameter. |
Definition at line 1249 of file osp.c.
References osp_param::def.
const char* osp_param_desc | ( | const osp_param_t * | param | ) |
Get an OSP parameter's description.
[in] | param | OSP parameter. |
Definition at line 1234 of file osp.c.
References osp_param::desc.
void osp_param_free | ( | osp_param_t * | param | ) |
Free an OSP parameter.
[in] | param | OSP parameter to destroy. |
Definition at line 1277 of file osp.c.
References osp_param::def, osp_param::desc, osp_param::id, and osp_param::name.
const char* osp_param_id | ( | const osp_param_t * | param | ) |
Get an OSP parameter's id.
[in] | param | OSP parameter. |
Definition at line 1204 of file osp.c.
References osp_param::id.
int osp_param_mandatory | ( | const osp_param_t * | param | ) |
Get an OSP parameter's mandatory value.
[in] | param | OSP parameter. |
Definition at line 1264 of file osp.c.
References osp_param::mandatory.
const char* osp_param_name | ( | const osp_param_t * | param | ) |
Get an OSP parameter's name.
[in] | param | OSP parameter. |
Definition at line 1219 of file osp.c.
References osp_param::name.
osp_param_t* osp_param_new | ( | void | ) |
Create a new OSP parameter.
Definition at line 1191 of file osp.c.
Referenced by osp_get_scanner_details().
const char* osp_param_type_str | ( | const osp_param_t * | param | ) |
Get an OSP parameter in string format form its type.
[in] | param | OSP parameter. |
Definition at line 1099 of file osp.c.
References OSP_PARAM_TYPE_BOOLEAN, OSP_PARAM_TYPE_CRD_UP, OSP_PARAM_TYPE_FILE, OSP_PARAM_TYPE_INT, OSP_PARAM_TYPE_OVALDEF_FILE, OSP_PARAM_TYPE_PASSWORD, OSP_PARAM_TYPE_SELECTION, OSP_PARAM_TYPE_STR, and osp_param::type.
int osp_start_scan | ( | osp_connection_t * | connection, |
const char * | target, | ||
const char * | ports, | ||
GHashTable * | options, | ||
const char * | scan_id, | ||
char ** | error | ||
) |
Start an OSP scan against a target.
[in] | connection | Connection to an OSP server. |
[in] | target | Target host to scan. |
[in] | ports | List of ports to scan. |
[in] | options | Table of scan options. |
[in] | scan_id | uuid to set for scan, null otherwise. |
[out] | error | Pointer to error, if any. |
Definition at line 758 of file osp.c.
References entity_attribute(), free_entity(), option_concat_as_xml(), and osp_send_command().
int osp_start_scan_ext | ( | osp_connection_t * | connection, |
osp_start_scan_opts_t | opts, | ||
char ** | error | ||
) |
Start an OSP scan against a target.
[in] | connection | Connection to an OSP server. |
[in] | opts | Struct containing the options to apply. |
[out] | error | Pointer to error, if any. |
Definition at line 938 of file osp.c.
References entity_attribute(), free_entity(), option_concat_as_xml(), osp_send_command(), osp_start_scan_opts_t::parallel, osp_start_scan_opts_t::scan_id, osp_start_scan_opts_t::scanner_params, target_append_as_xml(), osp_start_scan_opts_t::targets, vt_group_append_as_xml(), osp_start_scan_opts_t::vt_groups, vt_single_append_as_xml(), osp_start_scan_opts_t::vts, and xml_string_append().
int osp_stop_scan | ( | osp_connection_t * | connection, |
const char * | scan_id, | ||
char ** | error | ||
) |
Stop a scan on an OSP server.
[in] | connection | Connection to an OSP server. |
[in] | scan_id | ID of scan to delete. |
[out] | error | Pointer to error, if any. |
Definition at line 679 of file osp.c.
References entity_attribute(), free_entity(), and osp_send_command().
void osp_target_add_credential | ( | osp_target_t * | , |
osp_credential_t * | |||
) |
void osp_target_free | ( | osp_target_t * | ) |
osp_target_t* osp_target_new | ( | const char * | , |
const char * | , | ||
const char * | |||
) |
void osp_vt_group_free | ( | osp_vt_group_t * | ) |
osp_vt_group_t* osp_vt_group_new | ( | const char * | ) |
void osp_vt_single_add_value | ( | osp_vt_single_t * | , |
const char * | , | ||
const char * | |||
) |
void osp_vt_single_free | ( | osp_vt_single_t * | ) |
osp_vt_single_t* osp_vt_single_new | ( | const char * | ) |