28#include "manage_configs.h"
29#include "manage_get.h"
34#include <gnutls/gnutls.h>
36#include <gvm/base/array.h>
37#include <gvm/base/credentials.h>
38#include <gvm/base/nvti.h>
39#include <gvm/base/networking.h>
40#include <gvm/util/serverutils.h>
41#include <gvm/util/authutils.h>
42#include <gvm/osp/osp.h>
57#define OID_PING_HOST "1.3.6.1.4.1.25623.1.0.100315"
62#define OID_SSH_AUTH "1.3.6.1.4.1.25623.1.0.103591"
67#define OID_SMB_AUTH "1.3.6.1.4.1.25623.1.0.90023"
72#define OID_ESXI_AUTH "1.3.6.1.4.1.25623.1.0.105058"
77#define OID_SNMP_AUTH "1.3.6.1.4.1.25623.1.0.105076"
82#define OID_SERVICES "1.3.6.1.4.1.25623.1.0.10330"
87#define OID_LOGINS "1.3.6.1.4.1.25623.1.0.10870"
92#define OID_GLOBAL_SETTINGS "1.3.6.1.4.1.25623.1.0.12288"
97#define ALL_LOG_LEVELS (G_LOG_LEVEL_MASK \
99 | G_LOG_FLAG_RECURSION)
105#define g_info(...) g_log (G_LOG_DOMAIN, \
122typedef int (*manage_connection_forker_t) (gvm_connection_t *
conn,
127 manage_connection_forker_t,
int);
136cleanup_manage_process (gboolean);
139manage_cleanup_process_error (
int);
142manage_reset_currents ();
180 gnutls_x509_crt_fmt_t *);
189parse_ssldetails (
const char *, time_t *, time_t *, gchar **, gchar **);
192tls_certificate_format_str (gnutls_x509_crt_fmt_t certificate_format);
200authenticate (credentials_t*);
206manage_db_supported_version ();
212manage_scap_db_supported_version ();
215manage_scap_db_version ();
218manage_cert_db_supported_version ();
221manage_cert_db_version ();
224set_db_version (
int version);
236manage_session_set_timezone (
const char *);
239manage_transaction_start ();
242manage_transaction_stop (gboolean);
255 TASK_STATUS_DELETE_REQUESTED = 0,
256 TASK_STATUS_DONE = 1,
258 TASK_STATUS_REQUESTED = 3,
259 TASK_STATUS_RUNNING = 4,
260 TASK_STATUS_STOP_REQUESTED = 10,
261 TASK_STATUS_STOP_WAITING = 11,
262 TASK_STATUS_STOPPED = 12,
263 TASK_STATUS_INTERRUPTED = 13,
264 TASK_STATUS_DELETE_ULTIMATE_REQUESTED = 14,
266 TASK_STATUS_DELETE_WAITING = 16,
267 TASK_STATUS_DELETE_ULTIMATE_WAITING = 17,
268 TASK_STATUS_QUEUED = 18
274#define AUTO_DELETE_KEEP_MIN 2
279#define AUTO_DELETE_KEEP_MAX 1200
290 ALIVE_TEST_TCP_ACK_SERVICE = 1,
293 ALIVE_TEST_CONSIDER_ALIVE = 8,
294 ALIVE_TEST_TCP_SYN_SERVICE = 16
303typedef enum scanner_type
305 SCANNER_TYPE_NONE = 0,
307 SCANNER_TYPE_OPENVAS = 2,
308 SCANNER_TYPE_CVE = 3,
310 SCANNER_TYPE_OSP_SENSOR = 5,
311 SCANNER_TYPE_MAX = 6,
359manage_resource_name (
const char *,
const char *,
char **);
362manage_trash_resource_name (
const char *,
const char *,
char **);
365resource_count (
const char *,
const get_data_t *);
368resource_id_exists (
const char *,
const char *);
371trash_id_exists (
const char *,
const char *);
374find_resource (
const char*,
const char*,
resource_t*);
410#define ALERT_MESSAGE_INCLUDE \
413 "After the event $e,\n" \
414 "the following condition was met: $c\n" \
416 "This email escalation is configured to apply report format '$r'.\n" \
417 "Full details and other report formats are available on the scan engine.\n" \
425 "This email was sent to you as a configured security scan escalation.\n" \
426 "Please contact your local system administrator if you think you\n" \
427 "should not have received it.\n"
432#define SECINFO_ALERT_MESSAGE_INCLUDE \
435 "After the event $e,\n" \
436 "the following condition was met: $c\n" \
438 "This email escalation is configured to apply report format '$r'.\n" \
439 "Full details and other report formats are available on the scan engine.\n" \
447 "This email was sent to you as a configured security scan escalation.\n" \
448 "Please contact your local system administrator if you think you\n" \
449 "should not have received it.\n"
454#define ALERT_MESSAGE_ATTACH \
457 "After the event $e,\n" \
458 "the following condition was met: $c\n" \
460 "This email escalation is configured to attach report format '$r'.\n" \
461 "Full details and other report formats are available on the scan engine.\n" \
466 "This email was sent to you as a configured security scan escalation.\n" \
467 "Please contact your local system administrator if you think you\n" \
468 "should not have received it.\n"
473#define SECINFO_ALERT_MESSAGE_ATTACH \
476 "After the event $e,\n" \
477 "the following condition was met: $c\n" \
479 "This email escalation is configured to attach report format '$r'.\n" \
480 "Full details and other report formats are available on the scan engine.\n" \
485 "This email was sent to you as a configured security scan escalation.\n" \
486 "Please contact your local system administrator if you think you\n" \
487 "should not have received it.\n"
492#define ALERT_VFIRE_CALL_DESCRIPTION \
493 "GVM Task '$n': $e\n" \
495 "After the event $e,\n" \
496 "the following condition was met: $c\n" \
498 "This ticket includes reports in the following format(s):\n" \
500 "Full details and other report formats are available on the scan engine.\n" \
505 "This ticket was created automatically as a security scan escalation.\n" \
506 "Please contact your local system administrator if you think it\n" \
507 "was created or assigned erroneously.\n"
515 EVENT_TASK_RUN_STATUS_CHANGED,
517 EVENT_UPDATED_SECINFO,
518 EVENT_TICKET_RECEIVED,
519 EVENT_ASSIGNED_TICKET_CHANGED,
520 EVENT_OWNED_TICKET_CHANGED
530 ALERT_METHOD_HTTP_GET,
531 ALERT_METHOD_SOURCEFIRE,
532 ALERT_METHOD_START_TASK,
534 ALERT_METHOD_VERINICE,
539 ALERT_METHOD_TIPPINGPOINT,
548 ALERT_CONDITION_ERROR,
549 ALERT_CONDITION_ALWAYS,
550 ALERT_CONDITION_SEVERITY_AT_LEAST,
551 ALERT_CONDITION_SEVERITY_CHANGED,
552 ALERT_CONDITION_FILTER_COUNT_AT_LEAST,
553 ALERT_CONDITION_FILTER_COUNT_CHANGED
560create_alert (
const char*,
const char*,
const char*,
const char*, event_t,
561 GPtrArray*, alert_condition_t, GPtrArray*, alert_method_t,
562 GPtrArray*, alert_t*);
565copy_alert (
const char*,
const char*,
const char*, alert_t*);
568modify_alert (
const char*,
const char*,
const char*,
const char*,
569 const char*, event_t, GPtrArray*, alert_condition_t, GPtrArray*,
570 alert_method_t, GPtrArray*);
573delete_alert (
const char *,
int);
579find_alert_with_permission (
const char *, alert_t *,
const char *);
582manage_alert (
const char *,
const char *, event_t,
const void*, gchar **);
585manage_test_alert (
const char *, gchar **);
588alert_in_use (alert_t);
591trash_alert_in_use (alert_t);
594alert_writable (alert_t);
597trash_alert_writable (alert_t);
654init_alert_data_iterator (
iterator_t *, alert_t,
int,
const char *);
663init_alert_task_iterator (
iterator_t*, alert_t,
int);
675init_task_alert_iterator (
iterator_t*, task_t);
733task_uuid (task_t,
char **);
736task_in_trash (task_t);
739task_in_trash_id (
const gchar *);
745trash_task_in_use (task_t);
748task_writable (task_t);
751task_alterable (task_t);
754trash_task_writable (task_t);
757task_average_scan_duration (task_t);
760task_owner_name (task_t);
766task_comment (task_t);
769task_hosts_ordering (task_t);
772task_scanner (task_t);
775task_scanner_in_trash (task_t);
781task_config_uuid (task_t);
784task_config_name (task_t);
787task_config_in_trash (task_t);
790set_task_config (task_t, config_t);
796task_target_in_trash (task_t);
799set_task_target (task_t, target_t);
802set_task_hosts_ordering (task_t,
const char *);
805set_task_scanner (task_t, scanner_t);
808set_task_usage_type (task_t,
const char *);
811task_description (task_t);
814set_task_description (task_t,
char*, gsize);
817task_run_status (task_t);
820set_task_run_status (task_t, task_status_t);
823task_result_count (task_t,
int);
826task_running_report (task_t);
829task_upload_progress (task_t);
832set_task_start_time_epoch (task_t,
int);
835set_task_start_time_ctime (task_t,
char*);
838set_task_end_time (task_t task,
char* time);
841set_task_end_time_epoch (task_t, time_t);
844add_task_alert (task_t, alert_t);
847set_task_alterable (task_t,
int);
850set_task_groups (task_t, array_t*, gchar**);
853set_task_schedule (task_t, schedule_t,
int);
856set_task_schedule_periods (
const gchar *,
int);
859set_task_schedule_periods_id (task_t,
int);
862task_report_count (task_t);
865task_last_report (task_t, report_t*);
868task_iterator_trend_counts (
iterator_t *,
int,
int,
int,
double,
int,
int,
int,
872task_schedule_periods (task_t);
875task_schedule_periods_uuid (
const gchar *);
878task_schedule (task_t);
881task_schedule_uuid (
const gchar *);
884task_schedule_in_trash (task_t);
887task_schedule_next_time_uuid (
const gchar *);
890task_schedule_next_time (task_t);
893task_debugs_size (task_t);
896task_holes_size (task_t);
899task_infos_size (task_t);
902task_logs_size (task_t);
905task_warnings_size (task_t);
908task_false_positive_size (task_t);
911make_task (
char*,
char*,
int,
int);
914make_task_complete (task_t);
917copy_task (
const char*,
const char*,
const char *,
int, task_t*);
920set_task_name (task_t,
const char *);
923find_task_with_permission (
const char*, task_t*,
const char *);
926find_trash_task_with_permission (
const char*, task_t*,
const char *);
932set_task_parameter (task_t,
const char*,
char*);
935task_observers (task_t);
938set_task_observers (task_t,
const gchar *);
941request_delete_task_uuid (
const char *,
int);
944request_delete_task (task_t*);
947delete_task (task_t,
int);
950append_to_task_comment (task_t,
const char*,
int);
953add_task_description_line (task_t,
const char*,
size_t);
956set_scan_ports (report_t,
const char*,
unsigned int,
unsigned int);
959append_task_open_port (task_t task,
const char *,
const char*);
962manage_task_update_file (
const gchar *,
const char *,
const void *);
965manage_task_remove_file (
const gchar *,
const char *);
968modify_task (
const gchar *,
const gchar *,
const gchar *,
const gchar *,
969 const gchar *,
const gchar *,
const gchar *, array_t *,
970 const gchar *, array_t *,
const gchar *,
const gchar *,
971 array_t *,
const gchar *, gchar **, gchar **);
974init_config_file_iterator (
iterator_t*,
const char*,
const char*);
983init_config_task_iterator (
iterator_t*, config_t,
int);
1033 int*,
int*,
int*,
int*,
int*,
int*);
1057user_may (
const char *);
1060user_can_everything (
const char *);
1063user_can_super_everyone (
const char *);
1066user_has_super (
const char *, user_t);
1074#define LSC_FAMILY_LIST \
1075 "'AIX Local Security Checks'," \
1076 " 'Amazon Linux Local Security Checks'," \
1077 " 'CentOS Local Security Checks'," \
1078 " 'Citrix Xenserver Local Security Checks'," \
1079 " 'Debian Local Security Checks'," \
1080 " 'F5 Local Security Checks'," \
1081 " 'Fedora Local Security Checks'," \
1082 " 'FortiOS Local Security Checks'," \
1083 " 'FreeBSD Local Security Checks'," \
1084 " 'Gentoo Local Security Checks'," \
1085 " 'HP-UX Local Security Checks'," \
1086 " 'Huawei EulerOS Local Security Checks'," \
1087 " 'JunOS Local Security Checks'," \
1088 " 'Mac OS X Local Security Checks'," \
1089 " 'Mageia Linux Local Security Checks'," \
1090 " 'Mandrake Local Security Checks'," \
1091 " 'Oracle Linux Local Security Checks'," \
1092 " 'Palo Alto PAN-OS Local Security Checks'," \
1093 " 'Red Hat Local Security Checks'," \
1094 " 'Slackware Local Security Checks'," \
1095 " 'Solaris Local Security Checks'," \
1096 " 'SuSE Local Security Checks'," \
1097 " 'VMware Local Security Checks'," \
1098 " 'Ubuntu Local Security Checks'," \
1099 " 'Windows : Microsoft Bulletins'"
1104#define FAMILIES_WHOLE_ONLY \
1105 { "CentOS Local Security Checks", \
1106 "Debian Local Security Checks", \
1107 "Fedora Local Security Checks", \
1108 "Huawei EulerOS Local Security Checks", \
1109 "Oracle Linux Local Security Checks", \
1110 "Red Hat Local Security Checks", \
1111 "SuSE Local Security Checks", \
1112 "Ubuntu Local Security Checks", \
1116find_result_with_permission (
const char*, result_t*,
const char *);
1119result_uuid (result_t,
char **);
1122result_detection_reference (result_t, report_t,
const char *,
const char *,
1123 const char *,
char **,
char **,
char **,
char **,
1129#define OVAS_MANAGE_REPORT_ID_LENGTH UUID_LEN_STR
1134#define APPLY_OVERRIDES_DEFAULT 0
1139#define QOD_DEFAULT 75
1144#define MIN_QOD_DEFAULT 70
1147reports_clear_count_cache_for_override (override_t,
int);
1150init_report_counts_build_iterator (
iterator_t *, report_t,
int,
int,
1154report_severity (report_t,
int,
int);
1157report_host_count (report_t);
1160report_result_host_count (report_t,
int);
1163report_finished_hosts_str (report_t);
1166find_report_with_permission (
const char *, report_t *,
const char *);
1169make_report (task_t,
const char *, task_status_t);
1172qod_from_type (
const char *);
1175make_result (task_t,
const char*,
const char*,
const char*,
const char*,
1176 const char*,
const char*,
const char*);
1179make_osp_result (task_t,
const char*,
const char*,
const char*,
const char*,
1180 const char *,
const char *,
const char *,
int,
const char*);
1183make_cve_result (task_t,
const char*,
const char*,
double,
const char*);
1231insert_report_host_detail (report_t,
const char *,
const char *,
const char *,
1232 const char *,
const char *,
const char *);
1235manage_report_host_detail (report_t,
const char *,
const char *);
1238hosts_set_identifiers (report_t);
1241hosts_set_max_severity (report_t,
int*,
int*);
1244hosts_set_details (report_t report);
1247clear_duration_schedules (task_t);
1250update_duration_schedule_periods (task_t);
1253create_report (array_t*,
const char *,
const char *,
const char *,
const char *,
1254 array_t*, array_t*, array_t*,
char **);
1257report_add_result (report_t, result_t);
1260report_add_results_array (report_t, GArray *);
1263report_uuid (report_t);
1266task_last_resumable_report (task_t, report_t *);
1269task_second_last_report_id (task_t);
1272report_path_task_uuid (gchar*);
1275report_task (report_t, task_t*);
1278report_compliance_by_uuid (
const char *,
int *,
int *,
int *);
1281report_scan_result_count (report_t,
const char*,
const char*,
int,
const char*,
1282 const char*,
int,
int,
int*);
1285report_counts (
const char*,
int*,
int*,
int*,
int*,
int*,
double*,
1289report_counts_id (report_t,
int*,
int*,
int*,
int*,
int*,
double*,
1293report_counts_id_no_filt (report_t,
int*,
int*,
int*,
int*,
int*,
int*,
1300scan_start_time_epoch (report_t);
1303scan_start_time_uuid (
const char *);
1306scan_end_time_uuid (
const char *);
1309set_scan_start_time_ctime (report_t,
const char*);
1312set_scan_start_time_epoch (report_t, time_t);
1315set_scan_end_time (report_t,
const char*);
1318set_scan_end_time_ctime (report_t,
const char*);
1321set_scan_end_time_epoch (report_t, time_t);
1324set_scan_host_start_time_ctime (report_t,
const char*,
const char*);
1327scan_host_end_time (report_t,
const char*);
1330set_scan_host_end_time (report_t,
const char*,
const char*);
1333set_scan_host_end_time_ctime (report_t,
const char*,
const char*);
1336report_timestamp (
const char*, gchar**);
1339delete_report (
const char *,
int);
1348init_report_iterator_task (
iterator_t*, task_t);
1351init_report_errors_iterator (
iterator_t*, report_t);
1357result_count (
const get_data_t *, report_t,
const char*);
1361 const char*,
const gchar *);
1397result_iterator_nvt_solution_type (
iterator_t *);
1400result_iterator_nvt_solution_method (
iterator_t *);
1424result_iterator_scan_nvt_version (
iterator_t*);
1427result_iterator_original_severity (
iterator_t*);
1433result_iterator_severity_double (
iterator_t *);
1466result_iterator_may_have_overrides (
iterator_t*);
1469result_iterator_may_have_tickets (
iterator_t*);
1478cleanup_result_nvts ();
1481init_report_host_iterator (
iterator_t*, report_t,
const char *, report_host_t);
1499collate_message_type (
void* data,
int,
const void*,
int,
const void*);
1502trim_partial_report (report_t);
1505report_progress (report_t);
1508manage_report (report_t, report_t,
const get_data_t *, report_format_t,
1509 int,
int, gsize *, gchar **, gchar **, gchar **, gchar **,
1513manage_send_report (report_t, report_t, report_format_t,
const get_data_t *,
1514 int,
int,
int,
int,
int,
int,
1515 gboolean (*) (
const char *,
1516 int (*) (
const char*,
void*),
1518 int (*) (
const char *,
void*),
void *,
const char *,
1526init_app_locations_iterator (
iterator_t*, report_host_t,
const gchar *);
1529app_locations_iterator_location (
iterator_t *);
1532init_host_prognosis_iterator (
iterator_t*, report_host_t);
1554#define MANAGE_ABSOLUTE_MAX_IPS_PER_TARGET 70000
1559#define MANAGE_MAX_HOSTS 4095
1564#define MANAGE_USER_MAX_HOSTS 16777216
1570manage_filter_controls (
const gchar *,
int *,
int *, gchar **,
int *);
1573manage_report_filter_controls (
const gchar *,
int *,
int *, gchar **,
int *,
1574 int *, gchar **, gchar **, gchar **, gchar **,
1575 int *,
int *,
int *,
int *, gchar **);
1578manage_clean_filter (
const gchar *);
1581manage_clean_filter_remove (
const gchar *,
const gchar *);
1584manage_count_hosts (
const char *,
const char *);
1587find_target_with_permission (
const char *, target_t *,
const char *);
1590create_target (
const char*,
const char*,
const char*,
const char*,
const char*,
1591 const char *,
const char*, credential_t, credential_t,
1592 const char *, credential_t, credential_t, credential_t,
1593 const char *,
const char *,
const char *,
const char *,
1597copy_target (
const char*,
const char*,
const char *, target_t*);
1600modify_target (
const char*,
const char*,
const char*,
const char*,
const char*,
1601 const char*,
const char*,
const char*,
const char*,
const char*,
1602 const char*,
const char*,
const char*,
const char*,
const char*,
1606delete_target (
const char*,
int);
1612init_user_target_iterator (
iterator_t*, target_t);
1615init_target_iterator_one (
iterator_t*, target_t);
1627target_iterator_reverse_lookup_only (
iterator_t*);
1630target_iterator_reverse_lookup_unify (
iterator_t*);
1645target_iterator_esxi_credential (
iterator_t*);
1648target_iterator_snmp_credential (
iterator_t*);
1651target_iterator_ssh_elevate_credential (
iterator_t*);
1666target_iterator_ssh_elevate_trash (
iterator_t*);
1669target_iterator_allow_simultaneous_ips (
iterator_t*);
1678target_iterator_port_list_trash (
iterator_t*);
1684target_uuid (target_t);
1687trash_target_uuid (target_t);
1690target_name (target_t);
1693trash_target_name (target_t);
1696trash_target_readable (target_t);
1699target_hosts (target_t);
1702target_exclude_hosts (target_t);
1705target_reverse_lookup_only (target_t);
1708target_reverse_lookup_unify (target_t);
1711target_allow_simultaneous_ips (target_t);
1714target_port_range (target_t);
1717target_ssh_port (target_t);
1720target_in_use (target_t);
1723trash_target_in_use (target_t);
1726target_writable (target_t);
1729trash_target_writable (target_t);
1732target_ssh_credential_name (
const char *);
1735init_target_task_iterator (
iterator_t*, target_t);
1747target_credential (target_t,
const char*);
1750target_login_port (target_t,
const char*);
1758create_task_check_scanner_type (scanner_t);
1761modify_task_check_config_scanner (task_t,
const char *,
const char *);
1767manage_nvt_name (nvt_t);
1770nvt_name (
const char *);
1773nvts_feed_version ();
1776nvts_feed_version_epoch ();
1779set_nvts_feed_version (
const char*);
1782find_nvt (
const char*, nvt_t*);
1791nvt_info_count_after (
const get_data_t *, time_t, gboolean);
1794init_nvt_iterator (
iterator_t*, nvt_t, config_t,
const char*,
const char*,
int,
1798init_cve_nvt_iterator (
iterator_t*,
const char *,
int,
const char*);
1855nvt_default_timeout (
const char *);
1858family_nvt_count (
const char *);
1866#define NVT_SELECTOR_TYPE_ALL 0
1871#define NVT_SELECTOR_TYPE_FAMILY 1
1876#define NVT_SELECTOR_TYPE_NVT 2
1881#define NVT_SELECTOR_TYPE_ANY 999
1884init_family_iterator (
iterator_t*,
int,
const char*,
int);
1890nvt_selector_family_growing (
const char *,
const char *,
int);
1893nvt_selector_family_count (
const char*,
int);
1896nvt_selector_nvt_count (
const char *,
const char *,
int);
1899init_nvt_selector_iterator (
iterator_t*,
const char*, config_t,
int);
1917manage_nvt_preference_add (
const char*,
const char*);
1920manage_nvt_preferences_enable ();
1923init_nvt_preference_iterator (
iterator_t*,
const char*);
1932nvt_preference_iterator_config_value (
iterator_t*, config_t);
1935nvt_preference_iterator_real_name (
iterator_t*);
1947nvt_preference_count (
const char *);
1950xml_append_nvt_refs (GString *,
const char *,
int *);
1956task_preference_value (task_t,
const char *);
1959set_task_preferences (task_t, array_t *);
1962init_task_group_iterator (
iterator_t *, task_t);
1971init_task_role_iterator (
iterator_t *, task_t);
1981init_nvt_severity_iterator (
iterator_t *,
const char *);
2006 CREDENTIAL_FORMAT_NONE = 0,
2007 CREDENTIAL_FORMAT_KEY = 1,
2008 CREDENTIAL_FORMAT_RPM = 2,
2009 CREDENTIAL_FORMAT_DEB = 3,
2010 CREDENTIAL_FORMAT_EXE = 4,
2011 CREDENTIAL_FORMAT_PEM = 5,
2012 CREDENTIAL_FORMAT_ERROR = -1
2013} credential_format_t;
2016check_private_key (
const char *,
const char *);
2019find_credential_with_permission (
const char*, credential_t*,
const char*);
2022create_credential (
const char*,
const char*,
const char*,
const char*,
2023 const char*,
const char*,
const char*,
const char*,
2024 const char*,
const char*,
const char*,
const char*,
2025 const char*, credential_t*);
2028copy_credential (
const char*,
const char*,
const char*,
2032modify_credential (
const char*,
const char*,
const char*,
const char*,
2033 const char*,
const char*,
const char*,
const char*,
2034 const char*,
const char*,
const char*,
const char*,
2038delete_credential (
const char *,
int);
2044set_credential_privacy_algorithm (credential_t,
const char *);
2047set_credential_public_key (credential_t,
const char *);
2050init_credential_iterator_one (
iterator_t*, credential_t);
2059credential_iterator_auth_algorithm (
iterator_t*);
2062credential_iterator_privacy_algorithm (
iterator_t*);
2071credential_iterator_privacy_password (
iterator_t*);
2077credential_iterator_private_key (
iterator_t*);
2083credential_iterator_allow_insecure (
iterator_t*);
2098credential_iterator_certificate (
iterator_t*);
2101credential_iterator_format_available (
iterator_t*, credential_format_t);
2107credential_uuid (credential_t);
2110trash_credential_uuid (credential_t);
2113credential_name (credential_t);
2116trash_credential_name (credential_t);
2119credential_type (credential_t);
2122init_credential_target_iterator (
iterator_t*, credential_t,
int);
2125credential_target_iterator_uuid (
iterator_t*);
2128credential_target_iterator_name (
iterator_t*);
2131credential_target_iterator_readable (
iterator_t*);
2134init_credential_scanner_iterator (
iterator_t*, credential_t,
int);
2137credential_scanner_iterator_uuid (
iterator_t*);
2140credential_scanner_iterator_name (
iterator_t*);
2143credential_scanner_iterator_readable (
iterator_t*);
2146trash_credential_in_use (credential_t);
2149credential_in_use (credential_t);
2152trash_credential_writable (credential_t);
2155credential_writable (credential_t);
2158trash_credential_readable (credential_t);
2161credential_value (credential_t,
const char*);
2164credential_encrypted_value (credential_t,
const char*);
2171result_host_asset_id (
const char *, result_t);
2177host_notice (
const char *,
const char *,
const char *,
const char *,
2178 const char *,
int,
int);
2181init_host_identifier_iterator (
iterator_t*, host_t,
int,
const char*);
2184host_identifier_iterator_value (
iterator_t *);
2187host_identifier_iterator_source_type (
iterator_t *);
2190host_identifier_iterator_source_id (
iterator_t *);
2193host_identifier_iterator_source_data (
iterator_t *);
2196host_identifier_iterator_source_orphan (
iterator_t *);
2199host_identifier_iterator_os_id (
iterator_t *);
2202host_identifier_iterator_os_title (
iterator_t *);
2229asset_os_iterator_latest_severity (
iterator_t *);
2232asset_os_iterator_highest_severity (
iterator_t *);
2235asset_os_iterator_average_severity (
iterator_t *);
2259host_detail_iterator_source_type (
iterator_t *);
2262host_detail_iterator_source_id (
iterator_t *);
2265modify_asset (
const char *,
const char *);
2268delete_asset (
const char *,
const char *,
int);
2271create_asset_report (
const char *,
const char *);
2274create_asset_host (
const char *,
const char *,
resource_t* );
2277add_assets_from_host_in_report (report_t report,
const char *host);
2283find_note_with_permission (
const char*, note_t*,
const char *);
2286create_note (
const char*,
const char*,
const char*,
const char*,
const char*,
2287 const char*,
const char*, task_t, result_t, note_t*);
2290copy_note (
const char*, note_t*);
2293delete_note (
const char *,
int);
2296note_uuid (note_t,
char **);
2299modify_note (
const gchar *,
const char *,
const char *,
const char *,
2300 const char *,
const char *,
const char *,
const char *,
2301 const gchar *,
const gchar *);
2304note_count (
const get_data_t *, nvt_t, result_t, task_t);
2316note_iterator_modification_time (
iterator_t*);
2355find_override_with_permission (
const char*, override_t*,
const char *);
2358create_override (
const char*,
const char*,
const char*,
const char*,
2359 const char*,
const char*,
const char*,
const char*,
2360 const char*, task_t, result_t, override_t*);
2363override_uuid (override_t,
char **);
2366copy_override (
const char*, override_t*);
2369delete_override (
const char *,
int);
2372modify_override (
const gchar *,
const char *,
const char *,
const char *,
2373 const char *,
const char *,
const char *,
const char *,
2374 const char *,
const char *,
const gchar *,
const gchar *);
2377override_count (
const get_data_t *, nvt_t, result_t, task_t);
2387override_iterator_creation_time (
iterator_t*);
2390override_iterator_modification_time (
iterator_t*);
2429override_iterator_new_severity (
iterator_t *);
2461 const char *,
char **);
2469#define SCANNER_CONNECTION_RETRY_DEFAULT 3
2472manage_create_scanner (GSList *,
const db_conn_info_t *,
const char *,
2473 const char *,
const char *,
const char *,
const char *,
2474 const char *,
const char *,
const char *);
2477manage_modify_scanner (GSList *,
const db_conn_info_t *,
const char *,
2478 const char *,
const char *,
const char *,
const char *,
2479 const char *,
const char *,
const char *,
const char *);
2482manage_delete_scanner (GSList *,
const db_conn_info_t *,
const gchar *);
2485manage_verify_scanner (GSList *,
const db_conn_info_t *,
const gchar *);
2491create_scanner (
const char*,
const char *,
const char *,
const char *,
2492 const char *, scanner_t *,
const char *,
const char *);
2495copy_scanner (
const char*,
const char*,
const char *, scanner_t *);
2498modify_scanner (
const char*,
const char*,
const char*,
const char *,
2499 const char *,
const char *,
const char *,
const char *);
2502delete_scanner (
const char *,
int);
2505find_scanner_with_permission (
const char *, scanner_t *,
const char *);
2508scanner_in_use (scanner_t);
2511trash_scanner_readable (scanner_t);
2514trash_scanner_in_use (scanner_t);
2517trash_scanner_writable (scanner_t);
2520scanner_writable (scanner_t);
2523scanner_uuid_default ();
2526scanner_host (scanner_t);
2529scanner_port (scanner_t);
2532scanner_type (scanner_t);
2535scanner_ca_pub (scanner_t);
2538scanner_key_pub (scanner_t);
2541scanner_key_priv (scanner_t);
2544scanner_login (scanner_t);
2547scanner_password (scanner_t);
2553openvas_default_scanner_host ();
2568scanner_iterator_credential_name (
iterator_t *);
2574scanner_iterator_credential_trash (
iterator_t*);
2583scanner_iterator_credential_type (
iterator_t *);
2586scanner_config_iterator_readable (
iterator_t *);
2589init_scanner_task_iterator (
iterator_t*, scanner_t);
2598scanner_task_iterator_readable (
iterator_t *);
2601scanner_name (scanner_t);
2604scanner_uuid (scanner_t);
2607trash_scanner_name (scanner_t);
2610trash_scanner_uuid (scanner_t);
2613osp_get_version_from_iterator (
iterator_t *,
char **,
char **,
char **,
char **,
2617osp_get_details_from_iterator (
iterator_t *,
char **, GSList **);
2620osp_connect_with_data (
const char *,
2627osp_scanner_connect (scanner_t);
2636verify_scanner (
const char *,
char **);
2663slave_relay_connection (gvm_connection_t *, gvm_connection_t *);
2670#define SCHEDULE_PERIOD 10
2676#define SCHEDULE_TIMEOUT_MIN_SECS 20
2681#define SCHEDULE_TIMEOUT_DEFAULT 60
2684find_schedule_with_permission (
const char*, schedule_t*,
const char*);
2687create_schedule (
const char *,
const char*,
const char *,
2688 const char*, schedule_t *, gchar**);
2691copy_schedule (
const char*,
const char*,
const char *, schedule_t *);
2694delete_schedule (
const char*,
int);
2720schedule_uuid (schedule_t);
2723trash_schedule_uuid (schedule_t);
2726schedule_name (schedule_t);
2729trash_schedule_name (schedule_t);
2732schedule_duration (schedule_t);
2735schedule_period (schedule_t);
2738schedule_info (schedule_t,
int, gchar **, gchar **);
2750trash_schedule_in_use (schedule_t);
2753schedule_in_use (schedule_t);
2756trash_schedule_writable (schedule_t);
2759trash_schedule_readable (schedule_t);
2762schedule_writable (schedule_t);
2768init_schedule_task_iterator (
iterator_t*, schedule_t);
2777schedule_task_iterator_readable (
iterator_t*);
2780modify_schedule (
const char *,
const char *,
const char *,
const char*,
2781 const char *, gchar **);
2796copy_group (
const char *,
const char *,
const char *, group_t *);
2799create_group (
const char *,
const char *,
const char *,
int, group_t *);
2802delete_group (
const char *,
int);
2805group_uuid (group_t);
2808group_users (group_t);
2811trash_group_in_use (group_t);
2814group_in_use (group_t);
2817trash_group_writable (group_t);
2820group_writable (group_t);
2826modify_group (
const char *,
const char *,
const char *,
const char *);
2832create_permission (
const char *,
const char *,
const char *,
const char *,
2833 const char *,
const char *, permission_t *);
2836copy_permission (
const char*,
const char *, permission_t *);
2839permission_uuid (permission_t);
2842permission_is_admin (
const char *);
2845permission_in_use (permission_t);
2848trash_permission_in_use (permission_t);
2851permission_writable (permission_t);
2854trash_permission_writable (permission_t);
2863permission_iterator_resource_type (
iterator_t*);
2866permission_iterator_resource_uuid (
iterator_t*);
2869permission_iterator_resource_name (
iterator_t*);
2872permission_iterator_resource_in_trash (
iterator_t*);
2875permission_iterator_resource_orphan (
iterator_t*);
2878permission_iterator_resource_readable (
iterator_t*);
2881permission_iterator_subject_type (
iterator_t*);
2884permission_iterator_subject_uuid (
iterator_t*);
2887permission_iterator_subject_name (
iterator_t*);
2890permission_iterator_subject_in_trash (
iterator_t*);
2893permission_iterator_subject_readable (
iterator_t*);
2896delete_permission (
const char*,
int);
2899modify_permission (
const char *,
const char *,
const char *,
const char *,
2900 const char *,
const char *,
const char *);
2905delete_permissions_cache_for_resource (
const char*,
resource_t);
2908delete_permissions_cache_for_user (user_t);
2920copy_role (
const char *,
const char *,
const char *, role_t *);
2923create_role (
const char *,
const char *,
const char *, role_t *);
2926delete_role (
const char *,
int);
2935trash_role_in_use (role_t);
2938role_in_use (role_t);
2941trash_role_writable (role_t);
2944role_writable (role_t);
2950modify_role (
const char *,
const char *,
const char *,
const char *);
2960 KEYWORD_TYPE_UNKNOWN,
2961 KEYWORD_TYPE_INTEGER,
2962 KEYWORD_TYPE_DOUBLE,
2971 KEYWORD_RELATION_APPROX,
2972 KEYWORD_RELATION_COLUMN_ABOVE,
2973 KEYWORD_RELATION_COLUMN_APPROX,
2974 KEYWORD_RELATION_COLUMN_EQUAL,
2975 KEYWORD_RELATION_COLUMN_BELOW,
2976 KEYWORD_RELATION_COLUMN_REGEXP
2977} keyword_relation_t;
3004keyword_relation_symbol (keyword_relation_t);
3007filter_free (array_t*);
3010split_filter (
const gchar*);
3018#define FILT_ID_NONE "0"
3023#define FILT_ID_USER_SETTING "-2"
3026find_filter (
const char*, filter_t*);
3029find_filter_with_permission (
const char*, filter_t*,
const char*);
3032filter_uuid (filter_t);
3035filter_name (filter_t);
3038filter_term (
const char *);
3041filter_term_value (
const char *,
const char *);
3044filter_term_apply_overrides (
const char *);
3047filter_term_min_qod (
const char *);
3050create_filter (
const char*,
const char*,
const char*,
const char*, filter_t*);
3053copy_filter (
const char*,
const char*,
const char*, filter_t*);
3056delete_filter (
const char *,
int);
3059trash_filter_in_use (filter_t);
3062filter_in_use (filter_t);
3065trash_filter_writable (filter_t);
3068filter_writable (filter_t);
3083init_filter_alert_iterator (
iterator_t*, filter_t);
3095modify_filter (
const char*,
const char*,
const char*,
const char*,
const char*);
3101manage_schema (gchar *, gchar **, gsize *, gchar **, gchar **);
3107manage_restore (
const char *);
3110manage_empty_trashcan ();
3119info_name_count (
const gchar *,
const gchar *);
3124manage_scap_loaded ();
3132init_cpe_cve_iterator (
iterator_t *,
const char *,
int,
const char *);
3150cpe_info_iterator_deprecated_by_id (
iterator_t*);
3185cve_cvss_base (
const gchar *);
3189manage_cert_loaded ();
3197cert_bund_adv_info_count (
const get_data_t *get);
3200cert_bund_adv_info_iterator_title (
iterator_t*);
3203cert_bund_adv_info_iterator_summary (
iterator_t*);
3206cert_bund_adv_info_iterator_cve_refs (
iterator_t*);
3209cert_bund_adv_info_iterator_severity (
iterator_t*);
3212init_cve_cert_bund_adv_iterator (
iterator_t*,
const char*,
int,
const char*);
3215init_nvt_cert_bund_adv_iterator (
iterator_t*,
const char*);
3218nvt_cert_bund_adv_iterator_name (
iterator_t*);
3226dfn_cert_adv_info_count (
const get_data_t *get);
3229dfn_cert_adv_info_iterator_title (
iterator_t*);
3232dfn_cert_adv_info_iterator_summary (
iterator_t*);
3235dfn_cert_adv_info_iterator_cve_refs (
iterator_t*);
3238dfn_cert_adv_info_iterator_severity (
iterator_t*);
3241init_cve_dfn_cert_adv_iterator (
iterator_t*,
const char*,
int,
const char*);
3244init_nvt_dfn_cert_adv_iterator (
iterator_t*,
const char*);
3252secinfo_count_after (
const get_data_t *,
const char *, time_t, gboolean);
3258manage_max_rows (
int);
3261setting_count (
const char *);
3264setting_is_default_ca_cert (
const gchar *);
3267setting_filter (
const char *);
3270init_setting_iterator (
iterator_t *,
const char *,
const char *,
int,
int,
int,
3286modify_setting (
const gchar *,
const gchar *,
const gchar *, gchar **);
3289manage_modify_setting (GSList *,
const db_conn_info_t *,
const gchar *,
3290 const gchar *,
const char *);
3293manage_default_ca_cert ();
3299find_user_by_name_with_permission (
const char *, user_t *,
const char *);
3302manage_create_user (GSList *,
const db_conn_info_t *,
const gchar *,
3303 const gchar *,
const gchar *);
3306manage_delete_user (GSList *,
const db_conn_info_t *,
const gchar *,
3310manage_get_users (GSList *,
const db_conn_info_t *,
const gchar *,
int);
3313manage_report_host_add (report_t,
const char *, time_t, time_t);
3316report_host_noticeable (report_t,
const gchar *);
3319report_host_set_end_time (report_host_t, time_t);
3322host_routes_xml (host_t);
3325manage_set_password (GSList *,
const db_conn_info_t *,
const gchar *,
3329manage_user_hash (
const gchar *);
3332manage_user_uuid (
const gchar *, auth_method_t);
3335manage_user_exists (
const gchar *, auth_method_t);
3338copy_user (
const char*,
const char*,
const char*, user_t*);
3341keyfile_to_auth_conf_settings_xml (
const gchar *);
3359init_user_group_iterator (
iterator_t *, user_t);
3371init_user_role_iterator (
iterator_t *, user_t);
3383create_user (
const gchar *,
const gchar *,
const gchar *,
const gchar *,
3384 int,
const array_t *, array_t *, gchar **,
3385 array_t *, gchar **, gchar **, user_t *,
int);
3388delete_user (
const char *,
const char *,
int,
int,
const char*,
const char*);
3391modify_user (
const gchar *, gchar **,
const gchar *,
const gchar *,
3392 const gchar*,
const gchar *,
int,
3393 const array_t *, array_t *, gchar **, array_t *, gchar **,
3397user_in_use (user_t);
3400trash_user_in_use (user_t);
3403user_writable (user_t);
3406trash_user_writable (user_t);
3412user_name (
const char *);
3418user_hosts (
const char *);
3421user_hosts_allow (
const char *);
3451manage_get_ldap_info (
int *, gchar **, gchar **,
int *, gchar **);
3454manage_set_ldap_info (
int, gchar *, gchar *,
int, gchar *);
3457manage_get_radius_info (
int *,
char **,
char **);
3460manage_set_radius_info (
int, gchar *, gchar *);
3469copy_tag (
const char*,
const char*,
const char*, tag_t*);
3472create_tag (
const char *,
const char *,
const char *,
const char *,
3473 array_t *,
const char *,
const char *, tag_t *, gchar **);
3476delete_tag (
const char *,
int);
3479modify_tag (
const char *,
const char *,
const char *,
const char *,
3480 const char *, array_t *,
const char *,
const char *,
const char*,
3539resource_tag_exists (
const char*,
resource_t,
int);
3542resource_tag_count (
const char*,
resource_t,
int);
3548trash_tag_in_use (tag_t);
3551tag_writable (tag_t);
3554trash_tag_writable (tag_t);
3573 GArray *,
const char *,
const char*, GArray*, GArray*,
3574 int,
int,
const char *,
const char *);
3592aggregate_iterator_text (
iterator_t*,
int,
int);
3598aggregate_iterator_subgroup_value (
iterator_t*);
3606#define GVMD_DATA_FEED 4
3609manage_gvmd_data_feed_dir_exists (
const char *);
3679 void *, array_t *,
int,
const char*,
3680 gchar **, gchar **, gchar **);
3689column_is_timestamp (
const char*);
3692type_columns (
const char *);
3695type_trash_columns (
const char *);
3704manage_optimize (GSList *,
const db_conn_info_t *,
const gchar *);
3715get_vt_verification_collation ();
3718set_vt_verification_collation (
const char *);
static int fork_update_nvt_cache()
Update the NVT cache in a child process.
Definition: gvmd.c:1186
long long int resource_t
A resource, like a task or target.
Definition: iterator.h:39
gchar * truncate_certificate(const gchar *certificate)
Truncate a certificate, removing extra data.
Definition: manage.c:212
gchar * event_description(event_t event, const void *event_data, const char *task_name)
Get a description of an alert event.
Definition: manage.c:1359
const char * credential_full_type(const char *abbreviation)
Get the written-out name of an LSC Credential type.
Definition: manage.c:3811
int feed_lockfile_lock(lockfile_t *lockfile)
Acquires the feed lock and writes the current time to the lockfile.
Definition: manage.c:6119
gchar * certificate_iso_time(time_t time)
Converts a certificate time to an ISO time string.
Definition: manage.c:556
void alert_report_data_reset(alert_report_data_t *data)
Frees content of an alert_report_data_t, but not the struct itself.
Definition: manage.c:1237
const char * report_type_iterator_name(report_type_iterator_t *iterator)
Return the name from a report type iterator.
Definition: manage.c:4165
void cleanup_report_type_iterator(report_type_iterator_t *iterator)
Cleanup a report type iterator.
Definition: manage.c:4135
int init_system_report_type_iterator(report_type_iterator_t *iterator, const char *type, const char *slave_id)
Initialise a system report type iterator.
Definition: manage.c:4110
void sort_data_free(sort_data_t *sort_data)
Free a sort_data_t struct and its related resources.
Definition: manage.c:5976
const char * alert_condition_name(alert_condition_t condition)
Get the name of an alert condition.
Definition: manage.c:1258
int manage_schedule(manage_connection_forker_t fork_connection, gboolean run_tasks, sigset_t *sigmask_current)
Schedule any actions that are due.
Definition: manage.c:5097
int manage_system_report(const char *name, const char *duration, const char *start_time, const char *end_time, const char *slave_id, char **report)
Get a system report.
Definition: manage.c:4302
const char * alert_method_name(alert_method_t method)
Get the name of an alert method.
Definition: manage.c:1400
double severity_data_value(int index)
Convert an index in the counts array to a severity value.
Definition: manage.c:1042
void set_relay_mapper_path(const char *new_path)
Gets the current path of the relay mapper executable.
Definition: manage.c:3170
int feed_lockfile_lock_timeout(lockfile_t *lockfile)
Acquires the feed lock and writes the current time to the lockfile.
Definition: manage.c:6144
const gchar * get_broker_address()
Get the publish-subscribe messaging (MQTT) broker address.
Definition: manage.c:6006
const gchar * get_feed_lock_path()
Get the feed lock file path.
Definition: manage.c:6032
gchar * truncate_private_key(const gchar *private_key)
Truncate a private key, removing extra data.
Definition: manage.c:277
void set_feed_lock_timeout(int new_timeout)
Set the feed lock timeout.
Definition: manage.c:6069
task_t current_scanner_task
The task currently running on the scanner.
Definition: manage.c:1206
int stop_task(const char *task_id)
Initiate stopping a task.
Definition: manage.c:3615
int get_relay_migrate_sensors()
Gets whether to migrate sensors if relays do not match.
Definition: manage.c:3182
int manage_update_nvts_osp(const gchar *update_socket)
Update NVT cache using OSP.
Definition: manage.c:6692
int move_task(const char *task_id, const char *slave_id)
Reassign a task to another slave.
Definition: manage.c:3691
gchar * get_nvt_xml(iterator_t *nvts, int details, int pref_count, int preferences, const char *timeout, config_t config, int close_tag)
Create and return XML description for an NVT.
Definition: manage.c:5501
gchar * xml_escape_text_truncated(const char *string, size_t max_len, const char *suffix)
XML escapes text truncating to a maximum length with a suffix.
Definition: manage.c:669
const char * report_type_iterator_title(report_type_iterator_t *iterator)
Return the title from a report type iterator.
Definition: manage.c:4178
int scanner_type_valid(scanner_type_t scanner_type)
Check if a scanner type is valid.
Definition: manage.c:803
int type_is_scap(const char *type)
Check if a type is a SCAP type.
Definition: manage.c:755
int slave_get_relay(const char *original_host, int original_port, const char *original_ca_cert, const char *protocol, gchar **new_host, int *new_port, gchar **new_ca_cert)
Gets a relay hostname and port for a sensor scanner.
Definition: manage.c:3343
int start_task(const char *task_id, char **report_id)
Start a task.
Definition: manage.c:3504
void severity_data_add(severity_data_t *severity_data, double severity)
Add a severity occurrence to the counts of a severity_data_t.
Definition: manage.c:1091
void alert_report_data_free(alert_report_data_t *data)
Frees a alert_report_data_t struct, including contained data.
Definition: manage.c:1222
const char * manage_scap_update_time()
GET SCAP update time, as a string.
Definition: manage.c:5809
int resume_task(const char *task_id, char **report_id)
Resume a task.
Definition: manage.c:3657
int get_feed_lock_timeout()
Get the feed lock timeout.
Definition: manage.c:6058
event_t event_from_name(const char *name)
Get an event from a name.
Definition: manage.c:1451
const char * run_status_name(task_status_t status)
Get the name of a run status.
Definition: manage.c:1516
report_t global_current_report
The report of the current task.
Definition: manage.c:1211
alert_method_t alert_method_from_name(const char *name)
Get an alert method from a name.
Definition: manage.c:1476
void set_relay_migrate_sensors(int new_value)
Sets whether to migrate sensors if relays do not match.
Definition: manage.c:3193
gboolean next_report_type(report_type_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:4150
const gchar * certificate_time_status(time_t activates, time_t expires)
Tests the activation and expiration time of a certificate.
Definition: manage.c:575
int severity_in_level(double severity, const char *level)
Check whether a severity falls within a threat level.
Definition: manage.c:850
int get_schedule_timeout()
Get the current schedule timeout.
Definition: manage.c:5276
void set_scheduled_user_uuid(const gchar *user_uuid)
Set UUID of user that scheduled the current task. The previous value is freed and a copy of the UUID ...
Definition: manage.c:4485
void manage_auth_allow_all(int scheduled)
Ensure that any subsequent authentications succeed.
Definition: manage.c:4462
alert_condition_t alert_condition_from_name(const char *name)
Get an alert condition from a name.
Definition: manage.c:1428
credentials_t current_credentials
Current credentials during any GMP command.
Definition: manage.c:934
int get_scanner_connection_retry()
Get the number of retries on a scanner connection lost.
Definition: manage.c:2824
gboolean gvm_get_sync_script_identification(const gchar *sync_script, gchar **identification, int feed_type)
Retrieves the ID string of a feed sync script, with basic validation.
Definition: manage.c:6291
gboolean gvm_get_sync_script_description(const gchar *sync_script, gchar **description)
Retrieves description of a feed sync script, with basic validation.
Definition: manage.c:6386
gchar * alert_condition_description(alert_condition_t condition, alert_t alert)
Get a description of an alert condition.
Definition: manage.c:1308
const char * event_name(event_t event)
Get the name of an alert event.
Definition: manage.c:1285
int feed_lockfile_unlock(lockfile_t *lockfile)
Releases the feed lock and clears the contents.
Definition: manage.c:6186
void set_feed_lock_path(const char *new_path)
Set the feed lock file path.
Definition: manage.c:6043
gboolean relay_supports_scanner_type(const char *original_host, int original_port, scanner_type_t type)
Gets whether there is a relay supporting the scanner type.
Definition: manage.c:3298
int nvts_feed_info(gchar **vts_version, gchar **feed_name, gchar **feed_vendor, gchar **feed_home)
Get VTs feed information from the scanner using VT update socket.
Definition: manage.c:6574
void cleanup_severity_data(severity_data_t *data)
Clean up a severity data structure.
Definition: manage.c:1079
const char * severity_to_level(double severity, int mode)
Get the threat level matching a severity score.
Definition: manage.c:873
void set_broker_address(const char *new_address)
Set the publish-subscribe messaging (MQTT) broker address.
Definition: manage.c:6017
const char * get_relay_mapper_path()
Gets the current path of the relay mapper executable.
Definition: manage.c:3159
int delete_resource(const char *type, const char *resource_id, int ultimate)
Delete a resource.
Definition: manage.c:7333
const gchar * get_scheduled_user_uuid()
Access UUID of user that scheduled the current task.
Definition: manage.c:4473
void set_schedule_timeout(int new_timeout)
Set the schedule timeout.
Definition: manage.c:5287
void set_scanner_connection_retry(int new_retry)
Set the number of retries on a scanner connection lost.
Definition: manage.c:2835
gboolean gvm_get_sync_script_feed_version(const gchar *sync_script, gchar **feed_version)
Retrieves the version of a feed handled by the sync, with basic validation.
Definition: manage.c:6452
int manage_run_wizard(const gchar *wizard_name, int(*run_command)(void *, gchar *, gchar **), void *run_command_data, array_t *params, int read_only, const char *mode, gchar **command_error, gchar **command_error_code, gchar **ret_response)
Run a wizard.
Definition: manage.c:6726
const char * type_name_plural(const char *type)
Return the plural name of a resource type.
Definition: manage.c:701
int nvts_check_feed(int *lockfile_in_use, int *self_test_exit_error, char **self_test_error_msg)
Check the VTs feed sync for information using the default OSP socket.
Definition: manage.c:6637
gboolean manage_gvmd_data_feed_dirs_exist()
Tests if the gvmd data feed directory and its subdirectories exist.
Definition: manage.c:5992
void init_severity_data(severity_data_t *data)
Initialize a severity data structure.
Definition: manage.c:1062
void write_sync_start(int lockfile_fd)
Write start time to sync lock file.
Definition: manage.c:6083
void manage_sync(sigset_t *sigmask_current, int(*fork_update_nvt_cache)(), gboolean try_gvmd_data_sync)
Perform any syncing that is due.
Definition: manage.c:4891
void severity_data_add_count(severity_data_t *severity_data, double severity, int count)
Add a multiple severity occurrences to the counts of a severity_data_t.
Definition: manage.c:1109
void severity_data_level_counts(const severity_data_t *severity_data, int *errors, int *false_positives, int *logs, int *lows, int *mediums, int *highs)
Count the occurrences of severities in the levels.
Definition: manage.c:1159
const char * type_name(const char *type)
Return the name of a resource type.
Definition: manage.c:728
gboolean gvm_sync_script_perform_selftest(const gchar *sync_script, gchar **result)
Request a feed synchronization script selftest.
Definition: manage.c:6219
int get_certificate_info(const gchar *certificate, gssize certificate_len, time_t *activation_time, time_t *expiration_time, gchar **md5_fingerprint, gchar **sha256_fingerprint, gchar **subject, gchar **issuer, gchar **serial, gnutls_x509_crt_fmt_t *certificate_format)
Gathers info from a certificate.
Definition: manage.c:361
get_data_t * report_results_get_data(int first, int rows, int apply_overrides, int min_qod)
Create a new basic get_data_t struct to get report results.
Definition: manage.c:996
const char * severity_to_type(double severity)
Get the message type matching a severity score.
Definition: manage.c:910
int gvm_migrate_secinfo(int feed_type)
Migrates SCAP or CERT database, waiting until migration terminates.
Definition: manage.c:6657
int manage_read_info(gchar *type, gchar *uid, gchar *name, gchar **result)
Read raw information.
Definition: manage.c:5860
int manage_rebuild_gvmd_data_from_feed(const char *types, GSList *log_config, const db_conn_info_t *database, gchar **error_msg)
Rebuild configs, port lists and report formats from feed.
Definition: manage.c:4975
static PGconn * conn
Handle on the database.
Definition: sql_pg.c:84
Data about a report sent by an alert.
Definition: manage.h:394
gchar * content_type
The MIME content type of the report.
Definition: manage.h:397
gchar * remote_filename
Path or filename to send to / as.
Definition: manage.h:396
gchar * report_format_name
Name of the report format used.
Definition: manage.h:398
gchar * local_filename
Path to the local report file.
Definition: manage.h:395
A command.
Definition: manage.h:151
gchar * summary
Summary of command.
Definition: manage.h:153
gchar * name
Command name.
Definition: manage.h:152
A CREATE_REPORT result.
Definition: manage.h:1189
char * description
Description of NVT.
Definition: manage.h:1190
char * qod
QoD (quality of detection).
Definition: manage.h:1196
char * port
Port.
Definition: manage.h:1195
char * host
Host.
Definition: manage.h:1191
char * qod_type
QoD type.
Definition: manage.h:1197
char * scan_nvt_version
Version of NVT used at scan time.
Definition: manage.h:1194
char * threat
Threat.
Definition: manage.h:1199
char * hostname
Hostname.
Definition: manage.h:1192
char * severity
Severity score.
Definition: manage.h:1198
char * nvt_oid
OID of NVT.
Definition: manage.h:1193
Data structure for info used to connect to the database.
Definition: manage.h:47
gchar * user
The database user name.
Definition: manage.h:51
gchar * name
The database name.
Definition: manage.h:48
gchar * port
The database port or socket file extension.
Definition: manage.h:50
gchar * host
The database host or socket directory.
Definition: manage.h:49
A detection detail for create_report.
Definition: manage.h:1220
char * source_name
source_name of detection in result.
Definition: manage.h:1222
char * product
product of detection in result.
Definition: manage.h:1221
char * location
location of detection in result.
Definition: manage.h:1224
char * source_oid
source_oid of detection in result.
Definition: manage.h:1223
Command data for a get command.
Definition: manage_get.h:35
A host detail for create_report.
Definition: manage.h:1206
char * name
Detail name.
Definition: manage.h:1208
char * source_type
Source type.
Definition: manage.h:1211
char * source_name
Source name.
Definition: manage.h:1210
char * ip
IP.
Definition: manage.h:1207
char * value
Detail value.
Definition: manage.h:1212
char * source_desc
Source description.
Definition: manage.h:1209
A generic SQL iterator structure.
Definition: iterator.h:50
Keyword.
Definition: manage.h:2983
gchar * column
The column prefix, or NULL.
Definition: manage.h:2984
keyword_relation_t relation
The relation.
Definition: manage.h:2992
gchar * string
The keyword string, outer quotes removed.
Definition: manage.h:2990
int integer_value
Integer value of the keyword.
Definition: manage.h:2987
keyword_type_t type
Type of keyword.
Definition: manage.h:2991
double double_value
Floating point value of the keyword.
Definition: manage.h:2988
int equal
Whether the keyword is like "=example".
Definition: manage.h:2986
int quoted
Whether the keyword was quoted.
Definition: manage.h:2989
int approx
Whether the keyword is like "~example".
Definition: manage.h:2985
Lockfile.
Definition: utils.h:62
Name value pair.
Definition: manage.h:114
gchar * name
Name.
Definition: manage.h:115
gchar * value
Param value.
Definition: manage.h:116
A system report type iterator.
Definition: manage.h:2438
gchar ** start
First type.
Definition: manage.h:2439
gchar ** current
Current type.
Definition: manage.h:2440
Severity data for result count cache.
Definition: manage.h:1010
int * counts
Counts.
Definition: manage.h:1011
int total
Total.
Definition: manage.h:1012
double max
Max.
Definition: manage.h:1013
Sort data for aggregates commands.
Definition: manage.h:3562
int order
The sort order.
Definition: manage.h:3565
gchar * field
The field to sort by.
Definition: manage.h:3563
gchar * stat
The statistic to sort by.
Definition: manage.h:3564
Headers for Greenbone Vulnerability Manager: General utilities.