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 *);
2755 #define SLAVE_COMMIT_SIZE_DEFAULT 0 2800 copy_scanner (
const char *,
const char *,
const char *, scanner_t *);
2863 scanner_iterator_credential_name (
iterator_t *);
2878 scanner_iterator_credential_type (
iterator_t *);
2930 set_slave_commit_size (
int);
2937 #define SCHEDULE_PERIOD 10 2943 #define SCHEDULE_TIMEOUT_MIN_SECS 20 2948 #define SCHEDULE_TIMEOUT_DEFAULT 60 2967 copy_schedule (
const char *,
const char *,
const char *, schedule_t *);
3034 schedule_iterator_initial_offset (
iterator_t *);
3133 verify_report_format (
const char *);
3145 int report_format_global (report_format_t);
3147 int trash_report_format_global (report_format_t);
3153 int report_format_trust (report_format_t);
3170 report_format_iterator_extension (
iterator_t *);
3173 report_format_iterator_content_type (
iterator_t *);
3176 report_format_iterator_description (
iterator_t *);
3179 report_format_iterator_active (
iterator_t *);
3182 report_format_iterator_signature (
iterator_t *);
3188 report_format_iterator_summary (
iterator_t *);
3191 report_format_iterator_trust_time (
iterator_t *);
3194 init_report_format_alert_iterator (
iterator_t *, report_format_t);
3197 report_format_alert_iterator_name (
iterator_t *);
3200 report_format_alert_iterator_uuid (
iterator_t *);
3203 report_format_alert_iterator_readable (
iterator_t *);
3238 REPORT_FORMAT_PARAM_TYPE_BOOLEAN = 0,
3239 REPORT_FORMAT_PARAM_TYPE_INTEGER = 1,
3240 REPORT_FORMAT_PARAM_TYPE_SELECTION = 2,
3241 REPORT_FORMAT_PARAM_TYPE_STRING = 3,
3242 REPORT_FORMAT_PARAM_TYPE_TEXT = 4,
3243 REPORT_FORMAT_PARAM_TYPE_REPORT_FORMAT_LIST = 5,
3244 REPORT_FORMAT_PARAM_TYPE_ERROR = 100
3245 } report_format_param_type_t;
3249 report_format_param_type_t
3253 init_report_format_param_iterator (
iterator_t *,
3259 report_format_param_t
3260 report_format_param_iterator_param (
iterator_t *);
3263 report_format_param_iterator_name (
iterator_t *);
3266 report_format_param_iterator_value (
iterator_t *);
3269 report_format_param_iterator_type_name (
iterator_t *);
3271 report_format_param_type_t
3272 report_format_param_iterator_type (
iterator_t *);
3275 report_format_param_iterator_type_min (
iterator_t *);
3278 report_format_param_iterator_type_max (
iterator_t *);
3281 report_format_param_iterator_fallback (
iterator_t *);
3285 report_format_param_t,
3298 copy_group (
const char *,
const char *,
const char *, group_t *);
3301 create_group (
const char *,
const char *,
const char *,
int, group_t *);
3304 delete_group (
const char *,
int);
3306 char *group_uuid (group_t);
3308 gchar *group_users (group_t);
3310 int trash_group_in_use (group_t);
3312 int group_in_use (group_t);
3314 int trash_group_writable (group_t);
3316 int group_writable (group_t);
3322 modify_group (
const char *,
const char *,
const char *,
const char *);
3327 create_permission (
const char *,
3336 copy_permission (
const char *,
const char *, permission_t *);
3338 char *permission_uuid (permission_t);
3341 permission_is_admin (
const char *);
3343 int permission_in_use (permission_t);
3345 int trash_permission_in_use (permission_t);
3347 int permission_writable (permission_t);
3349 int trash_permission_writable (permission_t);
3358 permission_iterator_resource_type (
iterator_t *);
3361 permission_iterator_resource_uuid (
iterator_t *);
3364 permission_iterator_resource_name (
iterator_t *);
3367 permission_iterator_resource_in_trash (
iterator_t *);
3370 permission_iterator_resource_orphan (
iterator_t *);
3373 permission_iterator_resource_readable (
iterator_t *);
3376 permission_iterator_subject_type (
iterator_t *);
3379 permission_iterator_subject_uuid (
iterator_t *);
3382 permission_iterator_subject_name (
iterator_t *);
3385 permission_iterator_subject_in_trash (
iterator_t *);
3388 permission_iterator_subject_readable (
iterator_t *);
3391 delete_permission (
const char *,
int);
3394 modify_permission (
const char *,
3405 delete_permissions_cache_for_resource (
const char *,
resource_t);
3407 void delete_permissions_cache_for_user (user_t);
3412 find_port_list (
const char *, port_list_t *);
3415 find_port_list_with_permission (
const char *, port_list_t *,
const char *);
3418 find_port_range (
const char *, port_list_t *);
3421 create_port_list (
const char *,
3429 copy_port_list (
const char *,
const char *,
const char *, port_list_t *);
3432 modify_port_list (
const char *,
const char *,
const char *);
3435 create_port_range (
const char *,
3443 delete_port_list (
const char *,
int);
3446 delete_port_range (
const char *,
int);
3463 char *port_list_uuid (port_list_t);
3465 char *port_range_uuid (port_range_t);
3467 int port_list_in_use (port_list_t);
3469 int trash_port_list_in_use (port_list_t);
3471 int trash_port_list_writable (port_list_t);
3473 int port_list_writable (port_list_t);
3477 trash_port_list_in_use (port_list_t);
3481 trash_port_list_readable_uuid (
const gchar *);
3484 init_port_range_iterator (
iterator_t *, port_range_t,
int,
int,
const char *);
3502 init_port_list_target_iterator (
iterator_t *, port_list_t,
int);
3505 port_list_target_iterator_uuid (
iterator_t *);
3508 port_list_target_iterator_name (
iterator_t *);
3511 port_list_target_iterator_readable (
iterator_t *);
3519 copy_role (
const char *,
const char *,
const char *, role_t *);
3522 create_role (
const char *,
const char *,
const char *, role_t *);
3525 delete_role (
const char *,
int);
3527 char *role_uuid (role_t);
3529 gchar *role_users (role_t);
3531 int trash_role_in_use (role_t);
3533 int role_in_use (role_t);
3535 int trash_role_writable (role_t);
3537 int role_writable (role_t);
3543 modify_role (
const char *,
const char *,
const char *,
const char *);
3552 KEYWORD_TYPE_UNKNOWN,
3553 KEYWORD_TYPE_INTEGER,
3554 KEYWORD_TYPE_DOUBLE,
3563 KEYWORD_RELATION_APPROX,
3564 KEYWORD_RELATION_COLUMN_ABOVE,
3565 KEYWORD_RELATION_COLUMN_APPROX,
3566 KEYWORD_RELATION_COLUMN_EQUAL,
3567 KEYWORD_RELATION_COLUMN_BELOW,
3568 KEYWORD_RELATION_COLUMN_REGEXP
3569 } keyword_relation_t;
3605 find_filter (
const char *, filter_t *);
3608 find_filter_with_permission (
const char *, filter_t *,
const char *);
3610 char *filter_uuid (filter_t);
3612 char *filter_name (filter_t);
3615 filter_term (
const char *);
3618 filter_term_value (
const char *,
const char *);
3621 filter_term_apply_overrides (
const char *);
3624 filter_term_autofp (
const char *);
3627 filter_term_min_qod (
const char *);
3630 create_filter (
const char *,
3637 copy_filter (
const char *,
const char *,
const char *, filter_t *);
3640 delete_filter (
const char *,
int);
3642 int trash_filter_in_use (filter_t);
3644 int filter_in_use (filter_t);
3646 int trash_filter_writable (filter_t);
3648 int filter_writable (filter_t);
3663 init_filter_alert_iterator (
iterator_t *, filter_t);
3672 filter_alert_iterator_readable (
iterator_t *);
3675 modify_filter (
const char *,
3684 manage_schema (gchar *, gchar **, gsize *, gchar **, gchar **);
3689 manage_restore (
const char *);
3692 manage_empty_trashcan ();
3697 parse_tags (
const char *, gchar **, gchar **);
3736 cpe_info_iterator_deprecated_by_id (
iterator_t *);
3762 cve_info_iterator_authentication (
iterator_t *);
3765 cve_info_iterator_confidentiality_impact (
iterator_t *);
3768 cve_info_iterator_integrity_impact (
iterator_t *);
3771 cve_info_iterator_availability_impact (
iterator_t *);
3774 cve_info_iterator_description (
iterator_t *);
3796 ovaldef_info_iterator_version (
iterator_t *);
3799 ovaldef_info_iterator_deprecated (
iterator_t *);
3808 ovaldef_info_iterator_description (
iterator_t *);
3817 ovaldef_info_iterator_max_cvss (
iterator_t *);
3820 ovaldef_info_iterator_cve_refs (
iterator_t *);
3847 cert_bund_adv_info_iterator_title (
iterator_t *);
3850 cert_bund_adv_info_iterator_summary (
iterator_t *);
3853 cert_bund_adv_info_iterator_cve_refs (
iterator_t *);
3856 cert_bund_adv_info_iterator_max_cvss (
iterator_t *);
3873 dfn_cert_adv_info_iterator_title (
iterator_t *);
3876 dfn_cert_adv_info_iterator_summary (
iterator_t *);
3879 dfn_cert_adv_info_iterator_cve_refs (
iterator_t *);
3882 dfn_cert_adv_info_iterator_max_cvss (
iterator_t *);
3919 manage_max_rows (
int);
3922 setting_count (
const char *);
3925 setting_is_default_ca_cert (
const gchar *);
3928 setting_filter (
const char *);
3931 setting_severity ();
3955 modify_setting (
const gchar *,
const gchar *,
const gchar *, gchar **);
3958 manage_modify_setting (GSList *,
3965 manage_default_ca_cert ();
3970 find_user_by_name_with_permission (
const char *, user_t *,
const char *);
3973 manage_create_user (GSList *,
3980 manage_delete_user (GSList *,
const gchar *,
const gchar *,
const gchar *);
3983 manage_get_users (GSList *,
const gchar *,
const gchar *);
3986 manage_report_host_add (report_t,
const char *, time_t, time_t);
3991 void report_host_set_end_time (report_host_t, time_t);
3993 gchar *host_routes_xml (host_t);
3996 manage_set_password (GSList *,
const gchar *,
const gchar *,
const gchar *);
4002 manage_user_uuid (
const gchar *, auth_method_t);
4005 manage_user_exists (
const gchar *, auth_method_t);
4011 copy_user (
const char *,
const char *,
const char *, user_t *);
4014 keyfile_to_auth_conf_settings_xml (
const gchar *);
4038 init_user_group_iterator (
iterator_t *, user_t);
4050 init_user_role_iterator (
iterator_t *, user_t);
4062 create_user (
const gchar *,
4079 delete_user (
const char *,
const char *,
int,
int,
const char *,
const char *);
4082 modify_user (
const gchar *,
4098 int user_in_use (user_t);
4100 int trash_user_in_use (user_t);
4102 int user_writable (user_t);
4104 int trash_user_writable (user_t);
4110 user_name (
const char *);
4112 char *user_uuid (user_t);
4115 user_ifaces (
const char *);
4118 user_ifaces_allow (
const char *);
4121 user_hosts (
const char *);
4124 user_hosts_allow (
const char *);
4154 manage_get_ldap_info (
int *, gchar **, gchar **,
int *, gchar **);
4157 manage_set_ldap_info (
int, gchar *, gchar *,
int, gchar *);
4160 manage_get_radius_info (
int *,
char **,
char **);
4163 manage_set_radius_info (
int, gchar *, gchar *);
4170 copy_tag (
const char *,
const char *,
const char *, tag_t *);
4173 create_tag (
const char *,
4184 delete_tag (
const char *,
int);
4187 modify_tag (
const char *,
4223 tag_resource_iterator_location (
iterator_t *);
4229 tag_resource_iterator_readable (
iterator_t *);
4255 resource_tag_iterator_comment (
iterator_t *);
4258 resource_tag_exists (
const char *,
resource_t,
int);
4261 resource_tag_count (
const char *,
resource_t,
int);
4263 int tag_in_use (tag_t);
4265 int trash_tag_in_use (tag_t);
4267 int tag_writable (tag_t);
4269 int trash_tag_writable (tag_t);
4332 gvm_migrate_secinfo (
int);
4335 gvm_sync_script_perform_selftest (
const gchar *, gchar **);
4338 gvm_get_sync_script_identification (
const gchar *, gchar **,
int);
4341 gvm_get_sync_script_description (
const gchar *, gchar **);
4344 gvm_get_sync_script_feed_version (
const gchar *, gchar **);
4349 manage_run_wizard (
const gchar *,
4350 int (*) (
void *, gchar *, gchar **),
4365 column_is_timestamp (
const char *);
4368 type_columns (
const char *);
4371 type_trash_columns (
const char *);
4379 manage_optimize (GSList *,
const gchar *,
const gchar *);
4384 get_termination_signal ();
int move_task(const char *task_id, const char *slave_id)
Reassign a task to another slave.
Definition: manage.c:5993
const char * override_iterator_new_threat(iterator_t *iterator)
Get the threat from an override iterator.
Definition: manage_sql.c:47270
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:35868
double aggregate_iterator_max(iterator_t *iterator, int data_column_index)
Get the maximum from an aggregate iterator.
Definition: manage_sql.c:5891
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:48089
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:5444
time_t agent_iterator_trust_time(iterator_t *iterator)
Get the installer trust time from a agent iterator.
Definition: manage_sql.c:44860
double result_iterator_severity_double(iterator_t *iterator)
Get the severity from a result iterator as double.
Definition: manage_sql.c:24813
const char * result_iterator_level(iterator_t *iterator)
Get the severity/threat level from a result iterator.
Definition: manage_sql.c:24865
int report_progress(report_t report, task_t task, gchar **hosts_xml)
Calculate the progress of a report.
Definition: manage_sql.c:29204
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:5809
int delete_report(const char *report_id, int dummy)
Delete a report.
Definition: manage_sql.c:26864
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:8819
void init_manage_process(int update_nvt_cache, const gchar *database)
Initialize the manage library for a process.
Definition: manage_sql.c:15283
int result_iterator_has_dfn_certs(iterator_t *iterator)
Get whether DFN-CERTs may exist from a result iterator.
Definition: manage_sql.c:25011
void manage_nvt_preferences_enable()
Enable the NVT preferences.
Definition: manage_sql.c:41138
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:34062
const char * aggregate_iterator_subgroup_value(iterator_t *iterator)
Get the value of the subgroup column from an aggregate iterator.
Definition: manage_sql.c:5980
char * scanner_uuid(scanner_t scanner)
Return the UUID of a scanner.
Definition: manage_sql.c:48858
char * port
Port.
Definition: manage.h:1183
int delete_task(task_t task, int ultimate)
Complete deletion of a task.
Definition: manage_sql.c:33279
char * credential_iterator_deb(iterator_t *iterator)
Get the deb from a Credential iterator.
Definition: manage_sql.c:43423
void set_scan_start_time_otp(report_t report, const char *timestamp)
Set the start time of a scan.
Definition: manage_sql.c:25826
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:35693
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:37699
gchar * manage_clean_filter(const gchar *filter)
Clean a filter.
Definition: manage_sql.c:2660
char * task_config_uuid(task_t task)
Return the UUID of the config of a task.
Definition: manage_sql.c:19100
int credential_iterator_allow_insecure(iterator_t *iterator)
Get the login from a Credential iterator.
Definition: manage_sql.c:43254
char * host
Host.
Definition: manage.h:1179
int resume_task(const char *task_id, char **report_id)
Resume a task.
Definition: manage.c:5959
int order
The sort order.
Definition: manage.h:4280
int manage_verify_scanner(GSList *log_config, const gchar *database, const gchar *uuid)
Verify the given scanner.
Definition: manage_sql.c:47843
char * agent_uuid(agent_t agent)
Return the UUID of an agent.
Definition: manage_sql.c:44578
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:39691
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:7661
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:46111
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:6123
void reset_task(task_t task)
Reset all running information for a task.
Definition: manage_sql.c:33619
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:48491
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:8800
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:18194
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:49497
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:26596
char * report_format_uuid(report_format_t report_format)
Return the UUID of a report format.
Definition: manage_sql.c:52227
const char * result_iterator_nvt_family(iterator_t *iterator)
Get the NVT family from a result iterator.
Definition: manage_sql.c:24559
char * scanner_key_priv(scanner_t scanner)
Return the private key of a scanner.
Definition: manage_sql.c:48969
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:43651
gchar * stat
The statistic to sort by.
Definition: manage.h:4279
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:45116
int delete_config(const char *config_id, int ultimate)
Delete a config.
Definition: manage_sql.c:37129
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:51771
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:41667
void parse_tags(const char *scanner_tags, gchar **tags, gchar **cvss_base)
Split up the tags received from the scanner.
Definition: manage.c:7711
char * scanner_login(scanner_t scanner)
Return the login associated with a scanner.
Definition: manage_sql.c:49008
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:47961
char * report_format_owner_uuid(report_format_t report_format)
Return the UUID of the owner of a report format.
Definition: manage_sql.c:52241
gpointer * current
Current file.
Definition: manage.h:3211
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:50521
int manage_check_alerts(GSList *log_config, const gchar *database)
Check if any SecInfo alerts are due.
Definition: manage_sql.c:6818
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:19678
int manage_cert_loaded()
Check whether CERT is available.
Definition: manage_pg.c:3656
int credential_target_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:43753
char * nvt_preference_iterator_nvt(iterator_t *iterator)
Get the NVT from an NVT preference iterator.
Definition: manage_sql.c:41280
int config_iterator_families_growing(iterator_t *iterator)
Get the families growing state from a config iterator.
Definition: manage_sql.c:37600
void init_nvt_preference_iterator(iterator_t *iterator, const char *name)
Initialise an NVT preference iterator.
Definition: manage_sql.c:41154
void manage_nvt_preference_add(const char *name, const char *value)
Add an NVT preference.
Definition: manage_sql.c:41107
const char * manage_scap_update_time()
GET SCAP update time, as a string.
Definition: manage.c:8311
char * scanner_password(scanner_t scanner)
Return the password associated with a scanner.
Definition: manage_sql.c:49026
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:26018
int delete_scanner(const char *scanner_id, int ultimate)
Delete a scanner.
Definition: manage_sql.c:48257
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:48916
char * report_uuid(report_t report)
Return the UUID of a report.
Definition: manage_sql.c:22670
gboolean next_report(iterator_t *iterator, report_t *report)
Read the next report from an iterator.
Definition: manage_sql.c:23324
int trash_config_in_use(config_t config)
Return whether a trashcan config is referenced by a task.
Definition: manage_sql.c:37725
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:8634
char * task_hosts_ordering(task_t task)
Return the hosts ordering of a task.
Definition: manage_sql.c:19030
gchar * credential_iterator_formats_xml(iterator_t *iterator)
Get XML of available formats for a credential iterator.
Definition: manage_sql.c:43554
void cleanup_report_type_iterator(report_type_iterator_t *iterator)
Cleanup a report type iterator.
Definition: manage.c:6484
int report_format_writable(report_format_t report_format)
Return whether a report format is writable.
Definition: manage_sql.c:52358
int scanner_count(const get_data_t *get)
Count number of scanners.
Definition: manage_sql.c:49096
int target_in_use(target_t target)
Return whether a target is in use by a task.
Definition: manage_sql.c:36302
void init_task_group_iterator(iterator_t *iterator, task_t task)
Initialise a task group iterator.
Definition: manage_sql.c:6676
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:20323
int alert_iterator_active(iterator_t *iterator)
Return the active state from an alert.
Definition: manage_sql.c:8781
const char * alert_task_iterator_name(iterator_t *iterator)
Return the name from an alert task iterator.
Definition: manage_sql.c:14613
A report format file iterator.
Definition: manage.h:3208
void set_task_target(task_t task, target_t target)
Set the target of a task.
Definition: manage_sql.c:19194
char * nvt_preference_iterator_real_name(iterator_t *iterator)
Get the real name from an NVT preference iterator.
Definition: manage_sql.c:41225
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:37682
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:6459
int task_schedule_in_trash(task_t task)
Get whether the task schedule is in the trash.
Definition: manage_sql.c:20142
char * target_exclude_hosts(target_t target)
Return the excluded hosts associated with a target.
Definition: manage_sql.c:36071
void init_target_iterator_one(iterator_t *iterator, target_t target)
Initialise a target iterator, given a single target.
Definition: manage_sql.c:35632
int manage_scap_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:6244
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:25946
void trim_partial_report(report_t report)
Prepare a partial report for resumption of the scan.
Definition: manage_sql.c:27027
int task_in_trash_id(const gchar *task_id)
Return whether a task is in the trashcan.
Definition: manage_sql.c:18957
int manage_max_hosts()
Get the maximum allowed number of hosts per target.
Definition: manage_sql.c:34021
const char * alert_task_iterator_uuid(iterator_t *iterator)
Return the uuid from an alert task iterator.
Definition: manage_sql.c:14629
const char * note_iterator_threat(iterator_t *iterator)
Get the threat from a note iterator.
Definition: manage_sql.c:45954
int result_iterator_may_have_overrides(iterator_t *iterator)
Get whether overrides may exist from a result iterator.
Definition: manage_sql.c:24969
int report_format_active(report_format_t report_format)
Return whether a report format is active.
Definition: manage_sql.c:52429
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:44745
gchar * credential_encrypted_value(credential_t credential, const char *value_name)
Get a possibly encrypted credential value in decrypted form.
Definition: manage_sql.c:42850
int integer_value
Integer value of the keyword.
Definition: manage.h:3578
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:38210
const char * result_iterator_nvt_xref(iterator_t *iterator)
Get the NVT XREF from a result iterator.
Definition: manage_sql.c:24631
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:33638
const char * result_iterator_original_level(iterator_t *iterator)
Get the original severity/threat level from a result iterator.
Definition: manage_sql.c:24836
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:19775
char * task_owner_name(task_t task)
Return the name of the owner of a task.
Definition: manage_sql.c:18972
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:36944
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:47892
void add_task_alert(task_t task, alert_t alert)
Add an alert to a task.
Definition: manage_sql.c:19825
char * target_name(target_t target)
Return the name of a target.
Definition: manage_sql.c:35974
int init_report_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a report iterator, including observed reports.
Definition: manage_sql.c:23226
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:22172
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:26207
report_t result_iterator_report(iterator_t *iterator)
Get the report from a result iterator.
Definition: manage_sql.c:24725
char * trash_credential_uuid(credential_t credential)
Get the UUID of a Credential in the trashcan.
Definition: manage_sql.c:43607
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:8564
int trash_task_writable(task_t task)
Return whether a trashcan task is writable.
Definition: manage_sql.c:15249
scanner_t config_iterator_scanner(iterator_t *iterator)
Get the scanner from a config iterator.
Definition: manage_sql.c:37648
int target_iterator_snmp_credential(iterator_t *iterator)
Get the SNMP LSC credential from a target iterator.
Definition: manage_sql.c:35900
gboolean find_resource(const char *type, const char *uuid, resource_t *resource)
Find a resource given a UUID.
Definition: manage_sql.c:4468
int trash_agent_in_use(agent_t agent)
Check whether a trashcan agent is writable.
Definition: manage_sql.c:44539
void set_task_end_time_epoch(task_t task, time_t time)
Set the end time of a task.
Definition: manage_sql.c:25736
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:45058
int config_type(config_t config)
Return the type of a config.
Definition: manage_sql.c:36877
void set_db_version(int version)
Set the database version of the actual database.
Definition: manage_sql.c:6361
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:50934
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:33503
scanner_t task_scanner(task_t task)
Return the scanner of a task.
Definition: manage_sql.c:19240
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:24763
int trash_credential_writable(credential_t credential)
Check whether a trashcan Credential is writable.
Definition: manage_sql.c:42816
const char * result_iterator_nvt_name(iterator_t *iterator)
Get the NVT name from a result iterator.
Definition: manage_sql.c:24541
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:8836
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:24379
int trash_agent_writable(agent_t agent)
Check whether a trashcan agent is writable.
Definition: manage_sql.c:44565
gchar * column
The column prefix, or NULL.
Definition: manage.h:3576
result_t result_iterator_result(iterator_t *iterator)
Get the result from a result iterator.
Definition: manage_sql.c:24497
int result_uuid(result_t result, char **id)
Return the UUID of a result.
Definition: manage_sql.c:21228
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:8109
int target_iterator_ssh_trash(iterator_t *iterator)
Get the location of the SSH LSC credential from a target iterator.
Definition: manage_sql.c:35734
int schedule_writable(schedule_t schedule)
Return whether a schedule is writable.
Definition: manage_sql.c:49798
const char * override_iterator_threat(iterator_t *iterator)
Get the threat from a override iterator.
Definition: manage_sql.c:47254
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:15010
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:52335
int trash_config_writable(config_t config)
Return whether a trashcan config is writable.
Definition: manage_sql.c:37741
time_t schedule_iterator_first_time(iterator_t *iterator)
Get the first time from a schedule iterator.
Definition: manage_sql.c:50044
int modify_agent(const char *agent_id, const char *name, const char *comment)
Modify an agent.
Definition: manage_sql.c:44376
gchar * manage_user_hash(const gchar *username)
Get user hash.
Definition: manage_sql.c:18295
int delete_alert(const char *alert_id, int ultimate)
Delete an alert.
Definition: manage_sql.c:8207
task_t make_task(char *name, char *comment, int in_assets, int event)
Make a task.
Definition: manage_sql.c:32889
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:33537
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:33489
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:28390
char * credential_name(credential_t credential)
Get the name of an LSC credential.
Definition: manage_sql.c:43622
int config_nvts_growing(config_t config)
Get the NVT growth status of a config.
Definition: manage_sql.c:39801
char * alert_iterator_filter_name(iterator_t *iterator)
Return the filter name from an alert iterator.
Definition: manage_sql.c:8705
void init_preference_iterator(iterator_t *iterator, config_t config)
Initialise a preference iterator.
Definition: manage_sql.c:37773
void filter_free(array_t *split)
Free a split filter.
Definition: manage_sql.c:1862
int trash_target_writable(target_t target)
Return whether a trashcan target is writable.
Definition: manage_sql.c:36348
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:45350
char * task_config_name(task_t task)
Return the name of the config of a task.
Definition: manage_sql.c:19119
int trash_scanner_writable(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:48806
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:38137
void manage_auth_allow_all(int scheduled)
Ensure that any subsequent authentications succeed.
Definition: manage.c:6850
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:21448
int host_iterator_max_port(iterator_t *iterator)
Get the max port from a host iterator.
Definition: manage_sql.c:25175
int note_iterator_active(iterator_t *iterator)
Get the active status from an note iterator.
Definition: manage_sql.c:46016
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:37485
void init_config_task_iterator(iterator_t *iterator, config_t config, int ascending)
Initialise a config task iterator.
Definition: manage_sql.c:38483
int trash_schedule_writable(schedule_t schedule)
Return whether a trashcan schedule is writable.
Definition: manage_sql.c:49811
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:46293
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:7205
char * scanner_host(scanner_t scanner)
Return the host of a scanner.
Definition: manage_sql.c:48883
int alert_iterator_filter_trash(iterator_t *iterator)
Return the location of an alert iterator filter.
Definition: manage_sql.c:8730
int init_schedule_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a schedule iterator.
Definition: manage_sql.c:50018
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:33590
int manage_scap_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:6233
report_t task_iterator_current_report(iterator_t *iterator)
Return the current report of a task.
Definition: manage_sql.c:19514
void init_scanner_task_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner task iterator.
Definition: manage_sql.c:48689
char * report_format_extension(report_format_t report_format)
Return the extension of a report format.
Definition: manage_sql.c:52385
int task_schedule_next_time(task_t task)
Get next time a scheduled task will run, following schedule timezone.
Definition: manage_sql.c:20192
keyword_type_t type
Type of keyword.
Definition: manage.h:3582
int trash_credential_in_use(credential_t credential)
Check whether a trashcan Credential is in use.
Definition: manage_sql.c:42766
char * tag_uuid(tag_t tag)
Return the UUID of a tag.
Definition: manage_sql.c:35932
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:25159
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:34189
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:31550
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:47081
const gchar * get_scheduled_user_uuid()
Access UUID of user that scheduled the current task.
Definition: manage.c:6861
char * scanner_name(scanner_t scanner)
Return the name of a scanner.
Definition: manage_sql.c:48844
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:3210
char * report_slave_task_uuid(report_t report)
Return the UUID of the task on the slave.
Definition: manage_sql.c:26962
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:22685
int manage_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:6207
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:52284
int init_scanner_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an scanner iterator.
Definition: manage_sql.c:48463
time_t override_iterator_end_time(iterator_t *iterator)
Get the end time from an override iterator.
Definition: manage_sql.c:47315
void init_report_errors_iterator(iterator_t *iterator, report_t report)
Initialise a report errors iterator.
Definition: manage_sql.c:25226
const char * credential_iterator_private_key(iterator_t *iterator)
Get the private_key from a Credential iterator.
Definition: manage_sql.c:43335
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:41512
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:15099
void clear_duration_schedules(task_t task)
Clear once-off schedules from tasks where the duration has passed.
Definition: manage_sql.c:20463
int manage_task_remove_file(const gchar *task_id, const char *name)
Remove a file on a task.
Definition: manage_sql.c:33695
int schedule_period(schedule_t schedule)
Return the period of a schedule.
Definition: manage_sql.c:49877
int trash_config_readable_uuid(const gchar *config_id)
Return whether a trashcan config is readable.
Definition: manage_sql.c:37754
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:7461
void set_task_scanner(task_t task, scanner_t scanner)
Set the scanner of a task.
Definition: manage_sql.c:19265
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:44355
const char * override_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a override iterator.
Definition: manage_sql.c:47357
const char * credential_full_type(const char *abbreviation)
Get the written-out name of an LSC Credential type.
Definition: manage.c:6211
int trash_scanner_in_use(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:48773
time_t schedule_iterator_next_time(iterator_t *iterator)
Get the next time a schedule could be schedulable.
Definition: manage_sql.c:50157
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:46450
int scanner_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:48743
int alert_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:14645
char * alert_iterator_filter_uuid(iterator_t *iterator)
Return the filter UUID from an alert iterator.
Definition: manage_sql.c:8680
int get_schedule_timeout()
Get the current schedule timeout.
Definition: manage.c:7401
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:49179
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:35916
time_t note_iterator_end_time(iterator_t *iterator)
Get the end time from an note iterator.
Definition: manage_sql.c:46000
char * target_reverse_lookup_only(target_t target)
Return the reverse_lookup_only value of a target.
Definition: manage_sql.c:36085
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:43828
int authenticate(credentials_t *credentials)
Authenticate credentials.
Definition: manage_sql.c:18741
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:32511
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:36975
int scanner_iterator_type(iterator_t *iterator)
Get the type from an scanner iterator.
Definition: manage_sql.c:48507
const char * result_iterator_nvt_cve(iterator_t *iterator)
Get the NVT CVE from a result iterator.
Definition: manage_sql.c:24595
int target_iterator_port_list_trash(iterator_t *iterator)
Get the location of the port list from a target iterator.
Definition: manage_sql.c:35784
char * trash_scanner_name(scanner_t scanner)
Return the name of a scanner in the trashcan.
Definition: manage_sql.c:49068
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:15069
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:25813
int agent_count(const get_data_t *get)
Count number of agents.
Definition: manage_sql.c:44896
gchar * field
The field to sort by.
Definition: manage.h:4278
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:21099
void init_target_task_iterator(iterator_t *iterator, target_t target)
Initialise a target task iterator.
Definition: manage_sql.c:36362
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:50491
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:48936
void host_detail_free(host_detail_t *detail)
Free a host detail.
Definition: manage_sql.c:22150
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:33521
void set_task_alterable(task_t task, int alterable)
Set the alterable state of a task.
Definition: manage_sql.c:19891
int scan_host_end_time(report_t report, const char *host)
Get the end time of a scanned host.
Definition: manage_sql.c:25925
int equal
Whether the keyword is like "=example".
Definition: manage.h:3577
int init_config_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a scan config iterator.
Definition: manage_sql.c:37532
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:19607
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:6544
char * schedule_uuid(schedule_t schedule)
Return the UUID of a schedule.
Definition: manage_sql.c:49849
const char * agent_iterator_trust(iterator_t *iterator)
Get the trust value from an agent iterator.
Definition: manage_sql.c:44840
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:25026
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:46084
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:5875
credential_t trash_target_credential(target_t target, const char *type)
Get a credential from a target in the trashcan.
Definition: manage_sql.c:34422
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:2316
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:24577
void set_credential_privacy_algorithm(credential_t credential, const char *algorithm)
Set the privacy_algorithm of a Credential.
Definition: manage_sql.c:42970
time_t schedule_iterator_period(iterator_t *iterator)
Get the period from a schedule iterator.
Definition: manage_sql.c:50060
void cleanup_manage_process(gboolean cleanup)
Cleanup the manage library.
Definition: manage_sql.c:18220
void init_scanner_config_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner config iterator.
Definition: manage_sql.c:48622
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:40324
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:24613
task_t note_iterator_task(iterator_t *iterator)
Get the task from a note iterator.
Definition: manage_sql.c:45971
void update_duration_schedule_periods(task_t task)
Update tasks with limited run schedules which have durations.
Definition: manage_sql.c:20508
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:7570
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:37939
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:43365
int set_task_preferences(task_t task, array_t *preferences)
Set the preferences of a task.
Definition: manage_sql.c:41397
int manage_backup_db(const gchar *database)
Backup the database to a file.
Definition: manage_pg.c:3692
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:36439
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:19622
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:34047
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:7913
int task_iterator_total_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15085
double aggregate_iterator_mean(iterator_t *iterator, int data_column_index)
Get the mean from an aggregate iterator.
Definition: manage_sql.c:5907
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:49420
int manage_trash_resource_name(const char *type, const char *uuid, char **name)
Get the name of a trashcan resource.
Definition: manage_sql.c:5012
int report_format_predefined(report_format_t report_format)
Return whether a report format is predefined.
Definition: manage_sql.c:52416
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:39994
void init_schedule_task_iterator(iterator_t *iterator, schedule_t schedule)
Initialise a schedule task iterator.
Definition: manage_sql.c:50436
double report_severity(report_t report, int overrides, int min_qod)
Get the maximum severity of a report.
Definition: manage_sql.c:26617
result_t note_iterator_result(iterator_t *iterator)
Get the result from a note iterator.
Definition: manage_sql.c:45985
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:40054
keyword_relation_t relation
The relation.
Definition: manage.h:3583
int manage_delete_scanner(GSList *log_config, const gchar *database, const gchar *uuid)
Delete the given scanner.
Definition: manage_sql.c:47572
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:20269
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:20065
task_status_t task_run_status(task_t task)
Return the run state of a task.
Definition: manage_sql.c:19295
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:41307
gchar * string
The keyword string, outer quotes removed.
Definition: manage.h:3581
char * trash_scanner_uuid(scanner_t scanner)
Return the UUID of a scanner in the trashcan.
Definition: manage_sql.c:49082
int trash_target_in_use(target_t target)
Return whether a trashcan target is referenced by a task.
Definition: manage_sql.c:36319
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:23285
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:15219
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:48543
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:7573
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:18940
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:46950
int result_iterator_may_have_tickets(iterator_t *iterator)
Get whether tickets may exist from a result iterator.
Definition: manage_sql.c:24983
int config_count(const get_data_t *get)
Count the number of scan configs.
Definition: manage_sql.c:37466
int trash_scanner_readable(scanner_t scanner)
Return whether a trashcan scanner is readable.
Definition: manage_sql.c:48819
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:49628
char * trash_target_name(target_t target)
Return the name of a trashcan target.
Definition: manage_sql.c:35988
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:34463
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:25715
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:47414
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:18925
int trash_target_login_port(target_t target, const char *type)
Get a port from a target in the trashcan.
Definition: manage_sql.c:34541
void init_config_timeout_iterator(iterator_t *iterator, config_t config)
Initialise a config timeout iterator.
Definition: manage_sql.c:38557
void set_schedule_timeout(int new_timeout)
Set the schedule timeout.
Definition: manage.c:7412
const char * aggregate_iterator_value(iterator_t *iterator)
Get the value of the group column from a statistics iterator.
Definition: manage_sql.c:5963
int alert_in_use(alert_t alert)
Return whether a alert is in use by a task.
Definition: manage_sql.c:8534
int scanner_iterator_credential_trash(iterator_t *iterator)
Get the credential location of the scanner from a scanner iterator.
Definition: manage_sql.c:48559
char * trash_target_uuid(target_t target)
Return the UUID of a trashcan target.
Definition: manage_sql.c:35960
int trash_alert_writable(alert_t alert)
Return whether a trashcan alert is writable.
Definition: manage_sql.c:8577
static int fork_update_nvt_cache()
Update the NVT cache in a child process.
Definition: gvmd.c:1210
int request_delete_task(task_t *task_pointer)
Request deletion of a task.
Definition: manage_sql.c:33087
char * task_comment(task_t task)
Return the comment of a task.
Definition: manage_sql.c:19016
int agent_in_use(agent_t agent)
Check whether an agent is in use.
Definition: manage_sql.c:44526
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:43510
int verify_agent(const char *agent_id)
Verify an agent.
Definition: manage_sql.c:44914
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:45782
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:18814
int modify_report(const char *report_id, const char *comment)
Modify a report.
Definition: manage_sql.c:26806
int alert_iterator_filter_readable(iterator_t *iterator)
Return the filter readable state from an alert iterator.
Definition: manage_sql.c:8748
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:48870
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:6850
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:43320
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:6873
int task_target_in_trash(task_t task)
Return whether the target of a task is in the trashcan.
Definition: manage_sql.c:19225
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:25857
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:19908
int delete_task_lock(task_t task, int ultimate)
Complete deletion of a task.
Definition: manage_sql.c:33378
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:35616
void report_set_slave_name(report_t report, const gchar *name)
Set the name of the slave on a report.
Definition: manage_sql.c:22813
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:7430
int report_count(const get_data_t *get)
Count number of reports.
Definition: manage_sql.c:23190
int trash_alert_in_use(alert_t alert)
Return whether a trashcan alert is in use by a task.
Definition: manage_sql.c:8548
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:7828
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:24711
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:20040
int schedule_in_use(schedule_t schedule)
Return whether a schedule is in use by a task.
Definition: manage_sql.c:49768
Keyword.
Definition: manage.h:3574
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:50821
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:32781
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:38614
int agent_writable(agent_t agent)
Check whether a agent is writable.
Definition: manage_sql.c:44552
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:20211
gboolean next_file(file_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:7632
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:8592
int delete_override(const char *override_id, int ultimate)
Delete a override.
Definition: manage_sql.c:46327
int credential_writable(credential_t credential)
Check whether a Credential is writable.
Definition: manage_sql.c:42803
void init_alert_task_iterator(iterator_t *iterator, alert_t alert, int ascending)
Initialise an alert task iterator.
Definition: manage_sql.c:14573
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:32275
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:7648
int manage_scanner_set_default()
Set the default scanner as the scanner to connect to.
Definition: manage_sql.c:18550
void get_data_reset(get_data_t *data)
Reset command data.
Definition: gmp.c:2152
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:52313
int override_iterator_active(iterator_t *iterator)
Get the active status from an override iterator.
Definition: manage_sql.c:47331
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:5861
int config_iterator_family_count(iterator_t *iterator)
Get the family count from a config iterator.
Definition: manage_sql.c:37568
int scanner_config_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:48676
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:21624
int manage_get_scanners(GSList *log_config, const gchar *database)
List scanners.
Definition: manage_sql.c:49384
int nvt_selector_iterator_include(iterator_t *iterator)
Get whether the selector rule is an include rule.
Definition: manage_sql.c:39874
void init_task_role_iterator(iterator_t *iterator, task_t task)
Initialise a task role iterator.
Definition: manage_sql.c:6705
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:48757
int task_iterator_finished_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15141
char * task_name(task_t task)
Return the name of a task.
Definition: manage_sql.c:19002
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:7226
osp_connection_t * osp_scanner_connect(scanner_t scanner)
Create a new connection to an OSP scanner.
Definition: manage_sql.c:49114
int manage_resource_name(const char *type, const char *uuid, char **name)
Get the name of a resource.
Definition: manage_sql.c:4997
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:37584
int trash_report_format_writable(report_format_t report_format)
Return whether a trashcan report_format is writable.
Definition: manage_sql.c:52372
int config_iterator_scanner_trash(iterator_t *iterator)
Get whether scanner is in trash from a config iterator.
Definition: manage_sql.c:37664
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:39832
int delete_note(const char *note_id, int ultimate)
Delete a note.
Definition: manage_sql.c:45239
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:36786
void init_family_iterator(iterator_t *iterator, int all, const char *selector, int ascending)
Initialise an NVT selector family iterator.
Definition: manage_sql.c:39926
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:6149
char * credential_uuid(credential_t credential)
Get the UUID of a Credential.
Definition: manage_sql.c:43593
const char * task_iterator_run_status_name(iterator_t *iterator)
Get the run status name from a task iterator.
Definition: manage_sql.c:15113
int task_upload_progress(task_t task)
Return the upload progress of a task.
Definition: manage_sql.c:19558
char * scan_start_time_uuid(const char *uuid)
Get the start time of a scan.
Definition: manage_sql.c:25782
int copy_override(const char *override_id, override_t *new_override)
Create a override from an existing override.
Definition: manage_sql.c:46310
void set_scan_end_time_otp(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:25906
int task_config_in_trash(task_t task)
Return whether the config of a task is in the trashcan.
Definition: manage_sql.c:19138
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:36925
int request_delete_task_uuid(const char *task_id, int ultimate)
Request deletion of a task.
Definition: manage_sql.c:33140
void init_credential_iterator_one(iterator_t *iterator, credential_t credential)
Initialise a Credential iterator, given a single Credential.
Definition: manage_sql.c:43141
int result_iterator_has_cert_bunds(iterator_t *iterator)
Get whether CERT-Bunds may exist from a result iterator.
Definition: manage_sql.c:24997
scanner_t task_iterator_scanner(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15169
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:6278
schedule_t task_schedule_uuid(const gchar *task_id)
Return the schedule of a task.
Definition: manage_sql.c:20109
resource_t get_iterator_resource(iterator_t *iterator)
Get the resource from a GET iterator.
Definition: manage_sql.c:44654
const char * report_type_iterator_title(report_type_iterator_t *iterator)
Return the title from a report type iterator.
Definition: manage.c:6528
char * config_uuid(config_t config)
Return the UUID of a config.
Definition: manage_sql.c:36864
int verify_scanner(const char *scanner_id, char **version)
Verify a scanner.
Definition: manage_sql.c:49275
void report_set_source_iface(report_t report, const gchar *iface)
Set the source interface of a report.
Definition: manage_sql.c:22861
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:44145
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:44686
void make_task_complete(task_t task)
Complete the creation of a task.
Definition: manage_sql.c:32939
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:45222
gchar * manage_clean_filter_remove(const gchar *filter, const gchar *column)
Clean a filter, removing a keyword in the process.
Definition: manage_sql.c:2585
char * alert_uuid(alert_t alert)
Return the UUID of an alert.
Definition: manage_sql.c:8360
void set_task_hosts_ordering(task_t task, const char *ordering)
Set the hosts ordering of a task.
Definition: manage_sql.c:19209
int nvt_selector_iterator_type(iterator_t *iterator)
Get the type from an NVT selector.
Definition: manage_sql.c:39908
char * target_ssh_port(target_t target)
Return the SSH LSC port of a target.
Definition: manage_sql.c:36144
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:22241
int report_timestamp(const char *report_id, gchar **timestamp)
Get the timestamp of a report.
Definition: manage_sql.c:26047
gchar * port_name_formatted(const char *field)
Returns formatted port number, protocol and iana name from.
Definition: manage_sql.c:6323
void report_set_slave_host(report_t report, const gchar *host)
Set the host of the slave of a report.
Definition: manage_sql.c:22830
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:47300
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:14054
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:39816
int result_iterator_may_have_notes(iterator_t *iterator)
Get whether notes may exist from a result iterator.
Definition: manage_sql.c:24955
void cleanup_file_iterator(file_iterator_t *iterator)
Cleanup a report type iterator.
Definition: manage.c:7616
const char * result_iterator_nvt_tag(iterator_t *iterator)
Get the NVT tags from a result iterator.
Definition: manage_sql.c:24649
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:47643
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:19473
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:49913
int scanner_writable(scanner_t scanner)
Check whether a scanner is writable.
Definition: manage_sql.c:48793
int schedule_count(const get_data_t *get)
Count the number of schedules.
Definition: manage_sql.c:49999
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:35658
config_t task_config(task_t task)
Return the config of a task.
Definition: manage_sql.c:19073
const char * task_iterator_hosts_ordering(iterator_t *iterator)
Get the hosts ordering value from a task iterator.
Definition: manage_sql.c:15155
int trash_schedule_readable(schedule_t schedule)
Return whether a trashcan schedule is readable.
Definition: manage_sql.c:49824
char * trash_credential_name(credential_t credential)
Get the name of an LSC credential in the trashcan.
Definition: manage_sql.c:43636
credential_t target_credential(target_t target, const char *type)
Get a credential from a target.
Definition: manage_sql.c:34381
int config_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:38542
const char * credential_iterator_community(iterator_t *iterator)
Get the SNMP community from a Credential iterator.
Definition: manage_sql.c:43350
int alert_count(const get_data_t *get)
Count the number of alerts.
Definition: manage_sql.c:8517
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:37053
int scan_start_time_epoch(report_t report)
Get the start time of a scan, in seconds since the epoch.
Definition: manage_sql.c:25768
target_t task_target(task_t task)
Return the target of a task.
Definition: manage_sql.c:19168
int target_iterator_smb_credential(iterator_t *iterator)
Get the SMB LSC credential from a target iterator.
Definition: manage_sql.c:35718
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:41339
void manage_cleanup_process_error(int signal)
Cleanup as immediately as possible.
Definition: manage_sql.c:18257
int target_login_port(target_t target, const char *type)
Get a login port from a target.
Definition: manage_sql.c:34501
char * target_uuid(target_t target)
Return the UUID of a target.
Definition: manage_sql.c:35946
int acknowledge_bye()
Acknowledge a scanner BYE.
Definition: manage.c:6121
unsigned int task_count(const get_data_t *get)
Return the number of tasks associated with the current user.
Definition: manage_sql.c:18874
double prognosis_iterator_cvss_double(iterator_t *iterator)
Get the CVSS from a result iterator as a double.
Definition: manage_sql.c:21433
void init_credential_scanner_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential scanner iterator.
Definition: manage_sql.c:43769
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:45652
void set_task_config(task_t task, config_t config)
Set the config of a task.
Definition: manage_sql.c:19152
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:21199
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:6195
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:20707
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:25970
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:33801
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:25888
char * schedule_name(schedule_t schedule)
Return the name of a schedule.
Definition: manage_sql.c:49863
int manage_cert_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:6267
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:34850
gchar * credential_value(credential_t credential, const char *value_name)
Get a value from a credential.
Definition: manage_sql.c:42830
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:2131
int config_iterator_type(iterator_t *iterator)
Get the type from a config iterator.
Definition: manage_sql.c:37632
char * credential_iterator_rpm(iterator_t *iterator)
Get the rpm from a Credential iterator.
Definition: manage_sql.c:43379
gchar * task_second_last_report_id(task_t task)
Get report ID from second most recently completed invocation of task.
Definition: manage_sql.c:19809
int quoted
Whether the keyword was quoted.
Definition: manage.h:3580
void set_scan_end_time_epoch(report_t report, time_t timestamp)
Set the end time of a scan.
Definition: manage_sql.c:25874
report_t make_report(task_t task, const char *uuid, task_status_t status)
Make a report.
Definition: manage_sql.c:22098
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:46042
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:37919
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:24740
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:13954
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:49782
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:42112
int credential_count(const get_data_t *get)
Count number of LSC Credentials.
Definition: manage_sql.c:42716
char * manage_port_name(int number, const char *protocol)
Returns associated name for a tcp/ip port.
Definition: manage_sql.c:6304
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:49891
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:51549
int delete_schedule(const char *schedule_id, int ultimate)
Delete a schedule.
Definition: manage_sql.c:49647
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:20971
time_t schedule_iterator_period_months(iterator_t *iterator)
Get the period months from a schedule iterator.
Definition: manage_sql.c:50076
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:35043
user_t get_iterator_owner(iterator_t *iterator)
Get the owner from a GET iterator.
Definition: manage_sql.c:44729
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:37616
int credential_in_use(credential_t credential)
Check whether a Credential is in use.
Definition: manage_sql.c:42733
void init_task_alert_iterator(iterator_t *iterator, task_t task)
Initialise a task alert iterator.
Definition: manage_sql.c:8898
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:50092
int note_uuid(note_t note, char **id)
Return the UUID of a note.
Definition: manage_sql.c:45322
char * credential_iterator_exe(iterator_t *iterator)
Get the exe from a Credential iterator.
Definition: manage_sql.c:43475
int delete_report_format(const char *report_format_id, int ultimate)
Delete a report format.
Definition: manage_sql.c:51955
char * task_preference_value(task_t task, const char *name)
Get the value of a task preference.
Definition: manage_sql.c:41361
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:6668
char * task_observers(task_t task)
Return the observers of a task.
Definition: manage_sql.c:19044
char * target_hosts(target_t target)
Return the hosts associated with a target.
Definition: manage_sql.c:36056
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:50121
int sync_config(const char *config_id)
Synchronize a config.
Definition: manage_sql.c:37363
char * scanner_key_pub(scanner_t scanner)
Return the Certificate of a scanner.
Definition: manage_sql.c:48949
gboolean next_report_type(report_type_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:6499
int delete_agent(const char *agent_id, int ultimate)
Delete an agent.
Definition: manage_sql.c:44440
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:1953
int delete_target(const char *target_id, int ultimate)
Delete a target.
Definition: manage_sql.c:34884
void set_task_run_status(task_t task, task_status_t status)
Set the run state of a task.
Definition: manage_sql.c:19366
int task_schedule_periods(task_t task)
Get the number of times the period schedule should run on the task.
Definition: manage_sql.c:20158
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:43692
int set_task_schedule(task_t task, schedule_t schedule, int periods)
Set the schedule of a task.
Definition: manage_sql.c:19977
Sort data for aggregates commands.
Definition: manage.h:4276
void report_add_result(report_t report, result_t result)
Add a result to a report.
Definition: manage_sql.c:22878
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:6135
int alert_iterator_event(iterator_t *iterator)
Return the event from an alert iterator.
Definition: manage_sql.c:8618
int trash_task_in_use(task_t task)
Return whether a trashcan task is referenced by a task.
Definition: manage_sql.c:15206
const char * report_type_iterator_name(report_type_iterator_t *iterator)
Return the name from a report type iterator.
Definition: manage.c:6515
int trash_target_readable(target_t target)
Return whether a trashcan target is readable.
Definition: manage_sql.c:36030
int target_iterator_esxi_trash(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:35884
int stop_task(const char *task_id)
Initiate stopping a task.
Definition: manage.c:5930
int alert_iterator_method(iterator_t *iterator)
Return the method from an alert iterator.
Definition: manage_sql.c:8650
char * target_reverse_lookup_unify(target_t target)
Return the reverse_lookup_unify value of a target.
Definition: manage_sql.c:36099
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:36231
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:21865
int report_host_count(report_t report)
Count a report's total number of hosts.
Definition: manage_sql.c:28374
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:20770
int task_writable(task_t task)
Return whether a task is writable.
Definition: manage_sql.c:15234
int target_writable(target_t target)
Return whether a target is writable.
Definition: manage_sql.c:36335
int init_credential_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a Credential iterator.
Definition: manage_sql.c:43168
int target_iterator_smb_trash(iterator_t *iterator)
Get the location of the SMB LSC credential from a target iterator.
Definition: manage_sql.c:35750
int task_average_scan_duration(task_t task)
Get the average duration of all finished reports of a task.
Definition: manage_sql.c:15264
void set_task_name(task_t task, const char *name)
Set the name of a task.
Definition: manage_sql.c:32954
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:48896
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:34598
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:48059
gchar * dir_name
Dir holding files.
Definition: manage.h:3212
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:3672
const char * target_iterator_alive_tests(iterator_t *iterator)
Get the alive test description from a target iterator.
Definition: manage_sql.c:35829
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:5941
report_t task_running_report(task_t task)
Return the running report of a task.
Definition: manage_sql.c:19491
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:42161
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:21251
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:20082
void set_credential_public_key(credential_t credential, const char *public_key)
Set the public key of a Credential.
Definition: manage_sql.c:43075
const char * task_iterator_last_report(iterator_t *iterator)
Get the last report UUID from a task iterator.
Definition: manage_sql.c:15127
int task_in_use(task_t task)
Return whether a task is in use by a task.
Definition: manage_sql.c:15183
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:32996
int task_schedule_periods_uuid(const gchar *task_id)
Set the next time a scheduled task will be due.
Definition: manage_sql.c:20171
void manage_reset_currents()
Cleanup as immediately as possible.
Definition: manage_sql.c:18278
int trash_credential_readable(credential_t credential)
Return whether a trashcan credential is readable.
Definition: manage_sql.c:43665
const char * task_trend(task_t task, int override, int min_qod)
Return the trend of a task.
Definition: manage_sql.c:32810
int manage_encrypt_all_credentials(GSList *log_config, const gchar *database)
Encrypt or re-encrypt all credentials.
Definition: manage_sql.c:6512
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:20844
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:5923
int task_scanner_in_trash(task_t task)
Return whether the scanner of a task is in the trashcan.
Definition: manage_sql.c:19281
int result_count(const get_data_t *get, report_t report, const char *host)
Count the number of results.
Definition: manage_sql.c:24446
int delete_credential(const char *credential_id, int ultimate)
Delete a Credential.
Definition: manage_sql.c:42468
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:34169
gchar * value
Param value.
Definition: manage.h:60
double double_value
Floating point value of the keyword.
Definition: manage.h:3579
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:36419
void report_set_slave_port(report_t report, int port)
Set the port of the slave of a report.
Definition: manage_sql.c:22847
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:49149
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:8358
task_t override_iterator_task(iterator_t *iterator)
Get the task from a override iterator.
Definition: manage_sql.c:47286
char * report_format_content_type(report_format_t report_format)
Return the content type of a report format.
Definition: manage_sql.c:52298
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:18160
char * nvt_preference_iterator_type(iterator_t *iterator)
Get the type from an NVT preference iterator.
Definition: manage_sql.c:41253
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:36600
void report_set_slave_uuid(report_t report, const gchar *uuid)
Set the UUID of the slave on a report.
Definition: manage_sql.c:22796