24 #ifndef _GVMD_MANAGE_H 25 #define _GVMD_MANAGE_H 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, \ 122 typedef int (*manage_connection_forker_t) (gvm_connection_t *
conn,
127 manage_connection_forker_t,
int);
180 gnutls_x509_crt_fmt_t *);
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
303 typedef 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,
368 resource_id_exists (
const char *,
const char *);
371 trash_id_exists (
const char *,
const char *);
386 delete_resource (
const char *,
const char *,
int);
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
560 create_alert (
const char*,
const char*,
const char*,
const char*, event_t,
561 GPtrArray*, alert_condition_t, GPtrArray*, alert_method_t,
562 GPtrArray*, alert_t*);
565 copy_alert (
const char*,
const char*,
const char*, alert_t*);
568 modify_alert (
const char*,
const char*,
const char*,
const char*,
569 const char*, event_t, GPtrArray*, alert_condition_t, GPtrArray*,
570 alert_method_t, GPtrArray*);
582 manage_alert (
const char *,
const char *, event_t,
const void*, gchar **);
811 task_description (task_t);
814 set_task_description (task_t,
char*, gsize);
862 task_report_count (task_t);
893 task_debugs_size (task_t);
896 task_holes_size (task_t);
899 task_infos_size (task_t);
902 task_logs_size (task_t);
905 task_warnings_size (task_t);
908 task_false_positive_size (task_t);
917 copy_task (
const char*,
const char*,
const char *,
int, task_t*);
932 set_task_parameter (task_t,
const char*,
char*);
953 add_task_description_line (task_t,
const char*,
size_t);
956 set_scan_ports (report_t,
const char*,
unsigned int,
unsigned int);
959 append_task_open_port (task_t task,
const char *,
const char*);
968 modify_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 **);
974 init_config_file_iterator (
iterator_t*,
const char*,
const char*);
1033 int*,
int*,
int*,
int*,
int*,
int*);
1057 user_may (
const char *);
1060 user_can_everything (
const char *);
1063 user_can_super_everyone (
const char *);
1066 user_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", \ 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 1147 reports_clear_count_cache_for_override (override_t,
int);
1169 make_report (task_t,
const char *, task_status_t);
1175 make_result (task_t,
const char*,
const char*,
const char*,
const char*,
1176 const char*,
const char*,
const char*);
1179 make_osp_result (task_t,
const char*,
const char*,
const char*,
const char*,
1180 const char *,
const char *,
const char *,
int,
const char*);
1183 make_cve_result (task_t,
const char*,
const char*,
double,
const char*);
1232 const char *,
const char *,
const char *);
1253 create_report (array_t*,
const char *,
const char *,
const char *,
const char *,
1254 array_t*, array_t*, array_t*,
char **);
1272 report_path_task_uuid (gchar*);
1281 report_scan_result_count (report_t,
const char*,
const char*,
int,
const char*,
1282 const char*,
int,
int,
int*);
1285 report_counts (
const char*,
int*,
int*,
int*,
int*,
int*,
double*,
1293 report_counts_id_no_filt (report_t,
int*,
int*,
int*,
int*,
int*,
int*,
1361 const char*,
const gchar *);
1403 result_iterator_nvt_detection (
iterator_t *);
1409 result_iterator_nvt_cvss_base (
iterator_t *);
1499 collate_message_type (
void* data,
int,
const void*,
int,
const void*);
1509 int,
int, gsize *, gchar **, gchar **, gchar **, gchar **,
1514 int,
int,
int,
int,
int,
int,
1515 gboolean (*) (
const char *,
1516 int (*) (
const char*,
void*),
1518 int (*) (
const char *,
void*),
void *,
const char *,
1544 prognosis_iterator_description (
iterator_t*);
1554 #define MANAGE_ABSOLUTE_MAX_IPS_PER_TARGET 70000 1559 #define MANAGE_MAX_HOSTS 4095 1564 #define MANAGE_USER_MAX_HOSTS 16777216 1574 int *, gchar **, gchar **, gchar **, gchar **,
1575 int *,
int *,
int *,
int *, gchar **);
1590 create_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 *,
1597 copy_target (
const char*,
const char*,
const char *, target_t*);
1600 modify_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*,
1612 init_user_target_iterator (
iterator_t*, target_t);
1627 target_iterator_reverse_lookup_only (
iterator_t*);
1630 target_iterator_reverse_lookup_unify (
iterator_t*);
1669 target_iterator_allow_simultaneous_ips (
iterator_t*);
1672 target_iterator_port_list_uuid (
iterator_t*);
1675 target_iterator_port_list_name (
iterator_t*);
1732 target_ssh_credential_name (
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 1920 manage_nvt_preferences_enable ();
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;
2023 const char*,
const char*,
const char*,
const char*,
2024 const char*,
const char*,
const char*,
const char*,
2025 const char*, credential_t*);
2033 const char*,
const char*,
const char*,
const char*,
2034 const char*,
const char*,
const char*,
const char*,
2059 credential_iterator_auth_algorithm (
iterator_t*);
2062 credential_iterator_privacy_algorithm (
iterator_t*);
2074 credential_iterator_public_key (
iterator_t*);
2098 credential_iterator_certificate (
iterator_t*);
2125 credential_target_iterator_uuid (
iterator_t*);
2128 credential_target_iterator_name (
iterator_t*);
2137 credential_scanner_iterator_uuid (
iterator_t*);
2140 credential_scanner_iterator_name (
iterator_t*);
2177 host_notice (
const char *,
const char *,
const char *,
const char *,
2178 const char *,
int,
int);
2184 host_identifier_iterator_value (
iterator_t *);
2187 host_identifier_iterator_source_type (
iterator_t *);
2190 host_identifier_iterator_source_id (
iterator_t *);
2193 host_identifier_iterator_source_data (
iterator_t *);
2199 host_identifier_iterator_os_id (
iterator_t *);
2202 host_identifier_iterator_os_title (
iterator_t *);
2229 asset_os_iterator_latest_severity (
iterator_t *);
2232 asset_os_iterator_highest_severity (
iterator_t *);
2235 asset_os_iterator_average_severity (
iterator_t *);
2259 host_detail_iterator_source_type (
iterator_t *);
2262 host_detail_iterator_source_id (
iterator_t *);
2286 create_note (
const char*,
const char*,
const char*,
const char*,
const char*,
2287 const char*,
const char*, task_t, result_t, note_t*);
2299 modify_note (
const gchar *,
const char *,
const char *,
const char *,
2300 const char *,
const char *,
const char *,
const char *,
2301 const gchar *,
const gchar *);
2316 note_iterator_modification_time (
iterator_t*);
2359 const char*,
const char*,
const char*,
const char*,
2360 const char*, task_t, result_t, override_t*);
2372 modify_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 *);
2387 override_iterator_creation_time (
iterator_t*);
2390 override_iterator_modification_time (
iterator_t*);
2429 override_iterator_new_severity (
iterator_t *);
2461 const char *,
char **);
2469 #define SCANNER_CONNECTION_RETRY_DEFAULT 3 2473 const char *,
const char *,
const char *,
const char *,
2474 const char *,
const char *,
const char *);
2478 const char *,
const char *,
const char *,
const char *,
2479 const char *,
const char *,
const char *,
const char *);
2491 create_scanner (
const char*,
const char *,
const char *,
const char *,
2492 const char *, scanner_t *,
const char *,
const char *);
2495 copy_scanner (
const char*,
const char*,
const char *, scanner_t *);
2498 modify_scanner (
const char*,
const char*,
const char*,
const char *,
2499 const char *,
const char *,
const char *,
const char *);
2568 scanner_iterator_credential_name (
iterator_t *);
2583 scanner_iterator_credential_type (
iterator_t *);
2663 slave_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 2688 const char*, schedule_t *, gchar**);
2691 copy_schedule (
const char*,
const char*,
const char *, schedule_t *);
2780 modify_schedule (
const char *,
const char *,
const char *,
const char*,
2781 const char *, gchar **);
2796 copy_group (
const char *,
const char *,
const char *, group_t *);
2799 create_group (
const char *,
const char *,
const char *,
int, group_t *);
2826 modify_group (
const char *,
const char *,
const char *,
const char *);
2833 const char *,
const char *, permission_t *);
2863 permission_iterator_resource_type (
iterator_t*);
2866 permission_iterator_resource_uuid (
iterator_t*);
2869 permission_iterator_resource_name (
iterator_t*);
2881 permission_iterator_subject_type (
iterator_t*);
2884 permission_iterator_subject_uuid (
iterator_t*);
2887 permission_iterator_subject_name (
iterator_t*);
2900 const char *,
const char *,
const char *);
2905 delete_permissions_cache_for_resource (
const char*,
resource_t);
2908 delete_permissions_cache_for_user (user_t);
2920 copy_role (
const char *,
const char *,
const char *, role_t *);
2923 create_role (
const char *,
const char *,
const char *, role_t *);
2950 modify_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;
3018 #define FILT_ID_NONE "0" 3023 #define FILT_ID_USER_SETTING "-2" 3026 find_filter (
const char*, filter_t*);
3050 create_filter (
const char*,
const char*,
const char*,
const char*, filter_t*);
3053 copy_filter (
const char*,
const char*,
const char*, filter_t*);
3095 modify_filter (
const char*,
const char*,
const char*,
const char*,
const char*);
3101 manage_schema (gchar *, gchar **, gsize *, gchar **, gchar **);
3150 cpe_info_iterator_deprecated_by_id (
iterator_t*);
3200 cert_bund_adv_info_iterator_title (
iterator_t*);
3203 cert_bund_adv_info_iterator_summary (
iterator_t*);
3206 cert_bund_adv_info_iterator_cve_refs (
iterator_t*);
3209 cert_bund_adv_info_iterator_severity (
iterator_t*);
3218 nvt_cert_bund_adv_iterator_name (
iterator_t*);
3229 dfn_cert_adv_info_iterator_title (
iterator_t*);
3232 dfn_cert_adv_info_iterator_summary (
iterator_t*);
3235 dfn_cert_adv_info_iterator_cve_refs (
iterator_t*);
3238 dfn_cert_adv_info_iterator_severity (
iterator_t*);
3247 nvt_dfn_cert_adv_iterator_name (
iterator_t*);
3258 manage_max_rows (
int);
3264 setting_is_default_ca_cert (
const gchar *);
3286 modify_setting (
const gchar *,
const gchar *,
const gchar *, gchar **);
3289 manage_modify_setting (GSList *,
const db_conn_info_t *,
const gchar *,
3290 const gchar *,
const char *);
3293 manage_default_ca_cert ();
3299 find_user_by_name_with_permission (
const char *, user_t *,
const char *);
3302 manage_create_user (GSList *,
const db_conn_info_t *,
const gchar *,
3303 const gchar *,
const gchar *);
3306 manage_delete_user (GSList *,
const db_conn_info_t *,
const gchar *,
3310 manage_get_users (GSList *,
const db_conn_info_t *,
const gchar *,
int);
3325 manage_set_password (GSList *,
const db_conn_info_t *,
const gchar *,
3332 manage_user_uuid (
const gchar *, auth_method_t);
3335 manage_user_exists (
const gchar *, auth_method_t);
3338 copy_user (
const char*,
const char*,
const char*, user_t*);
3341 keyfile_to_auth_conf_settings_xml (
const gchar *);
3359 init_user_group_iterator (
iterator_t *, user_t);
3371 init_user_role_iterator (
iterator_t *, user_t);
3383 create_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);
3388 delete_user (
const char *,
const char *,
int,
int,
const char*,
const char*);
3391 modify_user (
const gchar *, gchar **,
const gchar *,
const gchar *,
3392 const gchar*,
const gchar *,
int,
3393 const array_t *, array_t *, gchar **, array_t *, gchar **,
3397 user_in_use (user_t);
3400 trash_user_in_use (user_t);
3403 user_writable (user_t);
3406 trash_user_writable (user_t);
3412 user_name (
const char *);
3418 user_hosts (
const char *);
3421 user_hosts_allow (
const char *);
3451 manage_get_ldap_info (
int *, gchar **, gchar **,
int *, gchar **);
3454 manage_set_ldap_info (
int, gchar *, gchar *,
int, gchar *);
3457 manage_get_radius_info (
int *,
char **,
char **);
3460 manage_set_radius_info (
int, gchar *, gchar *);
3469 copy_tag (
const char*,
const char*,
const char*, tag_t*);
3472 create_tag (
const char *,
const char *,
const char *,
const char *,
3473 array_t *,
const char *,
const char *, tag_t *, gchar **);
3476 delete_tag (
const char *,
int);
3479 modify_tag (
const char *,
const char *,
const char *,
const char *,
3480 const char *, array_t *,
const char *,
const char *,
const char*,
3508 tag_resource_iterator_location (
iterator_t*);
3514 tag_resource_iterator_readable (
iterator_t*);
3539 resource_tag_exists (
const char*,
resource_t,
int);
3542 resource_tag_count (
const char*,
resource_t,
int);
3548 trash_tag_in_use (tag_t);
3551 tag_writable (tag_t);
3554 trash_tag_writable (tag_t);
3573 GArray *,
const char *,
const char*, GArray*, GArray*,
3574 int,
int,
const char *,
const char *);
3606 #define GVMD_DATA_FEED 4 3609 manage_gvmd_data_feed_dir_exists (
const char *);
3612 manage_gvmd_data_feed_dirs_exist ();
3615 get_broker_address ();
3618 set_broker_address (
const char *);
3621 get_feed_lock_path ();
3624 set_feed_lock_path (
const char *);
3627 get_feed_lock_timeout ();
3630 set_feed_lock_timeout (
int);
3633 write_sync_start (
int);
3645 gvm_migrate_secinfo (
int);
3648 gvm_sync_script_perform_selftest (
const gchar *, gchar **);
3651 gvm_get_sync_script_identification (
const gchar *, gchar **,
int);
3654 gvm_get_sync_script_description (
const gchar *, gchar **);
3657 gvm_get_sync_script_feed_version (
const gchar *, gchar **);
3660 nvts_feed_info (gchar **, gchar **, gchar **, gchar **);
3663 nvts_check_feed (
int *,
int *, gchar **);
3666 manage_update_nvts_osp (
const gchar *);
3678 manage_run_wizard (
const gchar *,
int (*) (
void*, gchar*, gchar**),
3679 void *, array_t *,
int,
const char*,
3680 gchar **, gchar **, gchar **);
3689 column_is_timestamp (
const char*);
3692 type_columns (
const char *);
3695 type_trash_columns (
const char *);
3704 manage_optimize (GSList *,
const db_conn_info_t *,
const gchar *);
3715 get_vt_verification_collation ();
3718 set_vt_verification_collation (
const char *);
int group_in_use(group_t group)
Check whether a group is in use.
Definition: manage_sql.c:41887
int move_task(const char *task_id, const char *slave_id)
Reassign a task to another slave.
Definition: manage.c:3691
void init_nvt_dfn_cert_adv_iterator(iterator_t *iterator, const char *oid)
Initialise an DFN-CERT iterator, for advisories relevant to a NVT.
Definition: manage_sql_secinfo.c:1178
const char * override_iterator_new_threat(iterator_t *iterator)
Get the threat from an override iterator.
Definition: manage_sql.c:38125
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
int target_iterator_esxi_credential(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:32171
double aggregate_iterator_max(iterator_t *iterator, int data_column_index)
Get the maximum from an aggregate iterator.
Definition: manage_sql.c:5578
int modify_scanner(const char *scanner_id, const char *name, const char *comment, const char *host, const char *port, const char *type, const char *ca_pub, const char *credential_id)
Modify an scanner.
Definition: manage_sql.c:38993
int init_aggregate_iterator(iterator_t *iterator, const char *type, const get_data_t *get, int distinct, GArray *data_columns, const char *group_column, const char *subgroup_column, GArray *text_columns, GArray *sort_data, int first_group, int max_groups, const char *extra_tables, const char *given_extra_where)
Initialise a GET_AGGREGATES iterator, including observed resources.
Definition: manage_sql.c:5151
double result_iterator_severity_double(iterator_t *iterator)
Get the severity from a result iterator as double.
Definition: manage_sql.c:22695
const char * result_iterator_level(iterator_t *iterator)
Get the severity/threat level from a result iterator.
Definition: manage_sql.c:22714
void init_nvt_iterator(iterator_t *iterator, nvt_t nvt, config_t config, const char *family, const char *category, int ascending, const char *sort_field)
Initialise an NVT iterator.
Definition: manage_sql_nvts.c:748
int start_task(const char *task_id, char **report_id)
Start a task.
Definition: manage.c:3504
int delete_report(const char *report_id, int dummy)
Delete a report.
Definition: manage_sql.c:24485
const char * alert_data_iterator_name(iterator_t *iterator)
Return the name from an alert data iterator.
Definition: manage_sql.c:8418
char * report_finished_hosts_str(report_t report)
Get a list string of finished hosts in a report.
Definition: manage_sql.c:25875
int config_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql_configs.c:4096
int manage_count_hosts(const char *given_hosts, const char *exclude_hosts)
Return number of hosts described by a hosts string.
Definition: manage_sql.c:30329
Lockfile.
Definition: utils.h:61
const char * aggregate_iterator_subgroup_value(iterator_t *iterator)
Get the value of the subgroup column from an aggregate iterator.
Definition: manage_sql.c:5667
char * scanner_uuid(scanner_t scanner)
Return the UUID of a scanner.
Definition: manage_sql.c:39701
char * port
Port.
Definition: manage.h:1195
int delete_task(task_t task, int ultimate)
Complete deletion of a task.
Definition: manage_sql.c:29594
char * credential_iterator_deb(iterator_t *iterator)
Get the deb from a Credential iterator.
Definition: manage_sql.c:35542
int target_iterator_ssh_credential(iterator_t *iterator)
Get the SSH LSC credential from a target iterator.
Definition: manage_sql.c:31996
char * ip
IP.
Definition: manage.h:1207
int modify_role(const char *role_id, const char *name, const char *comment, const char *users)
Modify a role.
Definition: manage_sql.c:44599
int init_cve_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise a info iterator.
Definition: manage_sql_secinfo.c:702
int nvt_info_count_after(const get_data_t *get, time_t count_time, gboolean get_modified)
Count number of nvts created or modified after a given time.
Definition: manage_sql_nvts.c:504
alert_condition_t alert_condition_from_name(const char *name)
Get an alert condition from a name.
Definition: manage.c:1428
gchar * manage_clean_filter(const gchar *filter)
Clean a filter.
Definition: manage_sql.c:2371
int create_group(const char *group_name, const char *comment, const char *users, int special_full, group_t *group)
Create a group.
Definition: manage_sql.c:41594
char * task_config_uuid(task_t task)
Return the UUID of the config of a task.
Definition: manage_sql.c:17440
int credential_iterator_allow_insecure(iterator_t *iterator)
Get the login from a Credential iterator.
Definition: manage_sql.c:35373
char * host
Host.
Definition: manage.h:1191
int resume_task(const char *task_id, char **report_id)
Resume a task.
Definition: manage.c:3657
int order
The sort order.
Definition: manage.h:3565
int nvt_preference_count(const char *oid)
Get the number preferences available for an NVT.
Definition: manage_sql_configs.c:1935
int manage_schema(gchar *format, gchar **output_return, gsize *output_length, gchar **extension, gchar **content_type)
Generate the GMP schema.
Definition: manage_sql.c:45704
int nvt_selector_iterator_type(iterator_t *iterator)
Get the type from an NVT selector.
Definition: manage_sql_configs.c:365
const char * type_name_plural(const char *type)
Return the plural name of a resource type.
Definition: manage.c:701
int create_asset_report(const char *report_id, const char *term)
Create all available assets from a report.
Definition: manage_sql.c:48732
int create_override(const char *active, const char *nvt, const char *text, const char *hosts, const char *port, const char *threat, const char *new_threat, const char *severity, const char *new_severity, task_t task, result_t result, override_t *override)
Create an override.
Definition: manage_sql.c:36989
int info_name_count(const char *type, const char *name)
Count number of info of a given subtype with a given name.
Definition: manage_sql.c:5832
int modify_target(const char *target_id, const char *name, const char *hosts, const char *exclude_hosts, const char *comment, const char *port_list_id, const char *ssh_credential_id, const char *ssh_elevate_credential_id, const char *ssh_port, const char *smb_credential_id, const char *esxi_credential_id, const char *snmp_credential_id, const char *reverse_lookup_only, const char *reverse_lookup_unify, const char *alive_tests, const char *allow_simultaneous_ips)
Modify a target.
Definition: manage_sql.c:31243
int manage_empty_trashcan()
Empty the trashcan.
Definition: manage_sql.c:46875
void reset_task(task_t task)
Reset all running information for a task.
Definition: manage_sql.c:29886
void manage_session_set_timezone(const char *zone)
Setup session timezone.
Definition: manage_pg.c:69
Severity data for result count cache.
Definition: manage.h:1009
int scanner_iterator_port(iterator_t *iterator)
Get the port from an scanner iterator.
Definition: manage_sql.c:39393
char * name
Detail name.
Definition: manage.h:1208
void init_alert_data_iterator(iterator_t *iterator, alert_t alert, int trash, const char *table)
Initialise an alert data iterator.
Definition: manage_sql.c:8399
int trash_permission_in_use(permission_t permission)
Return whether a trashcan permission is referenced by a task.
Definition: manage_sql.c:42947
int check_private_key(const char *key_str, const char *key_phrase)
Check that a string represents a valid Private Key.
Definition: manage_sql.c:33549
char * scanner_key_priv(scanner_t scanner)
Return the private key of a scanner.
Definition: manage_sql.c:39812
char * credential_type(credential_t credential)
Get the type of a Credential.
Definition: manage_sql.c:35770
int role_count(const get_data_t *get)
Count number of roles.
Definition: manage_sql.c:44756
gchar * stat
The statistic to sort by.
Definition: manage.h:3564
Data about a report sent by an alert.
Definition: manage.h:394
int create_note(const char *active, const char *nvt, const char *text, const char *hosts, const char *port, const char *severity, const char *threat, task_t task, result_t result, note_t *note)
Create a note.
Definition: manage_sql.c:36024
int modify_permission(const char *permission_id, const char *name_arg, const char *comment, const char *resource_id_arg, const char *resource_type_arg, const char *subject_type, const char *subject_id)
Modify a permission.
Definition: manage_sql.c:43563
int create_credential(const char *name, const char *comment, const char *login, const char *given_password, const char *key_private, const char *key_public, const char *certificate, const char *community, const char *auth_algorithm, const char *privacy_password, const char *privacy_algorithm, const char *given_type, const char *allow_insecure, credential_t *credential)
Create a Credential.
Definition: manage_sql.c:33774
char * scanner_login(scanner_t scanner)
Return the login associated with a scanner.
Definition: manage_sql.c:39851
int create_scanner(const char *name, const char *comment, const char *host, const char *port, const char *type, scanner_t *new_scanner, const char *ca_pub, const char *credential_id)
Create a scanner.
Definition: manage_sql.c:38868
const char * filter_iterator_type(iterator_t *iterator)
Get the type from a filter iterator.
Definition: manage_sql.c:45481
int task_last_report(task_t task, report_t *report)
Get the report from the most recently completed invocation of task.
Definition: manage_sql.c:17944
int manage_cert_loaded()
Check whether CERT is available.
Definition: manage_pg.c:3385
int nvt_selector_family_count(const char *quoted_selector, int families_growing)
Get the number of families selected by an NVT selector.
Definition: manage_sql_configs.c:159
int credential_target_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:35872
gchar * port
The database port or socket file extension.
Definition: manage.h:50
gchar * manage_report(report_t report, report_t delta_report, const get_data_t *get, const report_format_t report_format, int notes_details, int overrides_details, gsize *output_length, gchar **extension, gchar **content_type, gchar **filter_term_return, gchar **zone_return, gchar **host_summary)
Generate a report.
Definition: manage_sql.c:28399
char * openvas_default_scanner_host()
Get the default scanner path or host.
Definition: manage_sql.c:39955
gchar * filter_term(const char *uuid)
Return the term of a filter.
Definition: manage_sql.c:44877
int secinfo_count_after(const get_data_t *get, const char *type, time_t count_time, gboolean get_modified)
Count number of SecInfo items created or modified after a given time.
Definition: manage_sql_secinfo.c:1217
void init_host_identifier_iterator(iterator_t *iterator, host_t host, int ascending, const char *sort_field)
Initialise a host identifier iterator.
Definition: manage_sql.c:47933
const char * manage_scap_update_time()
GET SCAP update time, as a string.
Definition: manage.c:5809
void init_setting_iterator(iterator_t *iterator, const char *uuid, const char *filter, int first, int max, int ascending, const char *sort_field)
Initialise a setting iterator, including observed settings.
Definition: manage_sql.c:49403
char * scanner_password(scanner_t scanner)
Return the password associated with a scanner.
Definition: manage_sql.c:39869
int delete_scanner(const char *scanner_id, int ultimate)
Delete a scanner.
Definition: manage_sql.c:39175
const char * event_name(event_t event)
Get the name of an alert event.
Definition: manage.c:1285
gchar * remote_filename
Path or filename to send to / as.
Definition: manage.h:396
void init_nvt_severity_iterator(iterator_t *iterator, const char *oid)
Initialise an NVT severity iterator.
Definition: manage_sql_nvts.c:1722
const char * severity_to_type(double severity)
Get the message type matching a severity score.
Definition: manage.c:910
int create_task_check_scanner_type(scanner_t scanner)
Check if the scanner type is valid for a task.
Definition: manage_sql_configs.c:2732
int scanner_type(scanner_t scanner)
Return the type of a scanner.
Definition: manage_sql.c:39759
char * report_uuid(report_t report)
Return the UUID of a report.
Definition: manage_sql.c:20782
gboolean next_report(iterator_t *iterator, report_t *report)
Read the next report from an iterator.
Definition: manage_sql.c:21383
char * qod
QoD (quality of detection).
Definition: manage.h:1196
char * filter_name(filter_t filter)
Return the name of a filter.
Definition: manage_sql.c:44849
int alert_iterator_condition(iterator_t *iterator)
Return the condition from an alert iterator.
Definition: manage_sql.c:8233
void hosts_set_max_severity(report_t report, int *overrides_arg, int *min_qod_arg)
Set the maximum severity of each host in a scan.
Definition: manage_sql.c:47514
char * task_hosts_ordering(task_t task)
Return the hosts ordering of a task.
Definition: manage_sql.c:17370
gchar * credential_iterator_formats_xml(iterator_t *iterator)
Get XML of available formats for a credential iterator.
Definition: manage_sql.c:35673
void cleanup_report_type_iterator(report_type_iterator_t *iterator)
Cleanup a report type iterator.
Definition: manage.c:4135
int scanner_count(const get_data_t *get)
Count number of scanners.
Definition: manage_sql.c:39939
int target_in_use(target_t target)
Return whether a target is in use by a task.
Definition: manage_sql.c:32643
void init_task_group_iterator(iterator_t *iterator, task_t task)
Initialise a task group iterator.
Definition: manage_sql.c:6283
void init_cpe_cve_iterator(iterator_t *iterator, const char *cve, int ascending, const char *sort_field)
Initialise an CVE iterator, for CVEs reported for a certain CPE.
Definition: manage_sql_secinfo.c:619
int set_task_observers(task_t task, const gchar *observers)
Set the observers of a task.
Definition: manage_sql.c:18566
int alert_iterator_active(iterator_t *iterator)
Return the active state from an alert.
Definition: manage_sql.c:8380
const char * alert_task_iterator_name(iterator_t *iterator)
Return the name from an alert task iterator.
Definition: manage_sql.c:14503
void set_scan_start_time_ctime(report_t report, const char *timestamp)
Set the start time of a scan.
Definition: manage_sql.c:23588
void set_task_target(task_t task, target_t target)
Set the target of a task.
Definition: manage_sql.c:17534
void init_severity_data(severity_data_t *data)
Initialize a severity data structure.
Definition: manage.c:1062
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
const char * tls_certificate_format_str(gnutls_x509_crt_fmt_t certificate_format)
Get a string representation of a certificate format.
Definition: manage_tls_certificates.c:134
int task_schedule_in_trash(task_t task)
Get whether the task schedule is in the trash.
Definition: manage_sql.c:18412
int init_asset_host_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a host iterator.
Definition: manage_sql.c:48185
char * target_exclude_hosts(target_t target)
Return the excluded hosts associated with a target.
Definition: manage_sql.c:32416
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
void init_target_iterator_one(iterator_t *iterator, target_t target)
Initialise a target iterator, given a single target.
Definition: manage_sql.c:31935
char * nvt_preference_iterator_real_name(iterator_t *iterator)
Get the real name from an NVT preference iterator.
Definition: manage_sql_configs.c:1801
int delete_filter(const char *filter_id, int ultimate)
Delete a filter.
Definition: manage_sql.c:45098
void init_config_task_iterator(iterator_t *iterator, config_t config, int ascending)
Initialise a config task iterator.
Definition: manage_sql_configs.c:4037
int target_iterator_ssh_elevate_credential(iterator_t *iterator)
Get the ELEVATE LSC credential from a target iterator.
Definition: manage_sql.c:32235
int manage_scap_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5907
int modify_schedule(const char *schedule_id, const char *name, const char *comment, const char *ical_string, const char *zone, gchar **error_out)
Modify a schedule.
Definition: manage_sql.c:41229
void set_scan_host_end_time(report_t report, const char *host, const char *timestamp)
Set the end time of a scanned host.
Definition: manage_sql.c:23708
void trim_partial_report(report_t report)
Prepare a partial report for resumption of the scan.
Definition: manage_sql.c:24619
int task_in_trash_id(const gchar *task_id)
Return whether a task is in the trashcan.
Definition: manage_sql.c:17297
int manage_max_hosts()
Get the maximum allowed number of hosts per target.
Definition: manage_sql.c:30288
const char * alert_task_iterator_uuid(iterator_t *iterator)
Return the uuid from an alert task iterator.
Definition: manage_sql.c:14519
int result_iterator_may_have_overrides(iterator_t *iterator)
Get whether overrides may exist from a result iterator.
Definition: manage_sql.c:22814
gchar * alert_condition_description(alert_condition_t condition, alert_t alert)
Get a description of an alert condition.
Definition: manage.c:1308
gchar * credential_encrypted_value(credential_t credential, const char *value_name)
Get a possibly encrypted credential value in decrypted form.
Definition: manage_sql.c:34969
void hosts_set_identifiers(report_t report)
Setup hosts and their identifiers after a scan, from host details.
Definition: manage_sql.c:47243
int integer_value
Integer value of the keyword.
Definition: manage.h:2987
int manage_task_update_file(const gchar *task_id, const char *name, const void *content)
Add a file to a task, or update the file on the task.
Definition: manage_sql.c:29905
const char * result_iterator_original_level(iterator_t *iterator)
Get the original severity/threat level from a result iterator.
Definition: manage_sql.c:22643
int task_last_resumable_report(task_t task, report_t *report)
Get the report from the most recently stopped invocation of task.
Definition: manage_sql.c:18041
char * task_owner_name(task_t task)
Return the name of the owner of a task.
Definition: manage_sql.c:17312
int permission_writable(permission_t permission)
Return whether a permission is writable.
Definition: manage_sql.c:42960
int manage_report_host_detail(report_t report, const char *host, const char *xml)
Add a host detail to a report host.
Definition: manage_sql.c:47907
gboolean find_scanner_with_permission(const char *uuid, scanner_t *scanner, const char *permission)
Find a scanner for a specific permission, given a UUID.
Definition: manage_sql.c:38798
int asset_os_count(const get_data_t *get)
Count number of oss.
Definition: manage_sql.c:48509
int setting_count(const char *filter)
Count number of settings.
Definition: manage_sql.c:49301
void add_task_alert(task_t task, alert_t alert)
Add an alert to a task.
Definition: manage_sql.c:18091
char * target_name(target_t target)
Return the name of a target.
Definition: manage_sql.c:32319
int init_report_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a report iterator, including observed reports.
Definition: manage_sql.c:21296
void set_scan_host_end_time_ctime(report_t report, const char *host, const char *timestamp)
Set the end time of a scanned host.
Definition: manage_sql.c:23732
void insert_report_host_detail(report_t report, const char *host, const char *s_type, const char *s_name, const char *s_desc, const char *name, const char *value)
Insert a host detail into a report.
Definition: manage_sql.c:20284
report_t result_iterator_report(iterator_t *iterator)
Get the report from a result iterator.
Definition: manage_sql.c:22573
char * trash_credential_uuid(credential_t credential)
Get the UUID of a Credential in the trashcan.
Definition: manage_sql.c:35726
gchar * truncate_certificate(const gchar *certificate)
Truncate a certificate, removing extra data.
Definition: manage.c:212
int alert_writable(alert_t alert)
Return whether a alert is writable.
Definition: manage_sql.c:8163
int trash_task_writable(task_t task)
Return whether a trashcan task is writable.
Definition: manage_sql.c:15203
int permission_in_use(permission_t permission)
Return whether a permission is in use.
Definition: manage_sql.c:42934
int target_iterator_snmp_credential(iterator_t *iterator)
Get the SNMP LSC credential from a target iterator.
Definition: manage_sql.c:32203
gboolean find_resource(const char *type, const char *uuid, resource_t *resource)
Find a resource given a UUID.
Definition: manage_sql.c:4128
gchar * filter_term_value(const char *term, const char *column)
Return the value of a column keyword of a filter term.
Definition: manage_sql.c:44896
int manage_restore(const char *id)
Restore a resource from the trashcan.
Definition: manage_sql.c:45914
void set_task_end_time_epoch(task_t task, time_t time)
Set the end time of a task.
Definition: manage_sql.c:23512
gboolean find_note_with_permission(const char *uuid, note_t *note, const char *permission)
Find a note for a specific permission, given a UUID.
Definition: manage_sql.c:35966
gchar * host
The database host or socket directory.
Definition: manage.h:49
void set_db_version(int version)
Set the database version of the actual database.
Definition: manage_sql.c:5966
void set_scan_ports(report_t report, const char *host, unsigned int current, unsigned int max)
Set the ports for a particular host in a scan.
Definition: manage_sql.c:29770
scanner_t task_scanner(task_t task)
Return the scanner of a task.
Definition: manage_sql.c:17580
A generic SQL iterator structure.
Definition: iterator.h:49
int filter_count(const get_data_t *get)
Count number of filters.
Definition: manage_sql.c:45435
const char * result_iterator_original_severity(iterator_t *iterator)
Get the original severity from a result iterator.
Definition: manage_sql.c:22620
int trash_credential_writable(credential_t credential)
Check whether a trashcan Credential is writable.
Definition: manage_sql.c:34935
const char * result_iterator_nvt_name(iterator_t *iterator)
Get the NVT name from a result iterator.
Definition: manage_sql.c:22942
void init_manage_process(const db_conn_info_t *database)
Initialize the manage library for a process.
Definition: manage_sql.c:15287
void report_add_results_array(report_t report, GArray *results)
Add results from an array to a report.
Definition: manage_sql.c:21036
int permission_is_admin(const char *permission_id)
Test whether a permission is the special Admin permission.
Definition: manage_sql.c:42919
const char * alert_data_iterator_data(iterator_t *iterator)
Return the data from an alert data iterator.
Definition: manage_sql.c:8435
int init_result_get_iterator(iterator_t *iterator, const get_data_t *get, report_t report, const char *host, const gchar *extra_order)
Initialise a result iterator.
Definition: manage_sql.c:22319
gchar * column
The column prefix, or NULL.
Definition: manage.h:2984
result_t result_iterator_result(iterator_t *iterator)
Get the result from a result iterator.
Definition: manage_sql.c:22474
int result_uuid(result_t result, char **id)
Return the UUID of a result.
Definition: manage_sql.c:19481
gchar * summary
Summary of command.
Definition: manage.h:153
int target_iterator_ssh_trash(iterator_t *iterator)
Get the location of the SSH LSC credential from a target iterator.
Definition: manage_sql.c:32037
int schedule_writable(schedule_t schedule)
Return whether a schedule is writable.
Definition: manage_sql.c:40614
int trash_filter_in_use(filter_t filter)
Check whether a trashcan filter is in use.
Definition: manage_sql.c:45353
const char * override_iterator_threat(iterator_t *iterator)
Get the threat from a override iterator.
Definition: manage_sql.c:38109
gchar * name
Name.
Definition: manage.h:115
int * counts
Counts.
Definition: manage.h:1011
int init_task_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a task iterator.
Definition: manage_sql.c:14947
int get_scanner_connection_retry()
Get the number of retries on a scanner connection lost.
Definition: manage.c:2824
time_t nvts_feed_version_epoch()
Return feed version of the plugins as seconds since epoch.
Definition: manage_sql_nvts.c:186
int filter_in_use(filter_t filter)
Check whether a filter is in use.
Definition: manage_sql.c:45263
int filter_term_min_qod(const char *term)
Return the value of the min_qod keyword of a filter term.
Definition: manage_sql.c:44961
gchar * manage_user_hash(const gchar *username)
Get user hash.
Definition: manage_sql.c:16669
int asset_host_count(const get_data_t *get)
Count number of hosts.
Definition: manage_sql.c:48258
int delete_alert(const char *alert_id, int ultimate)
Delete an alert.
Definition: manage_sql.c:7806
const char * result_iterator_nvt_solution_method(iterator_t *iterator)
Get the NVT solution_method from a result iterator.
Definition: manage_sql.c:22970
task_t make_task(char *name, char *comment, int in_assets, int event)
Make a task.
Definition: manage_sql.c:29137
task_t current_scanner_task
The task currently running on the scanner.
Definition: manage.c:1206
int trash_group_writable(group_t group)
Check whether a trashcan group is writable.
Definition: manage_sql.c:41874
void set_nvts_feed_version(const char *feed_version)
Set the feed version of the plugins in the plugin cache.
Definition: manage_sql_nvts.c:212
gboolean find_trash_task_with_permission(const char *uuid, task_t *task, const char *permission)
Find a task in the trashcan for a specific permission, given a UUID.
Definition: manage_sql.c:29804
void append_to_task_comment(task_t task, const char *text, int length)
Append text to the comment associated with a task.
Definition: manage_sql.c:29756
void xml_append_nvt_refs(GString *xml, const char *oid, int *first)
Append an NVT's references to an XML string buffer.
Definition: manage_sql.c:22984
void set_relay_migrate_sensors(int new_value)
Sets whether to migrate sensors if relays do not match.
Definition: manage.c:3193
int report_result_host_count(report_t report, int min_qod)
Count a report's total number of hosts with results.
Definition: manage_sql.c:25733
char * credential_name(credential_t credential)
Get the name of an LSC credential.
Definition: manage_sql.c:35741
char * alert_iterator_filter_name(iterator_t *iterator)
Return the filter name from an alert iterator.
Definition: manage_sql.c:8304
int report_counts_id(report_t report, int *holes, int *infos, int *logs, int *warnings, int *false_positives, double *severity, const get_data_t *get, const char *host)
Get only the filtered message counts for a report.
Definition: manage_sql.c:24315
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 filter_free(array_t *split)
Free a split filter.
Definition: manage_sql.c:1575
int permission_iterator_resource_orphan(iterator_t *iterator)
Check if the permission resource has been deleted.
Definition: manage_sql.c:43222
int trash_target_writable(target_t target)
Return whether a trashcan target is writable.
Definition: manage_sql.c:32689
int modify_note(const gchar *note_id, const char *active, const char *nvt, const char *text, const char *hosts, const char *port, const char *severity, const char *threat, const gchar *task_id, const gchar *result_id)
Modify a note.
Definition: manage_sql.c:36255
char * task_config_name(task_t task)
Return the name of the config of a task.
Definition: manage_sql.c:17459
int modify_filter(const char *filter_id, const char *name, const char *comment, const char *term, const char *type)
Modify a filter.
Definition: manage_sql.c:45594
void hosts_set_details(report_t report)
Store certain host details in the assets after a scan.
Definition: manage_sql.c:47589
int trash_scanner_writable(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:39649
const char * alert_method_name(alert_method_t method)
Get the name of an alert method.
Definition: manage.c:1400
char * result_host_asset_id(const char *host, result_t result)
Return the UUID of the asset associated with a result host.
Definition: manage_sql.c:47079
void manage_auth_allow_all(int scheduled)
Ensure that any subsequent authentications succeed.
Definition: manage.c:4462
gboolean manage_migrate_needs_timezone(GSList *log_config, const db_conn_info_t *database)
Check whether the migration needs the real timezone.
Definition: manage_migrators.c:3013
int trash_role_in_use(role_t role)
Check whether a trashcan role is in use.
Definition: manage_sql.c:44581
int host_iterator_max_port(iterator_t *iterator)
Get the max port from a host iterator.
Definition: manage_sql.c:23240
int note_iterator_active(iterator_t *iterator)
Get the active status from an note iterator.
Definition: manage_sql.c:36897
int trash_schedule_writable(schedule_t schedule)
Return whether a trashcan schedule is writable.
Definition: manage_sql.c:40627
gchar * certificate_iso_time(time_t time)
Converts a certificate time to an ISO time string.
Definition: manage.c:556
char * threat
Threat.
Definition: manage.h:1199
int override_uuid(override_t override, char **id)
Return the UUID of an override.
Definition: manage_sql.c:37164
int manage_verify_scanner(GSList *log_config, const db_conn_info_t *database, const gchar *uuid)
Verify the given scanner.
Definition: manage_sql.c:38745
char * scanner_host(scanner_t scanner)
Return the host of a scanner.
Definition: manage_sql.c:39726
char * trash_schedule_uuid(schedule_t schedule)
Return the UUID of a trash schedule.
Definition: manage_sql.c:40679
int alert_iterator_filter_trash(iterator_t *iterator)
Return the location of an alert iterator filter.
Definition: manage_sql.c:8329
char * nvt_preference_iterator_type(iterator_t *iterator)
Get the type from an NVT preference iterator.
Definition: manage_sql_configs.c:1826
const char * task_iterator_usage_type(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15123
int init_schedule_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a schedule iterator.
Definition: manage_sql.c:40840
report_t global_current_report
The report of the current task.
Definition: manage.c:1211
double max
Max.
Definition: manage.h:1013
int nvt_iterator_category(iterator_t *iterator)
Get the category from an NVT iterator.
Definition: manage_sql_nvts.c:884
gboolean find_report_with_permission(const char *uuid, report_t *report, const char *permission)
Find a report for a specific permission, given a UUID.
Definition: manage_sql.c:29857
int trash_permission_writable(permission_t permission)
Return whether a trashcan permission is writable.
Definition: manage_sql.c:42975
gchar * host_routes_xml(host_t host)
Get XML of a detailed host route.
Definition: manage_sql.c:47642
int manage_scap_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5896
report_t task_iterator_current_report(iterator_t *iterator)
Return the current report of a task.
Definition: manage_sql.c:17799
void init_scanner_task_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner task iterator.
Definition: manage_sql.c:39538
void set_task_start_time_ctime(task_t task, char *time)
Set the start time of a task.
Definition: manage_sql.c:17888
int task_schedule_next_time(task_t task)
Get next time a scheduled task will run, following schedule timezone.
Definition: manage_sql.c:18462
keyword_type_t type
Type of keyword.
Definition: manage.h:2991
int trash_credential_in_use(credential_t credential)
Check whether a trashcan Credential is in use.
Definition: manage_sql.c:34885
char * tag_uuid(tag_t tag)
Return the UUID of a tag.
Definition: manage_sql.c:32277
int total
Total.
Definition: manage.h:1012
int modify_asset(const char *asset_id, const char *comment)
Modify an asset.
Definition: manage_sql.c:48851
int host_iterator_current_port(iterator_t *iterator)
Get the current port from a host iterator.
Definition: manage_sql.c:23224
const char * get_relay_mapper_path()
Gets the current path of the relay mapper executable.
Definition: manage.c:3159
void manage_transaction_stop(gboolean force_commit)
Commit the current transaction, if any.
Definition: manage_sql.c:30456
int role_in_use(role_t role)
Check whether a role is in use.
Definition: manage_sql.c:44568
int manage_check_alerts(GSList *log_config, const db_conn_info_t *database)
Check if any SecInfo alerts are due.
Definition: manage_sql.c:6419
int init_override_iterator(iterator_t *iterator, const get_data_t *get, nvt_t nvt, result_t result, task_t task)
Initialise an override iterator.
Definition: manage_sql.c:37936
const gchar * get_scheduled_user_uuid()
Access UUID of user that scheduled the current task.
Definition: manage.c:4473
char * scanner_name(scanner_t scanner)
Return the name of a scanner.
Definition: manage_sql.c:39687
int modify_task_check_config_scanner(task_t task, const char *config_id, const char *scanner_id)
Check scanner and config values match for a task.
Definition: manage_sql_configs.c:2759
int family_nvt_count(const char *family)
Get the number of NVTs in one or all families.
Definition: manage_sql_nvts.c:1055
int init_group_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a group iterator, including observed groups.
Definition: manage_sql.c:41956
gboolean report_task(report_t report, task_t *task)
Return the task of a report.
Definition: manage_sql.c:20797
int manage_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5870
A command.
Definition: manage.h:150
int init_scanner_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an scanner iterator.
Definition: manage_sql.c:39365
time_t override_iterator_end_time(iterator_t *iterator)
Get the end time from an override iterator.
Definition: manage_sql.c:38170
int filter_writable(filter_t filter)
Check whether a filter is writable.
Definition: manage_sql.c:45381
void init_nvt_selector_iterator(iterator_t *iterator, const char *selector, config_t config, int type)
Initialise an NVT selector iterator.
Definition: manage_sql_configs.c:289
void init_report_errors_iterator(iterator_t *iterator, report_t report)
Initialise a report errors iterator.
Definition: manage_sql.c:23266
int host_identifier_iterator_source_orphan(iterator_t *iterator)
Get the source orphan state from a host identifier iterator.
Definition: manage_sql.c:48035
const char * credential_iterator_private_key(iterator_t *iterator)
Get the private_key from a Credential iterator.
Definition: manage_sql.c:35454
gboolean find_credential_with_permission(const char *uuid, credential_t *credential, const char *permission)
Find a credential for a specific permission, given a UUID.
Definition: manage_sql.c:33594
const char * task_iterator_first_report(iterator_t *iterator)
Get the first report UUID from a task iterator.
Definition: manage_sql.c:15039
int target_iterator_ssh_elevate_trash(iterator_t *iterator)
Get the ELEVATE LSC credential location from a target iterator.
Definition: manage_sql.c:32251
Headers for Greenbone Vulnerability Manager: General utilities.
void clear_duration_schedules(task_t task)
Clear once-off schedules from tasks where the duration has passed.
Definition: manage_sql.c:18706
void init_nvt_preference_iterator(iterator_t *iterator, const char *oid)
Initialise an NVT preference iterator.
Definition: manage_sql_configs.c:1730
int manage_task_remove_file(const gchar *task_id, const char *name)
Remove a file on a task.
Definition: manage_sql.c:29962
int permission_iterator_subject_readable(iterator_t *iterator)
Get the readable status of a subject from a permission iterator.
Definition: manage_sql.c:43317
int schedule_period(schedule_t schedule)
Return the period of a schedule.
Definition: manage_sql.c:40721
void set_task_scanner(task_t task, scanner_t scanner)
Set the scanner of a task.
Definition: manage_sql.c:17605
gchar * name
Command name.
Definition: manage.h:152
void set_scan_host_start_time_ctime(report_t report, const char *host, const char *timestamp)
Set the start time of a scanned host.
Definition: manage_sql.c:23756
int permission_iterator_resource_in_trash(iterator_t *iterator)
Return the permission resource location.
Definition: manage_sql.c:43208
const char * override_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a override iterator.
Definition: manage_sql.c:38212
const char * credential_full_type(const char *abbreviation)
Get the written-out name of an LSC Credential type.
Definition: manage.c:3811
int trash_scanner_in_use(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:39620
int modify_override(const gchar *override_id, const char *active, const char *nvt, const char *text, const char *hosts, const char *port, const char *threat, const char *new_threat, const char *severity, const char *new_severity, const gchar *task_id, const gchar *result_id)
Modify an override.
Definition: manage_sql.c:37323
int scanner_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:39592
int alert_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:14535
void set_relay_mapper_path(const char *new_path)
Gets the current path of the relay mapper executable.
Definition: manage.c:3170
char * alert_iterator_filter_uuid(iterator_t *iterator)
Return the filter UUID from an alert iterator.
Definition: manage_sql.c:8279
int get_schedule_timeout()
Get the current schedule timeout.
Definition: manage.c:5276
int osp_get_details_from_iterator(iterator_t *iterator, char **desc, GSList **params)
Get an OSP Scanner's get_scanner_details info.
Definition: manage_sql.c:40152
void alert_report_data_free(alert_report_data_t *data)
Frees a alert_report_data_t struct, including contained data.
Definition: manage.c:1222
int target_iterator_snmp_trash(iterator_t *iterator)
Get the SNMP LSC credential location from a target iterator.
Definition: manage_sql.c:32219
time_t note_iterator_end_time(iterator_t *iterator)
Get the end time from an note iterator.
Definition: manage_sql.c:36881
char * target_reverse_lookup_only(target_t target)
Return the reverse_lookup_only value of a target.
Definition: manage_sql.c:32430
char * description
Description of NVT.
Definition: manage.h:1190
int credential_scanner_iterator_readable(iterator_t *iterator)
Get the read permission status from a Credential Scanner iterator.
Definition: manage_sql.c:35947
int authenticate(credentials_t *credentials)
Authenticate credentials.
Definition: manage_sql.c:17070
int init_manage(GSList *log_config, const db_conn_info_t *database, int max_ips_per_target, int max_email_attachment_size, int max_email_include_size, int max_email_message_size, manage_connection_forker_t fork_connection, int skip_db_check)
Initialize the manage library.
Definition: manage_sql.c:16530
int report_host_noticeable(report_t report, const gchar *host)
Check if a report host is alive and has at least one result.
Definition: manage_sql.c:28809
int scanner_type_valid(scanner_type_t scanner_type)
Check if a scanner type is valid.
Definition: manage.c:803
int scanner_iterator_type(iterator_t *iterator)
Get the type from an scanner iterator.
Definition: manage_sql.c:39409
int target_iterator_port_list_trash(iterator_t *iterator)
Get the location of the port list from a target iterator.
Definition: manage_sql.c:32087
int init_manage_helper(GSList *log_config, const db_conn_info_t *database, int max_ips_per_target)
Initialize the manage library for a helper program.
Definition: manage_sql.c:16563
char * trash_scanner_name(scanner_t scanner)
Return the name of a scanner in the trashcan.
Definition: manage_sql.c:39911
task_status_t task_iterator_run_status(iterator_t *iterator)
Get the run status from a task iterator.
Definition: manage_sql.c:15009
A CREATE_REPORT result.
Definition: manage.h:1188
int permission_iterator_resource_readable(iterator_t *iterator)
Get the readable status of a resource from a permission iterator.
Definition: manage_sql.c:43236
void set_scan_start_time_epoch(report_t report, time_t timestamp)
Set the start time of a scan.
Definition: manage_sql.c:23575
gchar * field
The field to sort by.
Definition: manage.h:3563
void init_target_task_iterator(iterator_t *iterator, target_t target)
Initialise a target task iterator.
Definition: manage_sql.c:32703
int init_asset_os_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an OS iterator.
Definition: manage_sql.c:48409
char * source_type
Source type.
Definition: manage.h:1211
int schedule_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:41206
int nvt_selector_nvt_count(const char *selector, const char *family, int growing)
Get the number of NVTs selected by an NVT selector.
Definition: manage_sql_configs.c:615
char * scanner_ca_pub(scanner_t scanner)
Return the CA Certificate of a scanner.
Definition: manage_sql.c:39779
int cleanup_result_nvts()
Check if the result_nvts are assigned to result.
Definition: manage_sql.c:23013
void host_detail_free(host_detail_t *detail)
Free a host detail.
Definition: manage_sql.c:20262
void init_filter_alert_iterator(iterator_t *iterator, filter_t filter)
Initialise a filter alert iterator.
Definition: manage_sql.c:45508
gboolean find_task_with_permission(const char *uuid, task_t *task, const char *permission)
Find a task for a specific permission, given a UUID.
Definition: manage_sql.c:29788
void set_task_alterable(task_t task, int alterable)
Set the alterable state of a task.
Definition: manage_sql.c:18157
void report_compliance_by_uuid(const char *report_id, int *compliance_yes, int *compliance_no, int *compliance_incomplete)
Get compliance counts for a report.
Definition: manage_sql.c:20826
int result_detection_reference(result_t result, report_t report, const char *host, const char *port, const char *path, char **oid, char **ref, char **product, char **location, char **name)
Get product detection results corresponding to a given vulnerability detection result.
Definition: manage_sql.c:19506
int scan_host_end_time(report_t report, const char *host)
Get the end time of a scanned host.
Definition: manage_sql.c:23687
int equal
Whether the keyword is like "=example".
Definition: manage.h:2986
void init_cve_dfn_cert_adv_iterator(iterator_t *iterator, const char *cve, int ascending, const char *sort_field)
Initialise CVE iterator, for CVEs referenced by a DFN-CERT advisory.
Definition: manage_sql_secinfo.c:1149
command_t gmp_commands[]
The GMP command list.
Definition: manage_sql.c:449
gchar * name
The database name.
Definition: manage.h:48
void set_task_start_time_epoch(task_t task, int time)
Set the start time of a task.
Definition: manage_sql.c:17873
Command data for a get command.
Definition: manage_get.h:34
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
int permission_iterator_subject_in_trash(iterator_t *iterator)
Return the permission subject location.
Definition: manage_sql.c:43303
char * permission_uuid(permission_t permission)
Return the UUID of a permission.
Definition: manage_sql.c:42774
char * schedule_uuid(schedule_t schedule)
Return the UUID of a schedule.
Definition: manage_sql.c:40665
void init_report_host_iterator(iterator_t *iterator, report_t report, const char *host, report_host_t report_host)
Initialise a host iterator.
Definition: manage_sql.c:23091
const char * keyword_relation_symbol(keyword_relation_t relation)
Get the symbol of a keyword relation.
Definition: manage_sql.c:1056
gboolean find_override_with_permission(const char *uuid, override_t *override, const char *permission)
Find a override for a specific permission, given a UUID.
Definition: manage_sql.c:36962
gchar * role_uuid(role_t role)
Gets UUID of role.
Definition: manage_sql.c:44507
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
double aggregate_iterator_min(iterator_t *iterator, int data_column_index)
Get the minimum from an aggregate iterator.
Definition: manage_sql.c:5562
gboolean find_nvt(const char *oid, nvt_t *nvt)
Find an NVT given an identifier.
Definition: manage_sql_nvts.c:233
char * source_oid
source_oid of detection in result.
Definition: manage.h:1223
int init_role_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a role iterator, including observed roles.
Definition: manage_sql.c:44775
void set_credential_privacy_algorithm(credential_t credential, const char *algorithm)
Set the privacy_algorithm of a Credential.
Definition: manage_sql.c:35089
int copy_filter(const char *name, const char *comment, const char *filter_id, filter_t *new_filter)
Create a filter from an existing filter.
Definition: manage_sql.c:45081
void cleanup_manage_process(gboolean cleanup)
Cleanup the manage library.
Definition: manage_sql.c:16594
int group_writable(group_t group)
Check whether a group is writable.
Definition: manage_sql.c:41861
char * target_allow_simultaneous_ips(target_t target)
Return the allow_simultaneous_ips value of a target.
Definition: manage_sql.c:32458
int cve_info_count(const get_data_t *get)
Count number of cve.
Definition: manage_sql_secinfo.c:684
task_t note_iterator_task(iterator_t *iterator)
Get the task from a note iterator.
Definition: manage_sql.c:36852
void update_duration_schedule_periods(task_t task)
Update tasks with limited run schedules which have durations.
Definition: manage_sql.c:18751
int create_alert(const char *name, const char *comment, const char *filter_id, const char *active, event_t event, GPtrArray *event_data, alert_condition_t condition, GPtrArray *condition_data, alert_method_t method, GPtrArray *method_data, alert_t *alert)
Create an alert.
Definition: manage_sql.c:7169
int cert_bund_adv_info_count(const get_data_t *get)
Count number of cert_bund_adv.
Definition: manage_sql_secinfo.c:879
const char * credential_iterator_privacy_password(iterator_t *iterator)
Get the privacy password from a Credential iterator.
Definition: manage_sql.c:35484
int approx
Whether the keyword is like "~example".
Definition: manage.h:2985
int delete_role(const char *role_id, int ultimate)
Delete a role.
Definition: manage_sql.c:44312
gchar * content_type
The MIME content type of the report.
Definition: manage.h:397
gboolean find_target_with_permission(const char *uuid, target_t *target, const char *permission)
Find a target for a specific permission, given a UUID.
Definition: manage_sql.c:30314
int modify_alert(const char *alert_id, const char *name, const char *comment, const char *filter_id, const char *active, event_t event, GPtrArray *event_data, alert_condition_t condition, GPtrArray *condition_data, alert_method_t method, GPtrArray *method_data)
Modify an alert.
Definition: manage_sql.c:7512
Data structure for info used to connect to the database.
Definition: manage.h:47
int task_iterator_total_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15025
double aggregate_iterator_mean(iterator_t *iterator, int data_column_index)
Get the mean from an aggregate iterator.
Definition: manage_sql.c:5594
gboolean find_schedule_with_permission(const char *uuid, schedule_t *schedule, const char *permission)
Find a schedule for a specific permission, given a UUID.
Definition: manage_sql.c:40302
int manage_trash_resource_name(const char *type, const char *uuid, char **name)
Get the name of a trashcan resource.
Definition: manage_sql.c:4703
void init_schedule_task_iterator(iterator_t *iterator, schedule_t schedule)
Initialise a schedule task iterator.
Definition: manage_sql.c:41151
double report_severity(report_t report, int overrides, int min_qod)
Get the maximum severity of a report.
Definition: manage_sql.c:24336
result_t note_iterator_result(iterator_t *iterator)
Get the result from a note iterator.
Definition: manage_sql.c:36866
int delete_asset(const char *asset_id, const char *report_id, int dummy)
Delete an asset.
Definition: manage_sql.c:49009
keyword_relation_t relation
The relation.
Definition: manage.h:2992
int init_filter_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a filter iterator, including observed filters.
Definition: manage_sql.c:45454
int copy_role(const char *name, const char *comment, const char *role_id, role_t *new_role_return)
Create a role from an existing role.
Definition: manage_sql.c:44153
int set_task_schedule_periods_id(task_t task, int periods)
Set the schedule periods of a task, given an ID.
Definition: manage_sql.c:18335
task_status_t task_run_status(task_t task)
Return the run state of a task.
Definition: manage_sql.c:17654
char * filter_uuid(filter_t filter)
Return the UUID of a filter.
Definition: manage_sql.c:44821
void set_task_usage_type(task_t task, const char *usage_type)
Set the usage_type of a task.
Definition: manage_sql.c:17634
gchar * string
The keyword string, outer quotes removed.
Definition: manage.h:2990
char * trash_scanner_uuid(scanner_t scanner)
Return the UUID of a scanner in the trashcan.
Definition: manage_sql.c:39925
int trash_target_in_use(target_t target)
Return whether a trashcan target is referenced by a task.
Definition: manage_sql.c:32660
char * severity
Severity score.
Definition: manage.h:1198
void init_report_iterator_task(iterator_t *iterator, task_t task)
Initialise a report iterator.
Definition: manage_sql.c:21356
int task_alterable(task_t task)
Return whether a task is an Alterable Task.
Definition: manage_sql.c:15173
void cleanup_severity_data(severity_data_t *data)
Clean up a severity data structure.
Definition: manage.c:1079
credential_t scanner_iterator_credential(iterator_t *iterator)
Get the credential of the scanner from a scanner iterator.
Definition: manage_sql.c:39445
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
char * value
Detail value.
Definition: manage.h:1212
int task_in_trash(task_t task)
Return whether a task is in the trashcan.
Definition: manage_sql.c:17280
int override_count(const get_data_t *get, nvt_t nvt, result_t result, task_t task)
Count number of overrides.
Definition: manage_sql.c:37805
int result_iterator_may_have_tickets(iterator_t *iterator)
Get whether tickets may exist from a result iterator.
Definition: manage_sql.c:22828
int trash_scanner_readable(scanner_t scanner)
Return whether a trashcan scanner is readable.
Definition: manage_sql.c:39662
int copy_schedule(const char *name, const char *comment, const char *schedule_id, schedule_t *new_schedule)
Create a schedule from an existing schedule.
Definition: manage_sql.c:40444
int get_relay_migrate_sensors()
Gets whether to migrate sensors if relays do not match.
Definition: manage.c:3182
char * trash_target_name(target_t target)
Return the name of a trashcan target.
Definition: manage_sql.c:32333
gchar ** result_iterator_dfn_certs(iterator_t *iterator)
Get DFN-CERTs from a result iterator.
Definition: manage_sql.c:22928
void set_task_end_time(task_t task, char *time)
Set the end time of a task.
Definition: manage_sql.c:23491
int init_cpe_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise a info iterator.
Definition: manage_sql_secinfo.c:494
gchar * group_users(group_t group)
Gets users of group as a string.
Definition: manage_sql.c:41842
int create_schedule(const char *name, const char *comment, const char *ical_string, const char *zone, schedule_t *schedule, gchar **error_out)
Create a schedule.
Definition: manage_sql.c:40323
int filter_alert_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:45573
int task_uuid(task_t task, char **id)
Return the UUID of a task.
Definition: manage_sql.c:17265
int copy_permission(const char *comment, const char *permission_id, permission_t *new_permission)
Create a permission from an existing permission.
Definition: manage_sql.c:42698
void set_schedule_timeout(int new_timeout)
Set the schedule timeout.
Definition: manage.c:5287
int manage_get_roles(GSList *log_config, const db_conn_info_t *database, int verbose)
List roles.
Definition: manage_sql.c:44115
const char * aggregate_iterator_value(iterator_t *iterator)
Get the value of the group column from a statistics iterator.
Definition: manage_sql.c:5650
int alert_in_use(alert_t alert)
Return whether a alert is in use by a task.
Definition: manage_sql.c:8133
int scanner_iterator_credential_trash(iterator_t *iterator)
Get the credential location of the scanner from a scanner iterator.
Definition: manage_sql.c:39461
char * trash_target_uuid(target_t target)
Return the UUID of a trashcan target.
Definition: manage_sql.c:32305
int trash_alert_writable(alert_t alert)
Return whether a trashcan alert is writable.
Definition: manage_sql.c:8176
static int fork_update_nvt_cache()
Update the NVT cache in a child process.
Definition: gvmd.c:1186
int manage_encrypt_all_credentials(GSList *log_config, const db_conn_info_t *database)
Encrypt or re-encrypt all credentials.
Definition: manage_sql.c:6117
int asset_iterator_in_use(iterator_t *iterator)
Get the "in use" status from an asset iterator.
Definition: manage_sql.c:48234
int request_delete_task(task_t *task_pointer)
Request deletion of a task.
Definition: manage_sql.c:29391
int manage_send_report(report_t report, report_t delta_report, report_format_t report_format, const get_data_t *get, int notes_details, int overrides_details, int result_tags, int ignore_pagination, int lean, int base64, gboolean(*send)(const char *, int(*)(const char *, void *), void *), int(*send_data_1)(const char *, void *), void *send_data_2, const char *alert_id, const gchar *prefix)
Generate a report.
Definition: manage_sql.c:28573
char * task_comment(task_t task)
Return the comment of a task.
Definition: manage_sql.c:17356
char * setting_filter(const char *resource)
Return the uuid of a resource filter from settings.
Definition: manage_sql.c:49341
gboolean credential_iterator_format_available(iterator_t *iterator, credential_format_t format)
Test if a credential format is available for an iterator.
Definition: manage_sql.c:35629
int asset_iterator_writable(iterator_t *iterator)
Get the writable status from an asset iterator.
Definition: manage_sql.c:48220
char * group_uuid(group_t group)
Return the UUID of a group.
Definition: manage_sql.c:41828
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 manage_decrypt_all_credentials(GSList *log_config, const db_conn_info_t *database)
Decrypt all credentials.
Definition: manage_sql.c:6150
int trash_group_in_use(group_t group)
Check whether a trashcan group is in use.
Definition: manage_sql.c:41900
int init_note_iterator(iterator_t *iterator, const get_data_t *get, nvt_t nvt, result_t result, task_t task)
Initialise a note iterator.
Definition: manage_sql.c:36680
result_t make_osp_result(task_t task, const char *host, const char *hostname, const char *nvt, const char *type, const char *description, const char *port, const char *severity, int qod, const char *path)
Make an OSP result.
Definition: manage_sql.c:19003
int resource_count(const char *type, const get_data_t *get)
Return number of resources of a certain type for current user.
Definition: manage_sql.c:17143
const char * result_iterator_severity(iterator_t *iterator)
Get the severity from a result iterator.
Definition: manage_sql.c:22672
int create_permission(const char *name_arg, const char *comment, const char *resource_type_arg, const char *resource_id_arg, const char *subject_type, const char *subject_id, permission_t *permission)
Create a permission.
Definition: manage_sql.c:42637
int alert_iterator_filter_readable(iterator_t *iterator)
Return the filter readable state from an alert iterator.
Definition: manage_sql.c:8347
void init_cve_cert_bund_adv_iterator(iterator_t *iterator, const char *cve, int ascending, const char *sort_field)
Initialise CVE iterator, for CVEs referenced by a CERT-Bund advisory.
Definition: manage_sql_secinfo.c:945
const char * scanner_uuid_default()
Return the UUID of the default scanner.
Definition: manage_sql.c:39713
gboolean find_alert_with_permission(const char *uuid, alert_t *alert, const char *permission)
Find a alert for a specific permission, given a UUID.
Definition: manage_sql.c:6451
char * manage_nvt_name(nvt_t nvt)
Get the name of an NVT.
Definition: manage_sql_nvts.c:145
const char * credential_iterator_password(iterator_t *iterator)
Get the password from a Credential iterator.
Definition: manage_sql.c:35439
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
int permission_count(const get_data_t *get)
Count number of permissions.
Definition: manage_sql.c:43135
int task_target_in_trash(task_t task)
Return whether the target of a task is in the trashcan.
Definition: manage_sql.c:17565
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
char * scan_end_time_uuid(const char *uuid)
Get the end time of a scan.
Definition: manage_sql.c:23619
const char * run_status_name(task_status_t status)
Get the name of a run status.
Definition: manage.c:1516
int set_task_groups(task_t task, array_t *groups, gchar **group_id_return)
Set observer groups on a task, removing any previous groups.
Definition: manage_sql.c:18174
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
int target_count(const get_data_t *get)
Count number of targets.
Definition: manage_sql.c:31919
int report_count(const get_data_t *get)
Count number of reports.
Definition: manage_sql.c:21259
int trash_alert_in_use(alert_t alert)
Return whether a trashcan alert is in use by a task.
Definition: manage_sql.c:8147
int copy_alert(const char *name, const char *comment, const char *alert_id, alert_t *new_alert)
Create an alert from an existing alert.
Definition: manage_sql.c:7427
const char * type_name(const char *type)
Return the name of a resource type.
Definition: manage.c:728
task_t result_iterator_task(iterator_t *iterator)
Get the task from a result iterator.
Definition: manage_sql.c:22559
int set_task_schedule_periods(const gchar *task_id, int periods)
Set the schedule periods of a task, given a UUID.
Definition: manage_sql.c:18310
int schedule_in_use(schedule_t schedule)
Return whether a schedule is in use by a task.
Definition: manage_sql.c:40584
int create_role(const char *role_name, const char *comment, const char *users, role_t *role)
Create a role.
Definition: manage_sql.c:44211
Keyword.
Definition: manage.h:2982
const char * task_iterator_trend_counts(iterator_t *iterator, int holes_a, int warns_a, int infos_a, double severity_a, int holes_b, int warns_b, int infos_b, double severity_b)
Return the trend of a task, given counts.
Definition: manage_sql.c:29106
time_t task_schedule_next_time_uuid(const gchar *task_id)
Get the next time a scheduled task will be due.
Definition: manage_sql.c:18481
gchar * truncate_private_key(const gchar *private_key)
Truncate a private key, removing extra data.
Definition: manage.c:277
int init_alert_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an alert iterator, including observed alerts.
Definition: manage_sql.c:8191
int add_assets_from_host_in_report(report_t report, const char *host_ip)
Generates and adds assets from report host details.
Definition: manage_sql.c:49221
int delete_override(const char *override_id, int ultimate)
Delete a override.
Definition: manage_sql.c:37198
int credential_writable(credential_t credential)
Check whether a Credential is writable.
Definition: manage_sql.c:34922
void init_alert_task_iterator(iterator_t *iterator, alert_t alert, int ascending)
Initialise an alert task iterator.
Definition: manage_sql.c:14463
char * source_name
Source name.
Definition: manage.h:1210
void set_scan_end_time_ctime(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23668
void init_cve_nvt_iterator(iterator_t *iterator, const char *cve, int ascending, const char *sort_field)
Initialise an NVT iterator, for NVTs of a certain CVE.
Definition: manage_sql_nvts.c:828
gchar ** current
Current type.
Definition: manage.h:2440
int override_iterator_active(iterator_t *iterator)
Get the active status from an override iterator.
Definition: manage_sql.c:38186
double severity_data_value(int index)
Convert an index in the counts array to a severity value.
Definition: manage.c:1042
char * nvts_feed_version()
Return feed version of the plugins in the plugin cache.
Definition: manage_sql_nvts.c:173
int init_permission_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a permission iterator.
Definition: manage_sql.c:43155
int aggregate_iterator_count(iterator_t *iterator)
Get the count from an aggregate iterator.
Definition: manage_sql.c:5548
int manage_rebuild(GSList *log_config, const db_conn_info_t *database)
Rebuild NVT db.
Definition: manage_sql_nvts.c:2171
int scanner_config_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:39525
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
void init_task_role_iterator(iterator_t *iterator, task_t task)
Initialise a task role iterator.
Definition: manage_sql.c:6312
int scanner_in_use(scanner_t scanner)
Check whether an scanner is in use.
Definition: manage_sql.c:39606
int manage_delete_scanner(GSList *log_config, const db_conn_info_t *database, const gchar *uuid)
Delete the given scanner.
Definition: manage_sql.c:38449
int task_iterator_finished_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15081
char * task_name(task_t task)
Return the name of a task.
Definition: manage_sql.c:17342
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
osp_connection_t * osp_scanner_connect(scanner_t scanner)
Create a new connection to an OSP scanner.
Definition: manage_sql.c:40076
int manage_resource_name(const char *type, const char *uuid, char **name)
Get the name of a resource.
Definition: manage_sql.c:4688
int schedule_info(schedule_t schedule, int trash, gchar **icalendar, gchar **zone)
Return info about a schedule.
Definition: manage_sql.c:40752
char * qod_type
QoD type.
Definition: manage.h:1197
gboolean find_filter_with_permission(const char *uuid, filter_t *filter, const char *permission)
Find a filter for a specific permission, given a UUID.
Definition: manage_sql.c:44807
int init_nvt_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an NVT iterator.
Definition: manage_sql_nvts.c:408
gchar * local_filename
Path to the local report file.
Definition: manage.h:395
void parse_ssldetails(const char *ssldetails, time_t *activation_time, time_t *expiration_time, gchar **issuer, gchar **serial)
Extract data from a SSLDetails:[...] host detail value.
Definition: manage_tls_certificates.c:50
int delete_note(const char *note_id, int ultimate)
Delete a note.
Definition: manage_sql.c:36144
int init_cert_bund_adv_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an CERT-Bund advisory (cert_bund_adv) info iterator.
Definition: manage_sql_secinfo.c:830
int modify_group(const char *group_id, const char *name, const char *comment, const char *users)
Modify a group.
Definition: manage_sql.c:41987
int create_target(const char *name, const char *asset_hosts_filter, const char *hosts, const char *exclude_hosts, const char *comment, const char *port_list_id, const char *port_range, credential_t ssh_credential, credential_t ssh_elevate_credential, const char *ssh_port, credential_t smb_credential, credential_t esxi_credential, credential_t snmp_credential, const char *reverse_lookup_only, const char *reverse_lookup_unify, const char *alive_tests, const char *allow_simultaneous_ips, target_t *target)
Create a target.
Definition: manage_sql.c:30754
char * credential_uuid(credential_t credential)
Get the UUID of a Credential.
Definition: manage_sql.c:35712
const char * task_iterator_run_status_name(iterator_t *iterator)
Get the run status name from a task iterator.
Definition: manage_sql.c:15053
int task_upload_progress(task_t task)
Return the upload progress of a task.
Definition: manage_sql.c:17843
char * scan_start_time_uuid(const char *uuid)
Get the start time of a scan.
Definition: manage_sql.c:23558
int copy_override(const char *override_id, override_t *new_override)
Create a override from an existing override.
Definition: manage_sql.c:37181
int task_config_in_trash(task_t task)
Return whether the config of a task is in the trashcan.
Definition: manage_sql.c:17478
gchar * cve_cvss_base(const gchar *cve)
Get the CVSS score for a CVE.
Definition: manage_sql_secinfo.c:666
int request_delete_task_uuid(const char *task_id, int ultimate)
Request deletion of a task.
Definition: manage_sql.c:29444
void init_credential_iterator_one(iterator_t *iterator, credential_t credential)
Initialise a Credential iterator, given a single Credential.
Definition: manage_sql.c:35260
int nvt_selector_family_growing(const char *selector, const char *family, int all)
Get whether an NVT selector family is growing.
Definition: manage_sql_configs.c:555
scanner_t task_iterator_scanner(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15109
char * source_name
source_name of detection in result.
Definition: manage.h:1222
void init_os_host_iterator(iterator_t *iterator, resource_t os)
Initialise an OS host iterator.
Definition: manage_sql.c:48529
char * scan_nvt_version
Version of NVT used at scan time.
Definition: manage.h:1194
int manage_cert_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5941
schedule_t task_schedule_uuid(const gchar *task_id)
Return the schedule of a task.
Definition: manage_sql.c:18379
const char * report_type_iterator_title(report_type_iterator_t *iterator)
Return the title from a report type iterator.
Definition: manage.c:4178
int verify_scanner(const char *scanner_id, char **version)
Verify a scanner.
Definition: manage_sql.c:40181
void report_host_set_end_time(report_host_t report_host, time_t end_time)
Set end time of a report host.
Definition: manage_sql.c:47185
double nvt_severity_iterator_score(iterator_t *iterator)
Gets the score from an NVT severity iterator.
Definition: manage_sql_nvts.c:1771
void make_task_complete(task_t task)
Complete the creation of a task.
Definition: manage_sql.c:29187
int copy_note(const char *note_id, note_t *new_note)
Create a note from an existing note.
Definition: manage_sql.c:36127
gchar * manage_clean_filter_remove(const gchar *filter, const gchar *column)
Clean a filter, removing a keyword in the process.
Definition: manage_sql.c:2286
char * alert_uuid(alert_t alert)
Return the UUID of an alert.
Definition: manage_sql.c:7959
void set_task_hosts_ordering(task_t task, const char *ordering)
Set the hosts ordering of a task.
Definition: manage_sql.c:17549
char * target_ssh_port(target_t target)
Return the SSH LSC port of a target.
Definition: manage_sql.c:32472
int report_timestamp(const char *report_id, gchar **timestamp)
Get the timestamp of a report.
Definition: manage_sql.c:23785
char * nvt_name(const char *oid)
Get the name of an NVT given its OID.
Definition: manage_sql_nvts.c:158
const char * alert_condition_name(alert_condition_t condition)
Get the name of an alert condition.
Definition: manage.c:1258
credentials_t current_credentials
Current credentials during any GMP command.
Definition: manage.c:934
result_t override_iterator_result(iterator_t *iterator)
Get the result from a override iterator.
Definition: manage_sql.c:38155
osp_connection_t * osp_connect_with_data(const char *host, int port, const char *ca_pub, const char *key_pub, const char *key_priv)
Create a new connection to an OSP scanner using the scanner data.
Definition: manage_sql.c:40038
gchar * report_format_name
Name of the report format used.
Definition: manage.h:398
int manage_test_alert(const char *alert_id, gchar **script_message)
Test an alert.
Definition: manage_sql.c:13891
int result_iterator_may_have_notes(iterator_t *iterator)
Get whether notes may exist from a result iterator.
Definition: manage_sql.c:22800
int task_result_count(task_t task, int min_qod)
Return number of results in a task.
Definition: manage_sql.c:17755
gchar * role_users(role_t role)
Gets users of role as a string.
Definition: manage_sql.c:44521
int report_counts(const char *report_id, int *holes, int *infos, int *logs, int *warnings, int *false_positives, double *severity, int override, int min_qod)
Get the message counts for a report given the UUID.
Definition: manage_sql.c:23955
int scanner_writable(scanner_t scanner)
Check whether a scanner is writable.
Definition: manage_sql.c:39636
int schedule_count(const get_data_t *get)
Count the number of schedules.
Definition: manage_sql.c:40821
int modify_setting(const gchar *uuid, const gchar *name, const gchar *value_64, gchar **r_errdesc)
Set the value of a setting.
Definition: manage_sql.c:49613
int cpe_info_count(const get_data_t *get)
Count number of cpe.
Definition: manage_sql_secinfo.c:476
int init_target_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a target iterator, including observed targets.
Definition: manage_sql.c:31961
config_t task_config(task_t task)
Return the config of a task.
Definition: manage_sql.c:17413
const char * task_iterator_hosts_ordering(iterator_t *iterator)
Get the hosts ordering value from a task iterator.
Definition: manage_sql.c:15095
int trash_schedule_readable(schedule_t schedule)
Return whether a trashcan schedule is readable.
Definition: manage_sql.c:40640
char * trash_credential_name(credential_t credential)
Get the name of an LSC credential in the trashcan.
Definition: manage_sql.c:35755
credential_t target_credential(target_t target, const char *type)
Get a credential from a target.
Definition: manage_sql.c:30654
int manage_modify_scanner(GSList *log_config, const db_conn_info_t *database, const char *scanner_id, const char *name, const char *host, const char *port, const char *type, const char *ca_pub_path, const char *credential_id, const char *key_pub_path, const char *key_priv_path)
Modify the given scanner.
Definition: manage_sql.c:38521
const char * credential_iterator_community(iterator_t *iterator)
Get the SNMP community from a Credential iterator.
Definition: manage_sql.c:35469
int alert_count(const get_data_t *get)
Count the number of alerts.
Definition: manage_sql.c:8116
int scan_start_time_epoch(report_t report)
Get the start time of a scan, in seconds since the epoch.
Definition: manage_sql.c:23544
target_t task_target(task_t task)
Return the target of a task.
Definition: manage_sql.c:17508
int target_iterator_smb_credential(iterator_t *iterator)
Get the SMB LSC credential from a target iterator.
Definition: manage_sql.c:32021
void manage_cleanup_process_error(int signal)
Cleanup as immediately as possible.
Definition: manage_sql.c:16631
int target_login_port(target_t target, const char *type)
Get a login port from a target.
Definition: manage_sql.c:30693
char * target_uuid(target_t target)
Return the UUID of a target.
Definition: manage_sql.c:32291
unsigned int task_count(const get_data_t *get)
Return the number of tasks associated with the current user.
Definition: manage_sql.c:17211
double prognosis_iterator_cvss_double(iterator_t *iterator)
Get the CVSS from a result iterator as a double.
Definition: manage_sql.c:19737
void init_credential_scanner_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential scanner iterator.
Definition: manage_sql.c:35888
int note_count(const get_data_t *get, nvt_t nvt, result_t result, task_t task)
Count number of notes.
Definition: manage_sql.c:36550
void set_task_config(task_t task, config_t config)
Set the config of a task.
Definition: manage_sql.c:17492
report_host_t manage_report_host_add(report_t report, const char *host, time_t start, time_t end)
Add a report host.
Definition: manage_sql.c:47128
result_t make_cve_result(task_t task, const char *host, const char *nvt, double cvss, const char *description)
Make a CVE result.
Definition: manage_sql.c:19450
int manage_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5858
gboolean find_result_with_permission(const char *uuid, result_t *result, const char *permission)
Find a result for a set of permissions, given a UUID.
Definition: manage_sql.c:18941
int modify_task(const gchar *task_id, const gchar *name, const gchar *comment, const gchar *scanner_id, const gchar *target_id, const gchar *config_id, const gchar *observers, array_t *alerts, const gchar *alterable, array_t *groups, const gchar *schedule_id, const gchar *schedule_periods, array_t *preferences, const gchar *hosts_ordering, gchar **fail_alert_id, gchar **fail_group_id)
Modify a task.
Definition: manage_sql.c:30068
void manage_report_filter_controls(const gchar *filter, int *first, int *max, gchar **sort_field, int *sort_order, int *result_hosts_only, gchar **min_qod, gchar **levels, gchar **delta_states, gchar **search_phrase, int *search_phrase_exact, int *notes, int *overrides, int *apply_overrides, gchar **zone)
Get info from a result filter for a report.
Definition: manage_sql.c:2027
char * nvt_default_timeout(const char *oid)
Get the default timeout of an NVT.
Definition: manage_sql_nvts.c:1020
void set_scan_end_time(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23650
char * schedule_name(schedule_t schedule)
Return the name of a schedule.
Definition: manage_sql.c:40693
void init_app_locations_iterator(iterator_t *iterator, report_host_t report_host, const gchar *app)
Initialize an iterator of locations of an App for a report's host.
Definition: manage_sql.c:19652
int manage_cert_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5930
int copy_target(const char *name, const char *comment, const char *target_id, target_t *new_target)
Create a target from an existing target.
Definition: manage_sql.c:31042
gchar * credential_value(credential_t credential, const char *value_name)
Get a value from a credential.
Definition: manage_sql.c:34949
void manage_filter_controls(const gchar *filter, int *first, int *max, gchar **sort_field, int *sort_order)
Get info from a filter.
Definition: manage_sql.c:1844
char * credential_iterator_rpm(iterator_t *iterator)
Get the rpm from a Credential iterator.
Definition: manage_sql.c:35498
gchar * task_second_last_report_id(task_t task)
Get report ID from second most recently completed invocation of task.
Definition: manage_sql.c:18075
int group_count(const get_data_t *get)
Count number of groups.
Definition: manage_sql.c:41937
int quoted
Whether the keyword was quoted.
Definition: manage.h:2989
void set_scan_end_time_epoch(report_t report, time_t timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23636
gchar ** result_iterator_cert_bunds(iterator_t *iterator)
Get CERT-BUNDs from a result iterator.
Definition: manage_sql.c:22914
report_t make_report(task_t task, const char *uuid, task_status_t status)
Make a report.
Definition: manage_sql.c:20210
char * nvt_oid
OID of NVT.
Definition: manage.h:1193
int report_progress(report_t report)
Calculate the progress of a report.
Definition: manage_sql.c:26236
int copy_group(const char *name, const char *comment, const char *group_id, group_t *new_group_return)
Create a group from an existing group.
Definition: manage_sql.c:41410
const char * note_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a note iterator.
Definition: manage_sql.c:36923
char * source_desc
Source description.
Definition: manage.h:1209
A system report type iterator.
Definition: manage.h:2437
const char * result_iterator_scan_nvt_version(iterator_t *iterator)
Get the NVT version used during the scan from a result iterator.
Definition: manage_sql.c:22597
int manage_alert(const char *alert_id, const char *task_id, event_t event, const void *event_data, gchar **script_message)
Escalate an alert with task and event data.
Definition: manage_sql.c:13799
int trash_schedule_in_use(schedule_t schedule)
Return whether a trashcan schedule is in use by a task.
Definition: manage_sql.c:40598
static PGconn * conn
Handle on the database.
Definition: sql_pg.c:84
int copy_credential(const char *name, const char *comment, const char *credential_id, credential_t *new_credential)
Create an LSC Credential from an existing one.
Definition: manage_sql.c:34220
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
int manage_dump_vt_verification(GSList *log_config, const db_conn_info_t *database)
Dump the string used to calculate the VTs verification hash to stdout.
Definition: manage_sql_nvts.c:2240
int credential_count(const get_data_t *get)
Count number of LSC Credentials.
Definition: manage_sql.c:34835
alert_method_t alert_method_from_name(const char *name)
Get an alert method from a name.
Definition: manage.c:1476
int schedule_duration(schedule_t schedule)
Return the duration of a schedule.
Definition: manage_sql.c:40735
int nvt_selector_iterator_include(iterator_t *iterator)
Get whether the selector rule is an include rule.
Definition: manage_sql_configs.c:331
int init_dfn_cert_adv_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an DFN-CERT advisory (dfn_cert_adv) info iterator.
Definition: manage_sql_secinfo.c:1038
void init_nvt_cert_bund_adv_iterator(iterator_t *iterator, const char *oid)
Initialise an CERT-Bund iterator, for advisories relevant to a NVT.
Definition: manage_sql_secinfo.c:974
int delete_schedule(const char *schedule_id, int ultimate)
Delete a schedule.
Definition: manage_sql.c:40463
host_t host_notice(const char *host_name, const char *identifier_type, const char *identifier_value, const char *source_type, const char *source_id, int check_add_to_assets, int check_for_existing_identifier)
Notice a host.
Definition: manage_sql.c:19225
char * nvt_preference_iterator_id(iterator_t *iterator)
Get the ID from an NVT preference iterator.
Definition: manage_sql_configs.c:1876
int filter_term_apply_overrides(const char *term)
Return the value of the apply_overrides keyword of a filter term.
Definition: manage_sql.c:44934
int credential_in_use(credential_t credential)
Check whether a Credential is in use.
Definition: manage_sql.c:34852
void init_task_alert_iterator(iterator_t *iterator, task_t task)
Initialise a task alert iterator.
Definition: manage_sql.c:8497
int dfn_cert_adv_info_count(const get_data_t *get)
Count number of dfn_cert_adv.
Definition: manage_sql_secinfo.c:1087
int note_uuid(note_t note, char **id)
Return the UUID of a note.
Definition: manage_sql.c:36227
char * credential_iterator_exe(iterator_t *iterator)
Get the exe from a Credential iterator.
Definition: manage_sql.c:35594
int asset_os_iterator_installs(iterator_t *iterator)
Get the number of installs from an asset OS iterator.
Definition: manage_sql.c:48465
char * task_preference_value(task_t task, const char *name)
Get the value of a task preference.
Definition: manage_sql_configs.c:1957
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
char * task_observers(task_t task)
Return the observers of a task.
Definition: manage_sql.c:17384
char * target_hosts(target_t target)
Return the hosts associated with a target.
Definition: manage_sql.c:32401
const char * severity_to_level(double severity, int mode)
Get the threat level matching a severity score.
Definition: manage.c:873
char * scanner_key_pub(scanner_t scanner)
Return the Certificate of a scanner.
Definition: manage_sql.c:39792
gboolean next_report_type(report_type_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:4150
resource_t get_iterator_resource(iterator_t *iterator)
Get the resource from a GET iterator.
Definition: manage_get.c:112
int delete_group(const char *group_id, int ultimate)
Delete a group.
Definition: manage_sql.c:41668
char * location
location of detection in result.
Definition: manage.h:1224
int manage_create_scanner(GSList *log_config, const db_conn_info_t *database, const char *name, const char *host, const char *port, const char *type, const char *ca_pub_path, const char *credential_id, const char *key_pub_path, const char *key_priv_path)
Create the given scanner.
Definition: manage_sql.c:38267
int type_is_scap(const char *type)
Check if a type is a SCAP type.
Definition: manage.c:755
int delete_permission(const char *permission_id, int ultimate)
Delete a permission.
Definition: manage_sql.c:43402
array_t * split_filter(const gchar *given_filter)
Split the filter term into parts.
Definition: manage_sql.c:1659
int delete_target(const char *target_id, int ultimate)
Delete a target.
Definition: manage_sql.c:31077
void set_task_run_status(task_t task, task_status_t status)
Set the run state of a task.
Definition: manage_sql.c:17725
int task_schedule_periods(task_t task)
Get the number of times the period schedule should run on the task.
Definition: manage_sql.c:18428
void init_credential_target_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential target iterator.
Definition: manage_sql.c:35811
int set_task_schedule(task_t task, schedule_t schedule, int periods)
Set the schedule of a task.
Definition: manage_sql.c:18243
Sort data for aggregates commands.
Definition: manage.h:3562
void report_add_result(report_t report, result_t result)
Add a result to a report.
Definition: manage_sql.c:21006
gchar ** start
First type.
Definition: manage.h:2439
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
result_t make_result(task_t task, const char *host, const char *hostname, const char *port, const char *nvt, const char *type, const char *description, const char *path)
Make a result.
Definition: manage_sql.c:19353
int manage_get_scanners(GSList *log_config, const db_conn_info_t *database)
List scanners.
Definition: manage_sql.c:40226
int alert_iterator_event(iterator_t *iterator)
Return the event from an alert iterator.
Definition: manage_sql.c:8217
int trash_task_in_use(task_t task)
Return whether a trashcan task is referenced by a task.
Definition: manage_sql.c:15160
const char * report_type_iterator_name(report_type_iterator_t *iterator)
Return the name from a report type iterator.
Definition: manage.c:4165
int trash_target_readable(target_t target)
Return whether a trashcan target is readable.
Definition: manage_sql.c:32375
int target_iterator_esxi_trash(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:32187
int manage_migrate(GSList *log_config, const db_conn_info_t *database)
Migrate database to version supported by this manager.
Definition: manage_migrators.c:3066
int stop_task(const char *task_id)
Initiate stopping a task.
Definition: manage.c:3615
int alert_iterator_method(iterator_t *iterator)
Return the method from an alert iterator.
Definition: manage_sql.c:8249
char * target_reverse_lookup_unify(target_t target)
Return the reverse_lookup_unify value of a target.
Definition: manage_sql.c:32444
event_t event_from_name(const char *name)
Get an event from a name.
Definition: manage.c:1451
char * target_port_range(target_t target)
Return the port range of a target, in GMP port range list format.
Definition: manage_sql.c:32572
void init_report_counts_build_iterator(iterator_t *iterator, report_t report, int min_qod_limit, int add_defaults, const char *users_where)
Initializes an iterator for updating the report cache.
Definition: manage_sql.c:19977
void init_family_iterator(iterator_t *iterator, int all, const char *selector, int ascending)
Initialise an NVT selector family iterator.
Definition: manage_sql_configs.c:383
int report_host_count(report_t report)
Count a report's total number of hosts.
Definition: manage_sql.c:25717
int task_writable(task_t task)
Return whether a task is writable.
Definition: manage_sql.c:15188
int target_writable(target_t target)
Return whether a target is writable.
Definition: manage_sql.c:32676
int init_credential_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a Credential iterator.
Definition: manage_sql.c:35287
int target_iterator_smb_trash(iterator_t *iterator)
Get the location of the SMB LSC credential from a target iterator.
Definition: manage_sql.c:32053
int task_average_scan_duration(task_t task)
Get the average duration of all finished reports of a task.
Definition: manage_sql.c:15218
void init_host_prognosis_iterator(iterator_t *iterator, report_host_t report_host)
Initialise a report host prognosis iterator.
Definition: manage_sql.c:19703
void set_task_name(task_t task, const char *name)
Set the name of a task.
Definition: manage_sql.c:29202
gchar * user
The database user name.
Definition: manage.h:51
int scanner_port(scanner_t scanner)
Return the port of a scanner.
Definition: manage_sql.c:39739
void init_host_detail_iterator(iterator_t *iterator, resource_t host)
Initialise an asset host detail iterator.
Definition: manage_sql.c:48565
void manage_nvt_preference_add(const char *name, const char *value)
Add/replace an NVT preference.
Definition: manage_sql_configs.c:1701
int copy_scanner(const char *name, const char *comment, const char *scanner_id, scanner_t *new_scanner)
Create a scanner from an existing scanner.
Definition: manage_sql.c:38963
int severity_in_level(double severity, const char *level)
Check whether a severity falls within a threat level.
Definition: manage.c:850
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 manage_scap_loaded()
Check whether SCAP is available.
Definition: manage_pg.c:3401
const char * target_iterator_alive_tests(iterator_t *iterator)
Get the alive test description from a target iterator.
Definition: manage_sql.c:32132
const char * aggregate_iterator_text(iterator_t *iterator, int text_column_index, int data_columns)
Get the value of a text column from an aggregate iterator.
Definition: manage_sql.c:5628
report_t task_running_report(task_t task)
Return the running report of a task.
Definition: manage_sql.c:17773
Name value pair.
Definition: manage.h:113
int modify_credential(const char *credential_id, const char *name, const char *comment, const char *login, const char *password, const char *key_private, const char *key_public, const char *certificate, const char *community, const char *auth_algorithm, const char *privacy_password, const char *privacy_algorithm, const char *allow_insecure)
Modify a Credential.
Definition: manage_sql.c:34269
int trash_filter_writable(filter_t filter)
Check whether a trashcan filter is writable.
Definition: manage_sql.c:45394
A host detail for create_report.
Definition: manage.h:1205
schedule_t task_schedule(task_t task)
Return the schedule of a task.
Definition: manage_sql.c:18352
const char * result_iterator_nvt_solution_type(iterator_t *iterator)
Get the NVT solution_type from a result iterator.
Definition: manage_sql.c:22956
void set_credential_public_key(credential_t credential, const char *public_key)
Set the public key of a Credential.
Definition: manage_sql.c:35194
int trash_role_writable(role_t role)
Check whether a trashcan role is writable.
Definition: manage_sql.c:44555
int role_writable(role_t role)
Check whether a role is writable.
Definition: manage_sql.c:44540
const char * task_iterator_last_report(iterator_t *iterator)
Get the last report UUID from a task iterator.
Definition: manage_sql.c:15067
int create_asset_host(const char *host_name, const char *comment, resource_t *host_return)
Create a host asset.
Definition: manage_sql.c:48663
int task_in_use(task_t task)
Return whether a task is in use by a task.
Definition: manage_sql.c:15137
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
int keyword_special(keyword_t *keyword)
Get whether a keyword is special (like "and").
Definition: manage_sql.c:1090
user_t get_iterator_owner(iterator_t *iterator)
Get the owner from a GET iterator.
Definition: manage_get.c:187
int copy_task(const char *name, const char *comment, const char *task_id, int alterable, task_t *new_task)
Create a task from an existing task.
Definition: manage_sql.c:29245
int task_schedule_periods_uuid(const gchar *task_id)
Set the next time a scheduled task will be due.
Definition: manage_sql.c:18441
void manage_reset_currents()
Cleanup as immediately as possible.
Definition: manage_sql.c:16652
int trash_credential_readable(credential_t credential)
Return whether a trashcan credential is readable.
Definition: manage_sql.c:35784
char * nvt_preference_iterator_config_value(iterator_t *iterator, config_t config)
Get the config value from an NVT preference iterator.
Definition: manage_sql_configs.c:1903
A detection detail for create_report.
Definition: manage.h:1219
int create_filter(const char *name, const char *comment, const char *type, const char *term, filter_t *filter)
Create a filter.
Definition: manage_sql.c:44993
int qod_from_type(const char *qod_type)
Get QoD percentage for a qod_type string.
Definition: manage_sql.c:19077
int nvt_info_count(const get_data_t *get)
Count number of nvt.
Definition: manage_sql_nvts.c:486
char * hostname
Hostname.
Definition: manage.h:1192
int create_report(array_t *results, const char *task_id, const char *in_assets, const char *scan_start, const char *scan_end, array_t *host_starts, array_t *host_ends, array_t *details, char **report_id)
Create a report from an array of results.
Definition: manage_sql.c:20351
double aggregate_iterator_sum(iterator_t *iterator, int data_column_index)
Get the sum from a statistics iterator.
Definition: manage_sql.c:5610
char * nvt_preference_iterator_oid(iterator_t *iterator)
Get the NVT from an NVT preference iterator.
Definition: manage_sql_configs.c:1851
int task_scanner_in_trash(task_t task)
Return whether the scanner of a task is in the trashcan.
Definition: manage_sql.c:17621
int result_count(const get_data_t *get, report_t report, const char *host)
Count the number of results.
Definition: manage_sql.c:22415
char * trash_schedule_name(schedule_t schedule)
Return the name of a trash schedule.
Definition: manage_sql.c:40707
int delete_credential(const char *credential_id, int ultimate)
Delete a Credential.
Definition: manage_sql.c:34587
void manage_transaction_start()
Start a new IMMEDIATE transaction.
Definition: manage_sql.c:30436
void set_scanner_connection_retry(int new_retry)
Set the number of retries on a scanner connection lost.
Definition: manage.c:2835
gchar * value
Param value.
Definition: manage.h:116
double double_value
Floating point value of the keyword.
Definition: manage.h:2988
int target_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:32760
int osp_get_version_from_iterator(iterator_t *iterator, char **s_name, char **s_ver, char **d_name, char **d_ver, char **p_name, char **p_ver)
Get an OSP Scanner's get_version info.
Definition: manage_sql.c:40122
long long int resource_t
A resource, like a task or target.
Definition: iterator.h:39
int manage_read_info(gchar *type, gchar *uid, gchar *name, gchar **result)
Read raw information.
Definition: manage.c:5860
task_t override_iterator_task(iterator_t *iterator)
Get the task from a override iterator.
Definition: manage_sql.c:38141
char * product
product of detection in result.
Definition: manage.h:1221
int set_task_preferences(task_t task, array_t *preferences)
Set the preferences of a task.
Definition: manage_sql_configs.c:1993
char * host_uuid(resource_t host)
Return the UUID of a host.
Definition: manage_sql.c:47111
const char * app_locations_iterator_location(iterator_t *iterator)
Get a location from an app locations iterator.
Definition: manage_sql.c:19690