OpenVAS Scanner  21.4.1
Macros | Functions
plugutils.h File Reference

Header file for module plugutils. More...

#include "scanneraux.h"
#include <gvm/base/nvti.h>

Go to the source code of this file.

Macros

#define ARG_STRING   1
 
#define ARG_INT   2
 
#define post_alarm_tcp   post_alarm
 
#define post_error_tcp   post_error
 
#define post_log_tcp   post_log
 

Functions

void scanner_add_port (struct script_infos *, int, char *)
 
void plug_set_dep (struct script_infos *, const char *)
 
void plug_set_ssl_cert (struct script_infos *, char *)
 
void plug_set_ssl_key (struct script_infos *, char *)
 
void plug_set_ssl_pem_password (struct script_infos *, char *)
 
void plug_set_ssl_CA_file (struct script_infos *, char *)
 
const char * plug_current_vhost (void)
 
char * plug_get_host_fqdn (struct script_infos *)
 
int plug_add_host_fqdn (struct script_infos *, const char *, const char *)
 
GSList * plug_get_host_fqdn_list (struct script_infos *)
 
char * plug_get_host_source (struct script_infos *, const char *)
 
unsigned int plug_get_host_open_port (struct script_infos *desc)
 
void plug_set_port_transport (struct script_infos *, int, int)
 
int plug_get_port_transport (struct script_infos *, int)
 
struct script_infosplug_create_from_nvti_and_prefs (const nvti_t *)
 
void proto_post_alarm (const char *, struct script_infos *, int, const char *, const char *, const char *)
 
void post_alarm (const char *, struct script_infos *, int, const char *, const char *)
 
void post_alarm_udp (struct script_infos *, int, const char *, const char *)
 
void proto_post_error (const char *, struct script_infos *, int, const char *, const char *, const char *)
 
void post_error (const char *, struct script_infos *, int, const char *, const char *)
 
void proto_post_log (const char *, struct script_infos *, int, const char *, const char *, const char *)
 Post a log message. More...
 
void post_log (const char *, struct script_infos *, int, const char *)
 Post a log message about a tcp port. More...
 
void post_log_with_uri (const char *, struct script_infos *, int, const char *, const char *)
 Post a log message about a tcp port with a uri. More...
 
int host_get_port_state (struct script_infos *, int)
 
int host_get_port_state_udp (struct script_infos *, int)
 
void plug_set_key (struct script_infos *, char *, int, const void *)
 
void plug_set_key_len (struct script_infos *, char *, int, const void *, size_t)
 
void plug_replace_key (struct script_infos *, char *, int, void *)
 
void plug_replace_key_len (struct script_infos *, char *, int, void *, size_t)
 
kb_t plug_get_kb (struct script_infos *)
 
kb_t plug_get_results_kb (struct script_infos *)
 
void * plug_get_key (struct script_infos *, char *, int *, size_t *, int)
 Get values from a kb under the given key name. More...
 
struct in6_addr * plug_get_host_ip (struct script_infos *)
 
char * plug_get_host_ip_str (struct script_infos *)
 
char * get_plugin_preference (const char *, const char *, int)
 Get the a plugins preference. More...
 
const char * get_plugin_preference_fname (struct script_infos *, const char *)
 Get the file name of a plugins preference that is of type "file". More...
 
char * get_plugin_preference_file_content (struct script_infos *, const char *)
 Get the file contents of a plugins preference that is of type "file". More...
 
long get_plugin_preference_file_size (struct script_infos *, const char *)
 Get the file size of a plugins preference that is of type "file". More...
 

Detailed Description

Header file for module plugutils.

Macro Definition Documentation

◆ ARG_INT

#define ARG_INT   2

◆ ARG_STRING

#define ARG_STRING   1

◆ post_alarm_tcp

#define post_alarm_tcp   post_alarm

◆ post_error_tcp

#define post_error_tcp   post_error

◆ post_log_tcp

#define post_log_tcp   post_log

Function Documentation

◆ get_plugin_preference()

char* get_plugin_preference ( const char *  oid,
const char *  name,
int  pref_id 
)

Get the a plugins preference.

Search in the preferences set by the client. If it is not present, search in redis cache for the default.

Parameters
[in]oidScript OID to get the preference from
[in]nameName of the preference to get
[in]pref_idId of the preferences to get
Returns
script preference on success, Null otherwise.

◆ get_plugin_preference_file_content()

char* get_plugin_preference_file_content ( struct script_infos desc,
const char *  identifier 
)

Get the file contents of a plugins preference that is of type "file".

As files sent to the scanner (e.g. as plugin preference) are stored in a hash table with an identifier supplied by the client as the key, the contents have to be looked up here.

Parameters
identifierIdentifier that was supplied by the client when the file was uploaded.
Returns
Contents of the file identified by identifier, NULL if not found or setup broken.

◆ get_plugin_preference_file_size()

long get_plugin_preference_file_size ( struct script_infos desc,
const char *  identifier 
)

Get the file size of a plugins preference that is of type "file".

Files sent to the scanner (e.g. as plugin preference) are stored in a hash table with an identifier supplied by the client as the key. The size of the file is stored in a separate hash table with the same identifier as key, which can be looked up here.

Parameters
identifierIdentifier that was supplied by the client when the file was uploaded.
Returns
Size of the file identified by identifier, -1 if not found or setup broken.

◆ get_plugin_preference_fname()

const char* get_plugin_preference_fname ( struct script_infos desc,
const char *  filename 
)

