Greenbone Vulnerability Management Libraries  21.4.2
Data Structures | Typedefs | Enumerations | Functions | Variables
osp.h File Reference

API for Open Scanner Protocol communication. More...

#include "../util/xmlutils.h"
#include <glib.h>

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_QUEUED , OSP_SCAN_STATUS_INTERRUPTED
}
 OSP scan status. More...
 

Functions

osp_connection_tosp_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 **, char **error)
 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_tosp_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_tosp_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_tosp_target_new (const char *, const char *, const char *, int, int, int)
 
void osp_target_set_finished_hosts (osp_target_t *, const char *)
 
void osp_target_free (osp_target_t *)
 
void osp_target_add_alive_test_methods (osp_target_t *, gboolean, gboolean, gboolean, gboolean, gboolean)
 
void osp_target_add_credential (osp_target_t *, osp_credential_t *)
 
osp_vt_group_tosp_vt_group_new (const char *)
 
void osp_vt_group_free (osp_vt_group_t *)
 
osp_vt_single_tosp_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 *)
 

Variables

static const osp_get_vts_opts_t osp_get_vts_opts_default = {NULL, 0}
 Sensible default values for osp_get_vts_opts_t. More...
 

Detailed Description

API for Open Scanner Protocol communication.

Typedef Documentation

◆ osp_connection_t

◆ osp_credential_t

◆ osp_param_t

typedef struct osp_param osp_param_t

◆ osp_target_t

typedef struct osp_target osp_target_t

◆ osp_vt_group_t

typedef struct osp_vt_group osp_vt_group_t

◆ osp_vt_single_t

Enumeration Type Documentation

◆ osp_param_type_t

OSP parameter types.

Enumerator
OSP_PARAM_TYPE_INT 

Integer type.

OSP_PARAM_TYPE_STR 

String type.

OSP_PARAM_TYPE_PASSWORD 

Password type.

OSP_PARAM_TYPE_FILE 

File type.

OSP_PARAM_TYPE_BOOLEAN 

Boolean type.

OSP_PARAM_TYPE_OVALDEF_FILE 

Oval definition type.

OSP_PARAM_TYPE_SELECTION 

Selection type.

OSP_PARAM_TYPE_CRD_UP 

Credential user/pass type.

◆ osp_scan_status_t

OSP scan status.

Enumerator
OSP_SCAN_STATUS_ERROR 

Error status.

OSP_SCAN_STATUS_INIT 

Init status.

OSP_SCAN_STATUS_RUNNING 

Running status.

OSP_SCAN_STATUS_STOPPED 

Stopped status.

OSP_SCAN_STATUS_FINISHED 

Finished status.

OSP_SCAN_STATUS_QUEUED 

Queued status

OSP_SCAN_STATUS_INTERRUPTED 

Interrupted status

Function Documentation

◆ osp_connection_close()

void osp_connection_close ( osp_connection_t connection)

Close a connection to an OSP server.

Parameters
[in]connectionConnection to OSP server to close.

◆ osp_connection_new()

osp_connection_t* osp_connection_new ( const char *  ,
int  ,
const char *  ,
const char *  ,
const char *   
)

◆ osp_credential_free()

void osp_credential_free ( osp_credential_t credential)

Free an OSP credential.

Parameters
[in]credentialThe credential to free.

◆ osp_credential_get_auth_data()

const gchar* osp_credential_get_auth_data ( osp_credential_t credential,
const char *  name 
)

Get authentication data from an OSP credential.

Parameters
[in]credentialThe credential to get the data from.
[in]nameThe name of the data item to get.
Returns
The requested authentication data or NULL if not available.

◆ osp_credential_new()

osp_credential_t* osp_credential_new ( const char *  type,
const char *  service,
const char *  port 
)

Allocate and initialize a new OSP credential.

Parameters
[in]typeThe credential type.
[in]serviceThe service the credential is for.
[in]portThe port.
Returns
New osp credential.

◆ osp_credential_set_auth_data()

void osp_credential_set_auth_data ( osp_credential_t credential,
const char *  name,
const char *  value 
)

Get authentication data from an OSP credential.

Parameters
[in]credentialThe credential to get the data from.
[in]nameThe name of the data item to get.
[in]valueThe authentication data or NULL to unset.

◆ osp_delete_scan()

int osp_delete_scan ( osp_connection_t connection,
const char *  scan_id 
)

Delete a scan from an OSP server.

Parameters
[in]connectionConnection to an OSP server.
[in]scan_idID of scan to delete.
Returns
0 if success, 1 if error.

◆ osp_get_performance_ext()

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.

Parameters
[in]connectionConnection to an OSP server.
[in]optsStruct containing the options to apply.
[out]graphGraphic base64 encoded.
[out]errorPointer to error, if any.
Returns
0 if success, -1 if error.

◆ osp_get_scan()

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.

Parameters
[in]connectionConnection to an OSP server.
[in]scan_idID of scan to get.
[out]report_xmlScans report.
[in]details0 for no scan details, 1 otherwise.
[out]errorPointer to error, if any.
Returns
Scan progress if success, -1 if error.

◆ 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.

Parameters
[in]connectionConnection to an OSP server.
[in]scan_idID of scan to get.
[out]report_xmlScans report.
[in]details0 for no scan details, 1 otherwise.
[in]pop_results0 to leave results, 1 to pop results from scanner.
[out]errorPointer to error, if any.
Returns
Scan progress if success, -1 if error.

◆ osp_get_scan_status_ext()

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.

Parameters
[in]connectionConnection to an OSP server.
[in]scan_idID of scan to get.
[out]errorPointer to error, if any.
Returns
Osp scan status

