26 #ifndef OPENVAS_PLUGUTILS_H
27 #define OPENVAS_PLUGUTILS_H
29 #include "../misc/arglists.h"
31 #include "../base/nvti.h"
33 #define LEGACY_OID "1.3.6.1.4.1.25623.1.0."
35 void scanner_add_port (
struct arglist *,
int,
char *);
44 void plug_set_name (
struct arglist *,
const char *);
45 char *plug_get_name (
struct arglist *);
47 void plug_set_path (
struct arglist *,
const char *);
48 char *plug_get_path (
struct arglist *);
50 void plug_set_version (
struct arglist *,
const char *);
51 char *plug_get_version (
struct arglist *);
53 void plug_set_timeout (
struct arglist *,
int);
54 int plug_get_timeout (
struct arglist *);
56 void plug_set_launch (
struct arglist *,
int);
57 int plug_get_launch (
struct arglist *);
59 void plug_set_summary (
struct arglist *,
const char *);
60 char *plug_get_summary (
struct arglist *);
62 void plug_set_description (
struct arglist *,
const char *);
63 char *plug_get_description (
struct arglist *);
65 void plug_set_category (
struct arglist *,
int);
66 int plug_get_category (
struct arglist *);
68 void plug_set_copyright (
struct arglist *,
const char *);
69 char *plug_get_copyright (
struct arglist *);
71 void plug_set_family (
struct arglist *,
const char *);
72 char *plug_get_family (
struct arglist *);
74 void plug_set_dep (
struct arglist *,
const char *);
78 void plug_set_id (
struct arglist *,
int);
79 int plug_get_id (
struct arglist *);
81 void plug_set_oid (
struct arglist *,
char *);
82 char *plug_get_oid (
struct arglist *);
84 void plug_set_cve_id (
struct arglist *,
char *);
85 char *plug_get_cve_id (
struct arglist *);
87 void plug_set_bugtraq_id (
struct arglist *,
char *);
88 char *plug_get_bugtraq_id (
struct arglist *);
90 void plug_set_xref (
struct arglist *,
char *,
char *);
91 char *plug_get_xref (
struct arglist *);
93 void plug_set_tag (
struct arglist *,
char *,
char *);
94 char *plug_get_tag (
struct arglist *);
96 void plug_set_sign_key_ids (
struct arglist *,
char *);
97 char *plug_get_sign_key_ids (
struct arglist *);
99 void plug_set_ssl_cert (
struct arglist *,
char *);
100 void plug_set_ssl_key (
struct arglist *,
char *);
101 void plug_set_ssl_pem_password (
struct arglist *,
char *);
102 void plug_set_ssl_CA_file (
struct arglist *,
char *);
105 const char *plug_get_hostname (
struct arglist *);
106 const char *plug_get_host_fqdn (
struct arglist *);
108 unsigned int plug_get_host_open_port (
struct arglist *desc);
110 void plug_set_port_transport (
struct arglist *,
int,
int);
112 void plug_require_key (
struct arglist *,
const char *);
115 void plug_mandatory_key (
struct arglist *,
const char *);
118 void plug_exclude_key (
struct arglist *,
const char *);
121 void plug_require_port (
struct arglist *,
const char *);
124 void plug_require_udp_port (
struct arglist *,
const char *);
126 int plug_get_port_transport (
struct arglist *,
int);
132 void proto_post_hole (
struct arglist *,
int,
const char *,
const char *);
133 void post_hole (
struct arglist *,
int,
const char *);
134 void post_hole_udp (
struct arglist *,
int,
const char *);
135 #define post_hole_tcp post_hole
137 void proto_post_info (
struct arglist *,
int,
const char *,
const char *);
138 void post_info (
struct arglist *,
int,
const char *);
139 void post_info_udp (
struct arglist *,
int,
const char *);
140 #define post_info_tcp post_info
142 void proto_post_note (
struct arglist *,
int,
const char *,
const char *);
143 void post_note (
struct arglist *,
int,
const char *);
144 void post_note_udp (
struct arglist *,
int,
const char *);
145 #define post_note_tcp post_note
147 void proto_post_debug (
struct arglist *,
int,
const char *,
const char *);
148 void post_debug (
struct arglist *,
int,
const char *);
149 void post_debug_udp (
struct arglist *,
int,
const char *);
150 #define post_debug_tcp post_debug
152 void proto_post_log (
struct arglist *,
int,
const char *,
const char *);
153 void post_log (
struct arglist *,
int,
const char *);
154 void post_log_udp (
struct arglist *,
int,
const char *);
155 #define post_log_tcp post_log
161 void host_add_port (
struct arglist *,
int,
int);
162 void host_add_port_udp (
struct arglist *,
int,
int);
163 int host_get_port_state (
struct arglist *,
int);
164 int host_get_port_state_udp (
struct arglist *,
int);
174 void plug_set_key (
struct arglist *,
char *,
int,
void *);
175 void plug_replace_key (
struct arglist *,
char *,
int,
void *);
176 void *plug_get_fresh_key (
struct arglist *,
char *,
int *);
178 void *plug_get_key (
struct arglist *,
char *,
int *);
180 char *openvaslib_version ();
181 void openvas_lib_version (
int *,
int *,
int *);
182 char *addslashes (
char *);
183 char *rmslashes (
char *);
185 struct in6_addr *plug_get_host_ip (
struct arglist *);
186 char *get_preference (
struct arglist *,
const char *);
187 void add_plugin_preference (
struct arglist *,
const char *,
const char *,
189 char *get_plugin_preference (
struct arglist *,
const char *);
190 const char *get_plugin_preference_fname (
struct arglist *,
const char *);
191 char *get_plugin_preference_file_content (
struct arglist *,
const char *);
192 const long get_plugin_preference_file_size (
struct arglist *,
const char *);
194 char *find_in_path (
char *,
int);
196 int shared_socket_register (
struct arglist *,
int,
char *);
197 int shared_socket_acquire (
struct arglist *,
char *);
198 int shared_socket_release (
struct arglist *,
char *);
199 int shared_socket_destroy (
struct arglist *,
char *);
205 #define INTERNAL_COMM_MSG_TYPE_CTRL (1 << 16)
206 #define INTERNAL_COMM_MSG_TYPE_KB (1 << 17)
207 #define INTERNAL_COMM_MSG_TYPE_DATA (1 << 18)
208 #define INTERNAL_COMM_MSG_SHARED_SOCKET (1 << 19)
210 #define INTERNAL_COMM_KB_REPLACE 1
211 #define INTERNAL_COMM_KB_GET 2
212 #define INTERNAL_COMM_KB_SENDING_INT 4
213 #define INTERNAL_COMM_KB_SENDING_STR 8
214 #define INTERNAL_COMM_KB_ERROR 16
217 #define INTERNAL_COMM_CTRL_FINISHED 1
218 #define INTERNAL_COMM_CTRL_ACK 2
220 #define INTERNAL_COMM_SHARED_SOCKET_REGISTER 1
221 #define INTERNAL_COMM_SHARED_SOCKET_ACQUIRE 2
222 #define INTERNAL_COMM_SHARED_SOCKET_RELEASE 4
223 #define INTERNAL_COMM_SHARED_SOCKET_DESTROY 8
225 #define INTERNAL_COMM_SHARED_SOCKET_DORECVMSG 16
226 #define INTERNAL_COMM_SHARED_SOCKET_BUSY 32
227 #define INTERNAL_COMM_SHARED_SOCKET_ERROR 64
235 #define OPENVAS_ENCAPS_IP 1
236 #define OPENVAS_ENCAPS_SSLv23 2
237 #define OPENVAS_ENCAPS_SSLv2 3
238 #define OPENVAS_ENCAPS_SSLv3 4
239 #define OPENVAS_ENCAPS_TLSv1 5
241 #define IS_ENCAPS_SSL(x) ((x) >= OPENVAS_ENCAPS_SSLv23 && (x) <= OPENVAS_ENCAPS_TLSv1)