Get the file name of a plugins preference that is of type "file".

As files sent to the server (e.g. as plugin preference) are stored at pseudo-random locations with different names, the "real" file name has to be looked up in a hashtable.

Returns
Filename on disc for filename, NULL if not found or setup broken.

◆ host_get_port_state()

int host_get_port_state ( struct script_infos plugdata,
int  portnum 
)

◆ host_get_port_state_udp()

int host_get_port_state_udp ( struct script_infos plugdata,
int  portnum 
)

◆ plug_add_host_fqdn()

int plug_add_host_fqdn ( struct script_infos args,
const char *  hostname,
const char *  source 
)

◆ plug_create_from_nvti_and_prefs()

struct script_infos* plug_create_from_nvti_and_prefs ( const nvti_t *  )

◆ plug_current_vhost()

const char* plug_current_vhost ( void  )

◆ plug_get_host_fqdn()

char* plug_get_host_fqdn ( struct script_infos args)

◆ plug_get_host_fqdn_list()

GSList* plug_get_host_fqdn_list ( struct script_infos args)

◆ plug_get_host_ip()

struct in6_addr* plug_get_host_ip ( struct script_infos args)

◆ plug_get_host_ip_str()

char* plug_get_host_ip_str ( struct script_infos desc)

◆ plug_get_host_open_port()

unsigned int plug_get_host_open_port ( struct script_infos desc)

Don't always return the first open port, otherwise we might get bitten by OSes doing active SYN flood countermeasures. Also, avoid returning 80 and 21 as open ports, as many transparent proxies are acting for these...

◆ plug_get_host_source()

char* plug_get_host_source ( struct script_infos args,
const char *  hostname 
)

◆ plug_get_kb()

kb_t plug_get_kb ( struct script_infos args)

◆ plug_get_key()

void* plug_get_key ( struct script_infos args,
char *  name,
int *  type,
size_t *  len,
int  single 
)

Get values from a kb under the given key name.

Parameters
[in]argsThe script infos where to get the kb from.
[in]nameKey name to search in the kb.
[in/out]type If 1 is given, the answer is forced to be KB_TYPE_INT type. Otherwise it returns the fetched type.
[in]lenDesired string length to be returned.
[in]singleIn case of a list, fetch only the last element
Returns
Null if no result, or a void pointer to the result in success.

◆ plug_get_port_transport()

int plug_get_port_transport ( struct script_infos args,
int  port 
)

◆ plug_get_results_kb()

kb_t plug_get_results_kb ( struct script_infos args)

◆ plug_replace_key()

void plug_replace_key ( struct script_infos args,
char *  name,
int  type,
void *  value 
)

◆ plug_replace_key_len()

void plug_replace_key_len ( struct script_infos args,
char *  name,
int  type,
void *  value,
size_t  len 
)

◆ plug_set_dep()

void plug_set_dep ( struct script_infos args,
const char *  depname 
)

◆ plug_set_key()

void plug_set_key ( struct script_infos args,
char *  name,
int  type,
const void *  value 
)

◆ plug_set_key_len()

void plug_set_key_len ( struct script_infos args,
char *  name,
int  type,
const void *  value,
size_t  len 
)

◆ plug_set_port_transport()

void plug_set_port_transport ( struct script_infos args,
int  port,
int  tr 
)
Todo:
Those brain damaged functions should probably be in another file They are use to remember who speaks SSL or not

◆ plug_set_ssl_CA_file()

void plug_set_ssl_CA_file ( struct script_infos args,
char *  key 
)
Todo:
Also, all plug_set_ssl*-functions set values that are only accessed in network.c:open_stream_connection under specific conditions. Check whether these conditions can actually occur. Document the functions on the way.

◆ plug_set_ssl_cert()

void plug_set_ssl_cert ( struct script_infos args,
char *  cert 
)

◆ plug_set_ssl_key()

void plug_set_ssl_key ( struct script_infos args,
char *  key 
)

◆ plug_set_ssl_pem_password()

void plug_set_ssl_pem_password ( struct script_infos args,
char *  key 
)

◆ post_alarm()

void post_alarm ( const char *  oid,
struct script_infos desc,
int  port,
const char *  action,
const char *  uri 
)

◆ post_alarm_udp()

void post_alarm_udp ( struct script_infos ,
int  ,
const char *  ,
const char *   
)

◆ post_error()

void post_error ( const char *  oid,
struct script_infos desc,
int  port,
const char *  action,
const char *  uri 
)

◆ post_log()

void post_log ( const char *  oid,
struct script_infos desc,
int  port,
const char *  action 
)

Post a log message about a tcp port.

◆ post_log_with_uri()

void post_log_with_uri ( const char *  oid,
struct script_infos desc,
int  port,
const char *  action,
const char *  uri 
)

Post a log message about a tcp port with a uri.

◆ proto_post_alarm()

void proto_post_alarm ( const char *  oid,
struct script_infos desc,
int  port,
const char *  proto,
const char *  action,
const char *  uri 
)

◆ proto_post_error()

void proto_post_error ( const char *  oid,
struct script_infos desc,
int  port,
const char *  proto,
const char *  action,
const char *  uri 
)

◆ proto_post_log()

void proto_post_log ( const char *  oid,
struct script_infos desc,
int  port,
const char *  proto,
const char *  action,
const char *  uri 
)

Post a log message.

◆ scanner_add_port()

void scanner_add_port ( struct script_infos args,
int  port,
char *  proto 
)