25 #ifndef _GVMD_MANAGE_H 26 #define _GVMD_MANAGE_H 31 #include <gnutls/gnutls.h> 32 #include <gvm/base/array.h> 33 #include <gvm/base/credentials.h> 34 #include <gvm/base/networking.h> 35 #include <gvm/base/nvti.h> 36 #include <gvm/osp/osp.h> 37 #include <gvm/util/authutils.h> 38 #include <gvm/util/serverutils.h> 44 #define ALL_LOG_LEVELS \ 45 (G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION) 51 #define g_info(...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, __VA_ARGS__) 66 typedef int (*manage_connection_forker_t) (gvm_connection_t *
conn,
77 manage_connection_forker_t,
183 extern short scanner_active;
217 TASK_STATUS_DELETE_REQUESTED = 0,
218 TASK_STATUS_DONE = 1,
220 TASK_STATUS_REQUESTED = 3,
221 TASK_STATUS_RUNNING = 4,
222 TASK_STATUS_STOP_REQUESTED = 10,
223 TASK_STATUS_STOP_WAITING = 11,
224 TASK_STATUS_STOPPED = 12,
225 TASK_STATUS_INTERRUPTED = 13,
226 TASK_STATUS_DELETE_ULTIMATE_REQUESTED = 14,
227 TASK_STATUS_STOP_REQUESTED_GIVEUP = 15,
228 TASK_STATUS_DELETE_WAITING = 16,
229 TASK_STATUS_DELETE_ULTIMATE_WAITING = 17
235 #define AUTO_DELETE_KEEP_MIN 2 240 #define AUTO_DELETE_KEEP_MAX 1200 250 ALIVE_TEST_TCP_ACK_SERVICE = 1,
253 ALIVE_TEST_CONSIDER_ALIVE = 8,
254 ALIVE_TEST_TCP_SYN_SERVICE = 16
263 typedef enum scanner_type
265 SCANNER_TYPE_NONE = 0,
267 SCANNER_TYPE_OPENVAS,
273 typedef long long int agent_t;
274 typedef long long int config_t;
275 typedef long long int credential_t;
276 typedef long long int alert_t;
277 typedef long long int filter_t;
278 typedef long long int group_t;
279 typedef long long int host_t;
280 typedef long long int tag_t;
281 typedef long long int target_t;
282 typedef long long int task_t;
283 typedef long long int ticket_t;
284 typedef long long int result_t;
285 typedef long long int report_t;
286 typedef long long int report_host_t;
287 typedef long long int report_format_t;
288 typedef long long int report_format_param_t;
289 typedef long long int role_t;
290 typedef long long int note_t;
291 typedef long long int nvt_t;
292 typedef long long int override_t;
293 typedef long long int permission_t;
294 typedef long long int port_list_t;
295 typedef long long int port_range_t;
296 typedef long long int schedule_t;
297 typedef long long int scanner_t;
298 typedef long long int setting_t;
299 typedef long long int user_t;
306 #define FILT_ID_NONE "0" 311 #define FILT_ID_USER_SETTING "-2" 328 int ignore_pagination;
352 get_iterator_modification_time (
iterator_t *);
372 resource_id_exists (
const char *,
const char *);
375 trash_id_exists (
const char *,
const char *);
390 delete_resource (
const char *,
const char *,
int);
414 #define ALERT_MESSAGE_INCLUDE \ 417 "After the event $e,\n" \ 418 "the following condition was met: $c\n" \ 420 "This email escalation is configured to apply report format '$r'.\n" \ 421 "Full details and other report formats are available on the scan engine.\n" \ 429 "This email was sent to you as a configured security scan escalation.\n" \ 430 "Please contact your local system administrator if you think you\n" \ 431 "should not have received it.\n" 436 #define SECINFO_ALERT_MESSAGE_INCLUDE \ 439 "After the event $e,\n" \ 440 "the following condition was met: $c\n" \ 442 "This email escalation is configured to apply report format '$r'.\n" \ 443 "Full details and other report formats are available on the scan engine.\n" \ 451 "This email was sent to you as a configured security scan escalation.\n" \ 452 "Please contact your local system administrator if you think you\n" \ 453 "should not have received it.\n" 458 #define ALERT_MESSAGE_ATTACH \ 461 "After the event $e,\n" \ 462 "the following condition was met: $c\n" \ 464 "This email escalation is configured to attach report format '$r'.\n" \ 465 "Full details and other report formats are available on the scan engine.\n" \ 470 "This email was sent to you as a configured security scan escalation.\n" \ 471 "Please contact your local system administrator if you think you\n" \ 472 "should not have received it.\n" 477 #define SECINFO_ALERT_MESSAGE_ATTACH \ 480 "After the event $e,\n" \ 481 "the following condition was met: $c\n" \ 483 "This email escalation is configured to attach report format '$r'.\n" \ 484 "Full details and other report formats are available on the scan engine.\n" \ 489 "This email was sent to you as a configured security scan escalation.\n" \ 490 "Please contact your local system administrator if you think you\n" \ 491 "should not have received it.\n" 496 #define ALERT_VFIRE_CALL_DESCRIPTION \ 497 "GVM Task '$n': $e\n" \ 499 "After the event $e,\n" \ 500 "the following condition was met: $c\n" \ 502 "This ticket includes reports in the following format(s):\n" \ 504 "Full details and other report formats are available on the scan engine.\n" \ 509 "This ticket was created automatically as a security scan escalation.\n" \ 510 "Please contact your local system administrator if you think it\n" \ 511 "was created or assigned erroneously.\n" 519 EVENT_TASK_RUN_STATUS_CHANGED,
521 EVENT_UPDATED_SECINFO,
522 EVENT_TICKET_RECEIVED,
523 EVENT_ASSIGNED_TICKET_CHANGED,
524 EVENT_OWNED_TICKET_CHANGED
534 ALERT_METHOD_HTTP_GET,
535 ALERT_METHOD_SOURCEFIRE,
536 ALERT_METHOD_START_TASK,
538 ALERT_METHOD_VERINICE,
543 ALERT_METHOD_TIPPINGPOINT,
552 ALERT_CONDITION_ERROR,
553 ALERT_CONDITION_ALWAYS,
554 ALERT_CONDITION_SEVERITY_AT_LEAST,
555 ALERT_CONDITION_SEVERITY_CHANGED,
556 ALERT_CONDITION_FILTER_COUNT_AT_LEAST,
557 ALERT_CONDITION_FILTER_COUNT_CHANGED
577 copy_alert (
const char *,
const char *,
const char *, alert_t *);
601 manage_alert (
const char *,
const char *, event_t,
const void *, gchar **);
791 char *task_description (task_t);
794 set_task_description (task_t,
char *, gsize);
835 unsigned int task_report_count (task_t);
874 int task_debugs_size (task_t);
876 int task_holes_size (task_t);
878 int task_infos_size (task_t);
880 int task_logs_size (task_t);
882 int task_warnings_size (task_t);
884 int task_false_positive_size (task_t);
892 copy_task (
const char *,
const char *,
const char *,
int, task_t *);
906 set_task_parameter (task_t,
const char *,
char *);
930 add_task_description_line (task_t,
const char *,
size_t);
933 set_scan_ports (report_t,
const char *,
unsigned int,
unsigned int);
936 append_task_open_port (task_t task,
const char *,
const char *);
963 init_config_file_iterator (
iterator_t *,
const char *,
const char *);
1052 user_may (
const char *);
1055 user_can_everything (
const char *);
1058 user_can_super_everyone (
const char *);
1061 user_has_super (
const char *, user_t);
1068 #define LSC_FAMILY_LIST \ 1069 "'AIX Local Security Checks'," \ 1070 " 'CentOS Local Security Checks'," \ 1071 " 'Debian Local Security Checks'," \ 1072 " 'Fedora Local Security Checks'," \ 1073 " 'FreeBSD Local Security Checks'," \ 1074 " 'Gentoo Local Security Checks'," \ 1075 " 'HP-UX Local Security Checks'," \ 1076 " 'Mac OS X Local Security Checks'," \ 1077 " 'Mandrake Local Security Checks'," \ 1078 " 'Red Hat Local Security Checks'," \ 1079 " 'Solaris Local Security Checks'," \ 1080 " 'SuSE Local Security Checks'," \ 1081 " 'Ubuntu Local Security Checks'," \ 1082 " 'Windows : Microsoft Bulletins'," \ 1083 " 'Privilege escalation'" 1104 #define OVAS_MANAGE_REPORT_ID_LENGTH UUID_LEN_STR 1109 #define APPLY_OVERRIDES_DEFAULT 0 1114 #define QOD_DEFAULT 75 1119 #define MIN_QOD_DEFAULT 70 1122 reports_clear_count_cache (
int);
1125 reports_clear_count_cache_for_override (override_t,
int);
1146 make_report (task_t,
const char *, task_status_t);
1171 make_cve_result (task_t,
const char *,
const char *,
double,
const char *);
1216 manage_report_host_detail (report_t,
const char *,
const char *);
1218 void hosts_set_identifiers (report_t);
1221 hosts_set_max_severity (report_t,
int *,
int *);
1224 hosts_set_details (report_t report);
1260 report_set_slave_username (report_t,
const gchar *);
1263 report_set_slave_password (report_t,
const gchar *);
1274 report_path_task_uuid (gchar *);
1282 report_scan_result_count (report_t,
1318 report_counts_id_no_filt (report_t,
1460 result_iterator_solution_type (
iterator_t *);
1475 result_iterator_detected_by_oid (
iterator_t *);
1478 result_iterator_asset_host_id (
iterator_t *);
1514 collate_message_type (
void *data,
int,
const void *,
int,
const void *);
1546 gboolean (*) (
const char *,
1547 int (*) (
const char *,
void *),
1549 int (*) (
const char *,
void *),
1586 prognosis_iterator_description (
iterator_t *);
1595 #define MANAGE_ABSOLUTE_MAX_IPS_PER_TARGET 70000 1600 #define MANAGE_MAX_HOSTS 4095 1605 #define MANAGE_USER_MAX_HOSTS 16777216 1662 copy_target (
const char *,
const char *,
const char *, target_t *);
1687 init_user_target_iterator (
iterator_t *, target_t);
1699 target_iterator_exclude_hosts (
iterator_t *);
1702 target_iterator_reverse_lookup_only (
iterator_t *);
1705 target_iterator_reverse_lookup_unify (
iterator_t *);
1738 target_iterator_port_list_uuid (
iterator_t *);
1741 target_iterator_port_list_name (
iterator_t *);
1780 target_ssh_credential_name (
const char *);
1850 copy_config (
const char *,
const char *,
const char *, config_t *);
1967 config_timeout_iterator_nvt_name (
iterator_t *);
1970 config_timeout_iterator_value (
iterator_t *);
1973 const char *, gboolean);
2068 #define NVT_SELECTOR_TYPE_ALL 0 2073 #define NVT_SELECTOR_TYPE_FAMILY 1 2078 #define NVT_SELECTOR_TYPE_NVT 2 2083 #define NVT_SELECTOR_TYPE_ANY 999 2130 nvt_preference_iterator_value (
iterator_t *);
2181 CREDENTIAL_FORMAT_NONE = 0,
2182 CREDENTIAL_FORMAT_KEY = 1,
2183 CREDENTIAL_FORMAT_RPM = 2,
2184 CREDENTIAL_FORMAT_DEB = 3,
2185 CREDENTIAL_FORMAT_EXE = 4,
2186 CREDENTIAL_FORMAT_PEM = 5,
2187 CREDENTIAL_FORMAT_ERROR = -1
2188 } credential_format_t;
2210 copy_credential (
const char *,
const char *,
const char *, credential_t *);
2249 credential_iterator_auth_algorithm (
iterator_t *);
2252 credential_iterator_privacy_algorithm (
iterator_t *);
2264 credential_iterator_public_key (
iterator_t *);
2288 credential_iterator_certificate (
iterator_t *);
2310 credential_target_iterator_uuid (
iterator_t *);
2313 credential_target_iterator_name (
iterator_t *);
2322 credential_scanner_iterator_uuid (
iterator_t *);
2325 credential_scanner_iterator_name (
iterator_t *);
2359 copy_agent (
const char *,
const char *,
const char *, agent_t *);
2362 modify_agent (
const char *,
const char *,
const char *);
2390 agent_iterator_installer_filename (
iterator_t *);
2407 result_host_asset_id (
const char *, result_t);
2421 init_host_identifier_iterator (
iterator_t *, host_t,
int,
const char *);
2424 host_identifier_iterator_value (
iterator_t *);
2427 host_identifier_iterator_source_type (
iterator_t *);
2430 host_identifier_iterator_source_id (
iterator_t *);
2433 host_identifier_iterator_source_data (
iterator_t *);
2436 host_identifier_iterator_source_orphan (
iterator_t *);
2439 host_identifier_iterator_os_id (
iterator_t *);
2442 host_identifier_iterator_os_title (
iterator_t *);
2469 asset_os_iterator_latest_severity (
iterator_t *);
2472 asset_os_iterator_highest_severity (
iterator_t *);
2475 asset_os_iterator_average_severity (
iterator_t *);
2499 host_detail_iterator_source_type (
iterator_t *);
2502 host_detail_iterator_source_id (
iterator_t *);
2505 modify_asset (
const char *,
const char *);
2508 delete_asset (
const char *,
const char *,
int);
2511 create_asset_report (
const char *,
const char *);
2514 create_asset_host (
const char *,
const char *,
resource_t *);
2567 note_iterator_modification_time (
iterator_t *);
2658 override_iterator_creation_time (
iterator_t *);
2661 override_iterator_modification_time (
iterator_t *);
2700 override_iterator_new_severity (
iterator_t *);
2750 manage_slave_check_period ();
2758 #define SLAVE_COMMIT_SIZE_DEFAULT 0 2803 copy_scanner (
const char *,
const char *,
const char *, scanner_t *);
2866 scanner_iterator_credential_name (
iterator_t *);
2881 scanner_iterator_credential_type (
iterator_t *);
2933 set_slave_commit_size (
int);
2940 #define SCHEDULE_PERIOD 10 2946 #define SCHEDULE_TIMEOUT_MIN_SECS 20 2951 #define SCHEDULE_TIMEOUT_DEFAULT 60 2970 copy_schedule (
const char *,
const char *,
const char *, schedule_t *);
3041 schedule_iterator_initial_offset (
iterator_t *);
3140 verify_report_format (
const char *);
3152 int report_format_global (report_format_t);
3154 int trash_report_format_global (report_format_t);
3160 int report_format_trust (report_format_t);
3177 report_format_iterator_extension (
iterator_t *);
3180 report_format_iterator_content_type (
iterator_t *);
3183 report_format_iterator_description (
iterator_t *);
3186 report_format_iterator_active (
iterator_t *);
3189 report_format_iterator_signature (
iterator_t *);
3195 report_format_iterator_summary (
iterator_t *);
3198 report_format_iterator_trust_time (
iterator_t *);
3201 init_report_format_alert_iterator (
iterator_t *, report_format_t);
3204 report_format_alert_iterator_name (
iterator_t *);
3207 report_format_alert_iterator_uuid (
iterator_t *);
3210 report_format_alert_iterator_readable (
iterator_t *);
3245 REPORT_FORMAT_PARAM_TYPE_BOOLEAN = 0,
3246 REPORT_FORMAT_PARAM_TYPE_INTEGER = 1,
3247 REPORT_FORMAT_PARAM_TYPE_SELECTION = 2,
3248 REPORT_FORMAT_PARAM_TYPE_STRING = 3,
3249 REPORT_FORMAT_PARAM_TYPE_TEXT = 4,
3250 REPORT_FORMAT_PARAM_TYPE_REPORT_FORMAT_LIST = 5,
3251 REPORT_FORMAT_PARAM_TYPE_ERROR = 100
3252 } report_format_param_type_t;
3256 report_format_param_type_t
3260 init_report_format_param_iterator (
iterator_t *,
3266 report_format_param_t
3267 report_format_param_iterator_param (
iterator_t *);
3270 report_format_param_iterator_name (
iterator_t *);
3273 report_format_param_iterator_value (
iterator_t *);
3276 report_format_param_iterator_type_name (
iterator_t *);
3278 report_format_param_type_t
3279 report_format_param_iterator_type (
iterator_t *);
3282 report_format_param_iterator_type_min (
iterator_t *);
3285 report_format_param_iterator_type_max (
iterator_t *);
3288 report_format_param_iterator_fallback (
iterator_t *);
3292 report_format_param_t,
3305 copy_group (
const char *,
const char *,
const char *, group_t *);
3308 create_group (
const char *,
const char *,
const char *,
int, group_t *);
3311 delete_group (
const char *,
int);
3313 char *group_uuid (group_t);
3315 gchar *group_users (group_t);
3317 int trash_group_in_use (group_t);
3319 int group_in_use (group_t);
3321 int trash_group_writable (group_t);
3323 int group_writable (group_t);
3329 modify_group (
const char *,
const char *,
const char *,
const char *);
3334 create_permission (
const char *,
3343 copy_permission (
const char *,
const char *, permission_t *);
3345 char *permission_uuid (permission_t);
3348 permission_is_admin (
const char *);
3350 int permission_in_use (permission_t);
3352 int trash_permission_in_use (permission_t);
3354 int permission_writable (permission_t);
3356 int trash_permission_writable (permission_t);
3365 permission_iterator_resource_type (
iterator_t *);
3368 permission_iterator_resource_uuid (
iterator_t *);
3371 permission_iterator_resource_name (
iterator_t *);
3374 permission_iterator_resource_in_trash (
iterator_t *);
3377 permission_iterator_resource_orphan (
iterator_t *);
3380 permission_iterator_resource_readable (
iterator_t *);
3383 permission_iterator_subject_type (
iterator_t *);
3386 permission_iterator_subject_uuid (
iterator_t *);
3389 permission_iterator_subject_name (
iterator_t *);
3392 permission_iterator_subject_in_trash (
iterator_t *);
3395 permission_iterator_subject_readable (
iterator_t *);
3398 delete_permission (
const char *,
int);
3401 modify_permission (
const char *,
3412 delete_permissions_cache_for_resource (
const char *,
resource_t);
3414 void delete_permissions_cache_for_user (user_t);
3419 find_port_list (
const char *, port_list_t *);
3422 find_port_list_with_permission (
const char *, port_list_t *,
const char *);
3425 find_port_range (
const char *, port_list_t *);
3428 create_port_list (
const char *,
3436 copy_port_list (
const char *,
const char *,
const char *, port_list_t *);
3439 modify_port_list (
const char *,
const char *,
const char *);
3442 create_port_range (
const char *,
3450 delete_port_list (
const char *,
int);
3453 delete_port_range (
const char *,
int);
3470 char *port_list_uuid (port_list_t);
3472 char *port_range_uuid (port_range_t);
3474 int port_list_in_use (port_list_t);
3476 int trash_port_list_in_use (port_list_t);
3478 int trash_port_list_writable (port_list_t);
3480 int port_list_writable (port_list_t);
3484 trash_port_list_in_use (port_list_t);
3488 trash_port_list_readable_uuid (
const gchar *);
3491 init_port_range_iterator (
iterator_t *, port_range_t,
int,
int,
const char *);
3509 init_port_list_target_iterator (
iterator_t *, port_list_t,
int);
3512 port_list_target_iterator_uuid (
iterator_t *);
3515 port_list_target_iterator_name (
iterator_t *);
3518 port_list_target_iterator_readable (
iterator_t *);
3526 copy_role (
const char *,
const char *,
const char *, role_t *);
3529 create_role (
const char *,
const char *,
const char *, role_t *);
3532 delete_role (
const char *,
int);
3534 char *role_uuid (role_t);
3536 gchar *role_users (role_t);
3538 int trash_role_in_use (role_t);
3540 int role_in_use (role_t);
3542 int trash_role_writable (role_t);
3544 int role_writable (role_t);
3550 modify_role (
const char *,
const char *,
const char *,
const char *);
3559 KEYWORD_TYPE_UNKNOWN,
3560 KEYWORD_TYPE_INTEGER,
3561 KEYWORD_TYPE_DOUBLE,
3570 KEYWORD_RELATION_APPROX,
3571 KEYWORD_RELATION_COLUMN_ABOVE,
3572 KEYWORD_RELATION_COLUMN_APPROX,
3573 KEYWORD_RELATION_COLUMN_EQUAL,
3574 KEYWORD_RELATION_COLUMN_BELOW,
3575 KEYWORD_RELATION_COLUMN_REGEXP
3576 } keyword_relation_t;
3612 find_filter (
const char *, filter_t *);
3615 find_filter_with_permission (
const char *, filter_t *,
const char *);
3617 char *filter_uuid (filter_t);
3619 char *filter_name (filter_t);
3622 filter_term (
const char *);
3625 filter_term_value (
const char *,
const char *);
3628 filter_term_apply_overrides (
const char *);
3631 filter_term_autofp (
const char *);
3634 filter_term_min_qod (
const char *);
3637 create_filter (
const char *,
3644 copy_filter (
const char *,
const char *,
const char *, filter_t *);
3647 delete_filter (
const char *,
int);
3649 int trash_filter_in_use (filter_t);
3651 int filter_in_use (filter_t);
3653 int trash_filter_writable (filter_t);
3655 int filter_writable (filter_t);
3670 init_filter_alert_iterator (
iterator_t *, filter_t);
3679 filter_alert_iterator_readable (
iterator_t *);
3682 modify_filter (
const char *,
3691 manage_schema (gchar *, gchar **, gsize *, gchar **, gchar **);
3696 manage_restore (
const char *);
3699 manage_empty_trashcan ();
3704 parse_tags (
const char *, gchar **, gchar **);
3743 cpe_info_iterator_deprecated_by_id (
iterator_t *);
3769 cve_info_iterator_authentication (
iterator_t *);
3772 cve_info_iterator_confidentiality_impact (
iterator_t *);
3775 cve_info_iterator_integrity_impact (
iterator_t *);
3778 cve_info_iterator_availability_impact (
iterator_t *);
3781 cve_info_iterator_description (
iterator_t *);
3803 ovaldef_info_iterator_version (
iterator_t *);
3806 ovaldef_info_iterator_deprecated (
iterator_t *);
3815 ovaldef_info_iterator_description (
iterator_t *);
3824 ovaldef_info_iterator_max_cvss (
iterator_t *);
3827 ovaldef_info_iterator_cve_refs (
iterator_t *);
3854 cert_bund_adv_info_iterator_title (
iterator_t *);
3857 cert_bund_adv_info_iterator_summary (
iterator_t *);
3860 cert_bund_adv_info_iterator_cve_refs (
iterator_t *);
3863 cert_bund_adv_info_iterator_max_cvss (
iterator_t *);
3880 dfn_cert_adv_info_iterator_title (
iterator_t *);
3883 dfn_cert_adv_info_iterator_summary (
iterator_t *);
3886 dfn_cert_adv_info_iterator_cve_refs (
iterator_t *);
3889 dfn_cert_adv_info_iterator_max_cvss (
iterator_t *);
3926 manage_max_rows (
int);
3929 setting_count (
const char *);
3932 setting_is_default_ca_cert (
const gchar *);
3935 setting_filter (
const char *);
3938 setting_severity ();
3962 modify_setting (
const gchar *,
const gchar *,
const gchar *, gchar **);
3965 manage_modify_setting (GSList *,
3972 manage_default_ca_cert ();
3977 find_user_by_name_with_permission (
const char *, user_t *,
const char *);
3980 manage_create_user (GSList *,
3987 manage_delete_user (GSList *,
const gchar *,
const gchar *,
const gchar *);
3990 manage_get_users (GSList *,
const gchar *,
const gchar *);
3993 manage_report_host_add (report_t,
const char *, time_t, time_t);
3998 void report_host_set_end_time (report_host_t, time_t);
4000 gchar *host_routes_xml (host_t);
4003 manage_set_password (GSList *,
const gchar *,
const gchar *,
const gchar *);
4009 manage_user_uuid (
const gchar *, auth_method_t);
4012 manage_user_exists (
const gchar *, auth_method_t);
4018 copy_user (
const char *,
const char *,
const char *, user_t *);
4021 keyfile_to_auth_conf_settings_xml (
const gchar *);
4045 init_user_group_iterator (
iterator_t *, user_t);
4057 init_user_role_iterator (
iterator_t *, user_t);
4069 create_user (
const gchar *,
4086 delete_user (
const char *,
const char *,
int,
int,
const char *,
const char *);
4089 modify_user (
const gchar *,
4105 int user_in_use (user_t);
4107 int trash_user_in_use (user_t);
4109 int user_writable (user_t);
4111 int trash_user_writable (user_t);
4117 user_name (
const char *);
4119 char *user_uuid (user_t);
4122 user_ifaces (
const char *);
4125 user_ifaces_allow (
const char *);
4128 user_hosts (
const char *);
4131 user_hosts_allow (
const char *);
4161 manage_get_ldap_info (
int *, gchar **, gchar **,
int *, gchar **);
4164 manage_set_ldap_info (
int, gchar *, gchar *,
int, gchar *);
4167 manage_get_radius_info (
int *,
char **,
char **);
4170 manage_set_radius_info (
int, gchar *, gchar *);
4177 copy_tag (
const char *,
const char *,
const char *, tag_t *);
4180 create_tag (
const char *,
4191 delete_tag (
const char *,
int);
4194 modify_tag (
const char *,
4230 tag_resource_iterator_location (
iterator_t *);
4236 tag_resource_iterator_readable (
iterator_t *);
4262 resource_tag_iterator_comment (
iterator_t *);
4265 resource_tag_exists (
const char *,
resource_t,
int);
4268 resource_tag_count (
const char *,
resource_t,
int);
4270 int tag_in_use (tag_t);
4272 int trash_tag_in_use (tag_t);
4274 int tag_writable (tag_t);
4276 int trash_tag_writable (tag_t);
4339 gvm_migrate_secinfo (
int);
4342 gvm_sync_script_perform_selftest (
const gchar *, gchar **);
4345 gvm_get_sync_script_identification (
const gchar *, gchar **,
int);
4348 gvm_get_sync_script_description (
const gchar *, gchar **);
4351 gvm_get_sync_script_feed_version (
const gchar *, gchar **);
4356 manage_run_wizard (
const gchar *,
4357 int (*) (
void *, gchar *, gchar **),
4372 column_is_timestamp (
const char *);
4375 type_columns (
const char *);
4378 type_trash_columns (
const char *);
4386 manage_optimize (GSList *,
const gchar *,
const gchar *);
4391 get_termination_signal ();
int move_task(const char *task_id, const char *slave_id)
Reassign a task to another slave.
Definition: manage.c:5997
const char * override_iterator_new_threat(iterator_t *iterator)
Get the threat from an override iterator.
Definition: manage_sql.c:47438
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:1051
int target_iterator_esxi_credential(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:36015
double aggregate_iterator_max(iterator_t *iterator, int data_column_index)
Get the maximum from an aggregate iterator.
Definition: manage_sql.c:5993
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:48257
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:5546
time_t agent_iterator_trust_time(iterator_t *iterator)
Get the installer trust time from a agent iterator.
Definition: manage_sql.c:45028
double result_iterator_severity_double(iterator_t *iterator)
Get the severity from a result iterator as double.
Definition: manage_sql.c:24951
const char * result_iterator_level(iterator_t *iterator)
Get the severity/threat level from a result iterator.
Definition: manage_sql.c:25003
int report_progress(report_t report, task_t task, gchar **hosts_xml)
Calculate the progress of a report.
Definition: manage_sql.c:29342
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:696
int start_task(const char *task_id, char **report_id)
Start a task.
Definition: manage.c:5813
int delete_report(const char *report_id, int dummy)
Delete a report.
Definition: manage_sql.c:27002
int details
Boolean. Whether to include full details.
Definition: manage.h:318
const char * alert_data_iterator_name(iterator_t *iterator)
Return the name from an alert data iterator.
Definition: manage_sql.c:8921
void init_manage_process(int update_nvt_cache, const gchar *database)
Initialize the manage library for a process.
Definition: manage_sql.c:15386
int result_iterator_has_dfn_certs(iterator_t *iterator)
Get whether DFN-CERTs may exist from a result iterator.
Definition: manage_sql.c:25149
void manage_nvt_preferences_enable()
Enable the NVT preferences.
Definition: manage_sql.c:41285
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:34202
const char * aggregate_iterator_subgroup_value(iterator_t *iterator)
Get the value of the subgroup column from an aggregate iterator.
Definition: manage_sql.c:6082
char * scanner_uuid(scanner_t scanner)
Return the UUID of a scanner.
Definition: manage_sql.c:49026
char * port
Port.
Definition: manage.h:1183
int delete_task(task_t task, int ultimate)
Complete deletion of a task.
Definition: manage_sql.c:33419
char * credential_iterator_deb(iterator_t *iterator)
Get the deb from a Credential iterator.
Definition: manage_sql.c:43591
void set_scan_start_time_otp(report_t report, const char *timestamp)
Set the start time of a scan.
Definition: manage_sql.c:25964
int trash
Boolean. Whether to return from trashcan.
Definition: manage.h:324
int target_iterator_ssh_credential(iterator_t *iterator)
Get the SSH LSC credential from a target iterator.
Definition: manage_sql.c:35840
char * ip
IP.
Definition: manage.h:1195
char * default_value
Default value of preference.
Definition: manage.h:1822
char * string
Original string describing port.
Definition: manage.h:193
int init_cve_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise a info iterator.
Definition: manage_sql_secinfo.c:333
alert_condition_t alert_condition_from_name(const char *name)
Get an alert condition from a name.
Definition: manage.c:1399
int config_writable(config_t config)
Return whether a config can be modified.
Definition: manage_sql.c:37846
gchar * manage_clean_filter(const gchar *filter)
Clean a filter.
Definition: manage_sql.c:2760
char * task_config_uuid(task_t task)
Return the UUID of the config of a task.
Definition: manage_sql.c:19214
int credential_iterator_allow_insecure(iterator_t *iterator)
Get the login from a Credential iterator.
Definition: manage_sql.c:43422
char * host
Host.
Definition: manage.h:1179
int resume_task(const char *task_id, char **report_id)
Resume a task.
Definition: manage.c:5963
int order
The sort order.
Definition: manage.h:4287
int manage_verify_scanner(GSList *log_config, const gchar *database, const gchar *uuid)
Verify the given scanner.
Definition: manage_sql.c:48011
char * agent_uuid(agent_t agent)
Return the UUID of an agent.
Definition: manage_sql.c:44746
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.c:39838
const char * type_name_plural(const char *type)
Return the plural name of a resource type.
Definition: manage.c:562
gchar * file_iterator_content_64(file_iterator_t *iterator)
Return the file contents from a file iterator.
Definition: manage.c:7665
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:46279
char * name
Name of preference.
Definition: manage.h:1816
char * ovaldef_uuid(const char *name, const char *fname)
Get the uuid for an OVALDEF from a name and file name.
Definition: manage_sql_secinfo.c:656
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:6225
void reset_task(task_t task)
Reset all running information for a task.
Definition: manage_sql.c:33759
void manage_session_set_timezone(const char *zone)
Setup session timezone.
Definition: manage_pg.c:67
Severity data for result count cache.
Definition: manage.h:1000
int scanner_iterator_port(iterator_t *iterator)
Get the port from an scanner iterator.
Definition: manage_sql.c:48659
char * name
Detail name.
Definition: manage.h:1196
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:8902
int init_manage_helper(GSList *log_config, const gchar *database, int max_ips_per_target)
Initialize the manage library for a helper program.
Definition: manage_sql.c:18308
int create_schedule(const char *name, const char *comment, const char *ical_string, time_t first_time, time_t period, time_t period_months, const char *byday, time_t duration, const char *zone, schedule_t *schedule, gchar **error_out)
Create a schedule.
Definition: manage_sql.c:49665
int report_counts_id(report_t report, int *debugs, 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:26734
char * report_format_uuid(report_format_t report_format)
Return the UUID of a report format.
Definition: manage_sql.c:52423
const char * result_iterator_nvt_family(iterator_t *iterator)
Get the NVT family from a result iterator.
Definition: manage_sql.c:24697
char * scanner_key_priv(scanner_t scanner)
Return the private key of a scanner.
Definition: manage_sql.c:49137
int get_certificate_info(const gchar *certificate, time_t *activation_time, time_t *expiration_time, gchar **fingerprint, gchar **issuer)
Gathers info from a certificate.
Definition: manage.c:304
char * credential_type(credential_t credential)
Get the type of a Credential.
Definition: manage_sql.c:43819
gchar * stat
The statistic to sort by.
Definition: manage.h:4286
Data about a report sent by an alert.
Definition: manage.h:397
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:45284
int delete_config(const char *config_id, int ultimate)
Delete a config.
Definition: manage_sql.c:37276
int modify_report_format(const char *report_format_id, const char *name, const char *summary, const char *active, const char *param_name, const char *param_value, const char *predefined)
Modify a report format.
Definition: manage_sql.c:51967
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:41839
void parse_tags(const char *scanner_tags, gchar **tags, gchar **cvss_base)
Split up the tags received from the scanner.
Definition: manage.c:7715
char * scanner_login(scanner_t scanner)
Return the login associated with a scanner.
Definition: manage_sql.c:49176
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:48129
char * report_format_owner_uuid(report_format_t report_format)
Return the UUID of the owner of a report format.
Definition: manage_sql.c:52437
gpointer * current
Current file.
Definition: manage.h:3218
port_protocol_t protocol
Port protocol (TCP, UDP, ...).
Definition: manage.h:192
int modify_schedule(const char *schedule_id, const char *name, const char *comment, const char *ical_string, time_t first_time, time_t period, time_t period_months, const char *byday, time_t duration, const char *zone, gchar **error_out)
Modify a schedule.
Definition: manage_sql.c:50717
int manage_check_alerts(GSList *log_config, const gchar *database)
Check if any SecInfo alerts are due.
Definition: manage_sql.c:6920
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:19792
int manage_cert_loaded()
Check whether CERT is available.
Definition: manage_pg.c:3671
int credential_target_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:43921
char * nvt_preference_iterator_nvt(iterator_t *iterator)
Get the NVT from an NVT preference iterator.
Definition: manage_sql.c:41427
int config_iterator_families_growing(iterator_t *iterator)
Get the families growing state from a config iterator.
Definition: manage_sql.c:37747
void init_nvt_preference_iterator(iterator_t *iterator, const char *name)
Initialise an NVT preference iterator.
Definition: manage_sql.c:41301
void manage_nvt_preference_add(const char *name, const char *value)
Add an NVT preference.
Definition: manage_sql.c:41254
const char * manage_scap_update_time()
GET SCAP update time, as a string.
Definition: manage.c:8315
char * scanner_password(scanner_t scanner)
Return the password associated with a scanner.
Definition: manage_sql.c:49194
void set_scan_host_start_time_otp(report_t report, const char *host, const char *timestamp)
Set the start time of a scanned host.
Definition: manage_sql.c:26156
int delete_scanner(const char *scanner_id, int ultimate)
Delete a scanner.
Definition: manage_sql.c:48425
const char * event_name(event_t event)
Get the name of an alert event.
Definition: manage.c:1239
gchar * remote_filename
Path or filename to send to / as.
Definition: manage.h:400
const char * severity_to_type(double severity)
Get the message type matching a severity score.
Definition: manage.c:838
int scanner_type(scanner_t scanner)
Return the type of a scanner.
Definition: manage_sql.c:49084
char * report_uuid(report_t report)
Return the UUID of a report.
Definition: manage_sql.c:22791
gboolean next_report(iterator_t *iterator, report_t *report)
Read the next report from an iterator.
Definition: manage_sql.c:23462
int trash_config_in_use(config_t config)
Return whether a trashcan config is referenced by a task.
Definition: manage_sql.c:37872
char * qod
QoD (quality of detection).
Definition: manage.h:1184
int alert_iterator_condition(iterator_t *iterator)
Return the condition from an alert iterator.
Definition: manage_sql.c:8736
char * task_hosts_ordering(task_t task)
Return the hosts ordering of a task.
Definition: manage_sql.c:19144
gchar * credential_iterator_formats_xml(iterator_t *iterator)
Get XML of available formats for a credential iterator.
Definition: manage_sql.c:43722
void cleanup_report_type_iterator(report_type_iterator_t *iterator)
Cleanup a report type iterator.
Definition: manage.c:6488
int report_format_writable(report_format_t report_format)
Return whether a report format is writable.
Definition: manage_sql.c:52554
int scanner_count(const get_data_t *get)
Count number of scanners.
Definition: manage_sql.c:49264
int target_in_use(target_t target)
Return whether a target is in use by a task.
Definition: manage_sql.c:36449
void init_task_group_iterator(iterator_t *iterator, task_t task)
Initialise a task group iterator.
Definition: manage_sql.c:6778
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:249
int set_task_observers(task_t task, const gchar *observers)
Set the observers of a task.
Definition: manage_sql.c:20437
int alert_iterator_active(iterator_t *iterator)
Return the active state from an alert.
Definition: manage_sql.c:8883
const char * alert_task_iterator_name(iterator_t *iterator)
Return the name from an alert task iterator.
Definition: manage_sql.c:14716
A report format file iterator.
Definition: manage.h:3215
void set_task_target(task_t task, target_t target)
Set the target of a task.
Definition: manage_sql.c:19308
char * nvt_preference_iterator_real_name(iterator_t *iterator)
Get the real name from an NVT preference iterator.
Definition: manage_sql.c:41372
void init_severity_data(severity_data_t *data)
Initialize a severity data structure.
Definition: manage.c:1003
int config_in_use(config_t config)
Return whether a config is referenced by a task.
Definition: manage_sql.c:37829
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:6463
int task_schedule_in_trash(task_t task)
Get whether the task schedule is in the trash.
Definition: manage_sql.c:20256
char * target_exclude_hosts(target_t target)
Return the excluded hosts associated with a target.
Definition: manage_sql.c:36218
void init_target_iterator_one(iterator_t *iterator, target_t target)
Initialise a target iterator, given a single target.
Definition: manage_sql.c:35779
int manage_scap_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:6346
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:26084
void trim_partial_report(report_t report)
Prepare a partial report for resumption of the scan.
Definition: manage_sql.c:27165
int task_in_trash_id(const gchar *task_id)
Return whether a task is in the trashcan.
Definition: manage_sql.c:19071
int manage_max_hosts()
Get the maximum allowed number of hosts per target.
Definition: manage_sql.c:34161
const char * alert_task_iterator_uuid(iterator_t *iterator)
Return the uuid from an alert task iterator.
Definition: manage_sql.c:14732
const char * note_iterator_threat(iterator_t *iterator)
Get the threat from a note iterator.
Definition: manage_sql.c:46122
int result_iterator_may_have_overrides(iterator_t *iterator)
Get whether overrides may exist from a result iterator.
Definition: manage_sql.c:25107
int report_format_active(report_format_t report_format)
Return whether a report format is active.
Definition: manage_sql.c:52625
gchar * alert_condition_description(alert_condition_t condition, alert_t alert)
Get a description of an alert condition.
Definition: manage.c:1269
int init_agent_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an agent iterator.
Definition: manage_sql.c:44913
gchar * credential_encrypted_value(credential_t credential, const char *value_name)
Get a possibly encrypted credential value in decrypted form.
Definition: manage_sql.c:43018
int integer_value
Integer value of the keyword.
Definition: manage.h:3585
int manage_set_config_nvts(const gchar *config_id, const char *family, GPtrArray *selected_nvts)
Set the NVT's selected for a single family of a config.
Definition: manage_sql.c:38357
const char * result_iterator_nvt_xref(iterator_t *iterator)
Get the NVT XREF from a result iterator.
Definition: manage_sql.c:24769
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:33778
const char * result_iterator_original_level(iterator_t *iterator)
Get the original severity/threat level from a result iterator.
Definition: manage_sql.c:24974
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:19889
char * task_owner_name(task_t task)
Return the name of the owner of a task.
Definition: manage_sql.c:19086
int create_task_check_config_scanner(config_t config, scanner_t scanner)
Check scanner and config values match for a task.
Definition: manage_sql.c:37091
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:48060
void add_task_alert(task_t task, alert_t alert)
Add an alert to a task.
Definition: manage_sql.c:19939
char * target_name(target_t target)
Return the name of a target.
Definition: manage_sql.c:36121
int init_report_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a report iterator, including observed reports.
Definition: manage_sql.c:23364
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:22293
int report_counts(const char *report_id, int *debugs, int *holes, int *infos, int *logs, int *warnings, int *false_positives, double *severity, int override, int autofp, int min_qod)
Get the message counts for a report given the UUID.
Definition: manage_sql.c:26345
report_t result_iterator_report(iterator_t *iterator)
Get the report from a result iterator.
Definition: manage_sql.c:24863
char * trash_credential_uuid(credential_t credential)
Get the UUID of a Credential in the trashcan.
Definition: manage_sql.c:43775
gchar * truncate_certificate(const gchar *certificate)
Truncate a certificate, removing extra data.
Definition: manage.c:180
int alert_writable(alert_t alert)
Return whether a alert is writable.
Definition: manage_sql.c:8666
int trash_task_writable(task_t task)
Return whether a trashcan task is writable.
Definition: manage_sql.c:15352
scanner_t config_iterator_scanner(iterator_t *iterator)
Get the scanner from a config iterator.
Definition: manage_sql.c:37795
int target_iterator_snmp_credential(iterator_t *iterator)
Get the SNMP LSC credential from a target iterator.
Definition: manage_sql.c:36047
gboolean find_resource(const char *type, const char *uuid, resource_t *resource)
Find a resource given a UUID.
Definition: manage_sql.c:4568
int trash_agent_in_use(agent_t agent)
Check whether a trashcan agent is writable.
Definition: manage_sql.c:44707
void set_task_end_time_epoch(task_t task, time_t time)
Set the end time of a task.
Definition: manage_sql.c:25874
A port.
Definition: manage.h:189
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:45226
int config_type(config_t config)
Return the type of a config.
Definition: manage_sql.c:37024
void set_db_version(int version)
Set the database version of the actual database.
Definition: manage_sql.c:6463
int create_report_format(const char *uuid, const char *name, const char *content_type, const char *extension, const char *summary, const char *description, int global, array_t *files, array_t *params, array_t *params_options, const char *signature, report_format_t *report_format)
Create a report format.
Definition: manage_sql.c:51130
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:33643
scanner_t task_scanner(task_t task)
Return the scanner of a task.
Definition: manage_sql.c:19354
A generic SQL iterator structure.
Definition: iterator.h:50
const char * result_iterator_original_severity(iterator_t *iterator)
Get the original severity from a result iterator.
Definition: manage_sql.c:24901
int trash_credential_writable(credential_t credential)
Check whether a trashcan Credential is writable.
Definition: manage_sql.c:42984
const char * result_iterator_nvt_name(iterator_t *iterator)
Get the NVT name from a result iterator.
Definition: manage_sql.c:24679
char * nvt_oid
OID of NVT preference affects.
Definition: manage.h:1820
char * hr_name
Extended, more human-readable name used by OSP.
Definition: manage.h:1823
const char * alert_data_iterator_data(iterator_t *iterator)
Return the data from an alert data iterator.
Definition: manage_sql.c:8938
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:24517
int trash_agent_writable(agent_t agent)
Check whether a trashcan agent is writable.
Definition: manage_sql.c:44733
gchar * column
The column prefix, or NULL.
Definition: manage.h:3583
result_t result_iterator_result(iterator_t *iterator)
Get the result from a result iterator.
Definition: manage_sql.c:24635
int result_uuid(result_t result, char **id)
Return the UUID of a result.
Definition: manage_sql.c:21349
gchar * summary
Summary of command.
Definition: manage.h:102
gchar * get_nvti_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:8113
int target_iterator_ssh_trash(iterator_t *iterator)
Get the location of the SSH LSC credential from a target iterator.
Definition: manage_sql.c:35881
int schedule_writable(schedule_t schedule)
Return whether a schedule is writable.
Definition: manage_sql.c:49966
const char * override_iterator_threat(iterator_t *iterator)
Get the threat from a override iterator.
Definition: manage_sql.c:47422
gchar * name
Name.
Definition: manage.h:59
int * counts
Counts.
Definition: manage.h:1002
int init_task_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a task iterator.
Definition: manage_sql.c:15113
int trash_report_format_in_use(report_format_t report_format)
Return whether a report format in trash is referenced by an alert.
Definition: manage_sql.c:52531
int trash_config_writable(config_t config)
Return whether a trashcan config is writable.
Definition: manage_sql.c:37888
time_t schedule_iterator_first_time(iterator_t *iterator)
Get the first time from a schedule iterator.
Definition: manage_sql.c:50240
int modify_agent(const char *agent_id, const char *name, const char *comment)
Modify an agent.
Definition: manage_sql.c:44544
gchar * manage_user_hash(const gchar *username)
Get user hash.
Definition: manage_sql.c:18409
int delete_alert(const char *alert_id, int ultimate)
Delete an alert.
Definition: manage_sql.c:8309
task_t make_task(char *name, char *comment, int in_assets, int event)
Make a task.
Definition: manage_sql.c:33029
task_t current_scanner_task
The task currently running on the scanner.
Definition: manage.c:1161
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:128
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:33677
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:33629
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:28528
char * credential_name(credential_t credential)
Get the name of an LSC credential.
Definition: manage_sql.c:43790
int config_nvts_growing(config_t config)
Get the NVT growth status of a config.
Definition: manage_sql.c:39948
char * alert_iterator_filter_name(iterator_t *iterator)
Return the filter name from an alert iterator.
Definition: manage_sql.c:8807
void init_preference_iterator(iterator_t *iterator, config_t config)
Initialise a preference iterator.
Definition: manage_sql.c:37920
void filter_free(array_t *split)
Free a split filter.
Definition: manage_sql.c:1959
int trash_target_writable(target_t target)
Return whether a trashcan target is writable.
Definition: manage_sql.c:36495
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:45518
char * task_config_name(task_t task)
Return the name of the config of a task.
Definition: manage_sql.c:19233
int trash_scanner_writable(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:48974
const char * alert_method_name(alert_method_t method)
Get the name of an alert method.
Definition: manage.c:1358
int manage_set_config(const gchar *config_id, const char *name, const char *comment, const char *scanner_id)
Set the name, comment and scanner of a config.
Definition: manage_sql.c:38284
void manage_auth_allow_all(int scheduled)
Ensure that any subsequent authentications succeed.
Definition: manage.c:6854
char * filt_id
Filter ID. Overrides "filter".
Definition: manage.h:319
gchar * app_location(report_host_t report_host, const gchar *app)
Get the location of an App for a report's host.
Definition: manage_sql.c:21569
int host_iterator_max_port(iterator_t *iterator)
Get the max port from a host iterator.
Definition: manage_sql.c:25313
int note_iterator_active(iterator_t *iterator)
Get the active status from an note iterator.
Definition: manage_sql.c:46184
char * type
Type of preference (radio, password, ...).
Definition: manage.h:1817
void init_user_config_iterator(iterator_t *iterator, config_t config, int trash, int ascending, const char *sort_field)
Initialise a config iterator, limited to user's configs.
Definition: manage_sql.c:37632
void init_config_task_iterator(iterator_t *iterator, config_t config, int ascending)
Initialise a config task iterator.
Definition: manage_sql.c:38630
int trash_schedule_writable(schedule_t schedule)
Return whether a trashcan schedule is writable.
Definition: manage_sql.c:49979
gchar * certificate_iso_time(time_t time)
Converts a certificate time to an ISO time string.
Definition: manage.c:405
char * threat
Threat.
Definition: manage.h:1187
int override_uuid(override_t override, char **id)
Return the UUID of an override.
Definition: manage_sql.c:46461
char * description
Description of the message.
Definition: manage.h:205
void manage_sync(sigset_t *sigmask_current, int(*fork_update_nvt_cache)())
Perform any syncing that is due.
Definition: manage.c:7209
char * scanner_host(scanner_t scanner)
Return the host of a scanner.
Definition: manage_sql.c:49051
char * trash_schedule_uuid(schedule_t schedule)
Return the UUID of a trash schedule.
Definition: manage_sql.c:50031
int alert_iterator_filter_trash(iterator_t *iterator)
Return the location of an alert iterator filter.
Definition: manage_sql.c:8832
int init_schedule_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a schedule iterator.
Definition: manage_sql.c:50214
report_t global_current_report
The report of the current task.
Definition: manage.c:1166
double max
Max.
Definition: manage.h:1004
int nvt_iterator_category(iterator_t *iterator)
Get the category from an NVT iterator.
Definition: manage_sql_nvts.c:866
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:33730
int manage_scap_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:6335
report_t task_iterator_current_report(iterator_t *iterator)
Return the current report of a task.
Definition: manage_sql.c:19628
void init_scanner_task_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner task iterator.
Definition: manage_sql.c:48857
char * report_format_extension(report_format_t report_format)
Return the extension of a report format.
Definition: manage_sql.c:52581
int task_schedule_next_time(task_t task)
Get next time a scheduled task will run, following schedule timezone.
Definition: manage_sql.c:20306
keyword_type_t type
Type of keyword.
Definition: manage.h:3589
int trash_credential_in_use(credential_t credential)
Check whether a trashcan Credential is in use.
Definition: manage_sql.c:42934
char * tag_uuid(tag_t tag)
Return the UUID of a tag.
Definition: manage_sql.c:36079
int total
Total.
Definition: manage.h:1003
int host_iterator_current_port(iterator_t *iterator)
Get the current port from a host iterator.
Definition: manage_sql.c:25297
int severity_matches_ov(double severity, double ov_severity)
Check whether a severity matches an override's severity.
Definition: manage.c:782
void manage_transaction_stop(gboolean force_commit)
Commit the current transaction, if any.
Definition: manage_sql.c:34329
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, const char *type, 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:31690
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:47249
const gchar * get_scheduled_user_uuid()
Access UUID of user that scheduled the current task.
Definition: manage.c:6865
char * scanner_name(scanner_t scanner)
Return the name of a scanner.
Definition: manage_sql.c:49012
int family_nvt_count(const char *family)
Get the number of NVTs in one or all families.
Definition: manage_sql_nvts.c:940
GPtrArray * start
Array of files.
Definition: manage.h:3217
char * report_slave_task_uuid(report_t report)
Return the UUID of the task on the slave.
Definition: manage_sql.c:27100
char * ovaldef_version(const char *id)
Get the version of an OVALDEF using an ID.
Definition: manage_sql_secinfo.c:703
gboolean report_task(report_t report, task_t *task)
Return the task of a report.
Definition: manage_sql.c:22806
int manage_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:6309
A command.
Definition: manage.h:99
char * report_format_name(report_format_t report_format)
Return the name of a report format.
Definition: manage_sql.c:52480
int init_scanner_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an scanner iterator.
Definition: manage_sql.c:48631
time_t override_iterator_end_time(iterator_t *iterator)
Get the end time from an override iterator.
Definition: manage_sql.c:47483
void init_report_errors_iterator(iterator_t *iterator, report_t report)
Initialise a report errors iterator.
Definition: manage_sql.c:25364
const char * credential_iterator_private_key(iterator_t *iterator)
Get the private_key from a Credential iterator.
Definition: manage_sql.c:43503
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:41659
int init_ovaldef_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an OVAL definition (ovaldef) info iterator.
Definition: manage_sql_secinfo.c:477
int init_all_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an info iterator.
Definition: manage_sql_secinfo.c:1198
const char * task_iterator_first_report(iterator_t *iterator)
Get the first report UUID from a task iterator.
Definition: manage_sql.c:15202
void clear_duration_schedules(task_t task)
Clear once-off schedules from tasks where the duration has passed.
Definition: manage_sql.c:20577
int manage_task_remove_file(const gchar *task_id, const char *name)
Remove a file on a task.
Definition: manage_sql.c:33835
int schedule_period(schedule_t schedule)
Return the period of a schedule.
Definition: manage_sql.c:50073
int trash_config_readable_uuid(const gchar *config_id)
Return whether a trashcan config is readable.
Definition: manage_sql.c:37901
report_format_param_type_t report_format_param_type_from_name(const char *name)
Get a report format param type from a name.
Definition: manage.c:7465
void set_task_scanner(task_t task, scanner_t scanner)
Set the scanner of a task.
Definition: manage_sql.c:19379
void init_ovaldi_file_iterator(iterator_t *iterator)
Initialise an ovaldi file iterator.
Definition: manage_sql_secinfo.c:1413
gchar * name
Command name.
Definition: manage.h:101
int copy_agent(const char *name, const char *comment, const char *agent_id, agent_t *new_agent)
Create an agent from an existing agent.
Definition: manage_sql.c:44523
const char * override_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a override iterator.
Definition: manage_sql.c:47525
const char * credential_full_type(const char *abbreviation)
Get the written-out name of an LSC Credential type.
Definition: manage.c:6215
int trash_scanner_in_use(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:48941
time_t schedule_iterator_next_time(iterator_t *iterator)
Get the next time a schedule could be schedulable.
Definition: manage_sql.c:50353
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:46618
int scanner_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:48911
int alert_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:14748
char * alert_iterator_filter_uuid(iterator_t *iterator)
Return the filter UUID from an alert iterator.
Definition: manage_sql.c:8782
int get_schedule_timeout()
Get the current schedule timeout.
Definition: manage.c:7405
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:49347
void alert_report_data_free(alert_report_data_t *data)
Frees a alert_report_data_t struct, including contained data.
Definition: manage.c:1176
int target_iterator_snmp_trash(iterator_t *iterator)
Get the SNMP LSC credential location from a target iterator.
Definition: manage_sql.c:36063
time_t note_iterator_end_time(iterator_t *iterator)
Get the end time from an note iterator.
Definition: manage_sql.c:46168
char * target_reverse_lookup_only(target_t target)
Return the reverse_lookup_only value of a target.
Definition: manage_sql.c:36232
char * description
Description of NVT.
Definition: manage.h:1178
int credential_scanner_iterator_readable(iterator_t *iterator)
Get the read permission status from a Credential Scanner iterator.
Definition: manage_sql.c:43996
int authenticate(credentials_t *credentials)
Authenticate credentials.
Definition: manage_sql.c:18855
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:32651
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.c:37122
int scanner_iterator_type(iterator_t *iterator)
Get the type from an scanner iterator.
Definition: manage_sql.c:48675
const char * result_iterator_nvt_cve(iterator_t *iterator)
Get the NVT CVE from a result iterator.
Definition: manage_sql.c:24733
int target_iterator_port_list_trash(iterator_t *iterator)
Get the location of the port list from a target iterator.
Definition: manage_sql.c:35931
char * trash_scanner_name(scanner_t scanner)
Return the name of a scanner in the trashcan.
Definition: manage_sql.c:49236
gchar * subtype
Subtype, or NULL.
Definition: manage.h:326
task_status_t task_iterator_run_status(iterator_t *iterator)
Get the run status from a task iterator.
Definition: manage_sql.c:15172
char * ovaldef_cves(const char *id)
Get the CVE names of an OVALDEF as ", " separated str.
Definition: manage_sql_secinfo.c:724
A CREATE_REPORT result.
Definition: manage.h:1176
void set_scan_start_time_epoch(report_t report, time_t timestamp)
Set the start time of a scan.
Definition: manage_sql.c:25951
int agent_count(const get_data_t *get)
Count number of agents.
Definition: manage_sql.c:45064
gchar * field
The field to sort by.
Definition: manage.h:4285
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)
Make a result.
Definition: manage_sql.c:21220
void init_target_task_iterator(iterator_t *iterator, target_t target)
Initialise a target task iterator.
Definition: manage_sql.c:36509
char * source_type
Source type.
Definition: manage.h:1199
int schedule_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:50687
char * value
Value of preference.
Definition: manage.h:1818
char * scanner_ca_pub(scanner_t scanner)
Return the CA Certificate of a scanner.
Definition: manage_sql.c:49104
void host_detail_free(host_detail_t *detail)
Free a host detail.
Definition: manage_sql.c:22271
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:33661
void set_task_alterable(task_t task, int alterable)
Set the alterable state of a task.
Definition: manage_sql.c:20005
int scan_host_end_time(report_t report, const char *host)
Get the end time of a scanned host.
Definition: manage_sql.c:26063
int equal
Whether the keyword is like "=example".
Definition: manage.h:3584
int init_config_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a scan config iterator.
Definition: manage_sql.c:37679
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:1060
command_t gmp_commands[]
The GMP command list.
Definition: manage_sql.c:566
void set_task_start_time_epoch(task_t task, int time)
Set the start time of a task.
Definition: manage_sql.c:19721
Command data for a get command.
Definition: manage.h:316
int manage_decrypt_all_credentials(GSList *log_config, const gchar *database)
Decrypt all credentials.
Definition: manage_sql.c:6646
char * schedule_uuid(schedule_t schedule)
Return the UUID of a schedule.
Definition: manage_sql.c:50017
const char * agent_iterator_trust(iterator_t *iterator)
Get the trust value from an agent iterator.
Definition: manage_sql.c:45008
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:25164
const char * keyword_relation_symbol(keyword_relation_t relation)
Get the symbol of a keyword relation.
Definition: manage_sql.c:1431
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:46252
gchar * event_description(event_t event, const void *event_data, const char *task_name)
Get a description of an alert event.
Definition: manage.c:1317
double aggregate_iterator_min(iterator_t *iterator, int data_column_index)
Get the minimum from an aggregate iterator.
Definition: manage_sql.c:5977
credential_t trash_target_credential(target_t target, const char *type)
Get a credential from a target in the trashcan.
Definition: manage_sql.c:34562
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 *autofp, int *notes, int *overrides, int *apply_overrides, gchar **zone)
Get info from a filter for report.
Definition: manage_sql.c:2416
gboolean find_nvt(const char *oid, nvt_t *nvt)
Find an NVT given an identifier.
Definition: manage_sql_nvts.c:148
An NVT selector.
Definition: manage.h:1829
const char * result_iterator_nvt_cvss_base(iterator_t *iterator)
Get the NVT CVSS base value from a result iterator.
Definition: manage_sql.c:24715
void set_credential_privacy_algorithm(credential_t credential, const char *algorithm)
Set the privacy_algorithm of a Credential.
Definition: manage_sql.c:43138
time_t schedule_iterator_period(iterator_t *iterator)
Get the period from a schedule iterator.
Definition: manage_sql.c:50256
void cleanup_manage_process(gboolean cleanup)
Cleanup the manage library.
Definition: manage_sql.c:18334
void init_scanner_config_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner config iterator.
Definition: manage_sql.c:48790
int manage_set_config_families(const gchar *config_id, GPtrArray *growing_all_families, GPtrArray *static_all_families, GPtrArray *growing_families, int grow_families)
Refresh NVT selection of a config from given families.
Definition: manage_sql.c:40471
int cve_info_count(const get_data_t *get)
Count number of cve.
Definition: manage_sql_secinfo.c:315
const char * result_iterator_nvt_bid(iterator_t *iterator)
Get the NVT BID from a result iterator.
Definition: manage_sql.c:24751
task_t note_iterator_task(iterator_t *iterator)
Get the task from a note iterator.
Definition: manage_sql.c:46139
void update_duration_schedule_periods(task_t task)
Update tasks with limited run schedules which have durations.
Definition: manage_sql.c:20622
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:7672
int manage_set_config_preference(const gchar *config_id, const char *nvt, const char *name, const char *value_64)
Set a preference of a config.
Definition: manage_sql.c:38086
int cert_bund_adv_info_count(const get_data_t *get)
Count number of cert_bund_adv.
Definition: manage_sql_secinfo.c:812
const char * credential_iterator_privacy_password(iterator_t *iterator)
Get the privacy password from a Credential iterator.
Definition: manage_sql.c:43533
int set_task_preferences(task_t task, array_t *preferences)
Set the preferences of a task.
Definition: manage_sql.c:41544
int manage_backup_db(const gchar *database)
Backup the database to a file.
Definition: manage_pg.c:3707
gboolean find_config_with_permission(const char *uuid, config_t *config, const char *permission)
Find a config for a set of permissions, given a UUID.
Definition: manage_sql.c:36586
gchar * content_type
The MIME content type of the report.
Definition: manage.h:401
void set_task_start_time_otp(task_t task, char *time)
Set the start time of a task.
Definition: manage_sql.c:19736
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:34187
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:8015
int task_iterator_total_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15188
double aggregate_iterator_mean(iterator_t *iterator, int data_column_index)
Get the mean from an aggregate iterator.
Definition: manage_sql.c:6009
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:49588
int manage_trash_resource_name(const char *type, const char *uuid, char **name)
Get the name of a trashcan resource.
Definition: manage_sql.c:5114
int report_format_predefined(report_format_t report_format)
Return whether a report format is predefined.
Definition: manage_sql.c:52612
int nvt_selector_family_growing(const char *selector, const char *family, int all)
Get whether an NVT selector family is growing.
Definition: manage_sql.c:40141
void init_schedule_task_iterator(iterator_t *iterator, schedule_t schedule)
Initialise a schedule task iterator.
Definition: manage_sql.c:50632
double report_severity(report_t report, int overrides, int min_qod)
Get the maximum severity of a report.
Definition: manage_sql.c:26755
result_t note_iterator_result(iterator_t *iterator)
Get the result from a note iterator.
Definition: manage_sql.c:46153
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.c:40201
keyword_relation_t relation
The relation.
Definition: manage.h:3590
int manage_delete_scanner(GSList *log_config, const gchar *database, const gchar *uuid)
Delete the given scanner.
Definition: manage_sql.c:47740
char * task_severity(task_t task, int overrides, int min_qod, int offset)
Return the severity score of a task, taking overrides into account.
Definition: manage_sql.c:20383
int ignore_max_rows_per_page
Definition: manage.h:327
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:20179
task_status_t task_run_status(task_t task)
Return the run state of a task.
Definition: manage_sql.c:19409
char * nvt_preference_iterator_config_value(iterator_t *iterator, config_t config)
Get the config value from an NVT preference iterator.
Definition: manage_sql.c:41454
gchar * string
The keyword string, outer quotes removed.
Definition: manage.h:3588
char * trash_scanner_uuid(scanner_t scanner)
Return the UUID of a scanner in the trashcan.
Definition: manage_sql.c:49250
int trash_target_in_use(target_t target)
Return whether a trashcan target is referenced by a task.
Definition: manage_sql.c:36466
char * severity
Severity score.
Definition: manage.h:1186
void init_report_iterator_task(iterator_t *iterator, task_t task)
Initialise a report iterator.
Definition: manage_sql.c:23423
char * hostname
Hostname message describes.
Definition: manage.h:203
int task_alterable(task_t task)
Return whether a task is an Alterable Task.
Definition: manage_sql.c:15322
void cleanup_severity_data(severity_data_t *data)
Clean up a severity data structure.
Definition: manage.c:1020
credential_t scanner_iterator_credential(iterator_t *iterator)
Get the credential of the scanner from a scanner iterator.
Definition: manage_sql.c:48711
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:513
int init_report_format_file_iterator(file_iterator_t *iterator, report_format_t report_format)
Initialise a report format file iterator.
Definition: manage.c:7577
char * value
Detail value.
Definition: manage.h:1200
int task_in_trash(task_t task)
Return whether a task is in the trashcan.
Definition: manage_sql.c:19054
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:47118
int result_iterator_may_have_tickets(iterator_t *iterator)
Get whether tickets may exist from a result iterator.
Definition: manage_sql.c:25121
int config_count(const get_data_t *get)
Count the number of scan configs.
Definition: manage_sql.c:37613
int trash_scanner_readable(scanner_t scanner)
Return whether a trashcan scanner is readable.
Definition: manage_sql.c:48987
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:49796
char * trash_target_name(target_t target)
Return the name of a trashcan target.
Definition: manage_sql.c:36135
int trash_target_credential_location(target_t target, const char *type)
Get whether a credential of a trash target is in trashcan.
Definition: manage_sql.c:34603
gchar * type
Type of resource.
Definition: manage.h:325
void set_task_end_time(task_t task, char *time)
Set the end time of a task.
Definition: manage_sql.c:25853
int init_cpe_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise a info iterator.
Definition: manage_sql_secinfo.c:149
int all_info_count(const get_data_t *get)
Count number of SecInfo entries.
Definition: manage_sql_secinfo.c:1129
int total_info_count(const get_data_t *get, int filtered)
Count number of all SecInfo entries.
Definition: manage_sql_secinfo.c:1143
int manage_create_scanner(GSList *log_config, const gchar *database, const char *name, const char *host, const char *port, const char *type, const char *ca_pub_path, const char *key_pub_path, const char *key_priv_path)
Create the given scanner.
Definition: manage_sql.c:47582
char * type
Name of NVT selector.
Definition: manage.h:1832
int task_uuid(task_t task, char **id)
Return the UUID of a task.
Definition: manage_sql.c:19039
int trash_target_login_port(target_t target, const char *type)
Get a port from a target in the trashcan.
Definition: manage_sql.c:34681
void init_config_timeout_iterator(iterator_t *iterator, config_t config)
Initialise a config timeout iterator.
Definition: manage_sql.c:38704
void set_schedule_timeout(int new_timeout)
Set the schedule timeout.
Definition: manage.c:7416
const char * aggregate_iterator_value(iterator_t *iterator)
Get the value of the group column from a statistics iterator.
Definition: manage_sql.c:6065
int alert_in_use(alert_t alert)
Return whether a alert is in use by a task.
Definition: manage_sql.c:8636
int scanner_iterator_credential_trash(iterator_t *iterator)
Get the credential location of the scanner from a scanner iterator.
Definition: manage_sql.c:48727
char * trash_target_uuid(target_t target)
Return the UUID of a trashcan target.
Definition: manage_sql.c:36107
int trash_alert_writable(alert_t alert)
Return whether a trashcan alert is writable.
Definition: manage_sql.c:8679
static int fork_update_nvt_cache()
Update the NVT cache in a child process.
Definition: gvmd.c:1217
int request_delete_task(task_t *task_pointer)
Request deletion of a task.
Definition: manage_sql.c:33227
char * task_comment(task_t task)
Return the comment of a task.
Definition: manage_sql.c:19130
int agent_in_use(agent_t agent)
Check whether an agent is in use.
Definition: manage_sql.c:44694
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:43678
int verify_agent(const char *agent_id)
Verify an agent.
Definition: manage_sql.c:45082
const gchar * certificate_time_status(time_t activates, time_t expires)
Tests the activation and expiration time of a certificate.
Definition: manage.c:424
char * nvt_oid(const char *name)
Guess the OID of an NVT given a name.
Definition: manage_sql_nvts.c:98
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:45950
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:18928
int modify_report(const char *report_id, const char *comment)
Modify a report.
Definition: manage_sql.c:26944
int alert_iterator_filter_readable(iterator_t *iterator)
Return the filter readable state from an alert iterator.
Definition: manage_sql.c:8850
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:876
const char * scanner_uuid_default()
Return the UUID of the default scanner.
Definition: manage_sql.c:49038
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:6952
char * manage_nvt_name(nvt_t nvt)
Get the name of an NVT.
Definition: manage_sql_nvts.c:85
const char * credential_iterator_password(iterator_t *iterator)
Get the password from a Credential iterator.
Definition: manage_sql.c:43488
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:6877
int task_target_in_trash(task_t task)
Return whether the target of a task is in the trashcan.
Definition: manage_sql.c:19339
void severity_data_level_counts(const severity_data_t *severity_data, const gchar *severity_class, int *errors, int *debugs, int *false_positives, int *logs, int *lows, int *mediums, int *highs)
Count the occurrences of severities in the levels.
Definition: manage.c:1103
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:1032
char * scan_end_time_uuid(const char *uuid)
Get the end time of a scan.
Definition: manage_sql.c:25995
char * nvt_name
Name of NVT preference affects.
Definition: manage.h:1819
const char * run_status_name(task_status_t status)
Get the name of a run status.
Definition: manage.c:1486
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:20022
int delete_task_lock(task_t task, int ultimate)
Complete deletion of a task.
Definition: manage_sql.c:33518
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:1191
int target_count(const get_data_t *get)
Count number of targets.
Definition: manage_sql.c:35763
void report_set_slave_name(report_t report, const gchar *name)
Set the name of the slave on a report.
Definition: manage_sql.c:22934
const char * report_format_param_type_name(report_format_param_type_t type)
Get the name of a report format param type.
Definition: manage.c:7434
int report_count(const get_data_t *get)
Count number of reports.
Definition: manage_sql.c:23328
int trash_alert_in_use(alert_t alert)
Return whether a trashcan alert is in use by a task.
Definition: manage_sql.c:8650
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:7930
const char * type_name(const char *type)
Return the name of a resource type.
Definition: manage.c:591
task_t result_iterator_task(iterator_t *iterator)
Get the task from a result iterator.
Definition: manage_sql.c:24849
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:20154
int schedule_in_use(schedule_t schedule)
Return whether a schedule is in use by a task.
Definition: manage_sql.c:49936
Keyword.
Definition: manage.h:3581
gboolean find_report_format_with_permission(const char *uuid, report_format_t *report_format, const char *permission)
Find a reportformat for a specific permission, given a UUID.
Definition: manage_sql.c:51017
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:32921
void update_config_preference(const char *config_id, const char *type, const char *preference_name, const char *new_value, gboolean insert)
Update or optionally insert a NVT preference.
Definition: manage_sql.c:38761
int agent_writable(agent_t agent)
Check whether a agent is writable.
Definition: manage_sql.c:44720
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:20325
gboolean next_file(file_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:7636
gchar * truncate_private_key(const gchar *private_key)
Truncate a private key, removing extra data.
Definition: manage.c:240
char * id
ID of single item to get.
Definition: manage.h:323
int init_alert_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an alert iterator, including observed alerts.
Definition: manage_sql.c:8694
int delete_override(const char *override_id, int ultimate)
Delete a override.
Definition: manage_sql.c:46495
int credential_writable(credential_t credential)
Check whether a Credential is writable.
Definition: manage_sql.c:42971
void init_alert_task_iterator(iterator_t *iterator, alert_t alert, int ascending)
Initialise an alert task iterator.
Definition: manage_sql.c:14676
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 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 char *type, const char *host, int pos, const char *host_search_phrase, const char *host_levels, int host_first_result, int host_max_results, const gchar *prefix)
Generate a report.
Definition: manage_sql.c:32415
char * source_name
Source name.
Definition: manage.h:1198
const char * file_iterator_name(file_iterator_t *iterator)
Return the name from a file iterator.
Definition: manage.c:7652
int manage_scanner_set_default()
Set the default scanner as the scanner to connect to.
Definition: manage_sql.c:18664
void get_data_reset(get_data_t *data)
Reset command data.
Definition: gmp.c:2167
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:781
gchar ** current
Current type.
Definition: manage.h:2721
int report_format_in_use(report_format_t report_format)
Return whether a report format is referenced by an alert.
Definition: manage_sql.c:52509
int override_iterator_active(iterator_t *iterator)
Get the active status from an override iterator.
Definition: manage_sql.c:47499
char * filter_replacement
Filter term to replace the one in filt_id.
Definition: manage.h:322
double severity_data_value(int index)
Convert an index in the counts array to a severity value.
Definition: manage.c:983
char * nvts_feed_version()
Return feed version of the plugins in the plugin cache.
Definition: manage_sql_nvts.c:113
int aggregate_iterator_count(iterator_t *iterator)
Get the count from an aggregate iterator.
Definition: manage_sql.c:5963
int config_iterator_family_count(iterator_t *iterator)
Get the family count from a config iterator.
Definition: manage_sql.c:37715
int scanner_config_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:48844
void init_host_prognosis_iterator(iterator_t *iterator, report_host_t report_host, int first_result, int max_results, const char *levels, const char *search_phrase, int sort_order, const char *sort_field)
Initialise a report host prognosis iterator.
Definition: manage_sql.c:21745
int manage_get_scanners(GSList *log_config, const gchar *database)
List scanners.
Definition: manage_sql.c:49552
int nvt_selector_iterator_include(iterator_t *iterator)
Get whether the selector rule is an include rule.
Definition: manage_sql.c:40021
void init_task_role_iterator(iterator_t *iterator, task_t task)
Initialise a task role iterator.
Definition: manage_sql.c:6807
char * oid
NVT identifier.
Definition: manage.h:206
int scanner_in_use(scanner_t scanner)
Check whether an scanner is in use.
Definition: manage_sql.c:48925
int task_iterator_finished_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15244
char * task_name(task_t task)
Return the name of a task.
Definition: manage_sql.c:19116
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:7230
osp_connection_t * osp_scanner_connect(scanner_t scanner)
Create a new connection to an OSP scanner.
Definition: manage_sql.c:49282
int manage_resource_name(const char *type, const char *uuid, char **name)
Get the name of a resource.
Definition: manage_sql.c:5099
char * qod_type
QoD type.
Definition: manage.h:1185
int config_iterator_nvt_count(iterator_t *iterator)
Get the nvt count from a config iterator.
Definition: manage_sql.c:37731
int trash_report_format_writable(report_format_t report_format)
Return whether a trashcan report_format is writable.
Definition: manage_sql.c:52568
int config_iterator_scanner_trash(iterator_t *iterator)
Get whether scanner is in trash from a config iterator.
Definition: manage_sql.c:37811
int init_nvt_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an NVT iterator.
Definition: manage_sql_nvts.c:389
gchar * local_filename
Path to the local report file.
Definition: manage.h:399
void init_nvt_selector_iterator(iterator_t *iterator, const char *selector, config_t config, int type)
Initialise an NVT selector iterator.
Definition: manage_sql.c:39979
int delete_note(const char *note_id, int ultimate)
Delete a note.
Definition: manage_sql.c:45407
int create_config_from_scanner(const char *scanner_id, const char *name, const char *comment, char **uuid)
Create a config from an OSP scanner.
Definition: manage_sql.c:36933
void init_family_iterator(iterator_t *iterator, int all, const char *selector, int ascending)
Initialise an NVT selector family iterator.
Definition: manage_sql.c:40073
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:762
int manage_check_current_task()
Handle state changes to current task made by other processes.
Definition: manage.c:6153
char * credential_uuid(credential_t credential)
Get the UUID of a Credential.
Definition: manage_sql.c:43761
const char * task_iterator_run_status_name(iterator_t *iterator)
Get the run status name from a task iterator.
Definition: manage_sql.c:15216
int task_upload_progress(task_t task)
Return the upload progress of a task.
Definition: manage_sql.c:19672
char * scan_start_time_uuid(const char *uuid)
Get the start time of a scan.
Definition: manage_sql.c:25920
int copy_override(const char *override_id, override_t *new_override)
Create a override from an existing override.
Definition: manage_sql.c:46478
void set_scan_end_time_otp(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:26044
int task_config_in_trash(task_t task)
Return whether the config of a task is in the trashcan.
Definition: manage_sql.c:19252
gchar * cve_cvss_base(const gchar *cve)
Get the short file name for an OVALDEF.
Definition: manage_sql_secinfo.c:298
char * config_nvt_timeout(config_t config, const char *oid)
Get the timeout value for an NVT in a config.
Definition: manage_sql.c:37072
int request_delete_task_uuid(const char *task_id, int ultimate)
Request deletion of a task.
Definition: manage_sql.c:33280
void init_credential_iterator_one(iterator_t *iterator, credential_t credential)
Initialise a Credential iterator, given a single Credential.
Definition: manage_sql.c:43309
int result_iterator_has_cert_bunds(iterator_t *iterator)
Get whether CERT-Bunds may exist from a result iterator.
Definition: manage_sql.c:25135
scanner_t task_iterator_scanner(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15272
char * scan_nvt_version
Version of NVT used at scan time.
Definition: manage.h:1182
int manage_cert_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:6380
schedule_t task_schedule_uuid(const gchar *task_id)
Return the schedule of a task.
Definition: manage_sql.c:20223
resource_t get_iterator_resource(iterator_t *iterator)
Get the resource from a GET iterator.
Definition: manage_sql.c:44822
const char * report_type_iterator_title(report_type_iterator_t *iterator)
Return the title from a report type iterator.
Definition: manage.c:6532
char * config_uuid(config_t config)
Return the UUID of a config.
Definition: manage_sql.c:37011
int verify_scanner(const char *scanner_id, char **version)
Verify a scanner.
Definition: manage_sql.c:49443
void report_set_source_iface(report_t report, const gchar *iface)
Set the source interface of a report.
Definition: manage_sql.c:22982
int create_agent(const char *name, const char *comment, const char *installer_64, const char *installer_filename, const char *installer_signature_64, const char *howto_install, const char *howto_use, agent_t *agent)
Create an agent entry.
Definition: manage_sql.c:44313
char * host
Host message describes.
Definition: manage.h:202
const char * get_iterator_comment(iterator_t *iterator)
Get the comment from a GET iterator.
Definition: manage_sql.c:44854
void make_task_complete(task_t task)
Complete the creation of a task.
Definition: manage_sql.c:33079
An NVT preference.
Definition: manage.h:1814
int copy_note(const char *note_id, note_t *new_note)
Create a note from an existing note.
Definition: manage_sql.c:45390
gchar * manage_clean_filter_remove(const gchar *filter, const gchar *column)
Clean a filter, removing a keyword in the process.
Definition: manage_sql.c:2685
char * alert_uuid(alert_t alert)
Return the UUID of an alert.
Definition: manage_sql.c:8462
void set_task_hosts_ordering(task_t task, const char *ordering)
Set the hosts ordering of a task.
Definition: manage_sql.c:19323
int nvt_selector_iterator_type(iterator_t *iterator)
Get the type from an NVT selector.
Definition: manage_sql.c:40055
char * target_ssh_port(target_t target)
Return the SSH LSC port of a target.
Definition: manage_sql.c:36291
int create_report(array_t *results, const char *task_id, const char *task_name, const char *task_comment, 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:22362
int report_timestamp(const char *report_id, gchar **timestamp)
Get the timestamp of a report.
Definition: manage_sql.c:26185
gchar * port_name_formatted(const char *field)
Returns formatted port number, protocol and iana name from.
Definition: manage_sql.c:6425
void report_set_slave_host(report_t report, const gchar *host)
Set the host of the slave of a report.
Definition: manage_sql.c:22951
int manage_migrate(GSList *log_config, const gchar *database)
Migrate database to version supported by this manager.
Definition: manage_migrators.c:15544
const char * alert_condition_name(alert_condition_t condition)
Get the name of an alert condition.
Definition: manage.c:1212
credentials_t current_credentials
Current credentials during any GMP command.
Definition: manage.c:863
result_t override_iterator_result(iterator_t *iterator)
Get the result from a override iterator.
Definition: manage_sql.c:47468
gchar * report_format_name
Name of the report format used.
Definition: manage.h:402
int manage_test_alert(const char *alert_id, gchar **script_message)
Test an alert.
Definition: manage_sql.c:14157
unsigned int number
Port number.
Definition: manage.h:191
int config_families_growing(config_t config)
Get the family growth status of a config.
Definition: manage_sql.c:39963
int result_iterator_may_have_notes(iterator_t *iterator)
Get whether notes may exist from a result iterator.
Definition: manage_sql.c:25093
void cleanup_file_iterator(file_iterator_t *iterator)
Cleanup a report type iterator.
Definition: manage.c:7620
const char * result_iterator_nvt_tag(iterator_t *iterator)
Get the NVT tags from a result iterator.
Definition: manage_sql.c:24787
int manage_modify_scanner(GSList *log_config, const gchar *database, const char *scanner_id, const char *name, const char *host, const char *port, const char *type, const char *ca_pub_path, const char *key_pub_path, const char *key_priv_path)
Modify the given scanner.
Definition: manage_sql.c:47811
void manage_complete_nvt_cache_update(GList *nvts_list, GList *nvt_preferences_list)
Complete an update of the NVT cache.
Definition: manage_sql_nvts.c:1112
int task_result_count(task_t task, int min_qod)
Return number of results in a task.
Definition: manage_sql.c:19587
int schedule_info(schedule_t schedule, int trash, time_t *first_time, time_t *next_time, int *period, int *period_months, int *duration, gchar **icalendar, gchar **zone)
Return info about a schedule.
Definition: manage_sql.c:50109
int scanner_writable(scanner_t scanner)
Check whether a scanner is writable.
Definition: manage_sql.c:48961
int schedule_count(const get_data_t *get)
Count the number of schedules.
Definition: manage_sql.c:50195
int cpe_info_count(const get_data_t *get)
Count number of cpe.
Definition: manage_sql_secinfo.c:131
int init_target_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a target iterator, including observed targets.
Definition: manage_sql.c:35805
config_t task_config(task_t task)
Return the config of a task.
Definition: manage_sql.c:19187
const char * task_iterator_hosts_ordering(iterator_t *iterator)
Get the hosts ordering value from a task iterator.
Definition: manage_sql.c:15258
int trash_schedule_readable(schedule_t schedule)
Return whether a trashcan schedule is readable.
Definition: manage_sql.c:49992
char * trash_credential_name(credential_t credential)
Get the name of an LSC credential in the trashcan.
Definition: manage_sql.c:43804
credential_t target_credential(target_t target, const char *type)
Get a credential from a target.
Definition: manage_sql.c:34521
int config_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:38689
const char * credential_iterator_community(iterator_t *iterator)
Get the SNMP community from a Credential iterator.
Definition: manage_sql.c:43518
int alert_count(const get_data_t *get)
Count the number of alerts.
Definition: manage_sql.c:8619
int copy_config(const char *name, const char *comment, const char *config_id, config_t *new_config)
Create a config from an existing config.
Definition: manage_sql.c:37200
int scan_start_time_epoch(report_t report)
Get the start time of a scan, in seconds since the epoch.
Definition: manage_sql.c:25906
target_t task_target(task_t task)
Return the target of a task.
Definition: manage_sql.c:19282
int target_iterator_smb_credential(iterator_t *iterator)
Get the SMB LSC credential from a target iterator.
Definition: manage_sql.c:35865
char * ovaldef_severity(const char *id)
Get the severity of an OVALDEF using an ID.
Definition: manage_sql_secinfo.c:682
int nvt_preference_count(const char *name)
Get the number preferences available for an NVT.
Definition: manage_sql.c:41486
void manage_cleanup_process_error(int signal)
Cleanup as immediately as possible.
Definition: manage_sql.c:18371
int target_login_port(target_t target, const char *type)
Get a login port from a target.
Definition: manage_sql.c:34641
char * target_uuid(target_t target)
Return the UUID of a target.
Definition: manage_sql.c:36093
int acknowledge_bye()
Acknowledge a scanner BYE.
Definition: manage.c:6125
unsigned int task_count(const get_data_t *get)
Return the number of tasks associated with the current user.
Definition: manage_sql.c:18988
double prognosis_iterator_cvss_double(iterator_t *iterator)
Get the CVSS from a result iterator as a double.
Definition: manage_sql.c:21554
void init_credential_scanner_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential scanner iterator.
Definition: manage_sql.c:43937
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:45820
void set_task_config(task_t task, config_t config)
Set the config of a task.
Definition: manage_sql.c:19266
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:21320
void init_nvt_dfn_cert_adv_iterator(iterator_t *iterator, const char *oid, int ascending, const char *sort_field)
Initialise an DFN-CERT iterator, for advisories relevant to a NVT.
Definition: manage_sql_secinfo.c:1093
int manage_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:6297
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:20821
void set_scan_host_end_time_otp(report_t report, const char *host, const char *timestamp)
Set the end time of a scanned host.
Definition: manage_sql.c:26108
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:33941
char * nvt_default_timeout(const char *oid)
Get the default timeout of an NVT.
Definition: manage_sql_nvts.c:923
void set_scan_end_time(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:26026
char * schedule_name(schedule_t schedule)
Return the name of a schedule.
Definition: manage_sql.c:50045
int manage_cert_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:6369
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:34995
gchar * credential_value(credential_t credential, const char *value_name)
Get a value from a credential.
Definition: manage_sql.c:42998
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:2231
int config_iterator_type(iterator_t *iterator)
Get the type from a config iterator.
Definition: manage_sql.c:37779
char * credential_iterator_rpm(iterator_t *iterator)
Get the rpm from a Credential iterator.
Definition: manage_sql.c:43547
gchar * task_second_last_report_id(task_t task)
Get report ID from second most recently completed invocation of task.
Definition: manage_sql.c:19923
int quoted
Whether the keyword was quoted.
Definition: manage.h:3587
void set_scan_end_time_epoch(report_t report, time_t timestamp)
Set the end time of a scan.
Definition: manage_sql.c:26012
report_t make_report(task_t task, const char *uuid, task_status_t status)
Make a report.
Definition: manage_sql.c:22219
char * nvt_oid
OID of NVT.
Definition: manage.h:1181
const char * note_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a note iterator.
Definition: manage_sql.c:46210
char * source_desc
Source description.
Definition: manage.h:1197
char * config_nvt_selector(config_t config)
Return the NVT selector associated with a config.
Definition: manage_sql.c:38066
A system report type iterator.
Definition: manage.h:2718
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:24878
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:14057
void init_nvt_cert_bund_adv_iterator(iterator_t *iterator, const char *oid, int ascending, const char *sort_field)
Initialise an CERT-Bund iterator, for advisories relevant to a NVT.
Definition: manage_sql_secinfo.c:909
int trash_schedule_in_use(schedule_t schedule)
Return whether a trashcan schedule is in use by a task.
Definition: manage_sql.c:49950
static PGconn * conn
Handle on the database.
Definition: sql_pg.c:81
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:42283
int credential_count(const get_data_t *get)
Count number of LSC Credentials.
Definition: manage_sql.c:42884
char * manage_port_name(int number, const char *protocol)
Returns associated name for a tcp/ip port.
Definition: manage_sql.c:6406
alert_method_t alert_method_from_name(const char *name)
Get an alert method from a name.
Definition: manage.c:1447
int schedule_duration(schedule_t schedule)
Return the duration of a schedule.
Definition: manage_sql.c:50087
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:948
int copy_report_format(const char *name, const char *source_uuid, report_format_t *new_report_format)
Create Report Format from an existing Report Format.
Definition: manage_sql.c:51745
int delete_schedule(const char *schedule_id, int ultimate)
Delete a schedule.
Definition: manage_sql.c:49815
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:21092
time_t schedule_iterator_period_months(iterator_t *iterator)
Get the period months from a schedule iterator.
Definition: manage_sql.c:50272
port_t port
The port.
Definition: manage.h:204
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_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)
Modify a target.
Definition: manage_sql.c:35188
user_t get_iterator_owner(iterator_t *iterator)
Get the owner from a GET iterator.
Definition: manage_sql.c:44897
The record of a message.
Definition: manage.h:200
char * name
Name of NVT selector.
Definition: manage.h:1831
int config_iterator_nvts_growing(iterator_t *iterator)
Get the NVTs growing state from a config iterator.
Definition: manage_sql.c:37763
int credential_in_use(credential_t credential)
Check whether a Credential is in use.
Definition: manage_sql.c:42901
void init_task_alert_iterator(iterator_t *iterator, task_t task)
Initialise a task alert iterator.
Definition: manage_sql.c:9000
int dfn_cert_adv_info_count(const get_data_t *get)
Count number of dfn_cert_adv.
Definition: manage_sql_secinfo.c:998
gchar * schedule_iterator_byday_string(iterator_t *iterator)
Get the byday string from a schedule iterator.
Definition: manage_sql.c:50288
int note_uuid(note_t note, char **id)
Return the UUID of a note.
Definition: manage_sql.c:45490
char * credential_iterator_exe(iterator_t *iterator)
Get the exe from a Credential iterator.
Definition: manage_sql.c:43643
int delete_report_format(const char *report_format_id, int ultimate)
Delete a report format.
Definition: manage_sql.c:52151
char * task_preference_value(task_t task, const char *name)
Get the value of a task preference.
Definition: manage_sql.c:41508
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:6672
char * task_observers(task_t task)
Return the observers of a task.
Definition: manage_sql.c:19158
char * target_hosts(target_t target)
Return the hosts associated with a target.
Definition: manage_sql.c:36203
const char * severity_to_level(double severity, int mode)
Get the threat level matching a severity score.
Definition: manage.c:799
time_t schedule_iterator_duration(iterator_t *iterator)
Get the duration from a schedule iterator.
Definition: manage_sql.c:50317
int sync_config(const char *config_id)
Synchronize a config.
Definition: manage_sql.c:37510
char * scanner_key_pub(scanner_t scanner)
Return the Certificate of a scanner.
Definition: manage_sql.c:49117
gboolean next_report_type(report_type_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:6503
int delete_agent(const char *agent_id, int ultimate)
Delete an agent.
Definition: manage_sql.c:44608
array_t * alts
Array of gchar's. Alternate values for radio type.
Definition: manage.h:1821
int type_is_scap(const char *type)
Check if a type is a SCAP type.
Definition: manage.c:620
array_t * split_filter(const gchar *given_filter)
Split the filter term into parts.
Definition: manage_sql.c:2050
int delete_target(const char *target_id, int ultimate)
Delete a target.
Definition: manage_sql.c:35029
void set_task_run_status(task_t task, task_status_t status)
Set the run state of a task.
Definition: manage_sql.c:19480
int task_schedule_periods(task_t task)
Get the number of times the period schedule should run on the task.
Definition: manage_sql.c:20272
char * family_or_nvt
Family or NVT that this selector selects.
Definition: manage.h:1834
void init_credential_target_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential target iterator.
Definition: manage_sql.c:43860
int set_task_schedule(task_t task, schedule_t schedule, int periods)
Set the schedule of a task.
Definition: manage_sql.c:20091
Sort data for aggregates commands.
Definition: manage.h:4283
void report_add_result(report_t report, result_t result)
Add a result to a report.
Definition: manage_sql.c:23131
gchar ** start
First type.
Definition: manage.h:2720
get_data_t * report_results_get_data(int first, int rows, int apply_overrides, int autofp, int min_qod)
Create a new basic get_data_t struct to get report results.
Definition: manage.c:932
int acknowledge_feed_version_info()
Acknowledge scanner PLUGINS_FEED_VERSION message,.
Definition: manage.c:6139
int alert_iterator_event(iterator_t *iterator)
Return the event from an alert iterator.
Definition: manage_sql.c:8720
int trash_task_in_use(task_t task)
Return whether a trashcan task is referenced by a task.
Definition: manage_sql.c:15309
const char * report_type_iterator_name(report_type_iterator_t *iterator)
Return the name from a report type iterator.
Definition: manage.c:6519
int trash_target_readable(target_t target)
Return whether a trashcan target is readable.
Definition: manage_sql.c:36177
int target_iterator_esxi_trash(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:36031
int stop_task(const char *task_id)
Initiate stopping a task.
Definition: manage.c:5934
int alert_iterator_method(iterator_t *iterator)
Return the method from an alert iterator.
Definition: manage_sql.c:8752
char * target_reverse_lookup_unify(target_t target)
Return the reverse_lookup_unify value of a target.
Definition: manage_sql.c:36246
event_t event_from_name(const char *name)
Get an event from a name.
Definition: manage.c:1422
char * target_port_range(target_t target)
Return the port range of a target, in OTP format.
Definition: manage_sql.c:36378
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:21986
int report_host_count(report_t report)
Count a report's total number of hosts.
Definition: manage_sql.c:28512
result_t make_osp_result(task_t task, const char *host, const char *nvt, const char *type, const char *description, const char *port, const char *severity, int qod)
Make an OSP result.
Definition: manage_sql.c:20891
int task_writable(task_t task)
Return whether a task is writable.
Definition: manage_sql.c:15337
int target_writable(target_t target)
Return whether a target is writable.
Definition: manage_sql.c:36482
int init_credential_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a Credential iterator.
Definition: manage_sql.c:43336
int target_iterator_smb_trash(iterator_t *iterator)
Get the location of the SMB LSC credential from a target iterator.
Definition: manage_sql.c:35897
int task_average_scan_duration(task_t task)
Get the average duration of all finished reports of a task.
Definition: manage_sql.c:15367
void set_task_name(task_t task, const char *name)
Set the name of a task.
Definition: manage_sql.c:33094
int include
Whether family/NVT is included or excluded.
Definition: manage.h:1833
int scanner_port(scanner_t scanner)
Return the port of a scanner.
Definition: manage_sql.c:49064
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, 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, target_t *target)
Create a target.
Definition: manage_sql.c:34738
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:48227
gchar * dir_name
Dir holding files.
Definition: manage.h:3219
int severity_in_level(double severity, const char *level)
Check whether a severity falls within a threat level.
Definition: manage.c:728
int manage_scap_loaded()
Check whether SCAP is available.
Definition: manage_pg.c:3687
const char * target_iterator_alive_tests(iterator_t *iterator)
Get the alive test description from a target iterator.
Definition: manage_sql.c:35976
char * filter_replace
Column to replace in filter.
Definition: manage.h:321
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:6043
report_t task_running_report(task_t task)
Return the running report of a task.
Definition: manage_sql.c:19605
Name value pair.
Definition: manage.h:57
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:42332
int result_detection_reference(result_t result, report_t report, const gchar *host, const 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:21372
A host detail for create_report.
Definition: manage.h:1193
schedule_t task_schedule(task_t task)
Return the schedule of a task.
Definition: manage_sql.c:20196
void set_credential_public_key(credential_t credential, const char *public_key)
Set the public key of a Credential.
Definition: manage_sql.c:43243
const char * task_iterator_last_report(iterator_t *iterator)
Get the last report UUID from a task iterator.
Definition: manage_sql.c:15230
int task_in_use(task_t task)
Return whether a task is in use by a task.
Definition: manage_sql.c:15286
int keyword_special(keyword_t *keyword)
Get whether a keyword is special (like "and").
Definition: manage_sql.c:1465
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:33136
int task_schedule_periods_uuid(const gchar *task_id)
Set the next time a scheduled task will be due.
Definition: manage_sql.c:20285
void manage_reset_currents()
Cleanup as immediately as possible.
Definition: manage_sql.c:18392
int trash_credential_readable(credential_t credential)
Return whether a trashcan credential is readable.
Definition: manage_sql.c:43833
const char * task_trend(task_t task, int override, int min_qod)
Return the trend of a task.
Definition: manage_sql.c:32950
int manage_encrypt_all_credentials(GSList *log_config, const gchar *database)
Encrypt or re-encrypt all credentials.
Definition: manage_sql.c:6614
int minimal
Whether to respond with minimal information.
Definition: manage.h:330
int qod_from_type(const char *qod_type)
Get QoD percentage for a qod_type string.
Definition: manage_sql.c:20965
int nvt_info_count(const get_data_t *get)
Count number of nvt.
Definition: manage_sql_nvts.c:468
char * hostname
Hostname.
Definition: manage.h:1180
double aggregate_iterator_sum(iterator_t *iterator, int data_column_index)
Get the sum from a statistics iterator.
Definition: manage_sql.c:6025
int task_scanner_in_trash(task_t task)
Return whether the scanner of a task is in the trashcan.
Definition: manage_sql.c:19395
int result_count(const get_data_t *get, report_t report, const char *host)
Count the number of results.
Definition: manage_sql.c:24584
char * trash_schedule_name(schedule_t schedule)
Return the name of a trash schedule.
Definition: manage_sql.c:50059
int delete_credential(const char *credential_id, int ultimate)
Delete a Credential.
Definition: manage_sql.c:42636
gboolean manage_migrate_needs_timezone(GSList *log_config, const gchar *database)
Check whether the migration needs the real timezone.
Definition: manage_migrators.c:15495
void manage_transaction_start()
Start a new IMMEDIATE transaction.
Definition: manage_sql.c:34309
gchar * value
Param value.
Definition: manage.h:60
double double_value
Floating point value of the keyword.
Definition: manage.h:3586
int ovaldef_info_count(const get_data_t *get)
Count number of ovaldef.
Definition: manage_sql_secinfo.c:526
char * filter
Filter term.
Definition: manage.h:320
int target_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:36566
void report_set_slave_port(report_t report, int port)
Set the port of the slave of a report.
Definition: manage_sql.c:22968
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:49317
long long int resource_t
A resource, like a task or target.
Definition: iterator.h:40
int manage_read_info(gchar *type, gchar *uid, gchar *name, gchar **result)
Read raw information.
Definition: manage.c:8362
task_t override_iterator_task(iterator_t *iterator)
Get the task from a override iterator.
Definition: manage_sql.c:47454
char * report_format_content_type(report_format_t report_format)
Return the content type of a report format.
Definition: manage_sql.c:52494
int init_manage(GSList *log_config, int nvt_cache_mode, const gchar *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:18274
char * nvt_preference_iterator_type(iterator_t *iterator)
Get the type from an NVT preference iterator.
Definition: manage_sql.c:41400
int create_config(const char *proposed_name, const char *comment, const array_t *selectors, const array_t *preferences, const char *config_type, config_t *config, char **name)
Create a config.
Definition: manage_sql.c:36747
void report_set_slave_uuid(report_t report, const gchar *uuid)
Set the UUID of the slave on a report.
Definition: manage_sql.c:22917