◆ osp_get_scanner_details()

int osp_get_scanner_details ( osp_connection_t connection,
char **  desc,
GSList **  params 
)

Get an OSP scanner's details.

Parameters
[in]connectionConnection to an OSP server.
[out]descScanner's description.
[out]paramsScanner's parameters.
Returns
0 if success, 1 if failure.

◆ osp_get_version()

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.

Parameters
[in]connectionConnection to an OSP server.
[out]s_nameParsed scanner name.
[out]s_versionParsed scanner version.
[out]d_nameParsed scanner name.
[out]d_versionParsed scanner version.
[out]p_nameParsed scanner name.
[out]p_versionParsed scanner version.
Returns
0 if success, 1 if error.

◆ osp_get_vts()

int osp_get_vts ( osp_connection_t connection,
entity_t vts 
)

Get all VTs from an OSP server.

Parameters
[in]connectionConnection to an OSP server.
[out]vtsVTs.
Returns
0 if success, 1 if error.

◆ osp_get_vts_ext()

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.

Parameters
[in]connectionConnection to an OSP server.
[in]optsStruct containing the options to apply.
[out]vtsVTs.
Returns
0 if success, 1 if error.

◆ osp_get_vts_version()

int osp_get_vts_version ( osp_connection_t connection,
char **  vts_version,
char **  error 
)

Get the VTs version from an OSP server.

Parameters
[in]connectionConnection to an OSP server.
[out]vts_versionParsed scanner version.
[out]errorPointer to error, if any.
Returns
0 if success, 1 if error.

◆ osp_param_default()

const char* osp_param_default ( const osp_param_t param)

Get an OSP parameter's default value.

Parameters
[in]paramOSP parameter.
Returns
Default value of OSP parameter.

◆ osp_param_desc()

const char* osp_param_desc ( const osp_param_t param)

Get an OSP parameter's description.

Parameters
[in]paramOSP parameter.
Returns
Description of OSP parameter.

◆ osp_param_free()

void osp_param_free ( osp_param_t param)

Free an OSP parameter.

Parameters
[in]paramOSP parameter to destroy.

◆ osp_param_id()

const char* osp_param_id ( const osp_param_t param)

Get an OSP parameter's id.

Parameters
[in]paramOSP parameter.
Returns
ID of OSP parameter.

◆ osp_param_mandatory()

int osp_param_mandatory ( const osp_param_t param)

Get an OSP parameter's mandatory value.

Parameters
[in]paramOSP parameter.
Returns
Mandatory value of OSP parameter.

◆ osp_param_name()

const char* osp_param_name ( const osp_param_t param)

Get an OSP parameter's name.

Parameters
[in]paramOSP parameter.
Returns
Name of OSP parameter.

◆ osp_param_new()

osp_param_t* osp_param_new ( void  )

Create a new OSP parameter.

Returns
New OSP parameter.

◆ osp_param_type_str()

const char* osp_param_type_str ( const osp_param_t param)

Get an OSP parameter in string format form its type.

Parameters
[in]paramOSP parameter.
Returns
OSP parameter in string format.

◆ osp_start_scan()

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.

Parameters
[in]connectionConnection to an OSP server.
[in]targetTarget host to scan.
[in]portsList of ports to scan.
[in]optionsTable of scan options.
[in]scan_iduuid to set for scan, null otherwise.
[out]errorPointer to error, if any.
Returns
0 on success, -1 otherwise.

◆ osp_start_scan_ext()

int osp_start_scan_ext ( osp_connection_t connection,
osp_start_scan_opts_t  opts,
char **  error 
)

Start an OSP scan against a target.

Parameters
[in]connectionConnection to an OSP server.
[in]optsStruct containing the options to apply.
[out]errorPointer to error, if any.
Returns
0 on success, -1 otherwise.

◆ osp_stop_scan()

int osp_stop_scan ( osp_connection_t connection,
const char *  scan_id,
char **  error 
)

Stop a scan on an OSP server.

Parameters
[in]connectionConnection to an OSP server.
[in]scan_idID of scan to delete.
[out]errorPointer to error, if any.
Returns
Scan progress if success, -1 if error.

◆ osp_target_add_alive_test_methods()

void osp_target_add_alive_test_methods ( osp_target_t ,
gboolean  ,
gboolean  ,
gboolean  ,
gboolean  ,
gboolean   
)

◆ osp_target_add_credential()

void osp_target_add_credential ( osp_target_t ,
osp_credential_t  
)

◆ osp_target_free()

void osp_target_free ( osp_target_t )

◆ osp_target_new()

osp_target_t* osp_target_new ( const char *  ,
const char *  ,
const char *  ,
int  ,
int  ,
int   
)

◆ osp_target_set_finished_hosts()

void osp_target_set_finished_hosts ( osp_target_t ,
const char *   
)

◆ osp_vt_group_free()

void osp_vt_group_free ( osp_vt_group_t )

◆ osp_vt_group_new()

osp_vt_group_t* osp_vt_group_new ( const char *  )

◆ osp_vt_single_add_value()

void osp_vt_single_add_value ( osp_vt_single_t ,
const char *  ,
const char *   
)

◆ osp_vt_single_free()

void osp_vt_single_free ( osp_vt_single_t )

◆ osp_vt_single_new()

osp_vt_single_t* osp_vt_single_new ( const char *  )

Variable Documentation

◆ osp_get_vts_opts_default

const osp_get_vts_opts_t osp_get_vts_opts_default = {NULL, 0}
static

Sensible default values for osp_get_vts_opts_t.