OpenVAS Scanner 23.23.1
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
11
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
23init_kb_usage (void);
24
25void
26scanner_add_port (struct script_infos *, int, char *);
27
28/*
29 * Arglist management at plugin-level
30 */
31
32void
33plug_set_dep (struct script_infos *, const char *);
34
35void
36plug_set_ssl_cert (struct script_infos *, char *);
37
38void
39plug_set_ssl_key (struct script_infos *, char *);
40
41void
43
44void
45plug_set_ssl_CA_file (struct script_infos *, char *);
46
47const char *
49
50char *
52
53int
54plug_add_host_fqdn (struct script_infos *, const char *, const char *);
55
56GSList *
58
59char *
60plug_get_host_source (struct script_infos *, const char *);
61
62unsigned int
64
65void
66plug_set_port_transport (struct script_infos *, int, int);
67
68int
70
71struct script_infos *
73
74/*
75 * Reporting functions
76 */
77
89
90void
91proto_post_alarm (const char *, struct script_infos *, int, const char *,
92 const char *, const char *);
93
94void
95post_alarm (const char *, struct script_infos *, int, const char *,
96 const char *);
97
98void
99post_alarm_udp (struct script_infos *, int, const char *, const char *);
100
101#define post_alarm_tcp post_alarm
102
103void
104proto_post_error (const char *, struct script_infos *, int, const char *,
105 const char *, const char *);
106void
107post_error (const char *, struct script_infos *, int, const char *,
108 const char *);
109
110#define post_error_tcp post_error
111
112void
113proto_post_log (const char *, struct script_infos *, int, const char *,
114 const char *, const char *);
115
116void
117post_log (const char *, struct script_infos *, int, const char *);
118
119void
120post_log_with_uri (const char *, struct script_infos *, int, const char *,
121 const char *);
122
123#define post_log_tcp post_log
124
125/*
126 * Management of the portlists
127 */
128
129int
130host_get_port_state (struct script_infos *, int);
131
132int
134
135/*
136 * Inter Plugins Communication functions
137 */
138int check_kb_inconsistency (kb_t);
139
140int
141kb_item_push_str_with_main_kb_check (kb_t, const char *, const char *);
142
143int
144kb_item_set_str_with_main_kb_check (kb_t, const char *, const char *, size_t);
145
146int
147kb_item_add_str_unique_with_main_kb_check (kb_t, const char *, const char *,
148 size_t, int);
149
150int
151kb_item_set_int_with_main_kb_check (kb_t, const char *, int);
152
153int
154kb_item_add_int_with_main_kb_check (kb_t, const char *, int);
155
156int
157kb_item_add_int_unique_with_main_kb_check (kb_t, const char *, int);
158
159void
160plug_set_key (struct script_infos *, char *, int, const void *);
161
162void
163plug_set_key_len (struct script_infos *, char *, int, const void *, size_t);
164
165void
166plug_set_key_volatile (struct script_infos *, char *, int, const void *, int);
167
168void
169plug_set_key_len_volatile (struct script_infos *, char *, int, const void *,
170 int, size_t);
171
172void
173plug_replace_key (struct script_infos *, char *, int, void *);
174
175void
176plug_replace_key_len (struct script_infos *, char *, int, void *, size_t);
177
178kb_t
179plug_get_kb (struct script_infos *);
180
181void *
182plug_get_key (struct script_infos *, char *, int *, size_t *, int);
183
184struct in6_addr *
186
187char *
189
190char *
191get_plugin_preference (const char *, const char *, int);
192
193const char *
194get_plugin_preference_fname (struct script_infos *, const char *);
195
196char *
197get_plugin_preference_file_content (struct script_infos *, const char *);
198
199long
200get_plugin_preference_file_size (struct script_infos *, const char *);
201
202int
203kb_get_port_state_proto (kb_t kb, int portnum, char *proto);
204
205#endif
void plug_set_ssl_cert(struct script_infos *, char *)
Definition plugutils.c:1380
void plug_set_key_len_volatile(struct script_infos *, char *, int, const void *, int, size_t)
Set volatile key with expire.
Definition plugutils.c:1037
void plug_set_port_transport(struct script_infos *, int, int)
Definition plugutils.c:1343
void proto_post_alarm(const char *, struct script_infos *, int, const char *, const char *, const char *)
Definition plugutils.c:727
void init_kb_usage(void)
Definition plugutils.c:46
kb_t plug_get_kb(struct script_infos *)
Definition plugutils.c:1117
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:656
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:764
void plug_set_key_volatile(struct script_infos *, char *, int, const void *, int)
Set volatile key with expire.
Definition plugutils.c:1071
void plug_set_key(struct script_infos *, char *, int, const void *)
Definition plugutils.c:1020
void plug_set_ssl_CA_file(struct script_infos *, char *)
Definition plugutils.c:1402
char * get_plugin_preference(const char *, const char *, int)
Get the a plugins preference.
Definition plugutils.c:797
char * plug_get_host_ip_str(struct script_infos *)
Definition plugutils.c:376
unsigned int plug_get_host_open_port(struct script_infos *desc)
Definition plugutils.c:1288
int kb_get_port_state_proto(kb_t kb, int portnum, char *proto)
Definition plugutils.c:148
void plug_set_ssl_key(struct script_infos *, char *)
Definition plugutils.c:1386
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:532
void proto_post_error(const char *, struct script_infos *, int, const char *, const char *, const char *)
Definition plugutils.c:771
void plug_set_key_len(struct script_infos *, char *, int, const void *, size_t)
Definition plugutils.c:993
char * plug_get_host_source(struct script_infos *, const char *)
Definition plugutils.c:342
const char * plug_current_vhost(void)
Definition plugutils.c:92
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:940
void post_error(const char *, struct script_infos *, int, const char *, const char *)
Definition plugutils.c:778
void post_alarm_udp(struct script_infos *, int, const char *, const char *)
GSList * plug_get_host_fqdn_list(struct script_infos *)
Definition plugutils.c:324
int plug_add_host_fqdn(struct script_infos *, const char *, const char *)
Definition plugutils.c:256
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:971
void post_alarm(const char *, struct script_infos *, int, const char *, const char *)
Definition plugutils.c:734
struct in6_addr * plug_get_host_ip(struct script_infos *)
Definition plugutils.c:370
void plug_set_dep(struct script_infos *, const char *)
Definition plugutils.c:103
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:608
char * plug_get_host_fqdn(struct script_infos *)
Definition plugutils.c:290
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:582
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:557
void plug_replace_key(struct script_infos *, char *, int, void *)
Definition plugutils.c:1105
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:632
int host_get_port_state(struct script_infos *, int)
Definition plugutils.c:192
void plug_replace_key_len(struct script_infos *, char *, int, void *, size_t)
Definition plugutils.c:1078
void post_log(const char *, struct script_infos *, int, const char *)
Post a log message about a tcp port.
Definition plugutils.c:754
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:885
void scanner_add_port(struct script_infos *, int, char *)
Definition plugutils.c:1111
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:441
void plug_set_ssl_pem_password(struct script_infos *, char *)
Definition plugutils.c:1392
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:1191
int host_get_port_state_udp(struct script_infos *, int)
Definition plugutils.c:198
msg_t
Definition plugutils.h:79
@ HOST_DETAIL
Definition plugutils.h:84
@ HOSTS_COUNT
Definition plugutils.h:87
@ HOST_END
Definition plugutils.h:82
@ ALARM
Definition plugutils.h:85
@ DEADHOST
Definition plugutils.h:86
@ LOG
Definition plugutils.h:83
@ ERRMSG
Definition plugutils.h:80
@ HOST_START
Definition plugutils.h:81
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:744
int plug_get_port_transport(struct script_infos *, int)
Definition plugutils.c:1356
Auxiliary structures for scanner.
Definition scanneraux.h:29