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*);
208manage_db_supported_version ();
214manage_scap_db_supported_version ();
217manage_scap_db_version ();
220manage_cert_db_supported_version ();
223manage_cert_db_version ();
226set_db_version (
int version);
238manage_session_set_timezone (
const char *);
241manage_transaction_start ();
244manage_transaction_stop (gboolean);
257 TASK_STATUS_DELETE_REQUESTED = 0,
258 TASK_STATUS_DONE = 1,
260 TASK_STATUS_REQUESTED = 3,
261 TASK_STATUS_RUNNING = 4,
262 TASK_STATUS_STOP_REQUESTED = 10,
263 TASK_STATUS_STOP_WAITING = 11,
264 TASK_STATUS_STOPPED = 12,
265 TASK_STATUS_INTERRUPTED = 13,
266 TASK_STATUS_DELETE_ULTIMATE_REQUESTED = 14,
268 TASK_STATUS_DELETE_WAITING = 16,
269 TASK_STATUS_DELETE_ULTIMATE_WAITING = 17,
270 TASK_STATUS_QUEUED = 18
276#define AUTO_DELETE_KEEP_MIN 2
281#define AUTO_DELETE_KEEP_MAX 1200
292 ALIVE_TEST_TCP_ACK_SERVICE = 1,
295 ALIVE_TEST_CONSIDER_ALIVE = 8,
296 ALIVE_TEST_TCP_SYN_SERVICE = 16
305typedef enum scanner_type
307 SCANNER_TYPE_NONE = 0,
309 SCANNER_TYPE_OPENVAS = 2,
310 SCANNER_TYPE_CVE = 3,
312 SCANNER_TYPE_OSP_SENSOR = 5,
313 SCANNER_TYPE_MAX = 6,
361manage_resource_name (
const char *,
const char *,
char **);
364manage_trash_resource_name (
const char *,
const char *,
char **);
367resource_count (
const char *,
const get_data_t *);
370resource_id_exists (
const char *,
const char *);
373trash_id_exists (
const char *,
const char *);
376find_resource (
const char*,
const char*,
resource_t*);
379find_resource_no_acl (
const char*,
const char*,
resource_t*);
415#define ALERT_MESSAGE_INCLUDE \
418 "After the event $e,\n" \
419 "the following condition was met: $c\n" \
421 "This email escalation is configured to apply report format '$r'.\n" \
422 "Full details and other report formats are available on the scan engine.\n" \
430 "This email was sent to you as a configured security scan escalation.\n" \
431 "Please contact your local system administrator if you think you\n" \
432 "should not have received it.\n"
437#define SECINFO_ALERT_MESSAGE_INCLUDE \
440 "After the event $e,\n" \
441 "the following condition was met: $c\n" \
443 "This email escalation is configured to apply report format '$r'.\n" \
444 "Full details and other report formats are available on the scan engine.\n" \
452 "This email was sent to you as a configured security scan escalation.\n" \
453 "Please contact your local system administrator if you think you\n" \
454 "should not have received it.\n"
459#define ALERT_MESSAGE_ATTACH \
462 "After the event $e,\n" \
463 "the following condition was met: $c\n" \
465 "This email escalation is configured to attach report format '$r'.\n" \
466 "Full details and other report formats are available on the scan engine.\n" \
471 "This email was sent to you as a configured security scan escalation.\n" \
472 "Please contact your local system administrator if you think you\n" \
473 "should not have received it.\n"
478#define SECINFO_ALERT_MESSAGE_ATTACH \
481 "After the event $e,\n" \
482 "the following condition was met: $c\n" \
484 "This email escalation is configured to attach report format '$r'.\n" \
485 "Full details and other report formats are available on the scan engine.\n" \
490 "This email was sent to you as a configured security scan escalation.\n" \
491 "Please contact your local system administrator if you think you\n" \
492 "should not have received it.\n"
497#define ALERT_VFIRE_CALL_DESCRIPTION \
498 "GVM Task '$n': $e\n" \
500 "After the event $e,\n" \
501 "the following condition was met: $c\n" \
503 "This ticket includes reports in the following format(s):\n" \
505 "Full details and other report formats are available on the scan engine.\n" \
510 "This ticket was created automatically as a security scan escalation.\n" \
511 "Please contact your local system administrator if you think it\n" \
512 "was created or assigned erroneously.\n"
520 EVENT_TASK_RUN_STATUS_CHANGED,
522 EVENT_UPDATED_SECINFO,
523 EVENT_TICKET_RECEIVED,
524 EVENT_ASSIGNED_TICKET_CHANGED,
525 EVENT_OWNED_TICKET_CHANGED
535 ALERT_METHOD_HTTP_GET,
536 ALERT_METHOD_SOURCEFIRE,
537 ALERT_METHOD_START_TASK,
539 ALERT_METHOD_VERINICE,
544 ALERT_METHOD_TIPPINGPOINT,
553 ALERT_CONDITION_ERROR,
554 ALERT_CONDITION_ALWAYS,
555 ALERT_CONDITION_SEVERITY_AT_LEAST,
556 ALERT_CONDITION_SEVERITY_CHANGED,
557 ALERT_CONDITION_FILTER_COUNT_AT_LEAST,
558 ALERT_CONDITION_FILTER_COUNT_CHANGED
565create_alert (
const char*,
const char*,
const char*,
const char*, event_t,
566 GPtrArray*, alert_condition_t, GPtrArray*, alert_method_t,
567 GPtrArray*, alert_t*);
570copy_alert (
const char*,
const char*,
const char*, alert_t*);
573modify_alert (
const char*,
const char*,
const char*,
const char*,
574 const char*, event_t, GPtrArray*, alert_condition_t, GPtrArray*,
575 alert_method_t, GPtrArray*);
578delete_alert (
const char *,
int);
584find_alert_with_permission (
const char *, alert_t *,
const char *);
587manage_alert (
const char *,
const char *, event_t,
const void*, gchar **);
590manage_test_alert (
const char *, gchar **);
593alert_in_use (alert_t);
596trash_alert_in_use (alert_t);
599alert_writable (alert_t);
602trash_alert_writable (alert_t);
647alert_method (alert_t alert);
662init_alert_data_iterator (
iterator_t *, alert_t,
int,
const char *);
671init_alert_task_iterator (
iterator_t*, alert_t,
int);
683init_task_alert_iterator (
iterator_t*, task_t);
741task_uuid (task_t,
char **);
744task_in_trash (task_t);
747task_in_trash_id (
const gchar *);
753trash_task_in_use (task_t);
756task_writable (task_t);
759task_alterable (task_t);
762trash_task_writable (task_t);
765task_average_scan_duration (task_t);
768task_owner_name (task_t);
774task_comment (task_t);
777task_hosts_ordering (task_t);
780task_scanner (task_t);
783task_scanner_in_trash (task_t);
789task_config_uuid (task_t);
792task_config_name (task_t);
795task_config_in_trash (task_t);
798set_task_config (task_t, config_t);
804task_target_in_trash (task_t);
807set_task_target (task_t, target_t);
810set_task_hosts_ordering (task_t,
const char *);
813set_task_scanner (task_t, scanner_t);
816set_task_usage_type (task_t,
const char *);
819task_description (task_t);
822set_task_description (task_t,
char*, gsize);
825task_run_status (task_t);
828set_task_run_status (task_t, task_status_t);
831task_result_count (task_t,
int);
834task_running_report (task_t);
837task_upload_progress (task_t);
840set_task_start_time_epoch (task_t,
int);
843set_task_start_time_ctime (task_t,
char*);
846set_task_end_time (task_t task,
char* time);
849set_task_end_time_epoch (task_t, time_t);
852add_task_alert (task_t, alert_t);
855set_task_alterable (task_t,
int);
858set_task_groups (task_t, array_t*, gchar**);
861set_task_schedule (task_t, schedule_t,
int);
864set_task_schedule_periods (
const gchar *,
int);
867set_task_schedule_periods_id (task_t,
int);
870task_report_count (task_t);
873task_last_report (task_t, report_t*);
876task_iterator_trend_counts (
iterator_t *,
int,
int,
int,
double,
int,
int,
int,
880task_schedule_periods (task_t);
883task_schedule_periods_uuid (
const gchar *);
886task_schedule (task_t);
889task_schedule_uuid (
const gchar *);
892task_schedule_in_trash (task_t);
895task_schedule_next_time_uuid (
const gchar *);
898task_schedule_next_time (task_t);
901task_debugs_size (task_t);
904task_holes_size (task_t);
907task_infos_size (task_t);
910task_logs_size (task_t);
913task_warnings_size (task_t);
916task_false_positive_size (task_t);
919make_task (
char*,
char*,
int,
int);
922make_task_complete (task_t);
925copy_task (
const char*,
const char*,
const char *,
int, task_t*);
928set_task_name (task_t,
const char *);
931find_task_with_permission (
const char*, task_t*,
const char *);
934find_trash_task_with_permission (
const char*, task_t*,
const char *);
940set_task_parameter (task_t,
const char*,
char*);
943task_observers (task_t);
946set_task_observers (task_t,
const gchar *);
949request_delete_task_uuid (
const char *,
int);
952request_delete_task (task_t*);
955delete_task (task_t,
int);
958append_to_task_comment (task_t,
const char*,
int);
961add_task_description_line (task_t,
const char*,
size_t);
964set_scan_ports (report_t,
const char*,
unsigned int,
unsigned int);
967append_task_open_port (task_t task,
const char *,
const char*);
970manage_task_update_file (
const gchar *,
const char *,
const void *);
973manage_task_remove_file (
const gchar *,
const char *);
976modify_task (
const gchar *,
const gchar *,
const gchar *,
const gchar *,
977 const gchar *,
const gchar *,
const gchar *, array_t *,
978 const gchar *, array_t *,
const gchar *,
const gchar *,
979 array_t *,
const gchar *, gchar **, gchar **);
982init_config_file_iterator (
iterator_t*,
const char*,
const char*);
991init_config_task_iterator (
iterator_t*, config_t,
int);
1041 int*,
int*,
int*,
int*,
int*,
int*);
1065user_may (
const char *);
1068user_can_everything (
const char *);
1071user_can_super_everyone (
const char *);
1074user_has_super (
const char *, user_t);
1082#define LSC_FAMILY_LIST \
1083 "'AIX Local Security Checks'," \
1084 " 'Amazon Linux Local Security Checks'," \
1085 " 'CentOS Local Security Checks'," \
1086 " 'Citrix Xenserver Local Security Checks'," \
1087 " 'Debian Local Security Checks'," \
1088 " 'F5 Local Security Checks'," \
1089 " 'Fedora Local Security Checks'," \
1090 " 'FortiOS Local Security Checks'," \
1091 " 'FreeBSD Local Security Checks'," \
1092 " 'Gentoo Local Security Checks'," \
1093 " 'HP-UX Local Security Checks'," \
1094 " 'Huawei EulerOS Local Security Checks'," \
1095 " 'JunOS Local Security Checks'," \
1096 " 'Mac OS X Local Security Checks'," \
1097 " 'Mageia Linux Local Security Checks'," \
1098 " 'Mandrake Local Security Checks'," \
1099 " 'Oracle Linux Local Security Checks'," \
1100 " 'Palo Alto PAN-OS Local Security Checks'," \
1101 " 'Red Hat Local Security Checks'," \
1102 " 'Slackware Local Security Checks'," \
1103 " 'Solaris Local Security Checks'," \
1104 " 'SuSE Local Security Checks'," \
1105 " 'VMware Local Security Checks'," \
1106 " 'Ubuntu Local Security Checks'," \
1107 " 'Windows : Microsoft Bulletins'"
1112#define FAMILIES_WHOLE_ONLY \
1113 { "CentOS Local Security Checks", \
1114 "Debian Local Security Checks", \
1115 "Fedora Local Security Checks", \
1116 "Huawei EulerOS Local Security Checks", \
1117 "Oracle Linux Local Security Checks", \
1118 "Red Hat Local Security Checks", \
1119 "SuSE Local Security Checks", \
1120 "Ubuntu Local Security Checks", \
1124find_result_with_permission (
const char*, result_t*,
const char *);
1127result_uuid (result_t,
char **);
1130result_detection_reference (result_t, report_t,
const char *,
const char *,
1131 const char *,
char **,
char **,
char **,
char **,
1137#define OVAS_MANAGE_REPORT_ID_LENGTH UUID_LEN_STR
1142#define APPLY_OVERRIDES_DEFAULT 0
1147#define QOD_DEFAULT 75
1152#define MIN_QOD_DEFAULT 70
1155reports_clear_count_cache_for_override (override_t,
int);
1158init_report_counts_build_iterator (
iterator_t *, report_t,
int,
int,
1162report_severity (report_t,
int,
int);
1165report_host_count (report_t);
1168report_result_host_count (report_t,
int);
1171report_finished_hosts_str (report_t);
1174find_report_with_permission (
const char *, report_t *,
const char *);
1177make_report (task_t,
const char *, task_status_t);
1180qod_from_type (
const char *);
1183make_result (task_t,
const char*,
const char*,
const char*,
const char*,
1184 const char*,
const char*,
const char*);
1187make_osp_result (task_t,
const char*,
const char*,
const char*,
const char*,
1188 const char *,
const char *,
const char *,
int,
const char*,
1192make_cve_result (task_t,
const char*,
const char*,
double,
const char*);
1240insert_report_host_detail (report_t,
const char *,
const char *,
const char *,
1241 const char *,
const char *,
const char *,
1245manage_report_host_detail (report_t,
const char *,
const char *);
1248hosts_set_identifiers (report_t);
1251hosts_set_max_severity (report_t,
int*,
int*);
1254hosts_set_details (report_t report);
1257clear_duration_schedules (task_t);
1260update_duration_schedule_periods (task_t);
1263create_report (array_t*,
const char *,
const char *,
const char *,
const char *,
1264 array_t*, array_t*, array_t*,
char **);
1267report_add_result (report_t, result_t);
1270report_add_results_array (report_t, GArray *);
1273report_uuid (report_t);
1276task_last_resumable_report (task_t, report_t *);
1279task_second_last_report_id (task_t);
1282report_path_task_uuid (gchar*);
1285report_task (report_t, task_t*);
1288report_compliance_by_uuid (
const char *,
int *,
int *,
int *);
1291report_scan_result_count (report_t,
const char*,
const char*,
int,
const char*,
1292 const char*,
int,
int,
int*);
1295report_counts (
const char*,
int*,
int*,
int*,
int*,
int*,
double*,
1299report_counts_id (report_t,
int*,
int*,
int*,
int*,
int*,
double*,
1303report_counts_id_no_filt (report_t,
int*,
int*,
int*,
int*,
int*,
int*,
1310scan_start_time_epoch (report_t);
1313scan_start_time_uuid (
const char *);
1316scan_end_time_uuid (
const char *);
1319set_scan_start_time_ctime (report_t,
const char*);
1322set_scan_start_time_epoch (report_t, time_t);
1325set_scan_end_time (report_t,
const char*);
1328set_scan_end_time_ctime (report_t,
const char*);
1331set_scan_end_time_epoch (report_t, time_t);
1334set_scan_host_start_time_ctime (report_t,
const char*,
const char*);
1337scan_host_end_time (report_t,
const char*);
1340set_scan_host_end_time (report_t,
const char*,
const char*);
1343set_scan_host_end_time_ctime (report_t,
const char*,
const char*);
1346report_timestamp (
const char*, gchar**);
1349delete_report (
const char *,
int);
1358init_report_iterator_task (
iterator_t*, task_t);
1361init_report_errors_iterator (
iterator_t*, report_t);
1367result_count (
const get_data_t *, report_t,
const char*);
1371 const char*,
const gchar *);
1407result_iterator_nvt_solution_type (
iterator_t *);
1410result_iterator_nvt_solution_method (
iterator_t *);
1434result_iterator_scan_nvt_version (
iterator_t*);
1437result_iterator_original_severity (
iterator_t*);
1443result_iterator_severity_double (
iterator_t *);
1476result_iterator_may_have_overrides (
iterator_t*);
1479result_iterator_may_have_tickets (
iterator_t*);
1488cleanup_result_nvts ();
1491init_report_host_iterator (
iterator_t*, report_t,
const char *, report_host_t);
1509collate_message_type (
void* data,
int,
const void*,
int,
const void*);
1512trim_partial_report (report_t);
1515report_progress (report_t);
1518manage_report (report_t, report_t,
const get_data_t *, report_format_t,
1519 int,
int, gsize *, gchar **, gchar **, gchar **, gchar **,
1523manage_send_report (report_t, report_t, report_format_t,
const get_data_t *,
1524 int,
int,
int,
int,
int,
int,
1525 gboolean (*) (
const char *,
1526 int (*) (
const char*,
void*),
1528 int (*) (
const char *,
void*),
void *,
const char *,
1536init_app_locations_iterator (
iterator_t*, report_host_t,
const gchar *);
1539app_locations_iterator_location (
iterator_t *);
1542init_host_prognosis_iterator (
iterator_t*, report_host_t);
1564#define MANAGE_ABSOLUTE_MAX_IPS_PER_TARGET 70000
1569#define MANAGE_MAX_HOSTS 4095
1574#define MANAGE_USER_MAX_HOSTS 16777216
1580manage_filter_controls (
const gchar *,
int *,
int *, gchar **,
int *);
1583manage_report_filter_controls (
const gchar *,
int *,
int *, gchar **,
int *,
1584 int *, gchar **, gchar **, gchar **, gchar **,
1585 int *,
int *,
int *,
int *, gchar **);
1588manage_clean_filter (
const gchar *);
1591manage_clean_filter_remove (
const gchar *,
const gchar *);
1594manage_count_hosts (
const char *,
const char *);
1597find_target_with_permission (
const char *, target_t *,
const char *);
1600create_target (
const char*,
const char*,
const char*,
const char*,
const char*,
1601 const char *,
const char*, credential_t, credential_t,
1602 const char *, credential_t, credential_t, credential_t,
1603 const char *,
const char *,
const char *,
const char *,
1607copy_target (
const char*,
const char*,
const char *, target_t*);
1610modify_target (
const char*,
const char*,
const char*,
const char*,
const char*,
1611 const char*,
const char*,
const char*,
const char*,
const char*,
1612 const char*,
const char*,
const char*,
const char*,
const char*,
1616delete_target (
const char*,
int);
1622init_user_target_iterator (
iterator_t*, target_t);
1625init_target_iterator_one (
iterator_t*, target_t);
1637target_iterator_reverse_lookup_only (
iterator_t*);
1640target_iterator_reverse_lookup_unify (
iterator_t*);
1655target_iterator_esxi_credential (
iterator_t*);
1658target_iterator_snmp_credential (
iterator_t*);
1661target_iterator_ssh_elevate_credential (
iterator_t*);
1676target_iterator_ssh_elevate_trash (
iterator_t*);
1679target_iterator_allow_simultaneous_ips (
iterator_t*);
1688target_iterator_port_list_trash (
iterator_t*);
1694target_uuid (target_t);
1697trash_target_uuid (target_t);
1700target_name (target_t);
1703trash_target_name (target_t);
1706trash_target_readable (target_t);
1709target_hosts (target_t);
1712target_exclude_hosts (target_t);
1715target_reverse_lookup_only (target_t);
1718target_reverse_lookup_unify (target_t);
1721target_allow_simultaneous_ips (target_t);
1724target_port_range (target_t);
1727target_ssh_port (target_t);
1730target_in_use (target_t);
1733trash_target_in_use (target_t);
1736target_writable (target_t);
1739trash_target_writable (target_t);
1742target_ssh_credential_name (
const char *);
1745init_target_task_iterator (
iterator_t*, target_t);
1757target_credential (target_t,
const char*);
1760target_login_port (target_t,
const char*);
1768create_task_check_scanner_type (scanner_t);
1771modify_task_check_config_scanner (task_t,
const char *,
const char *);
1777manage_nvt_name (nvt_t);
1780nvt_name (
const char *);
1783nvts_feed_version ();
1786nvts_feed_version_epoch ();
1789set_nvts_feed_version (
const char*);
1792find_nvt (
const char*, nvt_t*);
1801nvt_info_count_after (
const get_data_t *, time_t, gboolean);
1804init_nvt_iterator (
iterator_t*, nvt_t, config_t,
const char*,
const char*,
int,
1808init_cve_nvt_iterator (
iterator_t*,
const char *,
int,
const char*);
1865nvt_default_timeout (
const char *);
1868family_nvt_count (
const char *);
1876#define NVT_SELECTOR_TYPE_ALL 0
1881#define NVT_SELECTOR_TYPE_FAMILY 1
1886#define NVT_SELECTOR_TYPE_NVT 2
1891#define NVT_SELECTOR_TYPE_ANY 999
1894init_family_iterator (
iterator_t*,
int,
const char*,
int);
1900nvt_selector_family_growing (
const char *,
const char *,
int);
1903nvt_selector_family_count (
const char*,
int);
1906nvt_selector_nvt_count (
const char *,
const char *,
int);
1909init_nvt_selector_iterator (
iterator_t*,
const char*, config_t,
int);
1927manage_nvt_preference_add (
const char*,
const char*,
const char*,
const char*,
1928 const char*,
const char*,
int);
1931manage_nvt_preferences_enable ();
1934init_nvt_preference_iterator (
iterator_t*,
const char*);
1943nvt_preference_iterator_config_value (
iterator_t*, config_t);
1946nvt_preference_iterator_real_name (
iterator_t*);
1958nvt_preference_count (
const char *);
1961xml_append_nvt_refs (GString *,
const char *,
int *);
1967task_preference_value (task_t,
const char *);
1970set_task_preferences (task_t, array_t *);
1973init_task_group_iterator (
iterator_t *, task_t);
1982init_task_role_iterator (
iterator_t *, task_t);
1992init_nvt_severity_iterator (
iterator_t *,
const char *);
2017 CREDENTIAL_FORMAT_NONE = 0,
2018 CREDENTIAL_FORMAT_KEY = 1,
2019 CREDENTIAL_FORMAT_RPM = 2,
2020 CREDENTIAL_FORMAT_DEB = 3,
2021 CREDENTIAL_FORMAT_EXE = 4,
2022 CREDENTIAL_FORMAT_PEM = 5,
2023 CREDENTIAL_FORMAT_ERROR = -1
2024} credential_format_t;
2027check_private_key (
const char *,
const char *);
2030find_credential_with_permission (
const char*, credential_t*,
const char*);
2033create_credential (
const char*,
const char*,
const char*,
const char*,
2034 const char*,
const char*,
const char*,
const char*,
2035 const char*,
const char*,
const char*,
const char*,
2036 const char*, credential_t*);
2039copy_credential (
const char*,
const char*,
const char*,
2043modify_credential (
const char*,
const char*,
const char*,
const char*,
2044 const char*,
const char*,
const char*,
const char*,
2045 const char*,
const char*,
const char*,
const char*,
2049delete_credential (
const char *,
int);
2055set_credential_privacy_algorithm (credential_t,
const char *);
2058set_credential_public_key (credential_t,
const char *);
2061init_credential_iterator_one (
iterator_t*, credential_t);
2070credential_iterator_auth_algorithm (
iterator_t*);
2073credential_iterator_privacy_algorithm (
iterator_t*);
2082credential_iterator_privacy_password (
iterator_t*);
2088credential_iterator_private_key (
iterator_t*);
2094credential_iterator_allow_insecure (
iterator_t*);
2109credential_iterator_certificate (
iterator_t*);
2112credential_iterator_format_available (
iterator_t*, credential_format_t);
2118credential_uuid (credential_t);
2121trash_credential_uuid (credential_t);
2124credential_name (credential_t);
2127trash_credential_name (credential_t);
2130credential_type (credential_t);
2133init_credential_target_iterator (
iterator_t*, credential_t,
int);
2136credential_target_iterator_uuid (
iterator_t*);
2139credential_target_iterator_name (
iterator_t*);
2142credential_target_iterator_readable (
iterator_t*);
2145init_credential_scanner_iterator (
iterator_t*, credential_t,
int);
2148credential_scanner_iterator_uuid (
iterator_t*);
2151credential_scanner_iterator_name (
iterator_t*);
2154credential_scanner_iterator_readable (
iterator_t*);
2157trash_credential_in_use (credential_t);
2160credential_in_use (credential_t);
2163trash_credential_writable (credential_t);
2166credential_writable (credential_t);
2169trash_credential_readable (credential_t);
2172credential_value (credential_t,
const char*);
2175credential_encrypted_value (credential_t,
const char*);
2182result_host_asset_id (
const char *, result_t);
2188host_notice (
const char *,
const char *,
const char *,
const char *,
2189 const char *,
int,
int);
2192init_host_identifier_iterator (
iterator_t*, host_t,
int,
const char*);
2195host_identifier_iterator_value (
iterator_t *);
2198host_identifier_iterator_source_type (
iterator_t *);
2201host_identifier_iterator_source_id (
iterator_t *);
2204host_identifier_iterator_source_data (
iterator_t *);
2207host_identifier_iterator_source_orphan (
iterator_t *);
2210host_identifier_iterator_os_id (
iterator_t *);
2213host_identifier_iterator_os_title (
iterator_t *);
2240asset_os_iterator_latest_severity (
iterator_t *);
2243asset_os_iterator_highest_severity (
iterator_t *);
2246asset_os_iterator_average_severity (
iterator_t *);
2249asset_os_iterator_all_installs (
iterator_t *);
2273host_detail_iterator_source_type (
iterator_t *);
2276host_detail_iterator_source_id (
iterator_t *);
2279modify_asset (
const char *,
const char *);
2282delete_asset (
const char *,
const char *,
int);
2285create_asset_report (
const char *,
const char *);
2288create_asset_host (
const char *,
const char *,
resource_t* );
2291add_assets_from_host_in_report (report_t report,
const char *host);
2297find_note_with_permission (
const char*, note_t*,
const char *);
2300create_note (
const char*,
const char*,
const char*,
const char*,
const char*,
2301 const char*,
const char*, task_t, result_t, note_t*);
2304copy_note (
const char*, note_t*);
2307delete_note (
const char *,
int);
2310note_uuid (note_t,
char **);
2313modify_note (
const gchar *,
const char *,
const char *,
const char *,
2314 const char *,
const char *,
const char *,
const char *,
2315 const gchar *,
const gchar *);
2318note_count (
const get_data_t *, nvt_t, result_t, task_t);
2330note_iterator_modification_time (
iterator_t*);
2369find_override_with_permission (
const char*, override_t*,
const char *);
2372create_override (
const char*,
const char*,
const char*,
const char*,
2373 const char*,
const char*,
const char*,
const char*,
2374 const char*, task_t, result_t, override_t*);
2377override_uuid (override_t,
char **);
2380copy_override (
const char*, override_t*);
2383delete_override (
const char *,
int);
2386modify_override (
const gchar *,
const char *,
const char *,
const char *,
2387 const char *,
const char *,
const char *,
const char *,
2388 const char *,
const char *,
const gchar *,
const gchar *);
2391override_count (
const get_data_t *, nvt_t, result_t, task_t);
2401override_iterator_creation_time (
iterator_t*);
2404override_iterator_modification_time (
iterator_t*);
2443override_iterator_new_severity (
iterator_t *);
2475 const char *,
char **);
2483#define SCANNER_CONNECTION_RETRY_DEFAULT 3
2486manage_create_scanner (GSList *,
const db_conn_info_t *,
const char *,
2487 const char *,
const char *,
const char *,
const char *,
2488 const char *,
const char *,
const char *);
2491manage_modify_scanner (GSList *,
const db_conn_info_t *,
const char *,
2492 const char *,
const char *,
const char *,
const char *,
2493 const char *,
const char *,
const char *,
const char *);
2496manage_delete_scanner (GSList *,
const db_conn_info_t *,
const gchar *);
2499manage_verify_scanner (GSList *,
const db_conn_info_t *,
const gchar *);
2505create_scanner (
const char*,
const char *,
const char *,
const char *,
2506 const char *, scanner_t *,
const char *,
const char *);
2509copy_scanner (
const char*,
const char*,
const char *, scanner_t *);
2512modify_scanner (
const char*,
const char*,
const char*,
const char *,
2513 const char *,
const char *,
const char *,
const char *);
2516delete_scanner (
const char *,
int);
2519find_scanner_with_permission (
const char *, scanner_t *,
const char *);
2522scanner_in_use (scanner_t);
2525trash_scanner_readable (scanner_t);
2528trash_scanner_in_use (scanner_t);
2531trash_scanner_writable (scanner_t);
2534scanner_writable (scanner_t);
2537scanner_uuid_default ();
2540scanner_host (scanner_t);
2543scanner_port (scanner_t);
2546scanner_type (scanner_t);
2549scanner_ca_pub (scanner_t);
2552scanner_key_pub (scanner_t);
2555scanner_key_priv (scanner_t);
2558scanner_login (scanner_t);
2561scanner_password (scanner_t);
2567openvas_default_scanner_host ();
2582scanner_iterator_credential_name (
iterator_t *);
2588scanner_iterator_credential_trash (
iterator_t*);
2597scanner_iterator_credential_type (
iterator_t *);
2600scanner_config_iterator_readable (
iterator_t *);
2603init_scanner_task_iterator (
iterator_t*, scanner_t);
2612scanner_task_iterator_readable (
iterator_t *);
2615scanner_name (scanner_t);
2618scanner_uuid (scanner_t);
2621trash_scanner_name (scanner_t);
2624trash_scanner_uuid (scanner_t);
2627osp_get_version_from_iterator (
iterator_t *,
char **,
char **,
char **,
char **,
2631osp_get_details_from_iterator (
iterator_t *,
char **, GSList **);
2634osp_connect_with_data (
const char *,
2641osp_scanner_connect (scanner_t);
2650verify_scanner (
const char *,
char **);
2677slave_relay_connection (gvm_connection_t *, gvm_connection_t *);
2684#define SCHEDULE_PERIOD 10
2690#define SCHEDULE_TIMEOUT_MIN_SECS 20
2695#define SCHEDULE_TIMEOUT_DEFAULT 60
2698find_schedule_with_permission (
const char*, schedule_t*,
const char*);
2701create_schedule (
const char *,
const char*,
const char *,
2702 const char*, schedule_t *, gchar**);
2705copy_schedule (
const char*,
const char*,
const char *, schedule_t *);
2708delete_schedule (
const char*,
int);
2734schedule_uuid (schedule_t);
2737trash_schedule_uuid (schedule_t);
2740schedule_name (schedule_t);
2743trash_schedule_name (schedule_t);
2746schedule_duration (schedule_t);
2749schedule_period (schedule_t);
2752schedule_info (schedule_t,
int, gchar **, gchar **);
2764trash_schedule_in_use (schedule_t);
2767schedule_in_use (schedule_t);
2770trash_schedule_writable (schedule_t);
2773trash_schedule_readable (schedule_t);
2776schedule_writable (schedule_t);
2782init_schedule_task_iterator (
iterator_t*, schedule_t);
2791schedule_task_iterator_readable (
iterator_t*);
2794modify_schedule (
const char *,
const char *,
const char *,
const char*,
2795 const char *, gchar **);
2810copy_group (
const char *,
const char *,
const char *, group_t *);
2813create_group (
const char *,
const char *,
const char *,
int, group_t *);
2816delete_group (
const char *,
int);
2819group_uuid (group_t);
2822group_users (group_t);
2825trash_group_in_use (group_t);
2828group_in_use (group_t);
2831trash_group_writable (group_t);
2834group_writable (group_t);
2840modify_group (
const char *,
const char *,
const char *,
const char *);
2846create_permission (
const char *,
const char *,
const char *,
const char *,
2847 const char *,
const char *, permission_t *);
2850copy_permission (
const char*,
const char *, permission_t *);
2853permission_uuid (permission_t);
2856permission_is_admin (
const char *);
2859permission_in_use (permission_t);
2862trash_permission_in_use (permission_t);
2865permission_writable (permission_t);
2868trash_permission_writable (permission_t);
2877permission_iterator_resource_type (
iterator_t*);
2880permission_iterator_resource_uuid (
iterator_t*);
2883permission_iterator_resource_name (
iterator_t*);
2886permission_iterator_resource_in_trash (
iterator_t*);
2889permission_iterator_resource_orphan (
iterator_t*);
2892permission_iterator_resource_readable (
iterator_t*);
2895permission_iterator_subject_type (
iterator_t*);
2898permission_iterator_subject_uuid (
iterator_t*);
2901permission_iterator_subject_name (
iterator_t*);
2904permission_iterator_subject_in_trash (
iterator_t*);
2907permission_iterator_subject_readable (
iterator_t*);
2910delete_permission (
const char*,
int);
2913modify_permission (
const char *,
const char *,
const char *,
const char *,
2914 const char *,
const char *,
const char *);
2919delete_permissions_cache_for_resource (
const char*,
resource_t);
2922delete_permissions_cache_for_user (user_t);
2934copy_role (
const char *,
const char *,
const char *, role_t *);
2937create_role (
const char *,
const char *,
const char *, role_t *);
2940delete_role (
const char *,
int);
2949trash_role_in_use (role_t);
2952role_in_use (role_t);
2955trash_role_writable (role_t);
2958role_writable (role_t);
2964modify_role (
const char *,
const char *,
const char *,
const char *);
2974 KEYWORD_TYPE_UNKNOWN,
2975 KEYWORD_TYPE_INTEGER,
2976 KEYWORD_TYPE_DOUBLE,
2985 KEYWORD_RELATION_APPROX,
2986 KEYWORD_RELATION_COLUMN_ABOVE,
2987 KEYWORD_RELATION_COLUMN_APPROX,
2988 KEYWORD_RELATION_COLUMN_EQUAL,
2989 KEYWORD_RELATION_COLUMN_BELOW,
2990 KEYWORD_RELATION_COLUMN_REGEXP
2991} keyword_relation_t;
3018keyword_relation_symbol (keyword_relation_t);
3021filter_free (array_t*);
3024split_filter (
const gchar*);
3032#define FILT_ID_NONE "0"
3037#define FILT_ID_USER_SETTING "-2"
3040find_filter (
const char*, filter_t*);
3043find_filter_with_permission (
const char*, filter_t*,
const char*);
3046filter_uuid (filter_t);
3049filter_name (filter_t);
3052filter_term (
const char *);
3055filter_term_value (
const char *,
const char *);
3058filter_term_apply_overrides (
const char *);
3061filter_term_min_qod (
const char *);
3064create_filter (
const char*,
const char*,
const char*,
const char*, filter_t*);
3067copy_filter (
const char*,
const char*,
const char*, filter_t*);
3070delete_filter (
const char *,
int);
3073trash_filter_in_use (filter_t);
3076filter_in_use (filter_t);
3079trash_filter_writable (filter_t);
3082filter_writable (filter_t);
3097init_filter_alert_iterator (
iterator_t*, filter_t);
3109modify_filter (
const char*,
const char*,
const char*,
const char*,
const char*);
3115manage_schema (gchar *, gchar **, gsize *, gchar **, gchar **);
3121manage_restore (
const char *);
3124manage_empty_trashcan ();
3133info_name_count (
const gchar *,
const gchar *);
3138manage_scap_loaded ();
3146init_cpe_cve_iterator (
iterator_t *,
const char *,
int,
const char *);
3164cpe_info_iterator_deprecated_by_id (
iterator_t*);
3173cpe_details_xml (
const char*);
3202cve_cvss_base (
const gchar *);
3206manage_cert_loaded ();
3214cert_bund_adv_info_count (
const get_data_t *get);
3217cert_bund_adv_info_iterator_title (
iterator_t*);
3220cert_bund_adv_info_iterator_summary (
iterator_t*);
3223cert_bund_adv_info_iterator_cve_refs (
iterator_t*);
3226cert_bund_adv_info_iterator_severity (
iterator_t*);
3229init_cve_cert_bund_adv_iterator (
iterator_t*,
const char*,
int,
const char*);
3232init_nvt_cert_bund_adv_iterator (
iterator_t*,
const char*);
3235nvt_cert_bund_adv_iterator_name (
iterator_t*);
3243dfn_cert_adv_info_count (
const get_data_t *get);
3246dfn_cert_adv_info_iterator_title (
iterator_t*);
3249dfn_cert_adv_info_iterator_summary (
iterator_t*);
3252dfn_cert_adv_info_iterator_cve_refs (
iterator_t*);
3255dfn_cert_adv_info_iterator_severity (
iterator_t*);
3258init_cve_dfn_cert_adv_iterator (
iterator_t*,
const char*,
int,
const char*);
3261init_nvt_dfn_cert_adv_iterator (
iterator_t*,
const char*);
3269secinfo_count_after (
const get_data_t *,
const char *, time_t, gboolean);
3275manage_max_rows (
int);
3278setting_count (
const char *);
3281setting_is_default_ca_cert (
const gchar *);
3284setting_filter (
const char *);
3287init_setting_iterator (
iterator_t *,
const char *,
const char *,
int,
int,
int,
3303modify_setting (
const gchar *,
const gchar *,
const gchar *, gchar **);
3306manage_modify_setting (GSList *,
const db_conn_info_t *,
const gchar *,
3307 const gchar *,
const char *);
3310manage_default_ca_cert ();
3316find_user_by_name_with_permission (
const char *, user_t *,
const char *);
3319manage_create_user (GSList *,
const db_conn_info_t *,
const gchar *,
3320 const gchar *,
const gchar *);
3323manage_delete_user (GSList *,
const db_conn_info_t *,
const gchar *,
3327manage_get_users (GSList *,
const db_conn_info_t *,
const gchar *,
int);
3330manage_report_host_add (report_t,
const char *, time_t, time_t);
3333report_host_noticeable (report_t,
const gchar *);
3336report_host_set_end_time (report_host_t, time_t);
3339host_routes_xml (host_t);
3342manage_set_password (GSList *,
const db_conn_info_t *,
const gchar *,
3346manage_user_hash (
const gchar *);
3349manage_user_uuid (
const gchar *, auth_method_t);
3352manage_user_exists (
const gchar *, auth_method_t);
3355copy_user (
const char*,
const char*,
const char*, user_t*);
3358keyfile_to_auth_conf_settings_xml (
const gchar *);
3376init_user_group_iterator (
iterator_t *, user_t);
3388init_user_role_iterator (
iterator_t *, user_t);
3400create_user (
const gchar *,
const gchar *,
const gchar *,
const gchar *,
3401 int,
const array_t *, array_t *, gchar **,
3402 array_t *, gchar **, gchar **, user_t *,
int);
3405delete_user (
const char *,
const char *,
int,
int,
const char*,
const char*);
3408modify_user (
const gchar *, gchar **,
const gchar *,
const gchar *,
3409 const gchar*,
const gchar *,
int,
3410 const array_t *, array_t *, gchar **, array_t *, gchar **,
3414user_in_use (user_t);
3417trash_user_in_use (user_t);
3420user_writable (user_t);
3423trash_user_writable (user_t);
3429user_name (
const char *);
3435user_hosts (
const char *);
3438user_hosts_allow (
const char *);
3468manage_get_ldap_info (
int *, gchar **, gchar **,
int *, gchar **,
int *);
3471manage_set_ldap_info (
int, gchar *, gchar *,
int, gchar *,
int);
3474manage_get_radius_info (
int *,
char **,
char **);
3477manage_set_radius_info (
int, gchar *, gchar *);
3486copy_tag (
const char*,
const char*,
const char*, tag_t*);
3489create_tag (
const char *,
const char *,
const char *,
const char *,
3490 array_t *,
const char *,
const char *, tag_t *, gchar **);
3493delete_tag (
const char *,
int);
3496modify_tag (
const char *,
const char *,
const char *,
const char *,
3497 const char *, array_t *,
const char *,
const char *,
const char*,
3556resource_tag_exists (
const char*,
resource_t,
int);
3559resource_tag_count (
const char*,
resource_t,
int);
3565trash_tag_in_use (tag_t);
3568tag_writable (tag_t);
3571trash_tag_writable (tag_t);
3590 GArray *,
const char *,
const char*, GArray*, GArray*,
3591 int,
int,
const char *,
const char *);
3609aggregate_iterator_text (
iterator_t*,
int,
int);
3615aggregate_iterator_subgroup_value (
iterator_t*);
3623#define GVMD_DATA_FEED 4
3626manage_gvmd_data_feed_dir_exists (
const char *);
3702 void *, array_t *,
int,
const char*,
3703 gchar **, gchar **, gchar **);
3712column_is_timestamp (
const char*);
3715type_columns (
const char *);
3718type_trash_columns (
const char *);
3727manage_optimize (GSList *,
const db_conn_info_t *,
const gchar *);
3738get_vt_verification_collation ();
3741set_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:218
gchar * event_description(event_t event, const void *event_data, const char *task_name)
Get a description of an alert event.
Definition: manage.c:1365
const char * credential_full_type(const char *abbreviation)
Get the written-out name of an LSC Credential type.
Definition: manage.c:3858
int feed_lockfile_lock(lockfile_t *lockfile)
Acquires the feed lock and writes the current time to the lockfile.
Definition: manage.c:6177
gchar * certificate_iso_time(time_t time)
Converts a certificate time to an ISO time string.
Definition: manage.c:562
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:1243
const char * report_type_iterator_name(report_type_iterator_t *iterator)
Return the name from a report type iterator.
Definition: manage.c:4212
void cleanup_report_type_iterator(report_type_iterator_t *iterator)
Cleanup a report type iterator.
Definition: manage.c:4182
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:4157
void sort_data_free(sort_data_t *sort_data)
Free a sort_data_t struct and its related resources.
Definition: manage.c:6009
const char * alert_condition_name(alert_condition_t condition)
Get the name of an alert condition.
Definition: manage.c:1264
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:5144
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:4349
const char * alert_method_name(alert_method_t method)
Get the name of an alert method.
Definition: manage.c:1406
double severity_data_value(int index)
Convert an index in the counts array to a severity value.
Definition: manage.c:1048
void set_relay_mapper_path(const char *new_path)
Gets the current path of the relay mapper executable.
Definition: manage.c:3217
int feed_lockfile_lock_timeout(lockfile_t *lockfile)
Acquires the feed lock and writes the current time to the lockfile.
Definition: manage.c:6202
const gchar * get_broker_address()
Get the publish-subscribe messaging (MQTT) broker address.
Definition: manage.c:6064
const gchar * get_feed_lock_path()
Get the feed lock file path.
Definition: manage.c:6090
gchar * truncate_private_key(const gchar *private_key)
Truncate a private key, removing extra data.
Definition: manage.c:283
void set_feed_lock_timeout(int new_timeout)
Set the feed lock timeout.
Definition: manage.c:6127
task_t current_scanner_task
The task currently running on the scanner.
Definition: manage.c:1212
int stop_task(const char *task_id)
Initiate stopping a task.
Definition: manage.c:3662
int get_relay_migrate_sensors()
Gets whether to migrate sensors if relays do not match.
Definition: manage.c:3229
int manage_update_nvts_osp(const gchar *update_socket)
Update NVT cache using OSP.
Definition: manage.c:6750
int move_task(const char *task_id, const char *slave_id)
Reassign a task to another slave.
Definition: manage.c:3738
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:675
const char * report_type_iterator_title(report_type_iterator_t *iterator)
Return the title from a report type iterator.
Definition: manage.c:4225
int scanner_type_valid(scanner_type_t scanner_type)
Check if a scanner type is valid.
Definition: manage.c:809
int type_is_scap(const char *type)
Check if a type is a SCAP type.
Definition: manage.c:761
int get_auth_timeout()
Get the authentication cache timeout.
Definition: manage.c:6039
gchar * get_nvt_xml(iterator_t *nvts, int details, int pref_count, int preferences, const char *timeout, config_t config, int close_tag, int skip_cert_refs)
Create and return XML description for an NVT.
Definition: manage.c:5537
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:3390
int start_task(const char *task_id, char **report_id)
Start a task.
Definition: manage.c:3551
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:1097
void alert_report_data_free(alert_report_data_t *data)
Frees a alert_report_data_t struct, including contained data.
Definition: manage.c:1228
const char * manage_scap_update_time()
GET SCAP update time, as a string.
Definition: manage.c:5849
int resume_task(const char *task_id, char **report_id)
Resume a task.
Definition: manage.c:3704
int get_feed_lock_timeout()
Get the feed lock timeout.
Definition: manage.c:6116
event_t event_from_name(const char *name)
Get an event from a name.
Definition: manage.c:1457
const char * run_status_name(task_status_t status)
Get the name of a run status.
Definition: manage.c:1522
report_t global_current_report
The report of the current task.
Definition: manage.c:1217
alert_method_t alert_method_from_name(const char *name)
Get an alert method from a name.
Definition: manage.c:1482
void set_relay_migrate_sensors(int new_value)
Sets whether to migrate sensors if relays do not match.
Definition: manage.c:3240
gboolean next_report_type(report_type_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:4197
const gchar * certificate_time_status(time_t activates, time_t expires)
Tests the activation and expiration time of a certificate.
Definition: manage.c:581
int severity_in_level(double severity, const char *level)
Check whether a severity falls within a threat level.
Definition: manage.c:856
int get_schedule_timeout()
Get the current schedule timeout.
Definition: manage.c:5323
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:4532
void manage_auth_allow_all(int scheduled)
Ensure that any subsequent authentications succeed.
Definition: manage.c:4509
alert_condition_t alert_condition_from_name(const char *name)
Get an alert condition from a name.
Definition: manage.c:1434
credentials_t current_credentials
Current credentials during any GMP command.
Definition: manage.c:940
int get_scanner_connection_retry()
Get the number of retries on a scanner connection lost.
Definition: manage.c:2841
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:6349
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:6444
gchar * alert_condition_description(alert_condition_t condition, alert_t alert)
Get a description of an alert condition.
Definition: manage.c:1314
const char * event_name(event_t event)
Get the name of an alert event.
Definition: manage.c:1291
int feed_lockfile_unlock(lockfile_t *lockfile)
Releases the feed lock and clears the contents.
Definition: manage.c:6244
void set_feed_lock_path(const char *new_path)
Set the feed lock file path.
Definition: manage.c:6101
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:3345
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:6632
void cleanup_severity_data(severity_data_t *data)
Clean up a severity data structure.
Definition: manage.c:1085
const char * severity_to_level(double severity, int mode)
Get the threat level matching a severity score.
Definition: manage.c:879
void set_broker_address(const char *new_address)
Set the publish-subscribe messaging (MQTT) broker address.
Definition: manage.c:6075
const char * get_relay_mapper_path()
Gets the current path of the relay mapper executable.
Definition: manage.c:3206
int delete_resource(const char *type, const char *resource_id, int ultimate)
Delete a resource.
Definition: manage.c:7391
const gchar * get_scheduled_user_uuid()
Access UUID of user that scheduled the current task.
Definition: manage.c:4520
void set_schedule_timeout(int new_timeout)
Set the schedule timeout.
Definition: manage.c:5334
void set_scanner_connection_retry(int new_retry)
Set the number of retries on a scanner connection lost.
Definition: manage.c:2852
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:6510
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:6784
const char * type_name_plural(const char *type)
Return the plural name of a resource type.
Definition: manage.c:707
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:6695
gboolean manage_gvmd_data_feed_dirs_exist()
Tests if the gvmd data feed directory and its subdirectories exist.
Definition: manage.c:6025
void init_severity_data(severity_data_t *data)
Initialize a severity data structure.
Definition: manage.c:1068
void set_auth_timeout(int new_timeout)
Set the authentication cache timeout.
Definition: manage.c:6050
void write_sync_start(int lockfile_fd)
Write start time to sync lock file.
Definition: manage.c:6141
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:4938
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:1115
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:1165
const char * type_name(const char *type)
Return the name of a resource type.
Definition: manage.c:734
gboolean gvm_sync_script_perform_selftest(const gchar *sync_script, gchar **result)
Request a feed synchronization script selftest.
Definition: manage.c:6277
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:367
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:1002
const char * severity_to_type(double severity)
Get the message type matching a severity score.
Definition: manage.c:916
int gvm_migrate_secinfo(int feed_type)
Migrates SCAP or CERT database, waiting until migration terminates.
Definition: manage.c:6715
int manage_read_info(gchar *type, gchar *uid, gchar *name, gchar **result)
Read raw information.
Definition: manage.c:5900
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:5022
static PGconn * conn
Handle on the database.
Definition: sql_pg.c:84
Data about a report sent by an alert.
Definition: manage.h:399
gchar * content_type
The MIME content type of the report.
Definition: manage.h:402
gchar * remote_filename
Path or filename to send to / as.
Definition: manage.h:401
gchar * report_format_name
Name of the report format used.
Definition: manage.h:403
gchar * local_filename
Path to the local report file.
Definition: manage.h:400
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:1198
char * description
Description of NVT.
Definition: manage.h:1199
char * qod
QoD (quality of detection).
Definition: manage.h:1205
char * port
Port.
Definition: manage.h:1204
char * host
Host.
Definition: manage.h:1200
char * qod_type
QoD type.
Definition: manage.h:1206
char * scan_nvt_version
Version of NVT used at scan time.
Definition: manage.h:1203
char * threat
Threat.
Definition: manage.h:1208
char * hostname
Hostname.
Definition: manage.h:1201
char * severity
Severity score.
Definition: manage.h:1207
char * nvt_oid
OID of NVT.
Definition: manage.h:1202
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:1229
char * source_name
source_name of detection in result.
Definition: manage.h:1231
char * product
product of detection in result.
Definition: manage.h:1230
char * location
location of detection in result.
Definition: manage.h:1233
char * source_oid
source_oid of detection in result.
Definition: manage.h:1232
Command data for a get command.
Definition: manage_get.h:35
A host detail for create_report.
Definition: manage.h:1215
char * name
Detail name.
Definition: manage.h:1217
char * source_type
Source type.
Definition: manage.h:1220
char * source_name
Source name.
Definition: manage.h:1219
char * ip
IP.
Definition: manage.h:1216
char * value
Detail value.
Definition: manage.h:1221
char * source_desc
Source description.
Definition: manage.h:1218
A generic SQL iterator structure.
Definition: iterator.h:50
Keyword.
Definition: manage.h:2997
gchar * column
The column prefix, or NULL.
Definition: manage.h:2998
keyword_relation_t relation
The relation.
Definition: manage.h:3006
gchar * string
The keyword string, outer quotes removed.
Definition: manage.h:3004
int integer_value
Integer value of the keyword.
Definition: manage.h:3001
keyword_type_t type
Type of keyword.
Definition: manage.h:3005
double double_value
Floating point value of the keyword.
Definition: manage.h:3002
int equal
Whether the keyword is like "=example".
Definition: manage.h:3000
int quoted
Whether the keyword was quoted.
Definition: manage.h:3003
int approx
Whether the keyword is like "~example".
Definition: manage.h:2999
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:2452
gchar ** start
First type.
Definition: manage.h:2453
gchar ** current
Current type.
Definition: manage.h:2454
Severity data for result count cache.
Definition: manage.h:1018
int * counts
Counts.
Definition: manage.h:1019
int total
Total.
Definition: manage.h:1020
double max
Max.
Definition: manage.h:1021
Sort data for aggregates commands.
Definition: manage.h:3579
int order
The sort order.
Definition: manage.h:3582
gchar * field
The field to sort by.
Definition: manage.h:3580
gchar * stat
The statistic to sort by.
Definition: manage.h:3581
Headers for Greenbone Vulnerability Manager: General utilities.