OpenVAS Scanner  7.0.1~git
nasl_init.c
Go to the documentation of this file.
1 /* Based on work Copyright (C) 2002 - 2004 Tenable Network Security
2  *
3  * SPDX-License-Identifier: GPL-2.0-only
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * version 2 as published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18 
19 #include "../misc/network.h" /* for OPENVAS_ENCAPS_* */
20 #include "../misc/nvt_categories.h" /* for ACT_INIT */
21 #include "exec.h"
22 #include "nasl.h"
23 #include "nasl_builtin_plugins.h"
24 #include "nasl_cert.h"
25 #include "nasl_cmd_exec.h"
26 #include "nasl_crypto.h"
27 #include "nasl_crypto2.h"
28 #include "nasl_debug.h"
29 #include "nasl_func.h"
30 #include "nasl_global_ctxt.h"
31 #include "nasl_host.h"
32 #include "nasl_http.h"
33 #include "nasl_isotime.h"
34 #include "nasl_lex_ctxt.h"
35 #include "nasl_misc_funcs.h"
36 #include "nasl_packet_forgery.h"
37 #include "nasl_packet_forgery_v6.h"
38 
39 #include <stdlib.h> /* for getenv. */
40 #include <string.h> /* for memset */
41 /* to e.g. favour BSD, but also for IPPROTO_TCP and TH_FIN */
42 #include "nasl_raw.h"
43 #include "nasl_scanner_glue.h"
44 #include "nasl_smb.h"
45 #include "nasl_snmp.h"
46 #include "nasl_socket.h"
47 #include "nasl_ssh.h"
48 #include "nasl_text_utils.h"
49 #include "nasl_tree.h"
50 #include "nasl_var.h"
51 #include "nasl_wmi.h"
52 
53 /* **************************************************************** */
54 
55 typedef struct
56 {
57  /* XXX: Unify with nasl_func */
58  const char *name;
59  tree_cell *(*c_code) (lex_ctxt *);
60 } init_func;
61 
67 static init_func libfuncs[] = {
68  {"script_name", script_name},
69  {"script_version", script_version},
70  {"script_timeout", script_timeout},
71  {"script_copyright", script_copyright},
72  {"script_category", script_category},
73  {"script_family", script_family},
74  {"script_dependencies", script_dependencies},
75  {"script_require_keys", script_require_keys},
76  {"script_mandatory_keys", script_mandatory_keys},
77  {"script_require_ports", script_require_ports},
78  {"script_require_udp_ports", script_require_udp_ports},
79  {"script_exclude_keys", script_exclude_keys},
80  {"script_add_preference", script_add_preference},
81  {"script_get_preference", script_get_preference},
82  {"script_get_preference_file_content", script_get_preference_file_content},
83  {"script_get_preference_file_location", script_get_preference_file_location},
84  {"script_oid", script_oid},
85  {"script_cve_id", script_cve_id},
86  {"script_bugtraq_id", script_bugtraq_id},
87  {"script_xref", script_xref},
88  {"script_tag", script_tag},
89  {"vendor_version", nasl_vendor_version},
90  {"get_preference", nasl_get_preference},
91  {"safe_checks", safe_checks},
92  {"get_script_oid", get_script_oid},
93  {"replace_kb_item", replace_kb_item},
94  {"set_kb_item", set_kb_item},
95  {"get_kb_item", get_kb_item},
96  {"get_kb_list", get_kb_list},
97  {"security_message", security_message},
98  {"log_message", log_message},
99  {"error_message", error_message},
100  {"open_sock_tcp", nasl_open_sock_tcp},
101  {"open_sock_udp", nasl_open_sock_udp},
102  {"open_priv_sock_tcp", nasl_open_priv_sock_tcp},
103  {"open_priv_sock_udp", nasl_open_priv_sock_udp},
104  {"socket_get_error", nasl_socket_get_error},
105  {"recv", nasl_recv},
106  {"recv_line", nasl_recv_line},
107  {"send", nasl_send},
108  {"socket_negotiate_ssl", nasl_socket_negotiate_ssl},
109  {"socket_get_cert", nasl_socket_get_cert},
110  {"socket_get_ssl_version", nasl_socket_get_ssl_version},
111  {"socket_get_ssl_ciphersuite", nasl_socket_get_ssl_ciphersuite},
112  {"socket_get_ssl_session_id", nasl_socket_get_ssl_session_id},
113  {"socket_cert_verify", nasl_socket_cert_verify},
114  {"close", nasl_close_socket},
115  {"join_multicast_group", nasl_join_multicast_group},
116  {"leave_multicast_group", nasl_leave_multicast_group},
117  {"get_source_port", nasl_get_source_port},
118  {"get_sock_info", nasl_get_sock_info},
119  {"cgibin", cgibin},
120  {"http_open_socket", http_open_socket},
121  {"http_head", http_head},
122  {"http_get", http_get},
123  {"http_post", http_post},
124  {"http_delete", http_delete},
125  {"http_put", http_put},
126  {"http_close_socket", http_close_socket},
127  {"add_host_name", add_hostname},
128  {"get_host_name", get_hostname},
129  {"get_host_names", get_hostnames},
130  {"get_host_name_source", get_hostname_source},
131  {"resolve_host_name", resolve_hostname},
132  {"get_host_ip", get_host_ip},
133  {"same_host", nasl_same_host},
134  {"TARGET_IS_IPV6", nasl_target_is_ipv6},
135  {"get_host_open_port", get_host_open_port},
136  {"get_port_state", get_port_state},
137  {"get_tcp_port_state", get_port_state},
138  {"get_udp_port_state", get_udp_port_state},
139  {"scanner_add_port", nasl_scanner_add_port},
140  {"scanner_status", nasl_scanner_status},
141  {"scanner_get_port", nasl_scanner_get_port},
142  {"islocalhost", nasl_islocalhost},
143  {"islocalnet", nasl_islocalnet},
144  {"get_port_transport", get_port_transport},
145  {"this_host", nasl_this_host},
146  {"this_host_name", nasl_this_host_name},
147  {"string", nasl_string},
148  {"raw_string", nasl_rawstring},
149  {"strcat", nasl_strcat},
150  {"display", nasl_display},
151  {"ord", nasl_ord},
152  {"hex", nasl_hex},
153  {"hexstr", nasl_hexstr},
154  {"strstr", nasl_strstr},
155  {"ereg", nasl_ereg},
156  {"ereg_replace", nasl_ereg_replace},
157  {"egrep", nasl_egrep},
158  {"eregmatch", nasl_eregmatch},
159  {"match", nasl_match},
160  {"substr", nasl_substr},
161  {"insstr", nasl_insstr},
162  {"tolower", nasl_tolower},
163  {"toupper", nasl_toupper},
164  {"crap", nasl_crap},
165  {"strlen", nasl_strlen},
166  {"split", nasl_split},
167  {"chomp", nasl_chomp},
168  {"int", nasl_int},
169  {"stridx", nasl_stridx},
170  {"str_replace", nasl_str_replace},
171  {"make_list", nasl_make_list},
172  {"make_array", nasl_make_array},
173  {"keys", nasl_keys},
174  {"max_index", nasl_max_index},
175  {"sort", nasl_sort_array},
176  {"unixtime", nasl_unixtime},
177  {"gettimeofday", nasl_gettimeofday},
178  {"localtime", nasl_localtime},
179  {"mktime", nasl_mktime},
180  {"open_sock_kdc", nasl_open_sock_kdc},
181  {"telnet_init", nasl_telnet_init},
182  {"ftp_log_in", nasl_ftp_log_in},
183  {"ftp_get_pasv_port", nasl_ftp_get_pasv_address},
184  {"start_denial", nasl_start_denial},
185  {"end_denial", nasl_end_denial},
186  {"dump_ctxt", nasl_dump_ctxt},
187  {"typeof", nasl_typeof},
188  {"exit", nasl_do_exit},
189  {"rand", nasl_rand},
190  {"usleep", nasl_usleep},
191  {"sleep", nasl_sleep},
192  {"isnull", nasl_isnull},
193  {"defined_func", nasl_defined_func},
194  {"forge_ip_packet", forge_ip_packet},
195  {"forge_ipv6_packet", forge_ipv6_packet},
196  {"get_ip_element", get_ip_element},
197  {"get_ipv6_element", get_ipv6_element},
198  {"set_ip_elements", set_ip_elements},
199  {"set_ipv6_elements", set_ipv6_elements},
200  {"insert_ip_options", insert_ip_options},
201  {"insert_ipv6_options", insert_ipv6_options},
202  {"dump_ip_packet", dump_ip_packet},
203  {"dump_ipv6_packet", dump_ipv6_packet},
204  {"forge_tcp_packet", forge_tcp_packet},
205  {"forge_tcp_v6_packet", forge_tcp_v6_packet},
206  {"get_tcp_element", get_tcp_element},
207  {"get_tcp_v6_element", get_tcp_v6_element},
208  {"set_tcp_elements", set_tcp_elements},
209  {"set_tcp_v6_elements", set_tcp_v6_elements},
210  {"dump_tcp_packet", dump_tcp_packet},
211  {"dump_tcp_v6_packet", dump_tcp_v6_packet},
212  {"tcp_ping", nasl_tcp_ping},
213  {"tcp_v6_ping", nasl_tcp_v6_ping},
214  {"forge_udp_packet", forge_udp_packet},
215  {"forge_udp_v6_packet", forge_udp_v6_packet},
216  {"get_udp_element", get_udp_element},
217  {"get_udp_v6_element", get_udp_v6_element},
218  {"set_udp_elements", set_udp_elements},
219  {"set_udp_v6_elements", set_udp_v6_elements},
220  {"dump_udp_packet", dump_udp_packet},
221  {"dump_udp_v6_packet", dump_udp_v6_packet},
222  {"forge_icmp_packet", forge_icmp_packet},
223  {"forge_icmp_v6_packet", forge_icmp_v6_packet},
224  {"get_icmp_element", get_icmp_element},
225  {"get_icmp_v6_element", get_icmp_v6_element},
226  {"forge_igmp_packet", forge_igmp_packet},
227  {"forge_igmp_v6_packet", forge_igmp_v6_packet},
228  {"send_packet", nasl_send_packet},
229  {"send_v6packet", nasl_send_v6packet},
230  {"pcap_next", nasl_pcap_next},
231  {"send_capture", nasl_send_capture},
232  {"MD2", nasl_md2},
233  {"MD4", nasl_md4},
234  {"MD5", nasl_md5},
235  {"SHA1", nasl_sha1},
236  {"SHA256", nasl_sha256},
237  {"RIPEMD160", nasl_ripemd160},
238  {"HMAC_MD2", nasl_hmac_md2},
239  {"HMAC_MD5", nasl_hmac_md5},
240  {"HMAC_SHA1", nasl_hmac_sha1},
241  {"HMAC_SHA256", nasl_hmac_sha256},
242  {"HMAC_SHA384", nasl_hmac_sha384},
243  {"HMAC_SHA512", nasl_hmac_sha512},
244  {"HMAC_RIPEMD160", nasl_hmac_ripemd160},
245  {"prf_sha256", nasl_prf_sha256},
246  {"prf_sha384", nasl_prf_sha384},
247  {"tls1_prf", nasl_tls1_prf},
248  {"ntlmv2_response", nasl_ntlmv2_response},
249  {"ntlm2_response", nasl_ntlm2_response},
250  {"ntlm_response", nasl_ntlm_response},
251  {"key_exchange", nasl_keyexchg},
252  {"NTLMv1_HASH", nasl_ntlmv1_hash},
253  {"NTLMv2_HASH", nasl_ntlmv2_hash},
254  {"nt_owf_gen", nasl_nt_owf_gen},
255  {"lm_owf_gen", nasl_lm_owf_gen},
256  {"ntv2_owf_gen", nasl_ntv2_owf_gen},
257  {"insert_hexzeros", nasl_insert_hexzeros},
258  {"dec2str", nasl_dec2str},
259  {"get_signature", nasl_get_sign},
260  {"get_smb2_signature", nasl_get_smb2_sign},
261  {"dh_generate_key", nasl_dh_generate_key},
262  {"bn_random", nasl_bn_random},
263  {"bn_cmp", nasl_bn_cmp},
264  {"dh_compute_key", nasl_dh_compute_key},
265  {"rsa_public_encrypt", nasl_rsa_public_encrypt},
266  {"rsa_private_decrypt", nasl_rsa_private_decrypt},
267  {"rsa_public_decrypt", nasl_rsa_public_decrypt},
268  {"bf_cbc_encrypt", nasl_bf_cbc_encrypt},
269  {"bf_cbc_decrypt", nasl_bf_cbc_decrypt},
270  {"rc4_encrypt", nasl_rc4_encrypt},
271  {"aes128_cbc_encrypt", nasl_aes128_cbc_encrypt},
272  {"aes256_cbc_encrypt", nasl_aes256_cbc_encrypt},
273  {"aes128_ctr_encrypt", nasl_aes128_ctr_encrypt},
274  {"aes256_ctr_encrypt", nasl_aes256_ctr_encrypt},
275  {"aes128_gcm_encrypt", nasl_aes128_gcm_encrypt},
276  {"aes256_gcm_encrypt", nasl_aes256_gcm_encrypt},
277  {"des_ede_cbc_encrypt", nasl_des_ede_cbc_encrypt},
278  {"open_rc4_cipher", nasl_open_rc4_cipher},
279  {"close_stream_cipher", nasl_close_stream_cipher},
280  {"dsa_do_verify", nasl_dsa_do_verify},
281  {"pem_to_rsa", nasl_pem_to_rsa},
282  {"pem_to_dsa", nasl_pem_to_dsa},
283  {"rsa_sign", nasl_rsa_sign},
284  {"dsa_do_sign", nasl_dsa_do_sign},
285  {"gunzip", nasl_gunzip},
286  {"gzip", nasl_gzip},
287  {"DES", nasl_cipher_des},
288 
289 #ifdef HAVE_NETSNMP
290  {"snmpv1_get", nasl_snmpv1_get},
291  {"snmpv2c_get", nasl_snmpv2c_get},
292  {"snmpv3_get", nasl_snmpv3_get},
293 #endif /* HAVE_NETSNMP */
294 
295  {"ssh_connect", nasl_ssh_connect},
296  {"ssh_disconnect", nasl_ssh_disconnect},
297  {"ssh_session_id_from_sock", nasl_ssh_session_id_from_sock},
298  {"ssh_get_sock", nasl_ssh_get_sock},
299  {"ssh_set_login", nasl_ssh_set_login},
300  {"ssh_userauth", nasl_ssh_userauth},
301  {"ssh_login_interactive", nasl_ssh_login_interactive},
302  {"ssh_login_interactive_pass", nasl_ssh_login_interactive_pass},
303  {"ssh_request_exec", nasl_ssh_request_exec},
304  {"ssh_shell_open", nasl_ssh_shell_open},
305  {"ssh_shell_read", nasl_ssh_shell_read},
306  {"ssh_shell_write", nasl_ssh_shell_write},
307  {"ssh_shell_close", nasl_ssh_shell_close},
308  {"ssh_get_issue_banner", nasl_ssh_get_issue_banner},
309  {"ssh_get_server_banner", nasl_ssh_get_server_banner},
310  {"ssh_get_auth_methods", nasl_ssh_get_auth_methods},
311  {"ssh_get_host_key", nasl_ssh_get_host_key},
312 
313 #ifdef HAVE_LIBKSBA
314  {"cert_open", nasl_cert_open},
315  {"cert_close", nasl_cert_close},
316  {"cert_query", nasl_cert_query},
317 #endif /*HAVE_LIBKSBA*/
318 
319  {"pread", nasl_pread},
320  {"find_in_path", nasl_find_in_path},
321  {"fread", nasl_fread},
322  {"fwrite", nasl_fwrite},
323  {"unlink", nasl_unlink},
324  {"get_tmp_dir", nasl_get_tmp_dir},
325  {"get_byte_order", nasl_get_byte_order},
326  {"file_stat", nasl_file_stat},
327  {"file_open", nasl_file_open},
328  {"file_close", nasl_file_close},
329  {"file_read", nasl_file_read},
330  {"file_write", nasl_file_write},
331  {"file_seek", nasl_file_seek},
332  {"wmi_versioninfo", nasl_wmi_versioninfo},
333  {"wmi_connect", nasl_wmi_connect},
334  {"wmi_close", nasl_wmi_close},
335  {"wmi_query", nasl_wmi_query},
336  {"wmi_connect_rsop", nasl_wmi_connect_rsop},
337  {"wmi_query_rsop", nasl_wmi_query_rsop},
338  {"wmi_connect_reg", nasl_wmi_connect_reg},
339  {"wmi_reg_enum_key", nasl_wmi_reg_enum_key},
340  {"wmi_reg_enum_value", nasl_wmi_reg_enum_value},
341  {"wmi_reg_get_sz", nasl_wmi_reg_get_sz},
342  {"wmi_reg_get_bin_val", nasl_wmi_reg_get_bin_val},
343  {"wmi_reg_get_dword_val", nasl_wmi_reg_get_dword_val},
344  {"wmi_reg_get_ex_string_val", nasl_wmi_reg_get_ex_string_val},
345  {"wmi_reg_get_mul_string_val", nasl_wmi_reg_get_mul_string_val},
346  {"wmi_reg_get_qword_val", nasl_wmi_reg_get_qword_val},
347  {"wmi_reg_set_dword_val", nasl_wmi_reg_set_dword_val},
348  {"wmi_reg_set_qword_val", nasl_wmi_reg_set_qword_val},
349  {"wmi_reg_set_ex_string_val", nasl_wmi_reg_set_ex_string_val},
350  {"wmi_reg_set_string_val", nasl_wmi_reg_set_string_val},
351  {"wmi_reg_create_key", nasl_wmi_reg_create_key},
352  {"wmi_reg_delete_key", nasl_wmi_reg_delete_key},
353  {"smb_versioninfo", nasl_smb_versioninfo},
354  {"smb_connect", nasl_smb_connect},
355  {"smb_close", nasl_smb_close},
356  {"smb_file_SDDL", nasl_smb_file_SDDL},
357  {"smb_file_owner_sid", nasl_smb_file_owner_sid},
358  {"smb_file_group_sid", nasl_smb_file_group_sid},
359  {"smb_file_trustee_rights", nasl_smb_file_trustee_rights},
360  {"win_cmd_exec", nasl_win_cmd_exec},
361  {"scan_phase", scan_phase},
362  {"network_targets", network_targets},
363  {"plugin_run_find_service", plugin_run_find_service},
364  {"plugin_run_openvas_tcp_scanner", plugin_run_openvas_tcp_scanner},
365  {"plugin_run_synscan", plugin_run_synscan},
366  {"plugin_run_nmap", plugin_run_nmap},
367  {"isotime_now", nasl_isotime_now},
368  {"isotime_is_valid", nasl_isotime_is_valid},
369  {"isotime_scan", nasl_isotime_scan},
370  {"isotime_print", nasl_isotime_print},
371  {"isotime_add", nasl_isotime_add},
372  {NULL, NULL}};
373 
374 /* String variables */
375 static struct
376 {
377  const char *name;
378  const char *val;
379 } libsvars[] = {
380  {"OPENVAS_VERSION", OPENVASLIB_VERSION},
381  {NULL, NULL},
382 };
383 
384 /* Integer variables */
385 static struct
386 {
387  const char *name;
388  int val;
389 } libivars[] = {
390  {"TRUE", 1},
391  {"FALSE", 0},
392  {"IPPROTO_TCP", IPPROTO_TCP},
393  {"IPPROTO_UDP", IPPROTO_UDP},
394  {"IPPROTO_ICMP", IPPROTO_ICMP},
395  {"IPROTO_IP", IPPROTO_IP},
396  {"IPPROTO_IGMP", IPPROTO_IGMP},
397  {"ENCAPS_AUTO", OPENVAS_ENCAPS_AUTO},
398  {"ENCAPS_IP", OPENVAS_ENCAPS_IP},
399  {"ENCAPS_SSLv23", OPENVAS_ENCAPS_SSLv23},
400  {"ENCAPS_SSLv2", OPENVAS_ENCAPS_SSLv2},
401  {"ENCAPS_SSLv3", OPENVAS_ENCAPS_SSLv3},
402  {"ENCAPS_TLSv1", OPENVAS_ENCAPS_TLSv1},
403  {"ENCAPS_TLSv11", OPENVAS_ENCAPS_TLSv11},
404  {"ENCAPS_TLSv12", OPENVAS_ENCAPS_TLSv12},
405  {"ENCAPS_TLScustom", OPENVAS_ENCAPS_TLScustom},
406  {"ENCAPS_MAX", OPENVAS_ENCAPS_MAX},
407  {"TH_FIN", TH_FIN},
408  {"TH_SYN", TH_SYN},
409  {"TH_RST", TH_RST},
410  {"TH_PUSH", TH_PUSH},
411  {"TH_ACK", TH_ACK},
412  {"TH_URG", TH_URG},
413  {"IP_RF", IP_RF},
414  {"IP_DF", IP_DF},
415  {"IP_MF", IP_MF},
416  {"IP_OFFMASK", IP_OFFMASK},
417  {"ACT_INIT", ACT_INIT},
418  {"ACT_GATHER_INFO", ACT_GATHER_INFO},
419  {"ACT_ATTACK", ACT_ATTACK},
420  {"ACT_MIXED_ATTACK", ACT_MIXED_ATTACK},
421  {"ACT_DESTRUCTIVE_ATTACK", ACT_DESTRUCTIVE_ATTACK},
422  {"ACT_DENIAL", ACT_DENIAL},
423  {"ACT_SCANNER", ACT_SCANNER},
424  {"ACT_SETTINGS", ACT_SETTINGS},
425  {"ACT_KILL_HOST", ACT_KILL_HOST},
426  {"ACT_FLOOD", ACT_FLOOD},
427  {"ACT_END", ACT_END},
428  {"MSG_OOB", MSG_OOB},
429  {"NOERR", NASL_ERR_NOERR},
430  {"ETIMEDOUT", NASL_ERR_ETIMEDOUT},
431  {"ECONNRESET", NASL_ERR_ECONNRESET},
432  {"EUNREACH", NASL_ERR_EUNREACH},
433  {"EUNKNOWN", NASL_ERR_EUNKNOWN},
434  {NULL, 0},
435 };
436 
437 /* See also in exec.c:
438  * COMMAND_LINE
439  * description
440  */
441 
445 void
447 {
448  tree_cell tc;
449  unsigned i;
450 
451  memset (&tc, 0, sizeof (tc));
452 
453  // Initialize constant integer terms
454  tc.type = CONST_INT;
455  for (i = 0; i < sizeof (libivars) / sizeof (libivars[0]) - 1; i++)
456  {
457  tc.x.i_val = libivars[i].val;
458  if (add_named_var_to_ctxt (lexic, libivars[i].name, &tc) == NULL)
459  {
460  nasl_perror (lexic, "init_nasl_library: could not define var '%s'\n",
461  libivars[i].name);
462  continue;
463  }
464  }
465 
466  // Initialize constant string terms
467  tc.type = CONST_DATA;
468  for (i = 0; i < sizeof (libsvars) / sizeof (libsvars[0]) - 1; i++)
469  {
470  tc.x.str_val = (char *) libsvars[i].val;
471  tc.size = strlen (libsvars[i].val);
472  if (add_named_var_to_ctxt (lexic, libsvars[i].name, &tc) == NULL)
473  {
474  nasl_perror (lexic, "init_nasl_library: could not define var '%s'\n",
475  libsvars[i].name);
476  continue;
477  }
478  }
479 
480  // Add the "NULL" variable
481  if (add_named_var_to_ctxt (lexic, "NULL", NULL) == NULL)
482  nasl_perror (lexic, "init_nasl_library: could not define var 'NULL'\n");
483 }
484 
485 nasl_func *
486 func_is_internal (const char *name)
487 {
488  size_t i;
489 
490  if (!name)
491  return NULL;
492 
493  for (i = 0; i < sizeof (libfuncs) / sizeof (libfuncs[0]) - 1; i++)
494  {
495  if (!strcmp (name, libfuncs[i].name))
496  return (nasl_func *) &libfuncs[i];
497  }
498  return NULL;
499 }
500 
501 char *
503 {
504  static char vers[sizeof (OPENVASLIB_VERSION) + 1];
505  strncpy (vers, OPENVASLIB_VERSION, sizeof (vers) - 1);
506  vers[sizeof (vers) - 1] = '\0';
507  return vers;
508 }
509 
513 void
515 {
516  int i;
517  for (i = 0; libivars[i].name != NULL; i++)
518  *list = g_slist_append (*list, g_strdup (libivars[i].name));
519  for (i = 0; libsvars[i].name != NULL; i++)
520  *list = g_slist_append (*list, g_strdup (libsvars[i].name));
521 }
security_message
tree_cell * security_message(lex_ctxt *lexic)
Send a security message to the client.
Definition: nasl_scanner_glue.c:969
nasl_win_cmd_exec
tree_cell * nasl_win_cmd_exec(lex_ctxt *lexic)
Execute the command in windows.
Definition: nasl_smb.c:349
nasl_stridx
tree_cell * nasl_stridx(lex_ctxt *lexic)
Returns index of a substring.
Definition: nasl_text_utils.c:1209
nasl_sort_array
tree_cell * nasl_sort_array(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:611
nasl_version
char * nasl_version()
Definition: nasl_init.c:502
script_copyright
tree_cell * script_copyright(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:264
nasl_md5
tree_cell * nasl_md5(lex_ctxt *lexic)
Definition: nasl_crypto.c:133
nasl_pcap_next
tree_cell * nasl_pcap_next(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:1503
nasl_snmp.h
Headers of an API for SNMP used by NASL scripts.
nasl_dec2str
tree_cell * nasl_dec2str(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:859
nasl_misc_funcs.h
nasl_get_byte_order
tree_cell * nasl_get_byte_order(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:882
nasl_do_exit
tree_cell * nasl_do_exit(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:311
nasl_defined_func
tree_cell * nasl_defined_func(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:571
nasl_isotime_is_valid
tree_cell * nasl_isotime_is_valid(lex_ctxt *lexic)
Check whether an ISO time string is valid.
Definition: nasl_isotime.c:574
nasl_close_socket
tree_cell * nasl_close_socket(lex_ctxt *lexic)
Definition: nasl_socket.c:905
script_require_ports
tree_cell * script_require_ports(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:413
nasl_hex
tree_cell * nasl_hex(lex_ctxt *lexic)
Definition: nasl_text_utils.c:332
nasl_localtime
tree_cell * nasl_localtime(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:664
ACT_FLOOD
@ ACT_FLOOD
Definition: nvt_categories.h:47
dump_tcp_v6_packet
tree_cell * dump_tcp_v6_packet(lex_ctxt *lexic)
Print TCP/IPv6 packet.
Definition: nasl_packet_forgery_v6.c:719
script_require_udp_ports
tree_cell * script_require_udp_ports(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:431
nasl_bf_cbc_decrypt
tree_cell * nasl_bf_cbc_decrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1518
nasl_ntlmv2_response
tree_cell * nasl_ntlmv2_response(lex_ctxt *lexic)
Definition: nasl_crypto.c:608
nasl_chomp
tree_cell * nasl_chomp(lex_ctxt *lexic)
Takes an unnamed string argument and removes any spaces at the end of it. "Space" means white space,...
Definition: nasl_text_utils.c:1086
resolve_hostname
tree_cell * resolve_hostname(lex_ctxt *lexic)
Definition: nasl_host.c:148
get_hostname
tree_cell * get_hostname(lex_ctxt *lexic)
Definition: nasl_host.c:80
nasl_rc4_encrypt
tree_cell * nasl_rc4_encrypt(lex_ctxt *lexic)
Nasl function to encrypt data with a RC4 cipher. If an hd param exist in the lexix context,...
Definition: nasl_crypto2.c:1796
CONST_DATA
@ CONST_DATA
Definition: nasl_tree.h:93
plugin_run_openvas_tcp_scanner
tree_cell * plugin_run_openvas_tcp_scanner(lex_ctxt *lexic)
Definition: nasl_builtin_openvas_tcp_scanner.c:1060
nasl_close_stream_cipher
tree_cell * nasl_close_stream_cipher(lex_ctxt *lexic)
Nasl function to delete a cipher item from the cipher table.
Definition: nasl_crypto2.c:1661
set_tcp_v6_elements
tree_cell * set_tcp_v6_elements(lex_ctxt *lexic)
Set TCP Header element.
Definition: nasl_packet_forgery_v6.c:624
nasl_smb.h
Protos for NASL SMB API.
nasl_cert.h
Protos and data structures for CERT functions used by NASL scripts.
nasl_int
tree_cell * nasl_int(lex_ctxt *lexic)
Definition: nasl_text_utils.c:1323
nasl_file_read
tree_cell * nasl_file_read(lex_ctxt *lexic)
Read file.
Definition: nasl_cmd_exec.c:513
nasl_ssh_get_auth_methods
tree_cell * nasl_ssh_get_auth_methods(lex_ctxt *lexic)
Get the list of authmethods.
Definition: nasl_ssh.c:1572
nasl_file_write
tree_cell * nasl_file_write(lex_ctxt *lexic)
Write file.
Definition: nasl_cmd_exec.c:555
nasl_send_capture
tree_cell * nasl_send_capture(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:1634
nasl_wmi_reg_set_dword_val
tree_cell * nasl_wmi_reg_set_dword_val(lex_ctxt *lexic)
Set Registry DWORD value.
Definition: nasl_wmi.c:796
add_named_var_to_ctxt
named_nasl_var * add_named_var_to_ctxt(lex_ctxt *, const char *, tree_cell *)
Definition: nasl_var.c:825
nasl_tcp_ping
tree_cell * nasl_tcp_ping(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:1254
OPENVAS_ENCAPS_IP
@ OPENVAS_ENCAPS_IP
Definition: network.h:45
nasl_end_denial
tree_cell * nasl_end_denial(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:239
nasl_file_stat
tree_cell * nasl_file_stat(lex_ctxt *lexic)
Stat file.
Definition: nasl_cmd_exec.c:375
nasl_nt_owf_gen
tree_cell * nasl_nt_owf_gen(lex_ctxt *lexic)
Definition: nasl_crypto.c:787
libivars
static struct @1 libivars[]
libsvars
static struct @0 libsvars[]
nasl_send_v6packet
tree_cell * nasl_send_v6packet(lex_ctxt *lexic)
Send forged IPv6 Packet.
Definition: nasl_packet_forgery_v6.c:1643
nasl_ssh.h
Protos and data structures for SSH functions used by NASL scripts.
nasl_recv
tree_cell * nasl_recv(lex_ctxt *lexic)
Definition: nasl_socket.c:701
TC::str_val
char * str_val
Definition: nasl_tree.h:112
nasl_join_multicast_group
tree_cell * nasl_join_multicast_group(lex_ctxt *lexic)
Definition: nasl_socket.c:950
nasl_socket_negotiate_ssl
tree_cell * nasl_socket_negotiate_ssl(lex_ctxt *lexic)
Definition: nasl_socket.c:590
get_kb_item
tree_cell * get_kb_item(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:766
nasl_wmi_reg_set_ex_string_val
tree_cell * nasl_wmi_reg_set_ex_string_val(lex_ctxt *lexic)
Set Registry Expanded string value.
Definition: nasl_wmi.c:896
scan_phase
tree_cell * scan_phase(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:637
nasl_crap
tree_cell * nasl_crap(lex_ctxt *lexic)
Definition: nasl_text_utils.c:1109
nasl_aes256_ctr_encrypt
tree_cell * nasl_aes256_ctr_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1847
nasl_ntlmv1_hash
tree_cell * nasl_ntlmv1_hash(lex_ctxt *lexic)
Definition: nasl_crypto.c:755
nasl_hmac_ripemd160
tree_cell * nasl_hmac_ripemd160(lex_ctxt *lexic)
Definition: nasl_crypto.c:239
nasl_smb_close
tree_cell * nasl_smb_close(lex_ctxt *lexic)
Close SMB service handle.
Definition: nasl_smb.c:145
nasl_rsa_public_encrypt
tree_cell * nasl_rsa_public_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:770
nasl_get_sock_info
tree_cell * nasl_get_sock_info(lex_ctxt *lexic)
Get info pertaining to a socket.
Definition: nasl_socket.c:1190
nasl_eregmatch
tree_cell * nasl_eregmatch(lex_ctxt *lexic)
Does extended regular expression pattern matching.
Definition: nasl_text_utils.c:789
nasl_isotime.h
Protos and data structures for ISOTIME functions used by NASL scripts.
nasl_ntv2_owf_gen
tree_cell * nasl_ntv2_owf_gen(lex_ctxt *lexic)
Definition: nasl_crypto.c:876
nasl_socket_get_cert
tree_cell * nasl_socket_get_cert(lex_ctxt *lexic)
Definition: nasl_socket.c:623
nasl_ssh_shell_close
tree_cell * nasl_ssh_shell_close(lex_ctxt *lexic)
Close an ssh shell.
Definition: nasl_ssh.c:1833
nasl_ssh_userauth
tree_cell * nasl_ssh_userauth(lex_ctxt *lexic)
Authenticate a user on an ssh connection.
Definition: nasl_ssh.c:800
nasl_scanner_get_port
tree_cell * nasl_scanner_get_port(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:1031
nasl_str_replace
tree_cell * nasl_str_replace(lex_ctxt *lexic)
Definition: nasl_text_utils.c:1245
nasl_ssh_request_exec
tree_cell * nasl_ssh_request_exec(lex_ctxt *lexic)
Run a command via ssh.
Definition: nasl_ssh.c:1317
script_exclude_keys
tree_cell * script_exclude_keys(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:390
nasl_target_is_ipv6
tree_cell * nasl_target_is_ipv6(lex_ctxt *lexic)
Definition: nasl_host.c:521
set_udp_v6_elements
tree_cell * set_udp_v6_elements(lex_ctxt *lexic)
Definition: nasl_packet_forgery_v6.c:974
nasl_start_denial
tree_cell * nasl_start_denial(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:207
libfuncs
static init_func libfuncs[]
Definition: nasl_init.c:67
forge_igmp_v6_packet
tree_cell * forge_igmp_v6_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery_v6.c:1441
add_hostname
tree_cell * add_hostname(lex_ctxt *lexic)
Definition: nasl_host.c:114
nasl_unixtime
tree_cell * nasl_unixtime(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:633
st_nasl_func
Definition: nasl_func.h:25
script_cve_id
tree_cell * script_cve_id(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:106
script_family
tree_cell * script_family(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:288
nasl_http.h
nasl_hmac_md2
tree_cell * nasl_hmac_md2(lex_ctxt *lexic)
Definition: nasl_crypto.c:215
nasl_dsa_do_sign
tree_cell * nasl_dsa_do_sign(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1251
nasl_ssh_get_server_banner
tree_cell * nasl_ssh_get_server_banner(lex_ctxt *lexic)
Get the server banner.
Definition: nasl_ssh.c:1487
nasl_rsa_sign
tree_cell * nasl_rsa_sign(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1098
nasl_match
tree_cell * nasl_match(lex_ctxt *lexic)
Definition: nasl_text_utils.c:955
TC::x
union TC::@2 x
nasl_ftp_get_pasv_address
tree_cell * nasl_ftp_get_pasv_address(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:112
nasl_ssh_shell_write
tree_cell * nasl_ssh_shell_write(lex_ctxt *lexic)
Write string to ssh shell.
Definition: nasl_ssh.c:1783
ACT_ATTACK
@ ACT_ATTACK
Definition: nvt_categories.h:42
get_tcp_v6_element
tree_cell * get_tcp_v6_element(lex_ctxt *lexic)
Get TCP Header element.
Definition: nasl_packet_forgery_v6.c:536
nasl_ssh_shell_read
tree_cell * nasl_ssh_shell_read(lex_ctxt *lexic)
Read the output of an ssh shell.
Definition: nasl_ssh.c:1746
nasl_file_seek
tree_cell * nasl_file_seek(lex_ctxt *lexic)
Seek in file.
Definition: nasl_cmd_exec.c:598
nasl_aes256_gcm_encrypt
tree_cell * nasl_aes256_gcm_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1865
nasl_this_host_name
tree_cell * nasl_this_host_name(lex_ctxt *lexic)
Definition: nasl_host.c:315
set_tcp_elements
tree_cell * set_tcp_elements(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:592
plugin_run_synscan
tree_cell * plugin_run_synscan(lex_ctxt *)
Definition: nasl_builtin_synscan.c:782
nasl_insert_hexzeros
tree_cell * nasl_insert_hexzeros(lex_ctxt *lexic)
Definition: nasl_crypto.c:835
nasl_scanner_add_port
tree_cell * nasl_scanner_add_port(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:1071
nasl_wmi_connect
tree_cell * nasl_wmi_connect(lex_ctxt *lexic)
Connect to a WMI service and return a handle for it.
Definition: nasl_wmi.c:142
nasl_smb_file_owner_sid
tree_cell * nasl_smb_file_owner_sid(lex_ctxt *lexic)
Obtain File Owner SID.
Definition: nasl_smb.c:218
exec.h
dump_udp_packet
tree_cell * dump_udp_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:1033
nasl_wmi_query
tree_cell * nasl_wmi_query(lex_ctxt *lexic)
Perform WQL query.
Definition: nasl_wmi.c:232
nasl_file_open
tree_cell * nasl_file_open(lex_ctxt *lexic)
Open file.
Definition: nasl_cmd_exec.c:400
nasl_open_sock_udp
tree_cell * nasl_open_sock_udp(lex_ctxt *lexic)
Definition: nasl_socket.c:529
nasl_wmi_reg_get_ex_string_val
tree_cell * nasl_wmi_reg_get_ex_string_val(lex_ctxt *lexic)
Get registry expanded string value.
Definition: nasl_wmi.c:660
NASL_ERR_NOERR
#define NASL_ERR_NOERR
Definition: nasl.h:63
script_dependencies
tree_cell * script_dependencies(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:295
nasl_make_array
tree_cell * nasl_make_array(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:416
nasl_keyexchg
tree_cell * nasl_keyexchg(lex_ctxt *lexic)
Definition: nasl_crypto.c:725
insert_ipv6_options
tree_cell * insert_ipv6_options(lex_ctxt *lexic)
Definition: nasl_packet_forgery_v6.c:366
ACT_END
@ ACT_END
Definition: nvt_categories.h:48
name
const char * name
Definition: nasl_init.c:377
nasl_egrep
tree_cell * nasl_egrep(lex_ctxt *lexic)
Definition: nasl_text_utils.c:684
get_hostnames
tree_cell * get_hostnames(lex_ctxt *lexic)
Definition: nasl_host.c:50
nasl_hmac_sha384
tree_cell * nasl_hmac_sha384(lex_ctxt *lexic)
Definition: nasl_crypto.c:233
get_host_ip
tree_cell * get_host_ip(lex_ctxt *lexic)
Definition: nasl_host.c:170
nasl_smb_file_SDDL
tree_cell * nasl_smb_file_SDDL(lex_ctxt *lexic)
Obtain Security Descriptor in SDDL format.
Definition: nasl_smb.c:175
set_kb_item
tree_cell * set_kb_item(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:852
NASL_ERR_EUNREACH
#define NASL_ERR_EUNREACH
Definition: nasl.h:66
insert_ip_options
tree_cell * insert_ip_options(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:299
ACT_SETTINGS
@ ACT_SETTINGS
Definition: nvt_categories.h:40
forge_tcp_v6_packet
tree_cell * forge_tcp_v6_packet(lex_ctxt *lexic)
Forge TCP packet.
Definition: nasl_packet_forgery_v6.c:451
nasl_isotime_add
tree_cell * nasl_isotime_add(lex_ctxt *lexic)
Add days or seconds to an ISO time string.
Definition: nasl_isotime.c:726
OPENVAS_ENCAPS_MAX
@ OPENVAS_ENCAPS_MAX
Definition: network.h:53
OPENVAS_ENCAPS_TLScustom
@ OPENVAS_ENCAPS_TLScustom
Definition: network.h:52
get_ip_element
tree_cell * get_ip_element(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:156
nasl_hmac_sha1
tree_cell * nasl_hmac_sha1(lex_ctxt *lexic)
Definition: nasl_crypto.c:227
nasl_open_sock_tcp
tree_cell * nasl_open_sock_tcp(lex_ctxt *lexic)
Open a TCP socket to the target host.
Definition: nasl_socket.c:517
get_icmp_element
tree_cell * get_icmp_element(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:1130
ACT_DENIAL
@ ACT_DENIAL
Definition: nvt_categories.h:45
log_message
tree_cell * log_message(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:975
script_bugtraq_id
tree_cell * script_bugtraq_id(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:122
nasl_wmi_reg_get_sz
tree_cell * nasl_wmi_reg_get_sz(lex_ctxt *lexic)
Get string value from Registry.
Definition: nasl_wmi.c:436
nasl_des_ede_cbc_encrypt
tree_cell * nasl_des_ede_cbc_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1853
nasl_rsa_public_decrypt
tree_cell * nasl_rsa_public_decrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:961
nasl_builtin_plugins.h
Header file for built-in plugins.
nasl_dh_generate_key
tree_cell * nasl_dh_generate_key(lex_ctxt *lexic)
Definition: nasl_crypto2.c:574
nasl_pread
tree_cell * nasl_pread(lex_ctxt *lexic)
Definition: nasl_cmd_exec.c:98
nasl_prf_sha384
tree_cell * nasl_prf_sha384(lex_ctxt *lexic)
Definition: nasl_crypto.c:553
nasl_open_rc4_cipher
tree_cell * nasl_open_rc4_cipher(lex_ctxt *lexic)
Nasl function to open RC4 cipher to encrypt a stream of data. The handler can be used to encrypt stre...
Definition: nasl_crypto2.c:1822
nasl_debug.h
nasl_get_source_port
tree_cell * nasl_get_source_port(lex_ctxt *lexic)
Definition: nasl_socket.c:1048
script_add_preference
tree_cell * script_add_preference(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:449
nasl_wmi_reg_get_bin_val
tree_cell * nasl_wmi_reg_get_bin_val(lex_ctxt *lexic)
Get registry binary value.
Definition: nasl_wmi.c:567
get_hostname_source
tree_cell * get_hostname_source(lex_ctxt *lexic)
Definition: nasl_host.c:96
forge_tcp_packet
tree_cell * forge_tcp_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:427
nasl_scanner_status
tree_cell * nasl_scanner_status(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:1087
nasl_pem_to_dsa
tree_cell * nasl_pem_to_dsa(lex_ctxt *lexic)
Definition: nasl_crypto2.c:505
get_port_transport
tree_cell * get_port_transport(lex_ctxt *lexic)
Return the encapsulation mode of a port.
Definition: nasl_host.c:364
nasl_fread
tree_cell * nasl_fread(lex_ctxt *lexic)
Read file.
Definition: nasl_cmd_exec.c:254
forge_igmp_packet
tree_cell * forge_igmp_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:1194
nasl_hmac_sha512
tree_cell * nasl_hmac_sha512(lex_ctxt *lexic)
Definition: nasl_crypto.c:565
nasl_md4
tree_cell * nasl_md4(lex_ctxt *lexic)
Definition: nasl_crypto.c:127
nasl_isotime_print
tree_cell * nasl_isotime_print(lex_ctxt *lexic)
Convert an SIO time string into a better readable string.
Definition: nasl_isotime.c:676
nasl_file_close
tree_cell * nasl_file_close(lex_ctxt *lexic)
Close file.
Definition: nasl_cmd_exec.c:486
nasl_perror
void nasl_perror(lex_ctxt *lexic, char *msg,...)
Definition: nasl_debug.c:120
get_udp_element
tree_cell * get_udp_element(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:867
http_close_socket
tree_cell * http_close_socket(lex_ctxt *lexic)
Definition: nasl_http.c:53
script_version
tree_cell * script_version(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:257
nasl_telnet_init
tree_cell * nasl_telnet_init(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:133
nasl_cipher_des
tree_cell * nasl_cipher_des(lex_ctxt *lexic)
Definition: nasl_crypto.c:189
init_func
Definition: nasl_init.c:55
nasl_wmi_close
tree_cell * nasl_wmi_close(lex_ctxt *lexic)
Close WMI service handle.
Definition: nasl_wmi.c:203
nasl_ssh_connect
tree_cell * nasl_ssh_connect(lex_ctxt *lexic)
Connect to the target host via TCP and setup an ssh connection.
Definition: nasl_ssh.c:235
nasl_md2
tree_cell * nasl_md2(lex_ctxt *lexic)
Definition: nasl_crypto.c:121
TC::size
int size
Definition: nasl_tree.h:109
init_nasl_library
void init_nasl_library(lex_ctxt *lexic)
Adds "built-in" variable and function definitions to a context.
Definition: nasl_init.c:446
cgibin
tree_cell * cgibin(lex_ctxt *lexic)
Definition: nasl_http.c:247
script_require_keys
tree_cell * script_require_keys(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:321
nasl_scanner_glue.h
script_tag
tree_cell * script_tag(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:210
nasl_rand
tree_cell * nasl_rand(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:55
nasl_wmi_reg_enum_key
tree_cell * nasl_wmi_reg_enum_key(lex_ctxt *lexic)
Enumerate registry keys.
Definition: nasl_wmi.c:524
nasl_fwrite
tree_cell * nasl_fwrite(lex_ctxt *lexic)
Write file.
Definition: nasl_cmd_exec.c:315
nasl_gettimeofday
tree_cell * nasl_gettimeofday(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:644
nasl_ereg
tree_cell * nasl_ereg(lex_ctxt *lexic)
Definition: nasl_text_utils.c:449
nasl_substr
tree_cell * nasl_substr(lex_ctxt *lexic)
Definition: nasl_text_utils.c:841
get_udp_port_state
tree_cell * get_udp_port_state(lex_ctxt *lexic)
Definition: nasl_host.c:220
OPENVAS_ENCAPS_SSLv2
@ OPENVAS_ENCAPS_SSLv2
Definition: network.h:47
nasl_wmi_reg_set_string_val
tree_cell * nasl_wmi_reg_set_string_val(lex_ctxt *lexic)
Set Registry string value.
Definition: nasl_wmi.c:938
nasl_host.h
nasl_typeof
tree_cell * nasl_typeof(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:532
nasl_lex_ctxt.h
nasl_leave_multicast_group
tree_cell * nasl_leave_multicast_group(lex_ctxt *lexic)
Definition: nasl_socket.c:1016
nasl_recv_line
tree_cell * nasl_recv_line(lex_ctxt *lexic)
Definition: nasl_socket.c:795
nasl_lm_owf_gen
tree_cell * nasl_lm_owf_gen(lex_ctxt *lexic)
Definition: nasl_crypto.c:806
nasl_ssh_disconnect
tree_cell * nasl_ssh_disconnect(lex_ctxt *lexic)
Disconnect an ssh connection.
Definition: nasl_ssh.c:491
nasl_crypto2.h
forge_icmp_packet
tree_cell * forge_icmp_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:1063
nasl_this_host
tree_cell * nasl_this_host(lex_ctxt *lexic)
Definition: nasl_host.c:262
NASL_ERR_ECONNRESET
#define NASL_ERR_ECONNRESET
Definition: nasl.h:65
get_icmp_v6_element
tree_cell * get_icmp_v6_element(lex_ctxt *lexic)
Definition: nasl_packet_forgery_v6.c:1370
nasl_pem_to_rsa
tree_cell * nasl_pem_to_rsa(lex_ctxt *lexic)
Definition: nasl_crypto2.c:489
nasl_gzip
tree_cell * nasl_gzip(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:824
script_timeout
tree_cell * script_timeout(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:86
nasl_ssh_shell_open
tree_cell * nasl_ssh_shell_open(lex_ctxt *lexic)
Request an ssh shell.
Definition: nasl_ssh.c:1661
nasl_wmi.h
Protos for NASL WMI API.
nasl_insstr
tree_cell * nasl_insstr(lex_ctxt *lexic)
Definition: nasl_text_utils.c:897
nasl_aes128_ctr_encrypt
tree_cell * nasl_aes128_ctr_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1841
nasl.h
forge_udp_v6_packet
tree_cell * forge_udp_v6_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery_v6.c:827
add_nasl_library
void add_nasl_library(GSList **list)
Add "built-in" variables to a list.
Definition: nasl_init.c:514
nasl_smb_connect
tree_cell * nasl_smb_connect(lex_ctxt *lexic)
Connect to SMB service and return a handle for it.
Definition: nasl_smb.c:90
nasl_dsa_do_verify
tree_cell * nasl_dsa_do_verify(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1162
nasl_socket_get_ssl_version
tree_cell * nasl_socket_get_ssl_version(lex_ctxt *lexic)
Definition: nasl_socket.c:668
init_func::name
const char * name
Definition: nasl_init.c:58
nasl_packet_forgery_v6.h
nasl_tolower
tree_cell * nasl_tolower(lex_ctxt *lexic)
Definition: nasl_text_utils.c:398
nasl_send_packet
tree_cell * nasl_send_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:1393
nasl_dump_ctxt
tree_cell * nasl_dump_ctxt(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:290
NASL_ERR_EUNKNOWN
#define NASL_ERR_EUNKNOWN
Definition: nasl.h:67
set_ipv6_elements
tree_cell * set_ipv6_elements(lex_ctxt *lexic)
Set IPv6 header element.
Definition: nasl_packet_forgery_v6.c:279
forge_udp_packet
tree_cell * forge_udp_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:784
nasl_func.h
nasl_wmi_reg_set_qword_val
tree_cell * nasl_wmi_reg_set_qword_val(lex_ctxt *lexic)
Set Registry QWORD value.
Definition: nasl_wmi.c:846
OPENVAS_ENCAPS_TLSv1
@ OPENVAS_ENCAPS_TLSv1
Definition: network.h:49
nasl_socket_get_ssl_session_id
tree_cell * nasl_socket_get_ssl_session_id(lex_ctxt *lexic)
Definition: nasl_socket.c:645
nasl_mktime
tree_cell * nasl_mktime(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:718
nasl_prf_sha256
tree_cell * nasl_prf_sha256(lex_ctxt *lexic)
Definition: nasl_crypto.c:547
get_tcp_element
tree_cell * get_tcp_element(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:515
nasl_wmi_reg_delete_key
tree_cell * nasl_wmi_reg_delete_key(lex_ctxt *lexic)
Delete Registry key.
Definition: nasl_wmi.c:1017
func_is_internal
nasl_func * func_is_internal(const char *name)
Definition: nasl_init.c:486
script_name
tree_cell * script_name(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:250
get_kb_list
tree_cell * get_kb_list(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:705
nasl_hexstr
tree_cell * nasl_hexstr(lex_ctxt *lexic)
Definition: nasl_text_utils.c:352
safe_checks
tree_cell * safe_checks(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:626
http_post
tree_cell * http_post(lex_ctxt *lexic)
Definition: nasl_http.c:221
nasl_socket_cert_verify
tree_cell * nasl_socket_cert_verify(lex_ctxt *lexic)
Verify a certificate.
Definition: nasl_socket.c:1389
nasl_smb_file_group_sid
tree_cell * nasl_smb_file_group_sid(lex_ctxt *lexic)
Obtain File Group SID.
Definition: nasl_smb.c:261
nasl_strlen
tree_cell * nasl_strlen(lex_ctxt *lexic)
Definition: nasl_text_utils.c:265
dump_ipv6_packet
tree_cell * dump_ipv6_packet(lex_ctxt *lexic)
Print IPv6 Header.
Definition: nasl_packet_forgery_v6.c:319
TC
Definition: nasl_tree.h:104
nasl_ntlm_response
tree_cell * nasl_ntlm_response(lex_ctxt *lexic)
Definition: nasl_crypto.c:687
struct_lex_ctxt
Definition: nasl_lex_ctxt.h:33
plugin_run_find_service
tree_cell * plugin_run_find_service(lex_ctxt *lexic)
Definition: nasl_builtin_find_service.c:2373
nasl_ftp_log_in
tree_cell * nasl_ftp_log_in(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:84
nasl_ssh_login_interactive_pass
tree_cell * nasl_ssh_login_interactive_pass(lex_ctxt *lexic)
Authenticate a user on an ssh connection.
Definition: nasl_ssh.c:1103
forge_ipv6_packet
tree_cell * forge_ipv6_packet(lex_ctxt *lexic)
Forge IPv6 packet.
Definition: nasl_packet_forgery_v6.c:119
TC::type
short type
Definition: nasl_tree.h:106
nasl_wmi_reg_create_key
tree_cell * nasl_wmi_reg_create_key(lex_ctxt *lexic)
Create Registry key.
Definition: nasl_wmi.c:978
nasl_wmi_versioninfo
tree_cell * nasl_wmi_versioninfo(lex_ctxt *lexic)
Get a version string of the WMI implementation.
Definition: nasl_wmi.c:108
nasl_ord
tree_cell * nasl_ord(lex_ctxt *lexic)
Definition: nasl_text_utils.c:379
nasl_islocalnet
tree_cell * nasl_islocalnet(lex_ctxt *lexic)
Definition: nasl_host.c:250
nasl_var.h
nasl_packet_forgery.h
nasl_wmi_connect_rsop
tree_cell * nasl_wmi_connect_rsop(lex_ctxt *lexic)
Connect to a WMI RSOP service and return a handle for it.
Definition: nasl_wmi.c:279
http_delete
tree_cell * http_delete(lex_ctxt *lexic)
Definition: nasl_http.c:230
nasl_dh_compute_key
tree_cell * nasl_dh_compute_key(lex_ctxt *lexic)
Definition: nasl_crypto2.c:619
nasl_cmd_exec.h
script_mandatory_keys
tree_cell * script_mandatory_keys(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:344
http_open_socket
tree_cell * http_open_socket(lex_ctxt *lexic)
Definition: nasl_http.c:47
set_udp_elements
tree_cell * set_udp_elements(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:928
nasl_same_host
tree_cell * nasl_same_host(lex_ctxt *lexic)
Definition: nasl_host.c:392
nasl_cert_open
tree_cell * nasl_cert_open(lex_ctxt *lexic)
OPENVAS_ENCAPS_SSLv3
@ OPENVAS_ENCAPS_SSLv3
Definition: network.h:48
dump_tcp_packet
tree_cell * dump_tcp_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:688
get_host_open_port
tree_cell * get_host_open_port(lex_ctxt *lexic)
Definition: nasl_host.c:189
nasl_open_sock_kdc
tree_cell * nasl_open_sock_kdc(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:753
nasl_raw.h
nasl_find_in_path
tree_cell * nasl_find_in_path(lex_ctxt *lexic)
Definition: nasl_cmd_exec.c:227
nasl_wmi_reg_get_dword_val
tree_cell * nasl_wmi_reg_get_dword_val(lex_ctxt *lexic)
Get registry DWORD value.
Definition: nasl_wmi.c:612
nasl_bf_cbc_encrypt
tree_cell * nasl_bf_cbc_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1498
nasl_ripemd160
tree_cell * nasl_ripemd160(lex_ctxt *lexic)
Definition: nasl_crypto.c:151
nasl_socket_get_error
tree_cell * nasl_socket_get_error(lex_ctxt *lexic)
Definition: nasl_socket.c:1088
nasl_sha1
tree_cell * nasl_sha1(lex_ctxt *lexic)
Definition: nasl_crypto.c:139
nasl_aes128_cbc_encrypt
tree_cell * nasl_aes128_cbc_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1829
nasl_text_utils.h
nasl_hmac_md5
tree_cell * nasl_hmac_md5(lex_ctxt *lexic)
Definition: nasl_crypto.c:221
nasl_sleep
tree_cell * nasl_sleep(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:74
nasl_tcp_v6_ping
tree_cell * nasl_tcp_v6_ping(lex_ctxt *lexic)
Performs TCP Connect to test if host is alive.
Definition: nasl_packet_forgery_v6.c:1504
ACT_SCANNER
@ ACT_SCANNER
Definition: nvt_categories.h:39
nasl_cert_close
tree_cell * nasl_cert_close(lex_ctxt *lexic)
nasl_ssh_get_sock
tree_cell * nasl_ssh_get_sock(lex_ctxt *lexic)
Given a session id, return the corresponding socket.
Definition: nasl_ssh.c:599
forge_ip_packet
tree_cell * forge_ip_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:90
nasl_global_ctxt.h
CONST_INT
@ CONST_INT
Definition: nasl_tree.h:90
nasl_toupper
tree_cell * nasl_toupper(lex_ctxt *lexic)
Definition: nasl_text_utils.c:420
plugin_run_nmap
tree_cell * plugin_run_nmap(lex_ctxt *lexic)
Run the nmap_net subsystem.
Definition: nasl_builtin_nmap.c:509
nasl_get_preference
tree_cell * nasl_get_preference(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:987
nasl_tls1_prf
tree_cell * nasl_tls1_prf(lex_ctxt *lexic)
Definition: nasl_crypto.c:559
ACT_MIXED_ATTACK
@ ACT_MIXED_ATTACK
Definition: nvt_categories.h:43
nasl_cert_query
tree_cell * nasl_cert_query(lex_ctxt *lexic)
val
const char * val
Definition: nasl_init.c:378
http_head
tree_cell * http_head(lex_ctxt *lexic)
Definition: nasl_http.c:211
nasl_ssh_get_host_key
tree_cell * nasl_ssh_get_host_key(lex_ctxt *lexic)
Get the host key.
Definition: nasl_ssh.c:1528
nasl_send
tree_cell * nasl_send(lex_ctxt *lexic)
Definition: nasl_socket.c:861
replace_kb_item
tree_cell * replace_kb_item(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:810
nasl_ssh_session_id_from_sock
tree_cell * nasl_ssh_session_id_from_sock(lex_ctxt *lexic)
Given a socket, return the corresponding session id.
Definition: nasl_ssh.c:556
nasl_hmac_sha256
tree_cell * nasl_hmac_sha256(lex_ctxt *lexic)
Definition: nasl_crypto.c:349
http_put
tree_cell * http_put(lex_ctxt *lexic)
Definition: nasl_http.c:239
forge_icmp_v6_packet
tree_cell * forge_icmp_v6_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery_v6.c:1131
nasl_get_smb2_sign
tree_cell * nasl_get_smb2_sign(lex_ctxt *lexic)
Definition: nasl_crypto.c:571
get_udp_v6_element
tree_cell * get_udp_v6_element(lex_ctxt *lexic)
Definition: nasl_packet_forgery_v6.c:909
nasl_get_tmp_dir
tree_cell * nasl_get_tmp_dir(lex_ctxt *lexic)
Definition: nasl_cmd_exec.c:344
script_get_preference_file_location
tree_cell * script_get_preference_file_location(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:587
nasl_open_priv_sock_tcp
tree_cell * nasl_open_priv_sock_tcp(lex_ctxt *lexic)
Definition: nasl_socket.c:403
http_get
tree_cell * http_get(lex_ctxt *lexic)
Definition: nasl_http.c:199
nasl_gunzip
tree_cell * nasl_gunzip(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:799
nasl_wmi_reg_get_qword_val
tree_cell * nasl_wmi_reg_get_qword_val(lex_ctxt *lexic)
Get registry QWORD value.
Definition: nasl_wmi.c:750
nasl_isotime_scan
tree_cell * nasl_isotime_scan(lex_ctxt *lexic)
Convert a string into an ISO time string.
Definition: nasl_isotime.c:625
OPENVAS_ENCAPS_TLSv11
@ OPENVAS_ENCAPS_TLSv11
Definition: network.h:50
OPENVAS_ENCAPS_TLSv12
@ OPENVAS_ENCAPS_TLSv12
Definition: network.h:51
ACT_GATHER_INFO
@ ACT_GATHER_INFO
Definition: nvt_categories.h:41
script_xref
tree_cell * script_xref(lex_ctxt *lexic)
Add a cross reference to the meta data.
Definition: nasl_scanner_glue.c:166
dump_ip_packet
tree_cell * dump_ip_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:370
nasl_ssh_set_login
tree_cell * nasl_ssh_set_login(lex_ctxt *lexic)
Set the login name for the authentication.
Definition: nasl_ssh.c:706
nasl_bn_random
tree_cell * nasl_bn_random(lex_ctxt *lexic)
Definition: nasl_crypto2.c:322
ACT_KILL_HOST
@ ACT_KILL_HOST
Definition: nvt_categories.h:46
ACT_INIT
@ ACT_INIT
Definition: nvt_categories.h:38
script_get_preference_file_content
tree_cell * script_get_preference_file_content(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:543
nasl_vendor_version
tree_cell * nasl_vendor_version(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:1010
error_message
tree_cell * error_message(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:981
nasl_ssh_login_interactive
tree_cell * nasl_ssh_login_interactive(lex_ctxt *lexic)
Authenticate a user on an ssh connection.
Definition: nasl_ssh.c:991
nasl_isnull
tree_cell * nasl_isnull(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:335
nasl_socket_get_ssl_ciphersuite
tree_cell * nasl_socket_get_ssl_ciphersuite(lex_ctxt *lexic)
Definition: nasl_socket.c:684
nasl_wmi_query_rsop
tree_cell * nasl_wmi_query_rsop(lex_ctxt *lexic)
WMI RSOP query.
Definition: nasl_wmi.c:335
nasl_max_index
tree_cell * nasl_max_index(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:511
nasl_islocalhost
tree_cell * nasl_islocalhost(lex_ctxt *lexic)
Definition: nasl_host.c:238
nasl_socket.h
ACT_DESTRUCTIVE_ATTACK
@ ACT_DESTRUCTIVE_ATTACK
Definition: nvt_categories.h:44
nasl_rsa_private_decrypt
tree_cell * nasl_rsa_private_decrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:862
nasl_rawstring
tree_cell * nasl_rawstring(lex_ctxt *lexic)
Definition: nasl_text_utils.c:149
nasl_string
tree_cell * nasl_string(lex_ctxt *lexic)
Definition: nasl_text_utils.c:52
get_port_state
tree_cell * get_port_state(lex_ctxt *lexic)
Definition: nasl_host.c:202
nasl_ntlmv2_hash
tree_cell * nasl_ntlmv2_hash(lex_ctxt *lexic)
Definition: nasl_crypto.c:963
NASL_ERR_ETIMEDOUT
#define NASL_ERR_ETIMEDOUT
Definition: nasl.h:64
nasl_ereg_replace
tree_cell * nasl_ereg_replace(lex_ctxt *lexic)
Definition: nasl_text_utils.c:646
set_ip_elements
tree_cell * set_ip_elements(lex_ctxt *lexic)
Definition: nasl_packet_forgery.c:255
nasl_display
tree_cell * nasl_display(lex_ctxt *lexic)
Definition: nasl_text_utils.c:308
nasl_make_list
tree_cell * nasl_make_list(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:352
get_ipv6_element
tree_cell * get_ipv6_element(lex_ctxt *lexic)
Obtain IPv6 header element.
Definition: nasl_packet_forgery_v6.c:188
nasl_ntlm2_response
tree_cell * nasl_ntlm2_response(lex_ctxt *lexic)
Definition: nasl_crypto.c:652
nasl_keys
tree_cell * nasl_keys(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:464
nasl_aes256_cbc_encrypt
tree_cell * nasl_aes256_cbc_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1835
nasl_bn_cmp
tree_cell * nasl_bn_cmp(lex_ctxt *lexic)
Definition: nasl_crypto2.c:285
nasl_ssh_get_issue_banner
tree_cell * nasl_ssh_get_issue_banner(lex_ctxt *lexic)
Get the issue banner.
Definition: nasl_ssh.c:1438
nasl_unlink
tree_cell * nasl_unlink(lex_ctxt *lexic)
Unlink file.
Definition: nasl_cmd_exec.c:290
script_oid
tree_cell * script_oid(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:99
network_targets
tree_cell * network_targets(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:659
nasl_tree.h
nasl_isotime_now
tree_cell * nasl_isotime_now(lex_ctxt *lexic)
Return the current time in ISO format.
Definition: nasl_isotime.c:542
script_category
tree_cell * script_category(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:271
OPENVAS_ENCAPS_AUTO
@ OPENVAS_ENCAPS_AUTO
Definition: network.h:44
script_get_preference
tree_cell * script_get_preference(lex_ctxt *lexic)
Get a preferences of the current script.
Definition: nasl_scanner_glue.c:506
nasl_get_sign
tree_cell * nasl_get_sign(lex_ctxt *lexic)
Definition: nasl_crypto.c:246
dump_udp_v6_packet
tree_cell * dump_udp_v6_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery_v6.c:1082
nasl_crypto.h
nasl_wmi_reg_enum_value
tree_cell * nasl_wmi_reg_enum_value(lex_ctxt *lexic)
Enumerate registry values.
Definition: nasl_wmi.c:481
nasl_sha256
tree_cell * nasl_sha256(lex_ctxt *lexic)
Definition: nasl_crypto.c:145
nasl_wmi_connect_reg
tree_cell * nasl_wmi_connect_reg(lex_ctxt *lexic)
Connect to a WMI Registry service and return a handle for it.
Definition: nasl_wmi.c:379
nasl_strstr
tree_cell * nasl_strstr(lex_ctxt *lexic)
Definition: nasl_text_utils.c:1171
nasl_wmi_reg_get_mul_string_val
tree_cell * nasl_wmi_reg_get_mul_string_val(lex_ctxt *lexic)
Get registry multi valued strings.
Definition: nasl_wmi.c:705
list
Definition: nasl_builtin_synscan.c:259
nasl_aes128_gcm_encrypt
tree_cell * nasl_aes128_gcm_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1859
nasl_strcat
tree_cell * nasl_strcat(lex_ctxt *lexic)
Definition: nasl_text_utils.c:276
nasl_smb_versioninfo
tree_cell * nasl_smb_versioninfo(lex_ctxt *lexic)
Get a version string of the SMB implementation.
Definition: nasl_smb.c:62
nasl_smb_file_trustee_rights
tree_cell * nasl_smb_file_trustee_rights(lex_ctxt *lexic)
Obtain File Trustee SID with Access Mask.
Definition: nasl_smb.c:304
get_script_oid
tree_cell * get_script_oid(lex_ctxt *lexic)
Return the OID of the current script.
Definition: nasl_scanner_glue.c:687
nasl_usleep
tree_cell * nasl_usleep(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:66
nasl_open_priv_sock_udp
tree_cell * nasl_open_priv_sock_udp(lex_ctxt *lexic)
Definition: nasl_socket.c:409
TC::i_val
long int i_val
Definition: nasl_tree.h:113
nasl_split
tree_cell * nasl_split(lex_ctxt *lexic)
Definition: nasl_text_utils.c:979
OPENVAS_ENCAPS_SSLv23
@ OPENVAS_ENCAPS_SSLv23
Definition: network.h:46