OpenVAS Libraries  9.0.1
Macros | Typedefs | Functions
nasl_scanner_glue.c File Reference
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <unistd.h>
#include <glib.h>
#include "../base/kb.h"
#include "../misc/plugutils.h"
#include "../misc/network.h"
#include "nasl_tree.h"
#include "nasl_global_ctxt.h"
#include "nasl_func.h"
#include "nasl_var.h"
#include "nasl_lex_ctxt.h"
#include "../misc/openvas_logging.h"
#include "nasl_debug.h"
#include "nasl_scanner_glue.h"
#include "../base/nvticache.h"
#include "../misc/prefs.h"

Macros

#define NASL_DEBUG   0
 

Typedefs

typedef void(* proto_post_something_t) (const char *, struct arglist *, int, const char *, const char *)
 
typedef void(* post_something_t) (const char *, struct arglist *, int, const char *)
 

Functions

tree_cellscript_timeout (lex_ctxt *lexic)
 
tree_cellscript_id (lex_ctxt *lexic)
 
tree_cellscript_oid (lex_ctxt *lexic)
 
tree_cellscript_cve_id (lex_ctxt *lexic)
 
tree_cellscript_bugtraq_id (lex_ctxt *lexic)
 
tree_cellscript_xref (lex_ctxt *lexic)
 
tree_cellscript_tag (lex_ctxt *lexic)
 
tree_cellscript_name (lex_ctxt *lexic)
 
tree_cellscript_version (lex_ctxt *lexic)
 
tree_cellscript_copyright (lex_ctxt *lexic)
 
tree_cellscript_summary (lex_ctxt *lexic)
 
tree_cellscript_category (lex_ctxt *lexic)
 
tree_cellscript_family (lex_ctxt *lexic)
 
tree_cellscript_dependencies (lex_ctxt *lexic)
 
tree_cellscript_require_keys (lex_ctxt *lexic)
 
tree_cellscript_mandatory_keys (lex_ctxt *lexic)
 
tree_cellscript_exclude_keys (lex_ctxt *lexic)
 
tree_cellscript_require_ports (lex_ctxt *lexic)
 
tree_cellscript_require_udp_ports (lex_ctxt *lexic)
 
tree_cellscript_add_preference (lex_ctxt *lexic)
 
tree_cellscript_get_preference (lex_ctxt *lexic)
 
tree_cellscript_get_preference_file_content (lex_ctxt *lexic)
 
tree_cellscript_get_preference_file_location (lex_ctxt *lexic)
 
tree_cellsafe_checks (lex_ctxt *lexic)
 
tree_cellscan_phase (lex_ctxt *lexic)
 
tree_cellnetwork_targets (lex_ctxt *lexic)
 
tree_cellget_script_oid (lex_ctxt *lexic)
 Return the OID of the current script. More...
 
tree_cellget_kb_list (lex_ctxt *lexic)
 
tree_cellget_kb_item (lex_ctxt *lexic)
 
tree_cellreplace_kb_item (lex_ctxt *lexic)
 
tree_cellset_kb_item (lex_ctxt *lexic)
 
tree_cellsecurity_message (lex_ctxt *lexic)
 Send a security message to the client. More...
 
tree_celllog_message (lex_ctxt *lexic)
 
tree_cellerror_message (lex_ctxt *lexic)
 
tree_cellnasl_get_preference (lex_ctxt *lexic)
 
tree_cellnasl_scanner_get_port (lex_ctxt *lexic)
 
tree_cellnasl_scanner_add_port (lex_ctxt *lexic)
 
tree_cellnasl_scanner_status (lex_ctxt *lexic)
 

Detailed Description

This file contains all the functions that make the "glue" between as NASL script and openvassd. (script_*(), kb(), scanner_*())

Macro Definition Documentation

◆ NASL_DEBUG

#define NASL_DEBUG   0

Typedef Documentation

◆ post_something_t

typedef void(* post_something_t) (const char *, struct arglist *, int, const char *)

Function is used when the script wants to report a problem back to openvassd.

◆ proto_post_something_t

