OpenVAS Scanner 22.7.9
plugutils.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Greenbone AG
2 * SPDX-FileCopyrightText: 1998-2007 Tenable Network Security, Inc.
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
12#ifndef MISC_PLUGUTILS_H
13#define MISC_PLUGUTILS_H
14
15#include "scanneraux.h" /* for struct script_infos */
16
17#include <gvm/base/nvti.h> /* for nvti_t */
18
19#define ARG_STRING 1
20#define ARG_INT 2
21
22void
23scanner_add_port (struct script_infos *, int, char *);
24
25/*
26 * Arglist management at plugin-level
27 */
28
29void
30plug_set_dep (struct script_infos *, const char *);
31
32void
33plug_set_ssl_cert (struct script_infos *, char *);
34
35void
36plug_set_ssl_key (struct script_infos *, char *);
37
38void
40
41void
42plug_set_ssl_CA_file (struct script_infos *, char *);
43
44const char *
46
47char *
49
50int
51plug_add_host_fqdn (struct script_infos *, const char *, const char *);
52
53GSList *
55
56char *
57plug_get_host_source (struct script_infos *, const char *);
58
59unsigned int
61
62void
63plug_set_port_transport (struct script_infos *, int, int);
64
65int
67
68struct script_infos *
70
71/*
72 * Reporting functions
73 */
74
75typedef enum
76{
86
87void
88proto_post_alarm (const char *, struct script_infos *, int, const char *,
89 const char *, const char *);
90
91void
92post_alarm (const char *, struct script_infos *, int, const char *,
93 const char *);
94
95void
96post_alarm_udp (struct script_infos *, int, const char *, const char *);
97
98#define post_alarm_tcp post_alarm
99
100void
101proto_post_error (const char *, struct script_infos *, int, const char *,
102 const char *, const char *);
103void
104post_error (const char *, struct script_infos *, int, const char *,
105 const char *);
106
107#define post_error_tcp post_error
108
109void
110proto_post_log (const char *, struct script_infos *, int, const char *,
111 const char *, const char *);
112
113void
114post_log (const char *, struct script_infos *, int, const char *);
115
116void
117post_log_with_uri (const char *, struct script_infos *, int, const char *,
118 const char *);
119
120#define post_log_tcp post_log
121
122/*
123 * Management of the portlists
124 */
125
126int
127host_get_port_state (struct script_infos *, int);
128
129int
131
132/*
133 * Inter Plugins Communication functions
134 */
135int check_kb_inconsistency (kb_t);
136
137int
138kb_item_push_str_with_main_kb_check (kb_t, const char *, const char *);
139
140int
141kb_item_set_str_with_main_kb_check (kb_t, const char *, const char *, size_t);
142
143int
144kb_item_add_str_unique_with_main_kb_check (kb_t, const char *, const char *,
145 size_t, int);
146
147int
148kb_item_set_int_with_main_kb_check (kb_t, const char *, int);
149
150int
151kb_item_add_int_with_main_kb_check (kb_t, const char *, int);
152
153int
154kb_item_add_int_unique_with_main_kb_check (kb_t, const char *, int);
155
156void
157plug_set_key (struct script_infos *, char *, int, const void *);
158
159void
160plug_set_key_len (struct script_infos *, char *, int, const void *, size_t);
161
162void
163plug_set_key_volatile (struct script_infos *, char *, int, const void *, int);
164
165void
166plug_set_key_len_volatile (struct script_infos *, char *, int, const void *,
167 int, size_t);
168
169void
170plug_replace_key (struct script_infos *, char *, int, void *);
171
172void
173plug_replace_key_len (struct script_infos *, char *, int, void *, size_t);
174
175kb_t
176plug_get_kb (struct script_infos *);
177
178void *
179plug_get_key (struct script_infos *, char *, int *, size_t *, int);
180
181struct in6_addr *
183
184char *
186
187char *
188get_plugin_preference (const char *, const char *, int);
189
190const char *
191get_plugin_preference_fname (struct script_infos *, const char *);
192
193char *
194get_plugin_preference_file_content (struct script_infos *, const char *);
195
196long
197get_plugin_preference_file_size (struct script_infos *, const char *);
198
199int
200kb_get_port_state_proto (kb_t kb, int portnum, char *proto);
201
202#endif
void plug_set_ssl_cert(struct script_infos *, char *)
Definition: plugutils.c:1312
void plug_set_key_len_volatile(struct script_infos *, char *, int, const void *, int, size_t)
Set volatile key with expire.
Definition: plugutils.c:979
void plug_set_port_transport(struct script_infos *, int, int)
Definition: plugutils.c:1275
void proto_post_alarm(const char *, struct script_infos *, int, const char *, const char *, const char *)
Definition: plugutils.c:673
kb_t plug_get_kb(struct script_infos *)
Definition: plugutils.c:1055
int kb_item_add_int_unique_with_main_kb_check(kb_t, const char *, int)
Check if the current kb corresponds to the original scanid, if it matches it call kb_item_add_int_uni...
Definition: plugutils.c:602
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.
Definition: plugutils.c:710
void plug_set_key_volatile(struct script_infos *, char *, int, const void *, int)
Set volatile key with expire.
Definition: plugutils.c:1013
void plug_set_key(struct script_infos *, char *, int, const void *)
Definition: plugutils.c:962
void plug_set_ssl_CA_file(struct script_infos *, char *)
Definition: plugutils.c:1334
char * get_plugin_preference(const char *, const char *, int)
Get the a plugins preference.
Definition: plugutils.c:743
char * plug_get_host_ip_str(struct script_infos *)
Definition: plugutils.c:322
unsigned int plug_get_host_open_port(struct script_infos *desc)
Definition: plugutils.c:1220
int kb_get_port_state_proto(kb_t kb, int portnum, char *proto)
Definition: plugutils.c:100
void plug_set_ssl_key(struct script_infos *, char *)
Definition: plugutils.c:1318
int kb_item_push_str_with_main_kb_check(kb_t, const char *, const char *)
Check if the current kb corresponds to the original scanid, if it matches it kb_item_push_str....
Definition: plugutils.c:478
void proto_post_error(const char *, struct script_infos *, int, const char *, const char *, const char *)
Definition: plugutils.c:717
void plug_set_key_len(struct script_infos *, char *, int, const void *, size_t)
Definition: plugutils.c:939
char * plug_get_host_source(struct script_infos *, const char *)
Definition: plugutils.c:288
const char * plug_current_vhost(void)
Definition: plugutils.c:47
char * get_plugin_preference_file_content(struct script_infos *, const char *)
Get the file contents of a plugins preference that is of type "file".
Definition: plugutils.c:886
void post_error(const char *, struct script_infos *, int, const char *, const char *)
Definition: plugutils.c:724
void post_alarm_udp(struct script_infos *, int, const char *, const char *)
GSList * plug_get_host_fqdn_list(struct script_infos *)
Definition: plugutils.c:270
int plug_add_host_fqdn(struct script_infos *, const char *, const char *)
Definition: plugutils.c:208
long get_plugin_preference_file_size(struct script_infos *, const char *)
Get the file size of a plugins preference that is of type "file".
Definition: plugutils.c:917
void post_alarm(const char *, struct script_infos *, int, const char *, const char *)
Definition: plugutils.c:680
struct in6_addr * plug_get_host_ip(struct script_infos *)
Definition: plugutils.c:316
void plug_set_dep(struct script_infos *, const char *)
Definition: plugutils.c:55
int kb_item_set_int_with_main_kb_check(kb_t, const char *, int)
Check if the current kb corresponds to the original scanid, if it matches it call kb_item_set_int....
Definition: plugutils.c:554
char * plug_get_host_fqdn(struct script_infos *)
Definition: plugutils.c:242
int kb_item_add_str_unique_with_main_kb_check(kb_t, const char *, const char *, size_t, int)
Check if the current kb corresponds to the original scanid, if it matches it call kb_item_add_str_uni...
Definition: plugutils.c:528
int kb_item_set_str_with_main_kb_check(kb_t, const char *, const char *, size_t)
Check if the current kb corresponds to the original scanid, if it matches it call kb_item_set_str....
Definition: plugutils.c:503
void plug_replace_key(struct script_infos *, char *, int, void *)
Definition: plugutils.c:1043
int kb_item_add_int_with_main_kb_check(kb_t, const char *, int)
Check if the current kb corresponds to the original scanid, if it matches it call kb_item_add_int....
Definition: plugutils.c:578
int host_get_port_state(struct script_infos *, int)
Definition: plugutils.c:144
void plug_replace_key_len(struct script_infos *, char *, int, void *, size_t)
Definition: plugutils.c:1020
void post_log(const char *, struct script_infos *, int, const char *)
Post a log message about a tcp port.
Definition: plugutils.c:700
const char * get_plugin_preference_fname(struct script_infos *, const char *)
Get the file name of a plugins preference that is of type "file".
Definition: plugutils.c:831
void scanner_add_port(struct script_infos *, int, char *)
Definition: plugutils.c:1049
int check_kb_inconsistency(kb_t)
Check if the current main kb corresponds to the original scan main kb. @description Compares the scan...
Definition: plugutils.c:387
void plug_set_ssl_pem_password(struct script_infos *, char *)
Definition: plugutils.c:1324
void * plug_get_key(struct script_infos *, char *, int *, size_t *, int)
Get values from a kb under the given key name.
Definition: plugutils.c:1129
int host_get_port_state_udp(struct script_infos *, int)
Definition: plugutils.c:150
msg_t
Definition: plugutils.h:76
@ HOST_DETAIL
Definition: plugutils.h:81
@ HOSTS_COUNT
Definition: plugutils.h:84
@ HOST_END
Definition: plugutils.h:79
@ ALARM
Definition: plugutils.h:82
@ DEADHOST
Definition: plugutils.h:83
@ LOG
Definition: plugutils.h:80
@ ERRMSG
Definition: plugutils.h:77
@ HOST_START
Definition: plugutils.h:78
struct script_infos * plug_create_from_nvti_and_prefs(const nvti_t *)
void proto_post_log(const char *, struct script_infos *, int, const char *, const char *, const char *)
Post a log message.
Definition: plugutils.c:690
int plug_get_port_transport(struct script_infos *, int)
Definition: plugutils.c:1288
Auxiliary structures for scanner.