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 *);
static int fork_update_nvt_cache()
Update the NVT cache in a child process.
Definition: gvmd.c:1186
long long int resource_t
A resource, like a task or target.
Definition: iterator.h:39
const char * credential_full_type(const char *abbreviation)
Get the written-out name of an LSC Credential type.
Definition: manage.c:3811
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
void cleanup_report_type_iterator(report_type_iterator_t *iterator)
Cleanup a report type iterator.
Definition: manage.c:4135
int init_system_report_type_iterator(report_type_iterator_t *iterator, const char *type, const char *slave_id)
Initialise a system report type iterator.
Definition: manage.c:4110
const char * report_type_iterator_name(report_type_iterator_t *iterator)
Return the name from a report type iterator.
Definition: manage.c:4165
gchar * truncate_certificate(const gchar *certificate)
Truncate a certificate, removing extra data.
Definition: manage.c:212
int manage_schedule(manage_connection_forker_t fork_connection, gboolean run_tasks, sigset_t *sigmask_current)
Schedule any actions that are due.
Definition: manage.c:5097
int manage_system_report(const char *name, const char *duration, const char *start_time, const char *end_time, const char *slave_id, char **report)
Get a system report.
Definition: manage.c:4302
double severity_data_value(int index)
Convert an index in the counts array to a severity value.
Definition: manage.c:1042
void set_relay_mapper_path(const char *new_path)
Gets the current path of the relay mapper executable.
Definition: manage.c:3170
task_t current_scanner_task
The task currently running on the scanner.
Definition: manage.c:1206
gchar * certificate_iso_time(time_t time)
Converts a certificate time to an ISO time string.
Definition: manage.c:556
int stop_task(const char *task_id)
Initiate stopping a task.
Definition: manage.c:3615
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
int get_relay_migrate_sensors()
Gets whether to migrate sensors if relays do not match.
Definition: manage.c:3182
int move_task(const char *task_id, const char *slave_id)
Reassign a task to another slave.
Definition: manage.c:3691
const char * alert_method_name(alert_method_t method)
Get the name of an alert method.
Definition: manage.c:1400
const char * get_relay_mapper_path()
Gets the current path of the relay mapper executable.
Definition: manage.c:3159
const char * event_name(event_t event)
Get the name of an alert event.
Definition: manage.c:1285
int scanner_type_valid(scanner_type_t scanner_type)
Check if a scanner type is valid.
Definition: manage.c:803
int type_is_scap(const char *type)
Check if a type is a SCAP type.
Definition: manage.c:755
int slave_get_relay(const char *original_host, int original_port, const char *original_ca_cert, const char *protocol, gchar **new_host, int *new_port, gchar **new_ca_cert)
Gets a relay hostname and port for a sensor scanner.
Definition: manage.c:3343
int start_task(const char *task_id, char **report_id)
Start a task.
Definition: manage.c:3504
void severity_data_add(severity_data_t *severity_data, double severity)
Add a severity occurrence to the counts of a severity_data_t.
Definition: manage.c:1091
void alert_report_data_free(alert_report_data_t *data)
Frees a alert_report_data_t struct, including contained data.
Definition: manage.c:1222
int resume_task(const char *task_id, char **report_id)
Resume a task.
Definition: manage.c:3657
event_t event_from_name(const char *name)
Get an event from a name.
Definition: manage.c:1451
gchar * truncate_private_key(const gchar *private_key)
Truncate a private key, removing extra data.
Definition: manage.c:277
report_t global_current_report
The report of the current task.
Definition: manage.c:1211
alert_method_t alert_method_from_name(const char *name)
Get an alert method from a name.
Definition: manage.c:1476
void set_relay_migrate_sensors(int new_value)
Sets whether to migrate sensors if relays do not match.
Definition: manage.c:3193
gboolean next_report_type(report_type_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:4150
int severity_in_level(double severity, const char *level)
Check whether a severity falls within a threat level.
Definition: manage.c:850
int get_schedule_timeout()
Get the current schedule timeout.
Definition: manage.c:5276
void set_scheduled_user_uuid(const gchar *user_uuid)
Set UUID of user that scheduled the current task. The previous value is freed and a copy of the UUID ...
Definition: manage.c:4485
void manage_auth_allow_all(int scheduled)
Ensure that any subsequent authentications succeed.
Definition: manage.c:4462
alert_condition_t alert_condition_from_name(const char *name)
Get an alert condition from a name.
Definition: manage.c:1428
const char * run_status_name(task_status_t status)
Get the name of a run status.
Definition: manage.c:1516
credentials_t current_credentials
Current credentials during any GMP command.
Definition: manage.c:934
int get_scanner_connection_retry()
Get the number of retries on a scanner connection lost.
Definition: manage.c:2824
const char * manage_scap_update_time()
GET SCAP update time, as a string.
Definition: manage.c:5803
const char * report_type_iterator_title(report_type_iterator_t *iterator)
Return the title from a report type iterator.
Definition: manage.c:4178
const char * severity_to_level(double severity, int mode)
Get the threat level matching a severity score.
Definition: manage.c:873
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:5495
const gchar * get_scheduled_user_uuid()
Access UUID of user that scheduled the current task.
Definition: manage.c:4473
const gchar * certificate_time_status(time_t activates, time_t expires)
Tests the activation and expiration time of a certificate.
Definition: manage.c:575
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
const char * alert_condition_name(alert_condition_t condition)
Get the name of an alert condition.
Definition: manage.c:1258
gchar * alert_condition_description(alert_condition_t condition, alert_t alert)
Get a description of an alert condition.
Definition: manage.c:1308
void cleanup_severity_data(severity_data_t *data)
Clean up a severity data structure.
Definition: manage.c:1079
void set_schedule_timeout(int new_timeout)
Set the schedule timeout.
Definition: manage.c:5287
void set_scanner_connection_retry(int new_retry)
Set the number of retries on a scanner connection lost.
Definition: manage.c:2835
void init_severity_data(severity_data_t *data)
Initialize a severity data structure.
Definition: manage.c:1062
const char * severity_to_type(double severity)
Get the message type matching a severity score.
Definition: manage.c:910
void manage_sync(sigset_t *sigmask_current, int(*fork_update_nvt_cache)(), gboolean try_gvmd_data_sync)
Perform any syncing that is due.
Definition: manage.c:4891
void severity_data_add_count(severity_data_t *severity_data, double severity, int count)
Add a multiple severity occurrences to the counts of a severity_data_t.
Definition: manage.c:1109
void severity_data_level_counts(const severity_data_t *severity_data, int *errors, int *false_positives, int *logs, int *lows, int *mediums, int *highs)
Count the occurrences of severities in the levels.
Definition: manage.c:1159
gchar * event_description(event_t event, const void *event_data, const char *task_name)
Get a description of an alert event.
Definition: manage.c:1359
const char * type_name_plural(const char *type)
Return the plural name of a resource type.
Definition: manage.c:701
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 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
int manage_read_info(gchar *type, gchar *uid, gchar *name, gchar **result)
Read raw information.
Definition: manage.c:5854
const char * type_name(const char *type)
Return the name of a resource type.
Definition: manage.c:728
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
resource_t get_iterator_resource(iterator_t *iterator)
Get the resource from a GET iterator.
Definition: manage_get.c:112
user_t get_iterator_owner(iterator_t *iterator)
Get the owner from a GET iterator.
Definition: manage_get.c:187
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
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 manage_scap_loaded()
Check whether SCAP is available.
Definition: manage_pg.c:3342
int manage_cert_loaded()
Check whether CERT is available.
Definition: manage_pg.c:3326
void manage_session_set_timezone(const char *zone)
Setup session timezone.
Definition: manage_pg.c:69
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
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:36238
int target_iterator_smb_trash(iterator_t *iterator)
Get the location of the SMB LSC credential from a target iterator.
Definition: manage_sql.c:32036
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:38976
const char * app_locations_iterator_location(iterator_t *iterator)
Get a location from an app locations iterator.
Definition: manage_sql.c:19673
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:29840
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:29089
const char * credential_iterator_community(iterator_t *iterator)
Get the SNMP community from a Credential iterator.
Definition: manage_sql.c:35452
char * target_port_range(target_t target)
Return the port range of a target, in GMP port range list format.
Definition: manage_sql.c:32555
int create_role(const char *role_name, const char *comment, const char *users, role_t *role)
Create a role.
Definition: manage_sql.c:44194
int manage_get_roles(GSList *log_config, const db_conn_info_t *database, int verbose)
List roles.
Definition: manage_sql.c:44098
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:49204
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
void init_schedule_task_iterator(iterator_t *iterator, schedule_t schedule)
Initialise a schedule task iterator.
Definition: manage_sql.c:41134
double report_severity(report_t report, int overrides, int min_qod)
Get the maximum severity of a report.
Definition: manage_sql.c:24319
int init_group_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a group iterator, including observed groups.
Definition: manage_sql.c:41939
void update_duration_schedule_periods(task_t task)
Update tasks with limited run schedules which have durations.
Definition: manage_sql.c:18734
gchar * group_users(group_t group)
Gets users of group as a string.
Definition: manage_sql.c:41825
int task_upload_progress(task_t task)
Return the upload progress of a task.
Definition: manage_sql.c:17826
int delete_target(const char *target_id, int ultimate)
Delete a target.
Definition: manage_sql.c:31060
const char * alert_data_iterator_data(iterator_t *iterator)
Return the data from an alert data iterator.
Definition: manage_sql.c:8435
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:19960
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:18318
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:47111
void init_os_host_iterator(iterator_t *iterator, resource_t os)
Initialise an OS host iterator.
Definition: manage_sql.c:48512
int scanner_type(scanner_t scanner)
Return the type of a scanner.
Definition: manage_sql.c:39742
int report_count(const get_data_t *get)
Count number of reports.
Definition: manage_sql.c:21242
int role_writable(role_t role)
Check whether a role is writable.
Definition: manage_sql.c:44523
int trash_task_writable(task_t task)
Return whether a trashcan task is writable.
Definition: manage_sql.c:15186
int trash_group_in_use(group_t group)
Check whether a trashcan group is in use.
Definition: manage_sql.c:41883
task_t note_iterator_task(iterator_t *iterator)
Get the task from a note iterator.
Definition: manage_sql.c:36835
int target_in_use(target_t target)
Return whether a target is in use by a task.
Definition: manage_sql.c:32626
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:44976
int delete_schedule(const char *schedule_id, int ultimate)
Delete a schedule.
Definition: manage_sql.c:40446
command_t gmp_commands[]
The GMP command list.
Definition: manage_sql.c:449
void set_task_name(task_t task, const char *name)
Set the name of a task.
Definition: manage_sql.c:29185
const char * result_iterator_original_level(iterator_t *iterator)
Get the original severity/threat level from a result iterator.
Definition: manage_sql.c:22626
char * task_config_uuid(task_t task)
Return the UUID of the config of a task.
Definition: manage_sql.c:17423
void set_db_version(int version)
Set the database version of the actual database.
Definition: manage_sql.c:5966
gchar * manage_clean_filter(const gchar *filter)
Clean a filter.
Definition: manage_sql.c:2371
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:33577
gboolean next_report(iterator_t *iterator, report_t *report)
Read the next report from an iterator.
Definition: manage_sql.c:21366
int init_filter_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a filter iterator, including observed filters.
Definition: manage_sql.c:45437
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:28382
void hosts_set_details(report_t report)
Store certain host details in the assets after a scan.
Definition: manage_sql.c:47572
int credential_writable(credential_t credential)
Check whether a Credential is writable.
Definition: manage_sql.c:34905
int trash_alert_writable(alert_t alert)
Return whether a trashcan alert is writable.
Definition: manage_sql.c:8176
scanner_t task_iterator_scanner(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15092
int trash_permission_in_use(permission_t permission)
Return whether a trashcan permission is referenced by a task.
Definition: manage_sql.c:42930
int create_asset_host(const char *host_name, const char *comment, resource_t *host_return)
Create a host asset.
Definition: manage_sql.c:48646
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:23739
int trash_credential_in_use(credential_t credential)
Check whether a trashcan Credential is in use.
Definition: manage_sql.c:34868
int request_delete_task(task_t *task_pointer)
Request deletion of a task.
Definition: manage_sql.c:29374
int scanner_iterator_port(iterator_t *iterator)
Get the port from an scanner iterator.
Definition: manage_sql.c:39376
void make_task_complete(task_t task)
Complete the creation of a task.
Definition: manage_sql.c:29170
int init_report_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a report iterator, including observed reports.
Definition: manage_sql.c:21279
int init_scanner_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an scanner iterator.
Definition: manage_sql.c:39348
char * alert_iterator_filter_name(iterator_t *iterator)
Return the filter name from an alert iterator.
Definition: manage_sql.c:8304
int scanner_iterator_type(iterator_t *iterator)
Get the type from an scanner iterator.
Definition: manage_sql.c:39392
char * setting_filter(const char *resource)
Return the uuid of a resource filter from settings.
Definition: manage_sql.c:49324
int trash_target_readable(target_t target)
Return whether a trashcan target is readable.
Definition: manage_sql.c:32358
int asset_iterator_in_use(iterator_t *iterator)
Get the "in use" status from an asset iterator.
Definition: manage_sql.c:48217
int trash_schedule_in_use(schedule_t schedule)
Return whether a trashcan schedule is in use by a task.
Definition: manage_sql.c:40581
void set_credential_public_key(credential_t credential, const char *public_key)
Set the public key of a Credential.
Definition: manage_sql.c:35177
void set_task_alterable(task_t task, int alterable)
Set the alterable state of a task.
Definition: manage_sql.c:18140
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:38250
char * task_name(task_t task)
Return the name of a task.
Definition: manage_sql.c:17325
char * schedule_uuid(schedule_t schedule)
Return the UUID of a schedule.
Definition: manage_sql.c:40648
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
int target_login_port(target_t target, const char *type)
Get a login port from a target.
Definition: manage_sql.c:30676
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 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:43546
char * scanner_password(scanner_t scanner)
Return the password associated with a scanner.
Definition: manage_sql.c:39852
scanner_t task_scanner(task_t task)
Return the scanner of a task.
Definition: manage_sql.c:17563
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:19489
char * scanner_uuid(scanner_t scanner)
Return the UUID of a scanner.
Definition: manage_sql.c:39684
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:36663
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:29228
void set_task_config(task_t task, config_t config)
Set the config of a task.
Definition: manage_sql.c:17475
const char * task_iterator_hosts_ordering(iterator_t *iterator)
Get the hosts ordering value from a task iterator.
Definition: manage_sql.c:15078
char * scanner_key_pub(scanner_t scanner)
Return the Certificate of a scanner.
Definition: manage_sql.c:39775
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:23691
void set_task_target(task_t task, target_t target)
Set the target of a task.
Definition: manage_sql.c:17517
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:29888
int task_uuid(task_t task, char **id)
Return the UUID of a task.
Definition: manage_sql.c:17248
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:34203
int init_target_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a target iterator, including observed targets.
Definition: manage_sql.c:31944
gchar * credential_iterator_formats_xml(iterator_t *iterator)
Get XML of available formats for a credential iterator.
Definition: manage_sql.c:35656
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:30737
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:40285
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:44879
int target_iterator_ssh_elevate_credential(iterator_t *iterator)
Get the ELEVATE LSC credential from a target iterator.
Definition: manage_sql.c:32218
int manage_empty_trashcan()
Empty the trashcan.
Definition: manage_sql.c:46858
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:34252
char * scanner_key_priv(scanner_t scanner)
Return the private key of a scanner.
Definition: manage_sql.c:39795
int delete_role(const char *role_id, int ultimate)
Delete a role.
Definition: manage_sql.c:44295
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:19635
int report_progress(report_t report)
Calculate the progress of a report.
Definition: manage_sql.c:26219
void init_host_prognosis_iterator(iterator_t *iterator, report_host_t report_host)
Initialise a report host prognosis iterator.
Definition: manage_sql.c:19686
int trash_schedule_readable(schedule_t schedule)
Return whether a trashcan schedule is readable.
Definition: manage_sql.c:40623
int group_in_use(group_t group)
Check whether a group is in use.
Definition: manage_sql.c:41870
int permission_iterator_resource_orphan(iterator_t *iterator)
Check if the permission resource has been deleted.
Definition: manage_sql.c:43205
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:19208
int group_count(const get_data_t *get)
Count number of groups.
Definition: manage_sql.c:41920
int schedule_in_use(schedule_t schedule)
Return whether a schedule is in use by a task.
Definition: manage_sql.c:40567
char * alert_iterator_filter_uuid(iterator_t *iterator)
Return the filter UUID from an alert iterator.
Definition: manage_sql.c:8279
const char * credential_iterator_private_key(iterator_t *iterator)
Get the private_key from a Credential iterator.
Definition: manage_sql.c:35437
int schedule_info(schedule_t schedule, int trash, gchar **icalendar, gchar **zone)
Return info about a schedule.
Definition: manage_sql.c:40735
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:22967
char * permission_uuid(permission_t permission)
Return the UUID of a permission.
Definition: manage_sql.c:42757
int task_schedule_periods_uuid(const gchar *task_id)
Set the next time a scheduled task will be due.
Definition: manage_sql.c:18424
char * task_config_name(task_t task)
Return the name of the config of a task.
Definition: manage_sql.c:17442
int asset_iterator_writable(iterator_t *iterator)
Get the writable status from an asset iterator.
Definition: manage_sql.c:48203
int target_iterator_snmp_credential(iterator_t *iterator)
Get the SNMP LSC credential from a target iterator.
Definition: manage_sql.c:32186
void manage_cleanup_process_error(int signal)
Cleanup as immediately as possible.
Definition: manage_sql.c:16614
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:16513
int asset_os_iterator_installs(iterator_t *iterator)
Get the number of installs from an asset OS iterator.
Definition: manage_sql.c:48448
void set_task_scanner(task_t task, scanner_t scanner)
Set the scanner of a task.
Definition: manage_sql.c:17588
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:49596
int note_uuid(note_t note, char **id)
Return the UUID of a note.
Definition: manage_sql.c:36210
int task_schedule_periods(task_t task)
Get the number of times the period schedule should run on the task.
Definition: manage_sql.c:18411
int authenticate(credentials_t *credentials)
Authenticate credentials.
Definition: manage_sql.c:17053
int filter_writable(filter_t filter)
Check whether a filter is writable.
Definition: manage_sql.c:45364
target_t task_target(task_t task)
Return the target of a task.
Definition: manage_sql.c:17491
report_t task_running_report(task_t task)
Return the running report of a task.
Definition: manage_sql.c:17756
report_t make_report(task_t task, const char *uuid, task_status_t status)
Make a report.
Definition: manage_sql.c:20193
const char * override_iterator_new_threat(iterator_t *iterator)
Get the threat from an override iterator.
Definition: manage_sql.c:38108
int manage_scap_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5896
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:38851
int schedule_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:41189
int task_in_use(task_t task)
Return whether a task is in use by a task.
Definition: manage_sql.c:15120
void init_host_detail_iterator(iterator_t *iterator, resource_t host)
Initialise an asset host detail iterator.
Definition: manage_sql.c:48548
schedule_t task_schedule(task_t task)
Return the schedule of a task.
Definition: manage_sql.c:18335
int target_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:32743
char * scanner_login(scanner_t scanner)
Return the login associated with a scanner.
Definition: manage_sql.c:39834
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:20809
int trash_filter_in_use(filter_t filter)
Check whether a trashcan filter is in use.
Definition: manage_sql.c:45336
osp_connection_t * osp_scanner_connect(scanner_t scanner)
Create a new connection to an OSP scanner.
Definition: manage_sql.c:40059
void set_credential_privacy_algorithm(credential_t credential, const char *algorithm)
Set the privacy_algorithm of a Credential.
Definition: manage_sql.c:35072
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:36972
gboolean report_task(report_t report, task_t *task)
Return the task of a report.
Definition: manage_sql.c:20780
int task_config_in_trash(task_t task)
Return whether the config of a task is in the trashcan.
Definition: manage_sql.c:17461
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
char * trash_scanner_name(scanner_t scanner)
Return the name of a scanner in the trashcan.
Definition: manage_sql.c:39894
int delete_alert(const char *alert_id, int ultimate)
Delete an alert.
Definition: manage_sql.c:7806
char * target_allow_simultaneous_ips(target_t target)
Return the allow_simultaneous_ips value of a target.
Definition: manage_sql.c:32441
gchar * task_second_last_report_id(task_t task)
Get report ID from second most recently completed invocation of task.
Definition: manage_sql.c:18058
int schedule_duration(schedule_t schedule)
Return the duration of a schedule.
Definition: manage_sql.c:40718
int group_writable(group_t group)
Check whether a group is writable.
Definition: manage_sql.c:41844
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:37919
int manage_resource_name(const char *type, const char *uuid, char **name)
Get the name of a resource.
Definition: manage_sql.c:4688
void set_scan_start_time_epoch(report_t report, time_t timestamp)
Set the start time of a scan.
Definition: manage_sql.c:23558
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:25716
void set_task_end_time(task_t task, char *time)
Set the end time of a task.
Definition: manage_sql.c:23474
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
const char * task_iterator_usage_type(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15106
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:40427
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:44136
int manage_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5870
void set_scan_end_time_ctime(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23651
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
int alert_count(const get_data_t *get)
Count the number of alerts.
Definition: manage_sql.c:8116
int manage_cert_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5941
time_t note_iterator_end_time(iterator_t *iterator)
Get the end time from an note iterator.
Definition: manage_sql.c:36864
const char * alert_task_iterator_uuid(iterator_t *iterator)
Return the uuid from an alert task iterator.
Definition: manage_sql.c:14519
char * scanner_host(scanner_t scanner)
Return the host of a scanner.
Definition: manage_sql.c:39709
int set_task_schedule(task_t task, schedule_t schedule, int periods)
Set the schedule of a task.
Definition: manage_sql.c:18226
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:31226
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:29739
gchar ** result_iterator_dfn_certs(iterator_t *iterator)
Get DFN-CERTs from a result iterator.
Definition: manage_sql.c:22911
int alert_iterator_filter_readable(iterator_t *iterator)
Return the filter readable state from an alert iterator.
Definition: manage_sql.c:8347
task_t make_task(char *name, char *comment, int in_assets, int event)
Make a task.
Definition: manage_sql.c:29120
const char * result_iterator_original_severity(iterator_t *iterator)
Get the original severity from a result iterator.
Definition: manage_sql.c:22603
char * target_uuid(target_t target)
Return the UUID of a target.
Definition: manage_sql.c:32274
char * filter_uuid(filter_t filter)
Return the UUID of a filter.
Definition: manage_sql.c:44804
int scan_start_time_epoch(report_t report)
Get the start time of a scan, in seconds since the epoch.
Definition: manage_sql.c:23527
void init_credential_iterator_one(iterator_t *iterator, credential_t credential)
Initialise a Credential iterator, given a single Credential.
Definition: manage_sql.c:35243
int task_target_in_trash(task_t task)
Return whether the target of a task is in the trashcan.
Definition: manage_sql.c:17548
char * trash_target_name(target_t target)
Return the name of a trashcan target.
Definition: manage_sql.c:32316
int trash_schedule_writable(schedule_t schedule)
Return whether a trashcan schedule is writable.
Definition: manage_sql.c:40610
int scanner_in_use(scanner_t scanner)
Check whether an scanner is in use.
Definition: manage_sql.c:39589
char * trash_schedule_name(schedule_t schedule)
Return the name of a trash schedule.
Definition: manage_sql.c:40690
const char * keyword_relation_symbol(keyword_relation_t relation)
Get the symbol of a keyword relation.
Definition: manage_sql.c:1056
int scanner_iterator_credential_trash(iterator_t *iterator)
Get the credential location of the scanner from a scanner iterator.
Definition: manage_sql.c:39444
void manage_transaction_start()
Start a new IMMEDIATE transaction.
Definition: manage_sql.c:30419
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:47916
gchar * manage_user_hash(const gchar *username)
Get user hash.
Definition: manage_sql.c:16652
int alert_writable(alert_t alert)
Return whether a alert is writable.
Definition: manage_sql.c:8163
int manage_delete_scanner(GSList *log_config, const db_conn_info_t *database, const gchar *uuid)
Delete the given scanner.
Definition: manage_sql.c:38432
int init_alert_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an alert iterator, including observed alerts.
Definition: manage_sql.c:8191
char * trash_scanner_uuid(scanner_t scanner)
Return the UUID of a scanner in the trashcan.
Definition: manage_sql.c:39908
char * trash_schedule_uuid(schedule_t schedule)
Return the UUID of a trash schedule.
Definition: manage_sql.c:40662
int host_iterator_max_port(iterator_t *iterator)
Get the max port from a host iterator.
Definition: manage_sql.c:23223
int role_count(const get_data_t *get)
Count number of roles.
Definition: manage_sql.c:44739
char * scanner_name(scanner_t scanner)
Return the name of a scanner.
Definition: manage_sql.c:39670
int trash_group_writable(group_t group)
Check whether a trashcan group is writable.
Definition: manage_sql.c:41857
int scanner_count(const get_data_t *get)
Count number of scanners.
Definition: manage_sql.c:39922
char * credential_iterator_rpm(iterator_t *iterator)
Get the rpm from a Credential iterator.
Definition: manage_sql.c:35481
const char * override_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a override iterator.
Definition: manage_sql.c:38195
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:18024
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:47062
int permission_writable(permission_t permission)
Return whether a permission is writable.
Definition: manage_sql.c:42943
int aggregate_iterator_count(iterator_t *iterator)
Get the count from an aggregate iterator.
Definition: manage_sql.c:5548
int target_iterator_smb_credential(iterator_t *iterator)
Get the SMB LSC credential from a target iterator.
Definition: manage_sql.c:32004
int target_count(const get_data_t *get)
Count number of targets.
Definition: manage_sql.c:31902
int task_scanner_in_trash(task_t task)
Return whether the scanner of a task is in the trashcan.
Definition: manage_sql.c:17604
int modify_asset(const char *asset_id, const char *comment)
Modify an asset.
Definition: manage_sql.c:48834
int task_schedule_in_trash(task_t task)
Get whether the task schedule is in the trash.
Definition: manage_sql.c:18395
report_t result_iterator_report(iterator_t *iterator)
Get the report from a result iterator.
Definition: manage_sql.c:22556
gchar * filter_term(const char *uuid)
Return the term of a filter.
Definition: manage_sql.c:44860
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:18924
int delete_report(const char *report_id, int dummy)
Delete a report.
Definition: manage_sql.c:24468
int trash_filter_writable(filter_t filter)
Check whether a trashcan filter is writable.
Definition: manage_sql.c:45377
char * trash_credential_name(credential_t credential)
Get the name of an LSC credential in the trashcan.
Definition: manage_sql.c:35738
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:38504
char * group_uuid(group_t group)
Return the UUID of a group.
Definition: manage_sql.c:41811
task_status_t task_run_status(task_t task)
Return the run state of a task.
Definition: manage_sql.c:17637
int credential_count(const get_data_t *get)
Count number of LSC Credentials.
Definition: manage_sql.c:34818
int permission_iterator_resource_in_trash(iterator_t *iterator)
Return the permission resource location.
Definition: manage_sql.c:43191
char * task_observers(task_t task)
Return the observers of a task.
Definition: manage_sql.c:17367
int target_iterator_esxi_credential(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:32154
int target_iterator_snmp_trash(iterator_t *iterator)
Get the SNMP LSC credential location from a target iterator.
Definition: manage_sql.c:32202
char * target_ssh_port(target_t target)
Return the SSH LSC port of a target.
Definition: manage_sql.c:32455
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
int delete_group(const char *group_id, int ultimate)
Delete a group.
Definition: manage_sql.c:41651
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:47497
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:35612
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:41577
void manage_transaction_stop(gboolean force_commit)
Commit the current transaction, if any.
Definition: manage_sql.c:30439
void trim_partial_report(report_t report)
Prepare a partial report for resumption of the scan.
Definition: manage_sql.c:24602
void init_report_iterator_task(iterator_t *iterator, task_t task)
Initialise a report iterator.
Definition: manage_sql.c:21339
char * report_finished_hosts_str(report_t report)
Get a list string of finished hosts in a report.
Definition: manage_sql.c:25858
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:37306
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:40105
void set_scan_end_time(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23633
int trash_target_in_use(target_t target)
Return whether a trashcan target is referenced by a task.
Definition: manage_sql.c:32643
int setting_count(const char *filter)
Count number of settings.
Definition: manage_sql.c:49284
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:30312
void set_scan_end_time_epoch(report_t report, time_t timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23619
double prognosis_iterator_cvss_double(iterator_t *iterator)
Get the CVSS from a result iterator as a double.
Definition: manage_sql.c:19720
int alert_in_use(alert_t alert)
Return whether a alert is in use by a task.
Definition: manage_sql.c:8133
int manage_verify_scanner(GSList *log_config, const db_conn_info_t *database, const gchar *uuid)
Verify the given scanner.
Definition: manage_sql.c:38728
time_t override_iterator_end_time(iterator_t *iterator)
Get the end time from an override iterator.
Definition: manage_sql.c:38153
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
void init_target_task_iterator(iterator_t *iterator, target_t target)
Initialise a target task iterator.
Definition: manage_sql.c:32686
gboolean find_resource(const char *type, const char *uuid, resource_t *resource)
Find a resource given a UUID.
Definition: manage_sql.c:4128
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:29787
int report_host_count(report_t report)
Count a report's total number of hosts.
Definition: manage_sql.c:25700
config_t task_config(task_t task)
Return the config of a task.
Definition: manage_sql.c:17396
int target_iterator_esxi_trash(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:32170
void cleanup_manage_process(gboolean cleanup)
Cleanup the manage library.
Definition: manage_sql.c:16577
void set_task_start_time_epoch(task_t task, int time)
Set the start time of a task.
Definition: manage_sql.c:17856
double aggregate_iterator_sum(iterator_t *iterator, int data_column_index)
Get the sum from a statistics iterator.
Definition: manage_sql.c:5610
int result_iterator_may_have_tickets(iterator_t *iterator)
Get whether tickets may exist from a result iterator.
Definition: manage_sql.c:22811
int trash_scanner_readable(scanner_t scanner)
Return whether a trashcan scanner is readable.
Definition: manage_sql.c:39645
void set_task_hosts_ordering(task_t task, const char *ordering)
Set the hosts ordering of a task.
Definition: manage_sql.c:17532
int init_role_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a role iterator, including observed roles.
Definition: manage_sql.c:44758
int filter_term_min_qod(const char *term)
Return the value of the min_qod keyword of a filter term.
Definition: manage_sql.c:44944
credential_t scanner_iterator_credential(iterator_t *iterator)
Get the credential of the scanner from a scanner iterator.
Definition: manage_sql.c:39428
int report_timestamp(const char *report_id, gchar **timestamp)
Get the timestamp of a report.
Definition: manage_sql.c:23768
int result_uuid(result_t result, char **id)
Return the UUID of a result.
Definition: manage_sql.c:19464
const char * alert_task_iterator_name(iterator_t *iterator)
Return the name from an alert task iterator.
Definition: manage_sql.c:14503
char * filter_name(filter_t filter)
Return the name of a filter.
Definition: manage_sql.c:44832
int scanner_writable(scanner_t scanner)
Check whether a scanner is writable.
Definition: manage_sql.c:39619
void set_task_usage_type(task_t task, const char *usage_type)
Set the usage_type of a task.
Definition: manage_sql.c:17617
gchar ** result_iterator_cert_bunds(iterator_t *iterator)
Get CERT-BUNDs from a result iterator.
Definition: manage_sql.c:22897
int copy_note(const char *note_id, note_t *new_note)
Create a note from an existing note.
Definition: manage_sql.c:36110
char * alert_uuid(alert_t alert)
Return the UUID of an alert.
Definition: manage_sql.c:7959
int modify_role(const char *role_id, const char *name, const char *comment, const char *users)
Modify a role.
Definition: manage_sql.c:44582
int init_credential_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a Credential iterator.
Definition: manage_sql.c:35270
int alert_iterator_active(iterator_t *iterator)
Return the active state from an alert.
Definition: manage_sql.c:8380
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:19433
int copy_override(const char *override_id, override_t *new_override)
Create a override from an existing override.
Definition: manage_sql.c:37164
int qod_from_type(const char *qod_type)
Get QoD percentage for a qod_type string.
Definition: manage_sql.c:19060
int manage_test_alert(const char *alert_id, gchar **script_message)
Test an alert.
Definition: manage_sql.c:13891
int delete_filter(const char *filter_id, int ultimate)
Delete a filter.
Definition: manage_sql.c:45081
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:18157
int asset_host_count(const get_data_t *get)
Count number of hosts.
Definition: manage_sql.c:48241
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:23074
char * target_hosts(target_t target)
Return the hosts associated with a target.
Definition: manage_sql.c:32384
int result_iterator_may_have_overrides(iterator_t *iterator)
Get whether overrides may exist from a result iterator.
Definition: manage_sql.c:22797
void set_task_run_status(task_t task, task_status_t status)
Set the run state of a task.
Definition: manage_sql.c:17708
int manage_task_remove_file(const gchar *task_id, const char *name)
Remove a file on a task.
Definition: manage_sql.c:29945
char * tag_uuid(tag_t tag)
Return the UUID of a tag.
Definition: manage_sql.c:32260
const char * result_iterator_nvt_solution_method(iterator_t *iterator)
Get the NVT solution_method from a result iterator.
Definition: manage_sql.c:22953
void init_report_errors_iterator(iterator_t *iterator, report_t report)
Initialise a report errors iterator.
Definition: manage_sql.c:23249
void set_task_end_time_epoch(task_t task, time_t time)
Set the end time of a task.
Definition: manage_sql.c:23495
void add_task_alert(task_t task, alert_t alert)
Add an alert to a task.
Definition: manage_sql.c:18074
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:20267
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:44790
int manage_restore(const char *id)
Restore a resource from the trashcan.
Definition: manage_sql.c:45897
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:29753
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:30051
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:17126
char * task_comment(task_t task)
Return the comment of a task.
Definition: manage_sql.c:17339
void manage_reset_currents()
Cleanup as immediately as possible.
Definition: manage_sql.c:16635
int task_iterator_finished_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15064
int alert_iterator_filter_trash(iterator_t *iterator)
Return the location of an alert iterator filter.
Definition: manage_sql.c:8329
int target_iterator_ssh_trash(iterator_t *iterator)
Get the location of the SSH LSC credential from a target iterator.
Definition: manage_sql.c:32020
int init_permission_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a permission iterator.
Definition: manage_sql.c:43138
int permission_count(const get_data_t *get)
Count number of permissions.
Definition: manage_sql.c:43118
gchar * host_routes_xml(host_t host)
Get XML of a detailed host route.
Definition: manage_sql.c:47625
int delete_override(const char *override_id, int ultimate)
Delete a override.
Definition: manage_sql.c:37181
int role_in_use(role_t role)
Check whether a role is in use.
Definition: manage_sql.c:44551
const char * result_iterator_severity(iterator_t *iterator)
Get the severity from a result iterator.
Definition: manage_sql.c:22655
void clear_duration_schedules(task_t task)
Clear once-off schedules from tasks where the duration has passed.
Definition: manage_sql.c:18689
void init_credential_scanner_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential scanner iterator.
Definition: manage_sql.c:35871
int alert_iterator_condition(iterator_t *iterator)
Return the condition from an alert iterator.
Definition: manage_sql.c:8233
const char * target_iterator_alive_tests(iterator_t *iterator)
Get the alive test description from a target iterator.
Definition: manage_sql.c:32115
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:40306
int init_schedule_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a schedule iterator.
Definition: manage_sql.c:40823
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:45064
result_t result_iterator_result(iterator_t *iterator)
Get the result from a result iterator.
Definition: manage_sql.c:22457
int manage_scap_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5907
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:49386
double aggregate_iterator_min(iterator_t *iterator, int data_column_index)
Get the minimum from an aggregate iterator.
Definition: manage_sql.c:5562
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:47168
const char * task_iterator_last_report(iterator_t *iterator)
Get the last report UUID from a task iterator.
Definition: manage_sql.c:15050
int override_iterator_active(iterator_t *iterator)
Get the active status from an override iterator.
Definition: manage_sql.c:38169
int alert_iterator_method(iterator_t *iterator)
Return the method from an alert iterator.
Definition: manage_sql.c:8249
int filter_alert_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:45556
int note_iterator_active(iterator_t *iterator)
Get the active status from an note iterator.
Definition: manage_sql.c:36880
int trash_target_writable(target_t target)
Return whether a trashcan target is writable.
Definition: manage_sql.c:32672
void reset_task(task_t task)
Reset all running information for a task.
Definition: manage_sql.c:29869
array_t * split_filter(const gchar *given_filter)
Split the filter term into parts.
Definition: manage_sql.c:1659
int manage_schema(gchar *format, gchar **output_return, gsize *output_length, gchar **extension, gchar **content_type)
Generate the GMP schema.
Definition: manage_sql.c:45687
int permission_iterator_subject_readable(iterator_t *iterator)
Get the readable status of a subject from a permission iterator.
Definition: manage_sql.c:43300
int delete_note(const char *note_id, int ultimate)
Delete a note.
Definition: manage_sql.c:36127
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:38781
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:36533
int permission_in_use(permission_t permission)
Return whether a permission is in use.
Definition: manage_sql.c:42917
int schedule_writable(schedule_t schedule)
Return whether a schedule is writable.
Definition: manage_sql.c:40597
const char * alert_data_iterator_name(iterator_t *iterator)
Return the name from an alert data iterator.
Definition: manage_sql.c:8418
void init_manage_process(const db_conn_info_t *database)
Initialize the manage library for a process.
Definition: manage_sql.c:15270
const char * note_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a note iterator.
Definition: manage_sql.c:36906
int manage_max_hosts()
Get the maximum allowed number of hosts per target.
Definition: manage_sql.c:30271
int delete_scanner(const char *scanner_id, int ultimate)
Delete a scanner.
Definition: manage_sql.c:39158
credential_t target_credential(target_t target, const char *type)
Get a credential from a target.
Definition: manage_sql.c:30637
void init_credential_target_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential target iterator.
Definition: manage_sql.c:35794
report_t task_iterator_current_report(iterator_t *iterator)
Return the current report of a task.
Definition: manage_sql.c:17782
void hosts_set_identifiers(report_t report)
Setup hosts and their identifiers after a scan, from host details.
Definition: manage_sql.c:47226
int filter_in_use(filter_t filter)
Check whether a filter is in use.
Definition: manage_sql.c:45246
gchar * credential_value(credential_t credential, const char *value_name)
Get a value from a credential.
Definition: manage_sql.c:34932
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
const char * result_iterator_level(iterator_t *iterator)
Get the severity/threat level from a result iterator.
Definition: manage_sql.c:22697
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:17927
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:28556
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:18293
int trash_role_writable(role_t role)
Check whether a trashcan role is writable.
Definition: manage_sql.c:44538
const char * override_iterator_threat(iterator_t *iterator)
Get the threat from a override iterator.
Definition: manage_sql.c:38092
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:37788
int schedule_period(schedule_t schedule)
Return the period of a schedule.
Definition: manage_sql.c:40704
int trash_scanner_writable(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:39632
int override_uuid(override_t override, char **id)
Return the UUID of an override.
Definition: manage_sql.c:37147
task_t result_iterator_task(iterator_t *iterator)
Get the task from a result iterator.
Definition: manage_sql.c:22542
int manage_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5858
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:41393
int task_alterable(task_t task)
Return whether a task is an Alterable Task.
Definition: manage_sql.c:15156
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:18986
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
int init_task_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a task iterator.
Definition: manage_sql.c:14930
int task_in_trash(task_t task)
Return whether a task is in the trashcan.
Definition: manage_sql.c:17263
int target_writable(target_t target)
Return whether a target is writable.
Definition: manage_sql.c:32659
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:22580
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:38946
int delete_task(task_t task, int ultimate)
Complete deletion of a task.
Definition: manage_sql.c:29577
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
int scanner_config_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:39508
char * host_uuid(resource_t host)
Return the UUID of a host.
Definition: manage_sql.c:47094
const char * result_iterator_nvt_solution_type(iterator_t *iterator)
Get the NVT solution_type from a result iterator.
Definition: manage_sql.c:22939
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:41212
int task_result_count(task_t task, int min_qod)
Return number of results in a task.
Definition: manage_sql.c:17738
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:42681
int create_asset_report(const char *report_id, const char *term)
Create all available assets from a report.
Definition: manage_sql.c:48715
void set_task_start_time_ctime(task_t task, char *time)
Set the start time of a task.
Definition: manage_sql.c:17871
int scan_host_end_time(report_t report, const char *host)
Get the end time of a scanned host.
Definition: manage_sql.c:23670
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
int task_average_scan_duration(task_t task)
Get the average duration of all finished reports of a task.
Definition: manage_sql.c:15201
char * target_exclude_hosts(target_t target)
Return the excluded hosts associated with a target.
Definition: manage_sql.c:32399
char * target_name(target_t target)
Return the name of a target.
Definition: manage_sql.c:32302
int task_writable(task_t task)
Return whether a task is writable.
Definition: manage_sql.c:15171
char * task_owner_name(task_t task)
Return the name of the owner of a task.
Definition: manage_sql.c:17295
int delete_credential(const char *credential_id, int ultimate)
Delete a Credential.
Definition: manage_sql.c:34570
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 task_iterator_total_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15008
task_t override_iterator_task(iterator_t *iterator)
Get the task from a override iterator.
Definition: manage_sql.c:38124
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:40135
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:42620
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:22302
char * task_hosts_ordering(task_t task)
Return the hosts ordering of a task.
Definition: manage_sql.c:17353
result_t note_iterator_result(iterator_t *iterator)
Get the result from a note iterator.
Definition: manage_sql.c:36849
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:31025
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
int result_count(const get_data_t *get, report_t report, const char *host)
Count the number of results.
Definition: manage_sql.c:22398
const char * filter_iterator_type(iterator_t *iterator)
Get the type from a filter iterator.
Definition: manage_sql.c:45464
void set_scan_start_time_ctime(report_t report, const char *timestamp)
Set the start time of a scan.
Definition: manage_sql.c:23571
int manage_decrypt_all_credentials(GSList *log_config, const db_conn_info_t *database)
Decrypt all credentials.
Definition: manage_sql.c:6150
task_status_t task_iterator_run_status(iterator_t *iterator)
Get the run status from a task iterator.
Definition: manage_sql.c:14992
char * target_reverse_lookup_only(target_t target)
Return the reverse_lookup_only value of a target.
Definition: manage_sql.c:32413
int trash_permission_writable(permission_t permission)
Return whether a trashcan permission is writable.
Definition: manage_sql.c:42958
unsigned int task_count(const get_data_t *get)
Return the number of tasks associated with the current user.
Definition: manage_sql.c:17194
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:18464
char * credential_uuid(credential_t credential)
Get the UUID of a Credential.
Definition: manage_sql.c:35695
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:23715
int set_task_observers(task_t task, const gchar *observers)
Set the observers of a task.
Definition: manage_sql.c:18549
char * target_reverse_lookup_unify(target_t target)
Return the reverse_lookup_unify value of a target.
Definition: manage_sql.c:32427
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:30297
void filter_free(array_t *split)
Free a split filter.
Definition: manage_sql.c:1575
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:33532
int asset_os_count(const get_data_t *get)
Count number of oss.
Definition: manage_sql.c:48492
int target_iterator_port_list_trash(iterator_t *iterator)
Get the location of the port list from a target iterator.
Definition: manage_sql.c:32070
gchar * credential_encrypted_value(credential_t credential, const char *value_name)
Get a possibly encrypted credential value in decrypted form.
Definition: manage_sql.c:34952
int scanner_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:39575
int schedule_count(const get_data_t *get)
Count the number of schedules.
Definition: manage_sql.c:40804
int manage_cert_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5930
int cleanup_result_nvts()
Check if the result_nvts are assigned to result.
Definition: manage_sql.c:22996
int request_delete_task_uuid(const char *task_id, int ultimate)
Request deletion of a task.
Definition: manage_sql.c:29427
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:28792
const char * result_iterator_nvt_name(iterator_t *iterator)
Get the NVT name from a result iterator.
Definition: manage_sql.c:22925
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:20334
int target_iterator_ssh_credential(iterator_t *iterator)
Get the SSH LSC credential from a target iterator.
Definition: manage_sql.c:31979
char * scan_end_time_uuid(const char *uuid)
Get the end time of a scan.
Definition: manage_sql.c:23602
int trash_role_in_use(role_t role)
Check whether a trashcan role is in use.
Definition: manage_sql.c:44564
int trash_credential_readable(credential_t credential)
Return whether a trashcan credential is readable.
Definition: manage_sql.c:35767
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:36945
void init_alert_task_iterator(iterator_t *iterator, alert_t alert, int ascending)
Initialise an alert task iterator.
Definition: manage_sql.c:14463
int credential_in_use(credential_t credential)
Check whether a Credential is in use.
Definition: manage_sql.c:34835
char * credential_iterator_exe(iterator_t *iterator)
Get the exe from a Credential iterator.
Definition: manage_sql.c:35577
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:45577
const char * credential_iterator_password(iterator_t *iterator)
Get the password from a Credential iterator.
Definition: manage_sql.c:35422
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:29771
void init_scanner_task_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner task iterator.
Definition: manage_sql.c:39521
void init_filter_alert_iterator(iterator_t *iterator, filter_t filter)
Initialise a filter alert iterator.
Definition: manage_sql.c:45491
int target_iterator_ssh_elevate_trash(iterator_t *iterator)
Get the ELEVATE LSC credential location from a target iterator.
Definition: manage_sql.c:32234
double aggregate_iterator_max(iterator_t *iterator, int data_column_index)
Get the maximum from an aggregate iterator.
Definition: manage_sql.c:5578
void init_task_role_iterator(iterator_t *iterator, task_t task)
Initialise a task role iterator.
Definition: manage_sql.c:6312
int trash_scanner_in_use(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:39603
int keyword_special(keyword_t *keyword)
Get whether a keyword is special (like "and").
Definition: manage_sql.c:1090
int credential_target_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:35855
int task_in_trash_id(const gchar *task_id)
Return whether a task is in the trashcan.
Definition: manage_sql.c:17280
gchar * role_users(role_t role)
Gets users of role as a string.
Definition: manage_sql.c:44504
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:23938
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:36007
void init_target_iterator_one(iterator_t *iterator, target_t target)
Initialise a target iterator, given a single target.
Definition: manage_sql.c:31918
int host_iterator_current_port(iterator_t *iterator)
Get the current port from a host iterator.
Definition: manage_sql.c:23207
int delete_permission(const char *permission_id, int ultimate)
Delete a permission.
Definition: manage_sql.c:43385
int alert_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:14535
void host_detail_free(host_detail_t *detail)
Free a host detail.
Definition: manage_sql.c:20245
int permission_iterator_resource_readable(iterator_t *iterator)
Get the readable status of a resource from a permission iterator.
Definition: manage_sql.c:43219
char * trash_credential_uuid(credential_t credential)
Get the UUID of a Credential in the trashcan.
Definition: manage_sql.c:35709
int init_asset_host_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a host iterator.
Definition: manage_sql.c:48168
result_t override_iterator_result(iterator_t *iterator)
Get the result from a override iterator.
Definition: manage_sql.c:38138
char * openvas_default_scanner_host()
Get the default scanner path or host.
Definition: manage_sql.c:39938
int alert_iterator_event(iterator_t *iterator)
Return the event from an alert iterator.
Definition: manage_sql.c:8217
void init_task_group_iterator(iterator_t *iterator, task_t task)
Initialise a task group iterator.
Definition: manage_sql.c:6283
const char * scanner_uuid_default()
Return the UUID of the default scanner.
Definition: manage_sql.c:39696
const char * credential_iterator_privacy_password(iterator_t *iterator)
Get the privacy password from a Credential iterator.
Definition: manage_sql.c:35467
gchar * role_uuid(role_t role)
Gets UUID of role.
Definition: manage_sql.c:44490
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:35949
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
char * credential_name(credential_t credential)
Get the name of an LSC credential.
Definition: manage_sql.c:35724
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:16546
double result_iterator_severity_double(iterator_t *iterator)
Get the severity from a result iterator as double.
Definition: manage_sql.c:22678
int scanner_port(scanner_t scanner)
Return the port of a scanner.
Definition: manage_sql.c:39722
char * report_uuid(report_t report)
Return the UUID of a report.
Definition: manage_sql.c:20765
char * schedule_name(schedule_t schedule)
Return the name of a schedule.
Definition: manage_sql.c:40676
int filter_term_apply_overrides(const char *term)
Return the value of the apply_overrides keyword of a filter term.
Definition: manage_sql.c:44917
int verify_scanner(const char *scanner_id, char **version)
Verify a scanner.
Definition: manage_sql.c:40164
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:47890
int trash_task_in_use(task_t task)
Return whether a trashcan task is referenced by a task.
Definition: manage_sql.c:15143
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 result_iterator_may_have_notes(iterator_t *iterator)
Get whether notes may exist from a result iterator.
Definition: manage_sql.c:22783
int host_identifier_iterator_source_orphan(iterator_t *iterator)
Get the source orphan state from a host identifier iterator.
Definition: manage_sql.c:48018
int permission_is_admin(const char *permission_id)
Test whether a permission is the special Admin permission.
Definition: manage_sql.c:42902
int modify_group(const char *group_id, const char *name, const char *comment, const char *users)
Modify a group.
Definition: manage_sql.c:41970
int permission_iterator_subject_in_trash(iterator_t *iterator)
Return the permission subject location.
Definition: manage_sql.c:43286
int filter_count(const get_data_t *get)
Count number of filters.
Definition: manage_sql.c:45418
const char * task_iterator_run_status_name(iterator_t *iterator)
Get the run status name from a task iterator.
Definition: manage_sql.c:15036
const char * task_iterator_first_report(iterator_t *iterator)
Get the first report UUID from a task iterator.
Definition: manage_sql.c:15022
int init_asset_os_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an OS iterator.
Definition: manage_sql.c:48392
void init_task_alert_iterator(iterator_t *iterator, task_t task)
Initialise a task alert iterator.
Definition: manage_sql.c:8497
char * credential_type(credential_t credential)
Get the type of a Credential.
Definition: manage_sql.c:35753
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:40021
char * scan_start_time_uuid(const char *uuid)
Get the start time of a scan.
Definition: manage_sql.c:23541
char * scanner_ca_pub(scanner_t scanner)
Return the CA Certificate of a scanner.
Definition: manage_sql.c:39762
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
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:19336
int task_schedule_next_time(task_t task)
Get next time a scheduled task will run, following schedule timezone.
Definition: manage_sql.c:18445
int credential_scanner_iterator_readable(iterator_t *iterator)
Get the read permission status from a Credential Scanner iterator.
Definition: manage_sql.c:35930
int credential_iterator_allow_insecure(iterator_t *iterator)
Get the login from a Credential iterator.
Definition: manage_sql.c:35356
void report_add_result(report_t report, result_t result)
Add a result to a report.
Definition: manage_sql.c:20989
char * credential_iterator_deb(iterator_t *iterator)
Get the deb from a Credential iterator.
Definition: manage_sql.c:35525
int manage_get_scanners(GSList *log_config, const db_conn_info_t *database)
List scanners.
Definition: manage_sql.c:40209
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:33757
int trash_credential_writable(credential_t credential)
Check whether a trashcan Credential is writable.
Definition: manage_sql.c:34918
double aggregate_iterator_mean(iterator_t *iterator, int data_column_index)
Get the mean from an aggregate iterator.
Definition: manage_sql.c:5594
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:24298
int delete_asset(const char *asset_id, const char *report_id, int dummy)
Delete an asset.
Definition: manage_sql.c:48992
schedule_t task_schedule_uuid(const gchar *task_id)
Return the schedule of a task.
Definition: manage_sql.c:18362
char * trash_target_uuid(target_t target)
Return the UUID of a trashcan target.
Definition: manage_sql.c:32288
void report_add_results_array(report_t report, GArray *results)
Add results from an array to a report.
Definition: manage_sql.c:21019
void init_config_task_iterator(iterator_t *iterator, config_t config, int ascending)
Initialise a config task iterator.
Definition: manage_sql_configs.c:4037
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
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 * nvt_preference_iterator_id(iterator_t *iterator)
Get the ID from an NVT preference iterator.
Definition: manage_sql_configs.c:1876
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 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 nvt_selector_iterator_type(iterator_t *iterator)
Get the type from an NVT selector.
Definition: manage_sql_configs.c:365
int nvt_preference_count(const char *oid)
Get the number preferences available for an NVT.
Definition: manage_sql_configs.c:1935
char * task_preference_value(task_t task, const char *name)
Get the value of a task preference.
Definition: manage_sql_configs.c:1957
void manage_nvt_preference_add(const char *name, const char *value)
Add/replace an NVT preference.
Definition: manage_sql_configs.c:1701
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
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
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
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
char * nvt_preference_iterator_oid(iterator_t *iterator)
Get the NVT from an NVT preference iterator.
Definition: manage_sql_configs.c:1851
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
char * nvt_preference_iterator_type(iterator_t *iterator)
Get the type from an NVT preference iterator.
Definition: manage_sql_configs.c:1826
void init_nvt_preference_iterator(iterator_t *iterator, const char *oid)
Initialise an NVT preference iterator.
Definition: manage_sql_configs.c:1730
int config_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql_configs.c:4096
int set_task_preferences(task_t task, array_t *preferences)
Set the preferences of a task.
Definition: manage_sql_configs.c:1993
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_nvt_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an NVT iterator.
Definition: manage_sql_nvts.c:408
double nvt_severity_iterator_score(iterator_t *iterator)
Gets the score from an NVT severity iterator.
Definition: manage_sql_nvts.c:1771
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
gboolean find_nvt(const char *oid, nvt_t *nvt)
Find an NVT given an identifier.
Definition: manage_sql_nvts.c:233
time_t nvts_feed_version_epoch()
Return feed version of the plugins as seconds since epoch.
Definition: manage_sql_nvts.c:186
char * manage_nvt_name(nvt_t nvt)
Get the name of an NVT.
Definition: manage_sql_nvts.c:145
char * nvt_name(const char *oid)
Get the name of an NVT given its OID.
Definition: manage_sql_nvts.c:158
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
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
int nvt_info_count(const get_data_t *get)
Count number of nvt.
Definition: manage_sql_nvts.c:486
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 manage_rebuild(GSList *log_config, const db_conn_info_t *database)
Rebuild NVT db.
Definition: manage_sql_nvts.c:2171
char * nvt_default_timeout(const char *oid)
Get the default timeout of an NVT.
Definition: manage_sql_nvts.c:1020
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 family_nvt_count(const char *family)
Get the number of NVTs in one or all families.
Definition: manage_sql_nvts.c:1055
char * nvts_feed_version()
Return feed version of the plugins in the plugin cache.
Definition: manage_sql_nvts.c:173
void init_nvt_severity_iterator(iterator_t *iterator, const char *oid)
Initialise an NVT severity iterator.
Definition: manage_sql_nvts.c:1722
int nvt_iterator_category(iterator_t *iterator)
Get the category from an NVT iterator.
Definition: manage_sql_nvts.c:884
int cve_info_count(const get_data_t *get)
Count number of cve.
Definition: manage_sql_secinfo.c:684
gchar * cve_cvss_base(const gchar *cve)
Get the CVSS score for a CVE.
Definition: manage_sql_secinfo.c:666
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
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 cpe_info_count(const get_data_t *get)
Count number of cpe.
Definition: manage_sql_secinfo.c:476
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
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
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
int cert_bund_adv_info_count(const get_data_t *get)
Count number of cert_bund_adv.
Definition: manage_sql_secinfo.c:879
int dfn_cert_adv_info_count(const get_data_t *get)
Count number of dfn_cert_adv.
Definition: manage_sql_secinfo.c:1087
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_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
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 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
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
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
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
static PGconn * conn
Handle on the database.
Definition: sql_pg.c:84
Data about a report sent by an alert.
Definition: manage.h:394
gchar * content_type
The MIME content type of the report.
Definition: manage.h:397
gchar * remote_filename
Path or filename to send to / as.
Definition: manage.h:396
gchar * report_format_name
Name of the report format used.
Definition: manage.h:398
gchar * local_filename
Path to the local report file.
Definition: manage.h:395
A command.
Definition: manage.h:151
gchar * summary
Summary of command.
Definition: manage.h:153
gchar * name
Command name.
Definition: manage.h:152
A CREATE_REPORT result.
Definition: manage.h:1189
char * description
Description of NVT.
Definition: manage.h:1190
char * qod
QoD (quality of detection).
Definition: manage.h:1196
char * port
Port.
Definition: manage.h:1195
char * host
Host.
Definition: manage.h:1191
char * qod_type
QoD type.
Definition: manage.h:1197
char * scan_nvt_version
Version of NVT used at scan time.
Definition: manage.h:1194
char * threat
Threat.
Definition: manage.h:1199
char * hostname
Hostname.
Definition: manage.h:1192
char * severity
Severity score.
Definition: manage.h:1198
char * nvt_oid
OID of NVT.
Definition: manage.h:1193
Data structure for info used to connect to the database.
Definition: manage.h:47
gchar * user
The database user name.
Definition: manage.h:51
gchar * name
The database name.
Definition: manage.h:48
gchar * port
The database port or socket file extension.
Definition: manage.h:50
gchar * host
The database host or socket directory.
Definition: manage.h:49
A detection detail for create_report.
Definition: manage.h:1220
char * source_name
source_name of detection in result.
Definition: manage.h:1222
char * product
product of detection in result.
Definition: manage.h:1221
char * location
location of detection in result.
Definition: manage.h:1224
char * source_oid
source_oid of detection in result.
Definition: manage.h:1223
Command data for a get command.
Definition: manage_get.h:35
A host detail for create_report.
Definition: manage.h:1206
char * name
Detail name.
Definition: manage.h:1208
char * source_type
Source type.
Definition: manage.h:1211
char * source_name
Source name.
Definition: manage.h:1210
char * ip
IP.
Definition: manage.h:1207
char * value
Detail value.
Definition: manage.h:1212
char * source_desc
Source description.
Definition: manage.h:1209
A generic SQL iterator structure.
Definition: iterator.h:50
Keyword.
Definition: manage.h:2983
gchar * column
The column prefix, or NULL.
Definition: manage.h:2984
keyword_relation_t relation
The relation.
Definition: manage.h:2992
gchar * string
The keyword string, outer quotes removed.
Definition: manage.h:2990
int integer_value
Integer value of the keyword.
Definition: manage.h:2987
keyword_type_t type
Type of keyword.
Definition: manage.h:2991
double double_value
Floating point value of the keyword.
Definition: manage.h:2988
int equal
Whether the keyword is like "=example".
Definition: manage.h:2986
int quoted
Whether the keyword was quoted.
Definition: manage.h:2989
int approx
Whether the keyword is like "~example".
Definition: manage.h:2985
Lockfile.
Definition: utils.h:62
Name value pair.
Definition: manage.h:114
gchar * name
Name.
Definition: manage.h:115
gchar * value
Param value.
Definition: manage.h:116
A system report type iterator.
Definition: manage.h:2438
gchar ** start
First type.
Definition: manage.h:2439
gchar ** current
Current type.
Definition: manage.h:2440
Severity data for result count cache.
Definition: manage.h:1010
int * counts
Counts.
Definition: manage.h:1011
int total
Total.
Definition: manage.h:1012
double max
Max.
Definition: manage.h:1013
Sort data for aggregates commands.
Definition: manage.h:3562
int order
The sort order.
Definition: manage.h:3565
gchar * field
The field to sort by.
Definition: manage.h:3563
gchar * stat
The statistic to sort by.
Definition: manage.h:3564
Headers for Greenbone Vulnerability Manager: General utilities.