typedef void(* proto_post_something_t) (const char *, struct arglist *, int, const char *, const char *)

Function is used when the script wants to report a problem back to openvassd.

Function Documentation

◆ error_message()

tree_cell* error_message ( lex_ctxt lexic)

◆ get_kb_item()

tree_cell* get_kb_item ( lex_ctxt lexic)

◆ get_kb_list()

tree_cell* get_kb_list ( lex_ctxt lexic)

◆ get_script_oid()

tree_cell* get_script_oid ( lex_ctxt lexic)

Return the OID of the current script.

Parameters
[in]lexicNASL lexer.
Returns
lex cell containing the OID as a string.

◆ log_message()

tree_cell* log_message ( lex_ctxt lexic)

◆ nasl_get_preference()

tree_cell* nasl_get_preference ( lex_ctxt lexic)

◆ nasl_scanner_add_port()

tree_cell* nasl_scanner_add_port ( lex_ctxt lexic)

◆ nasl_scanner_get_port()

tree_cell* nasl_scanner_get_port ( lex_ctxt lexic)

If the plugin is a port scanner, it needs to report the list of open ports back to openvas scanner, and it also needs to know which ports are to be scanned.

◆ nasl_scanner_status()

tree_cell* nasl_scanner_status ( lex_ctxt lexic)

◆ network_targets()

tree_cell* network_targets ( lex_ctxt lexic)

◆ replace_kb_item()

tree_cell* replace_kb_item ( lex_ctxt lexic)

◆ safe_checks()

tree_cell* safe_checks ( lex_ctxt lexic)

◆ scan_phase()

tree_cell* scan_phase ( lex_ctxt lexic)

◆ script_add_preference()

tree_cell* script_add_preference ( lex_ctxt lexic)

◆ script_bugtraq_id()

tree_cell* script_bugtraq_id ( lex_ctxt lexic)

◆ script_category()

tree_cell* script_category ( lex_ctxt lexic)

◆ script_copyright()

tree_cell* script_copyright ( lex_ctxt lexic)

◆ script_cve_id()

tree_cell* script_cve_id ( lex_ctxt lexic)

◆ script_dependencies()

tree_cell* script_dependencies ( lex_ctxt lexic)

◆ script_exclude_keys()

tree_cell* script_exclude_keys ( lex_ctxt lexic)

◆ script_family()

tree_cell* script_family ( lex_ctxt lexic)

◆ script_get_preference()

tree_cell* script_get_preference ( lex_ctxt lexic)

◆ script_get_preference_file_content()

tree_cell* script_get_preference_file_content ( lex_ctxt lexic)

◆ script_get_preference_file_location()

tree_cell* script_get_preference_file_location ( lex_ctxt lexic)

◆ script_id()

tree_cell* script_id ( lex_ctxt lexic)

◆ script_mandatory_keys()

tree_cell* script_mandatory_keys ( lex_ctxt lexic)

◆ script_name()

tree_cell* script_name ( lex_ctxt lexic)

◆ script_oid()

tree_cell* script_oid ( lex_ctxt lexic)

◆ script_require_keys()

tree_cell* script_require_keys ( lex_ctxt lexic)

◆ script_require_ports()

tree_cell* script_require_ports ( lex_ctxt lexic)

◆ script_require_udp_ports()

tree_cell* script_require_udp_ports ( lex_ctxt lexic)

◆ script_summary()

tree_cell* script_summary ( lex_ctxt lexic)

◆ script_tag()

tree_cell* script_tag ( lex_ctxt lexic)

◆ script_timeout()

tree_cell* script_timeout ( lex_ctxt lexic)

◆ script_version()

tree_cell* script_version ( lex_ctxt lexic)

◆ script_xref()

tree_cell* script_xref ( lex_ctxt lexic)

◆ security_message()

tree_cell* security_message ( lex_ctxt lexic)

Send a security message to the client.

Parameters
[in]lexicNASL lexer.
Returns
FAKE_CELL.

◆ set_kb_item()

tree_cell* set_kb_item ( lex_ctxt lexic)