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 
22 void
23 scanner_add_port (struct script_infos *, int, char *);
24 
25 /*
26  * Arglist management at plugin-level
27  */
28 
29 void
30 plug_set_dep (struct script_infos *, const char *);
31 
32 void
33 plug_set_ssl_cert (struct script_infos *, char *);
34 
35 void
36 plug_set_ssl_key (struct script_infos *, char *);
37 
38 void
39 plug_set_ssl_pem_password (struct script_infos *, char *);
40 
41 void
42 plug_set_ssl_CA_file (struct script_infos *, char *);
43 
44 const char *
45 plug_current_vhost (void);
46 
47 char *
49 
50 int
51 plug_add_host_fqdn (struct script_infos *, const char *, const char *);
52 
53 GSList *
55 
56 char *
57 plug_get_host_source (struct script_infos *, const char *);
58 
59 unsigned int
61 
62 void
63 plug_set_port_transport (struct script_infos *, int, int);
64 
65 int
67 
68 struct script_infos *
70 
71 /*
72  * Reporting functions
73  */
74 
75 typedef enum
76 {
80  LOG,
86 
87 void
88 proto_post_alarm (const char *, struct script_infos *, int, const char *,
89  const char *, const char *);
90 
91 void
92 post_alarm (const char *, struct script_infos *, int, const char *,
93  const char *);
94 
95 void
96 post_alarm_udp (struct script_infos *, int, const char *, const char *);
97 
98 #define post_alarm_tcp post_alarm
99 
100 void
101 proto_post_error (const char *, struct script_infos *, int, const char *,
102  const char *, const char *);
103 void
104 post_error (const char *, struct script_infos *, int, const char *,
105  const char *);
106 
107 #define post_error_tcp post_error
108 
109 void
110 proto_post_log (const char *, struct script_infos *, int, const char *,
111  const char *, const char *);
112 
113 void
114 post_log (const char *, struct script_infos *, int, const char *);
115 
116 void
117 post_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 
126 int
127 host_get_port_state (struct script_infos *, int);
128 
129 int
130 host_get_port_state_udp (struct script_infos *, int);
131 
132 /*
133  * Inter Plugins Communication functions
134  */
135 int check_kb_inconsistency (kb_t);
136 
137 int
138 kb_item_push_str_with_main_kb_check (kb_t, const char *, const char *);
139 
140 int
141 kb_item_set_str_with_main_kb_check (kb_t, const char *, const char *, size_t);
142 
143 int
144 kb_item_add_str_unique_with_main_kb_check (kb_t, const char *, const char *,
145  size_t, int);
146 
147 int
148 kb_item_set_int_with_main_kb_check (kb_t, const char *, int);
149 
150 int
151 kb_item_add_int_with_main_kb_check (kb_t, const char *, int);
152 
153 int
154 kb_item_add_int_unique_with_main_kb_check (kb_t, const char *, int);
155 
156 void
157 plug_set_key (struct script_infos *, char *, int, const void *);
158 
159 void
160 plug_set_key_len (struct script_infos *, char *, int, const void *, size_t);
161 
162 void
163 plug_set_key_volatile (struct script_infos *, char *, int, const void *, int);
164 
165 void
166 plug_set_key_len_volatile (struct script_infos *, char *, int, const void *,
167  int, size_t);
168 
169 void
170 plug_replace_key (struct script_infos *, char *, int, void *);
171 
172 void
173 plug_replace_key_len (struct script_infos *, char *, int, void *, size_t);
174 
175 kb_t
176 plug_get_kb (struct script_infos *);
177 
178 void *
179 plug_get_key (struct script_infos *, char *, int *, size_t *, int);
180 
181 struct in6_addr *
182 plug_get_host_ip (struct script_infos *);
183 
184 char *
186 
187 char *
188 get_plugin_preference (const char *, const char *, int);
189 
190 const char *
191 get_plugin_preference_fname (struct script_infos *, const char *);
192 
193 char *
194 get_plugin_preference_file_content (struct script_infos *, const char *);
195 
196 long
197 get_plugin_preference_file_size (struct script_infos *, const char *);
198 
199 int
200 kb_get_port_state_proto (kb_t kb, int portnum, char *proto);
201 
202 #endif
get_plugin_preference_file_size
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
host_get_port_state_udp
int host_get_port_state_udp(struct script_infos *, int)
Definition: plugutils.c:150
script_infos
Definition: scanneraux.h:29
plug_set_ssl_CA_file
void plug_set_ssl_CA_file(struct script_infos *, char *)
Definition: plugutils.c:1334
plug_get_host_open_port
unsigned int plug_get_host_open_port(struct script_infos *desc)
Definition: plugutils.c:1220
plug_set_ssl_key
void plug_set_ssl_key(struct script_infos *, char *)
Definition: plugutils.c:1318
kb_item_add_str_unique_with_main_kb_check
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
plug_current_vhost
const char * plug_current_vhost(void)
Definition: plugutils.c:47
post_log
void post_log(const char *, struct script_infos *, int, const char *)
Post a log message about a tcp port.
Definition: plugutils.c:700
HOST_START
@ HOST_START
Definition: plugutils.h:78
kb_item_set_int_with_main_kb_check
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
ERRMSG
@ ERRMSG
Definition: plugutils.h:77
post_alarm_udp
void post_alarm_udp(struct script_infos *, int, const char *, const char *)
plug_get_host_fqdn
char * plug_get_host_fqdn(struct script_infos *)
Definition: plugutils.c:242
plug_get_host_ip
struct in6_addr * plug_get_host_ip(struct script_infos *)
Definition: plugutils.c:316
LOG
@ LOG
Definition: plugutils.h:80
plug_get_kb
kb_t plug_get_kb(struct script_infos *)
Definition: plugutils.c:1055
proto_post_alarm
void proto_post_alarm(const char *, struct script_infos *, int, const char *, const char *, const char *)
Definition: plugutils.c:673
plug_replace_key_len
void plug_replace_key_len(struct script_infos *, char *, int, void *, size_t)
Definition: plugutils.c:1020
kb_item_add_int_unique_with_main_kb_check
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
kb_item_push_str_with_main_kb_check
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
plug_set_dep
void plug_set_dep(struct script_infos *, const char *)
Definition: plugutils.c:55
HOSTS_COUNT
@ HOSTS_COUNT
Definition: plugutils.h:84
proto_post_log
void proto_post_log(const char *, struct script_infos *, int, const char *, const char *, const char *)
Post a log message.
Definition: plugutils.c:690
scanneraux.h
Auxiliary structures for scanner.
plug_get_host_ip_str
char * plug_get_host_ip_str(struct script_infos *)
Definition: plugutils.c:322
plug_set_ssl_cert
void plug_set_ssl_cert(struct script_infos *, char *)
Definition: plugutils.c:1312
get_plugin_preference_fname
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
plug_set_key
void plug_set_key(struct script_infos *, char *, int, const void *)
Definition: plugutils.c:962
HOST_END
@ HOST_END
Definition: plugutils.h:79
msg_t
msg_t
Definition: plugutils.h:76
plug_get_host_source
char * plug_get_host_source(struct script_infos *, const char *)
Definition: plugutils.c:288
plug_replace_key
void plug_replace_key(struct script_infos *, char *, int, void *)
Definition: plugutils.c:1043
plug_get_key
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
HOST_DETAIL
@ HOST_DETAIL
Definition: plugutils.h:81
plug_get_host_fqdn_list
GSList * plug_get_host_fqdn_list(struct script_infos *)
Definition: plugutils.c:270
plug_set_port_transport
void plug_set_port_transport(struct script_infos *, int, int)
Definition: plugutils.c:1275
plug_create_from_nvti_and_prefs
struct script_infos * plug_create_from_nvti_and_prefs(const nvti_t *)
get_plugin_preference
char * get_plugin_preference(const char *, const char *, int)
Get the a plugins preference.
Definition: plugutils.c:743
kb_item_set_str_with_main_kb_check
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
scanner_add_port
void scanner_add_port(struct script_infos *, int, char *)
Definition: plugutils.c:1049
DEADHOST
@ DEADHOST
Definition: plugutils.h:83
check_kb_inconsistency
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
kb_item_add_int_with_main_kb_check
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
host_get_port_state
int host_get_port_state(struct script_infos *, int)
Definition: plugutils.c:144
plug_set_key_len_volatile
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
post_error
void post_error(const char *, struct script_infos *, int, const char *, const char *)
Definition: plugutils.c:724
ALARM
@ ALARM
Definition: plugutils.h:82
plug_set_ssl_pem_password
void plug_set_ssl_pem_password(struct script_infos *, char *)
Definition: plugutils.c:1324
kb_get_port_state_proto
int kb_get_port_state_proto(kb_t kb, int portnum, char *proto)
Definition: plugutils.c:100
post_alarm
void post_alarm(const char *, struct script_infos *, int, const char *, const char *)
Definition: plugutils.c:680
get_plugin_preference_file_content
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
proto_post_error
void proto_post_error(const char *, struct script_infos *, int, const char *, const char *, const char *)
Definition: plugutils.c:717
plug_set_key_len
void plug_set_key_len(struct script_infos *, char *, int, const void *, size_t)
Definition: plugutils.c:939
post_log_with_uri
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
plug_get_port_transport
int plug_get_port_transport(struct script_infos *, int)
Definition: plugutils.c:1288
plug_add_host_fqdn
int plug_add_host_fqdn(struct script_infos *, const char *, const char *)
Definition: plugutils.c:208
plug_set_key_volatile
void plug_set_key_volatile(struct script_infos *, char *, int, const void *, int)
Set volatile key with expire.
Definition: plugutils.c:1013