Greenbone Vulnerability Manager  21.4.5
manage.h
1 /* Copyright (C) 2009-2021 Greenbone Networks GmbH
2  *
3  * SPDX-License-Identifier: AGPL-3.0-or-later
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU Affero General Public License as
7  * published by the Free Software Foundation, either version 3 of the
8  * License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Affero General Public License for more details.
14  *
15  * You should have received a copy of the GNU Affero General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 /*
20  * @file manage.h
21  * @brief Headers for Greenbone Vulnerability Manager: the Manage library.
22  */
23 
24 #ifndef _GVMD_MANAGE_H
25 #define _GVMD_MANAGE_H
26 
27 #include "iterator.h"
28 #include "manage_configs.h"
29 #include "manage_get.h"
30 #include "utils.h"
31 
32 #include <stdio.h>
33 #include <glib.h>
34 #include <gnutls/gnutls.h>
35 
36 #include <gvm/base/array.h>
37 #include <gvm/base/credentials.h>
38 #include <gvm/base/nvti.h>
39 #include <gvm/base/networking.h>
40 #include <gvm/util/serverutils.h>
41 #include <gvm/util/authutils.h>
42 #include <gvm/osp/osp.h>
43 
47 typedef struct {
48  gchar *name;
49  gchar *host;
50  gchar *port;
51  gchar *user;
53 
57 #define OID_PING_HOST "1.3.6.1.4.1.25623.1.0.100315"
58 
62 #define OID_SSH_AUTH "1.3.6.1.4.1.25623.1.0.103591"
63 
67 #define OID_SMB_AUTH "1.3.6.1.4.1.25623.1.0.90023"
68 
72 #define OID_ESXI_AUTH "1.3.6.1.4.1.25623.1.0.105058"
73 
77 #define OID_SNMP_AUTH "1.3.6.1.4.1.25623.1.0.105076"
78 
82 #define OID_SERVICES "1.3.6.1.4.1.25623.1.0.10330"
83 
87 #define OID_LOGINS "1.3.6.1.4.1.25623.1.0.10870"
88 
92 #define OID_GLOBAL_SETTINGS "1.3.6.1.4.1.25623.1.0.12288"
93 
97 #define ALL_LOG_LEVELS (G_LOG_LEVEL_MASK \
98  | G_LOG_FLAG_FATAL \
99  | G_LOG_FLAG_RECURSION)
100 
104 #ifndef g_info
105 #define g_info(...) g_log (G_LOG_DOMAIN, \
106  G_LOG_LEVEL_INFO, \
107  __VA_ARGS__)
108 #endif /* g_info not defined */
109 
113 typedef struct
114 {
115  gchar *name;
116  gchar *value;
117 } name_value_t;
118 
122 typedef int (*manage_connection_forker_t) (gvm_connection_t * conn,
123  const gchar* uuid);
124 
125 int
126 init_manage (GSList*, const db_conn_info_t *, int, int, int, int,
127  manage_connection_forker_t, int);
128 
129 int
130 init_manage_helper (GSList *, const db_conn_info_t *, int);
131 
132 void
134 
135 void
136 cleanup_manage_process (gboolean);
137 
138 void
140 
141 void
143 
144 ␌
145 /* Commands. */
146 
150 typedef struct
151 {
152  gchar *name;
153  gchar *summary;
154 } command_t;
155 
159 extern command_t gmp_commands[];
160 
161 ␌
162 /* Certificate and key management. */
163 
164 gchar*
165 truncate_certificate (const gchar*);
166 
167 gchar*
168 truncate_private_key (const gchar*);
169 
170 int
171 get_certificate_info (const gchar *,
172  gssize,
173  time_t *,
174  time_t *,
175  gchar **,
176  gchar **,
177  gchar **,
178  gchar **,
179  gchar **,
180  gnutls_x509_crt_fmt_t *);
181 
182 gchar *
183 certificate_iso_time (time_t);
184 
185 const gchar *
186 certificate_time_status (time_t, time_t);
187 
188 void
189 parse_ssldetails (const char *, time_t *, time_t *, gchar **, gchar **);
190 
191 const char*
192 tls_certificate_format_str (gnutls_x509_crt_fmt_t certificate_format);
193 
194 ␌
195 /* Credentials. */
196 
197 extern credentials_t current_credentials;
198 
199 int
200 authenticate (credentials_t*);
201 
202 ␌
203 /* Database. */
204 
205 int
207 
208 int
210 
211 int
213 
214 int
216 
217 int
219 
220 int
222 
223 void
224 set_db_version (int version);
225 
226 int
227 manage_migrate (GSList*, const db_conn_info_t*);
228 
229 int
231 
232 int
234 
235 void
236 manage_session_set_timezone (const char *);
237 
238 void
240 
241 void
242 manage_transaction_stop (gboolean);
243 
244 ␌
245 /* Task structures. */
246 
253 typedef enum
254 {
255  TASK_STATUS_DELETE_REQUESTED = 0,
256  TASK_STATUS_DONE = 1,
257  TASK_STATUS_NEW = 2,
258  TASK_STATUS_REQUESTED = 3,
259  TASK_STATUS_RUNNING = 4,
260  TASK_STATUS_STOP_REQUESTED = 10,
261  TASK_STATUS_STOP_WAITING = 11,
262  TASK_STATUS_STOPPED = 12,
263  TASK_STATUS_INTERRUPTED = 13,
264  TASK_STATUS_DELETE_ULTIMATE_REQUESTED = 14,
265  /* 15 was removed (TASK_STATUS_STOP_REQUESTED_GIVEUP). */
266  TASK_STATUS_DELETE_WAITING = 16,
267  TASK_STATUS_DELETE_ULTIMATE_WAITING = 17,
268  TASK_STATUS_QUEUED = 18
269 } task_status_t;
270 
274 #define AUTO_DELETE_KEEP_MIN 2
275 
279 #define AUTO_DELETE_KEEP_MAX 1200
280 
281 
288 typedef enum
289 {
290  ALIVE_TEST_TCP_ACK_SERVICE = 1,
291  ALIVE_TEST_ICMP = 2,
292  ALIVE_TEST_ARP = 4,
293  ALIVE_TEST_CONSIDER_ALIVE = 8,
294  ALIVE_TEST_TCP_SYN_SERVICE = 16
295 } alive_test_t;
296 
303 typedef enum scanner_type
304 {
305  SCANNER_TYPE_NONE = 0,
306  SCANNER_TYPE_OSP = 1,
307  SCANNER_TYPE_OPENVAS = 2,
308  SCANNER_TYPE_CVE = 3,
309  /* 4 was removed (SCANNER_TYPE_GMP). */
310  SCANNER_TYPE_OSP_SENSOR = 5,
311  SCANNER_TYPE_MAX = 6,
312 } scanner_type_t;
313 
314 int
315 scanner_type_valid (scanner_type_t);
316 
317 typedef resource_t credential_t;
318 typedef resource_t alert_t;
319 typedef resource_t filter_t;
320 typedef resource_t group_t;
321 typedef resource_t host_t;
322 typedef resource_t tag_t;
323 typedef resource_t target_t;
324 typedef resource_t task_t;
325 typedef resource_t ticket_t;
326 typedef resource_t tls_certificate_t;
327 typedef resource_t result_t;
328 typedef resource_t report_t;
329 typedef resource_t report_host_t;
330 typedef resource_t report_format_t;
331 typedef resource_t report_format_param_t;
332 typedef resource_t role_t;
333 typedef resource_t note_t;
334 typedef resource_t nvt_t;
335 typedef resource_t override_t;
336 typedef resource_t permission_t;
337 typedef resource_t port_list_t;
338 typedef resource_t port_range_t;
339 typedef resource_t schedule_t;
340 typedef resource_t scanner_t;
341 typedef resource_t setting_t;
342 typedef resource_t user_t;
343 
344 ␌
345 /* GMP GET support.
346  *
347  * The standalone parts of the GET support are in manage_get.h. */
348 
351 
352 user_t
354 
355 ␌
356 /* Resources. */
357 
358 int
359 manage_resource_name (const char *, const char *, char **);
360 
361 int
362 manage_trash_resource_name (const char *, const char *, char **);
363 
364 int
365 resource_count (const char *, const get_data_t *);
366 
367 int
368 resource_id_exists (const char *, const char *);
369 
370 int
371 trash_id_exists (const char *, const char *);
372 
373 gboolean
374 find_resource (const char*, const char*, resource_t*);
375 
376 const char *
377 type_name_plural (const char*);
378 
379 const char *
380 type_name (const char*);
381 
382 int
383 type_is_scap (const char*);
384 
385 int
386 delete_resource (const char *, const char *, int);
387 
388 ␌
389 /* Events and Alerts. */
390 
394 typedef struct {
395  gchar *local_filename;
397  gchar *content_type;
400 
401 void
403 
404 void
406 
410 #define ALERT_MESSAGE_INCLUDE \
411  "Task '$n': $e\n" \
412  "\n" \
413  "After the event $e,\n" \
414  "the following condition was met: $c\n" \
415  "\n" \
416  "This email escalation is configured to apply report format '$r'.\n" \
417  "Full details and other report formats are available on the scan engine.\n" \
418  "\n" \
419  "$t" \
420  "\n" \
421  "$i" \
422  "\n" \
423  "\n" \
424  "Note:\n" \
425  "This email was sent to you as a configured security scan escalation.\n" \
426  "Please contact your local system administrator if you think you\n" \
427  "should not have received it.\n"
428 
432 #define SECINFO_ALERT_MESSAGE_INCLUDE \
433  "Task '$n': $e\n" \
434  "\n" \
435  "After the event $e,\n" \
436  "the following condition was met: $c\n" \
437  "\n" \
438  "This email escalation is configured to apply report format '$r'.\n" \
439  "Full details and other report formats are available on the scan engine.\n" \
440  "\n" \
441  "$t" \
442  "\n" \
443  "$i" \
444  "\n" \
445  "\n" \
446  "Note:\n" \
447  "This email was sent to you as a configured security scan escalation.\n" \
448  "Please contact your local system administrator if you think you\n" \
449  "should not have received it.\n"
450 
454 #define ALERT_MESSAGE_ATTACH \
455  "Task '$n': $e\n" \
456  "\n" \
457  "After the event $e,\n" \
458  "the following condition was met: $c\n" \
459  "\n" \
460  "This email escalation is configured to attach report format '$r'.\n" \
461  "Full details and other report formats are available on the scan engine.\n" \
462  "\n" \
463  "$t" \
464  "\n" \
465  "Note:\n" \
466  "This email was sent to you as a configured security scan escalation.\n" \
467  "Please contact your local system administrator if you think you\n" \
468  "should not have received it.\n"
469 
473 #define SECINFO_ALERT_MESSAGE_ATTACH \
474  "Task '$n': $e\n" \
475  "\n" \
476  "After the event $e,\n" \
477  "the following condition was met: $c\n" \
478  "\n" \
479  "This email escalation is configured to attach report format '$r'.\n" \
480  "Full details and other report formats are available on the scan engine.\n" \
481  "\n" \
482  "$t" \
483  "\n" \
484  "Note:\n" \
485  "This email was sent to you as a configured security scan escalation.\n" \
486  "Please contact your local system administrator if you think you\n" \
487  "should not have received it.\n"
488 
492 #define ALERT_VFIRE_CALL_DESCRIPTION \
493  "GVM Task '$n': $e\n" \
494  "\n" \
495  "After the event $e,\n" \
496  "the following condition was met: $c\n" \
497  "\n" \
498  "This ticket includes reports in the following format(s):\n" \
499  "$r.\n" \
500  "Full details and other report formats are available on the scan engine.\n" \
501  "\n" \
502  "$t" \
503  "\n" \
504  "Note:\n" \
505  "This ticket was created automatically as a security scan escalation.\n" \
506  "Please contact your local system administrator if you think it\n" \
507  "was created or assigned erroneously.\n"
508 
512 typedef enum
513 {
514  EVENT_ERROR,
515  EVENT_TASK_RUN_STATUS_CHANGED,
516  EVENT_NEW_SECINFO,
517  EVENT_UPDATED_SECINFO,
518  EVENT_TICKET_RECEIVED,
519  EVENT_ASSIGNED_TICKET_CHANGED,
520  EVENT_OWNED_TICKET_CHANGED
521 } event_t;
522 
526 typedef enum
527 {
528  ALERT_METHOD_ERROR,
529  ALERT_METHOD_EMAIL,
530  ALERT_METHOD_HTTP_GET,
531  ALERT_METHOD_SOURCEFIRE,
532  ALERT_METHOD_START_TASK,
533  ALERT_METHOD_SYSLOG,
534  ALERT_METHOD_VERINICE,
535  ALERT_METHOD_SEND,
536  ALERT_METHOD_SCP,
537  ALERT_METHOD_SNMP,
538  ALERT_METHOD_SMB,
539  ALERT_METHOD_TIPPINGPOINT,
540  ALERT_METHOD_VFIRE,
541 } alert_method_t;
542 
546 typedef enum
547 {
548  ALERT_CONDITION_ERROR,
549  ALERT_CONDITION_ALWAYS,
550  ALERT_CONDITION_SEVERITY_AT_LEAST,
551  ALERT_CONDITION_SEVERITY_CHANGED,
552  ALERT_CONDITION_FILTER_COUNT_AT_LEAST,
553  ALERT_CONDITION_FILTER_COUNT_CHANGED
554 } alert_condition_t;
555 
556 int
557 manage_check_alerts (GSList *, const db_conn_info_t *);
558 
559 int
560 create_alert (const char*, const char*, const char*, const char*, event_t,
561  GPtrArray*, alert_condition_t, GPtrArray*, alert_method_t,
562  GPtrArray*, alert_t*);
563 
564 int
565 copy_alert (const char*, const char*, const char*, alert_t*);
566 
567 int
568 modify_alert (const char*, const char*, const char*, const char*,
569  const char*, event_t, GPtrArray*, alert_condition_t, GPtrArray*,
570  alert_method_t, GPtrArray*);
571 
572 int
573 delete_alert (const char *, int);
574 
575 char *
576 alert_uuid (alert_t);
577 
578 gboolean
579 find_alert_with_permission (const char *, alert_t *, const char *);
580 
581 int
582 manage_alert (const char *, const char *, event_t, const void*, gchar **);
583 
584 int
585 manage_test_alert (const char *, gchar **);
586 
587 int
588 alert_in_use (alert_t);
589 
590 int
591 trash_alert_in_use (alert_t);
592 
593 int
594 alert_writable (alert_t);
595 
596 int
597 trash_alert_writable (alert_t);
598 
599 int
600 alert_count (const get_data_t *);
601 
602 int
604 
605 int
607 
608 int
610 
611 int
613 
614 char *
616 
617 char *
619 
620 int
622 
623 int
625 
626 int
628 
629 const char*
630 alert_condition_name (alert_condition_t);
631 
632 gchar*
633 alert_condition_description (alert_condition_t, alert_t);
634 
635 const char*
636 event_name (event_t);
637 
638 gchar*
639 event_description (event_t, const void *, const char *);
640 
641 const char*
642 alert_method_name (alert_method_t);
643 
644 alert_condition_t
645 alert_condition_from_name (const char*);
646 
647 event_t
648 event_from_name (const char*);
649 
650 alert_method_t
651 alert_method_from_name (const char*);
652 
653 void
654 init_alert_data_iterator (iterator_t *, alert_t, int, const char *);
655 
656 const char*
658 
659 const char*
661 
662 void
663 init_alert_task_iterator (iterator_t*, alert_t, int);
664 
665 const char*
667 
668 const char*
670 
671 int
673 
674 void
676 
677 const char*
678 task_alert_iterator_uuid (iterator_t*);
679 
680 const char*
681 task_alert_iterator_name (iterator_t*);
682 
683 ␌
684 /* Task global variables and preprocessor variables. */
685 
689 extern task_t current_scanner_task;
690 
691 extern report_t global_current_report;
692 
693 ␌
694 /* Task code specific to the representation of tasks. */
695 
696 unsigned int
697 task_count (const get_data_t *);
698 
699 int
701 
702 task_status_t
704 
705 const char *
707 
708 int
710 
711 int
713 
714 const char *
716 
717 const char *
719 
720 report_t
722 
723 const char *
725 
726 scanner_t
728 
729 const char *
731 
732 int
733 task_uuid (task_t, char **);
734 
735 int
736 task_in_trash (task_t);
737 
738 int
739 task_in_trash_id (const gchar *);
740 
741 int
742 task_in_use (task_t);
743 
744 int
745 trash_task_in_use (task_t);
746 
747 int
748 task_writable (task_t);
749 
750 int
751 task_alterable (task_t);
752 
753 int
754 trash_task_writable (task_t);
755 
756 int
758 
759 char*
760 task_owner_name (task_t);
761 
762 char*
763 task_name (task_t);
764 
765 char*
766 task_comment (task_t);
767 
768 char*
769 task_hosts_ordering (task_t);
770 
771 scanner_t
772 task_scanner (task_t);
773 
774 int
775 task_scanner_in_trash (task_t);
776 
777 config_t
778 task_config (task_t);
779 
780 char*
781 task_config_uuid (task_t);
782 
783 char*
784 task_config_name (task_t);
785 
786 int
787 task_config_in_trash (task_t);
788 
789 void
790 set_task_config (task_t, config_t);
791 
792 target_t
793 task_target (task_t);
794 
795 int
796 task_target_in_trash (task_t);
797 
798 void
799 set_task_target (task_t, target_t);
800 
801 void
802 set_task_hosts_ordering (task_t, const char *);
803 
804 void
805 set_task_scanner (task_t, scanner_t);
806 
807 void
808 set_task_usage_type (task_t, const char *);
809 
810 char*
811 task_description (task_t);
812 
813 void
814 set_task_description (task_t, char*, gsize);
815 
816 task_status_t
817 task_run_status (task_t);
818 
819 void
820 set_task_run_status (task_t, task_status_t);
821 
822 int
823 task_result_count (task_t, int);
824 
825 report_t
826 task_running_report (task_t);
827 
828 int
829 task_upload_progress (task_t);
830 
831 void
832 set_task_start_time_epoch (task_t, int);
833 
834 void
835 set_task_start_time_ctime (task_t, char*);
836 
837 void
838 set_task_end_time (task_t task, char* time);
839 
840 void
841 set_task_end_time_epoch (task_t, time_t);
842 
843 void
844 add_task_alert (task_t, alert_t);
845 
846 void
847 set_task_alterable (task_t, int);
848 
849 int
850 set_task_groups (task_t, array_t*, gchar**);
851 
852 int
853 set_task_schedule (task_t, schedule_t, int);
854 
855 int
856 set_task_schedule_periods (const gchar *, int);
857 
858 int
859 set_task_schedule_periods_id (task_t, int);
860 
861 unsigned int
862 task_report_count (task_t);
863 
864 int
865 task_last_report (task_t, report_t*);
866 
867 const char *
868 task_iterator_trend_counts (iterator_t *, int, int, int, double, int, int, int,
869  double);
870 
871 int
872 task_schedule_periods (task_t);
873 
874 int
875 task_schedule_periods_uuid (const gchar *);
876 
877 schedule_t
878 task_schedule (task_t);
879 
880 schedule_t
881 task_schedule_uuid (const gchar *);
882 
883 int
884 task_schedule_in_trash (task_t);
885 
886 time_t
887 task_schedule_next_time_uuid (const gchar *);
888 
889 int
890 task_schedule_next_time (task_t);
891 
892 int
893 task_debugs_size (task_t);
894 
895 int
896 task_holes_size (task_t);
897 
898 int
899 task_infos_size (task_t);
900 
901 int
902 task_logs_size (task_t);
903 
904 int
905 task_warnings_size (task_t);
906 
907 int
908 task_false_positive_size (task_t);
909 
910 task_t
911 make_task (char*, char*, int, int);
912 
913 void
914 make_task_complete (task_t);
915 
916 int
917 copy_task (const char*, const char*, const char *, int, task_t*);
918 
919 void
920 set_task_name (task_t, const char *);
921 
922 gboolean
923 find_task_with_permission (const char*, task_t*, const char *);
924 
925 gboolean
926 find_trash_task_with_permission (const char*, task_t*, const char *);
927 
928 void
929 reset_task (task_t);
930 
931 int
932 set_task_parameter (task_t, const char*, char*);
933 
934 char*
935 task_observers (task_t);
936 
937 int
938 set_task_observers (task_t, const gchar *);
939 
940 int
941 request_delete_task_uuid (const char *, int);
942 
943 int
944 request_delete_task (task_t*);
945 
946 int
947 delete_task (task_t, int);
948 
949 void
950 append_to_task_comment (task_t, const char*, int);
951 
952 void
953 add_task_description_line (task_t, const char*, size_t);
954 
955 void
956 set_scan_ports (report_t, const char*, unsigned int, unsigned int);
957 
958 void
959 append_task_open_port (task_t task, const char *, const char*);
960 
961 int
962 manage_task_update_file (const gchar *, const char *, const void *);
963 
964 int
965 manage_task_remove_file (const gchar *, const char *);
966 
967 int
968 modify_task (const gchar *, const gchar *, const gchar *, const gchar *,
969  const gchar *, const gchar *, const gchar *, array_t *,
970  const gchar *, array_t *, const gchar *, const gchar *,
971  array_t *, const gchar *, gchar **, gchar **);
972 
973 void
974 init_config_file_iterator (iterator_t*, const char*, const char*);
975 
976 const char*
977 config_file_iterator_content (iterator_t*);
978 
979 int
980 config_file_iterator_length (iterator_t*);
981 
982 void
983 init_config_task_iterator (iterator_t*, config_t, int);
984 
985 const char*
986 config_task_iterator_name (iterator_t*);
987 
988 const char*
989 config_task_iterator_uuid (iterator_t*);
990 
991 int
993 
994 ␌
995 /* General severity related facilities. */
996 
997 int
998 severity_in_level (double, const char *);
999 
1000 const char*
1001 severity_to_level (double, int);
1002 
1003 const char*
1004 severity_to_type (double);
1005 
1009 typedef struct
1010 {
1011  int* counts;
1012  int total;
1013  double max;
1014 } severity_data_t;
1015 
1016 double
1017 severity_data_value (int);
1018 
1019 void
1021 
1022 void
1024 
1025 void
1027 
1028 void
1030 
1031 void
1033  int*, int*, int*, int*, int*, int*);
1034 
1035 ␌
1036 /* General task facilities. */
1037 
1038 const char*
1039 run_status_name (task_status_t);
1040 
1041 int
1042 start_task (const char *, char**);
1043 
1044 int
1045 stop_task (const char *);
1046 
1047 int
1048 resume_task (const char *, char **);
1049 
1050 int
1051 move_task (const char*, const char*);
1052 
1053 ␌
1054 /* Access control. */
1055 
1056 int
1057 user_may (const char *);
1058 
1059 extern int
1060 user_can_everything (const char *);
1061 
1062 extern int
1063 user_can_super_everyone (const char *);
1064 
1065 extern int
1066 user_has_super (const char *, user_t);
1067 
1068 ␌
1069 /* Results. */
1070 
1074 #define LSC_FAMILY_LIST \
1075  "'AIX Local Security Checks'," \
1076  " 'Amazon Linux Local Security Checks'," \
1077  " 'CentOS Local Security Checks'," \
1078  " 'Citrix Xenserver Local Security Checks'," \
1079  " 'Debian Local Security Checks'," \
1080  " 'F5 Local Security Checks'," \
1081  " 'Fedora Local Security Checks'," \
1082  " 'FortiOS Local Security Checks'," \
1083  " 'FreeBSD Local Security Checks'," \
1084  " 'Gentoo Local Security Checks'," \
1085  " 'HP-UX Local Security Checks'," \
1086  " 'Huawei EulerOS Local Security Checks'," \
1087  " 'JunOS Local Security Checks'," \
1088  " 'Mac OS X Local Security Checks'," \
1089  " 'Mageia Linux Local Security Checks'," \
1090  " 'Mandrake Local Security Checks'," \
1091  " 'Oracle Linux Local Security Checks'," \
1092  " 'Palo Alto PAN-OS Local Security Checks'," \
1093  " 'Red Hat Local Security Checks'," \
1094  " 'Slackware Local Security Checks'," \
1095  " 'Solaris Local Security Checks'," \
1096  " 'SuSE Local Security Checks'," \
1097  " 'VMware Local Security Checks'," \
1098  " 'Ubuntu Local Security Checks'," \
1099  " 'Windows : Microsoft Bulletins'"
1100 
1104 #define FAMILIES_WHOLE_ONLY \
1105  { "CentOS Local Security Checks", \
1106  "Debian Local Security Checks", \
1107  "Fedora Local Security Checks", \
1108  "Huawei EulerOS Local Security Checks", \
1109  "Oracle Linux Local Security Checks", \
1110  "Red Hat Local Security Checks", \
1111  "SuSE Local Security Checks", \
1112  "Ubuntu Local Security Checks", \
1113  NULL }
1114 
1115 gboolean
1116 find_result_with_permission (const char*, result_t*, const char *);
1117 
1118 int
1119 result_uuid (result_t, char **);
1120 
1121 int
1122 result_detection_reference (result_t, report_t, const char *, const char *,
1123  const char *, char **, char **, char **, char **,
1124  char **);
1125 
1126 /* Reports. */
1127 
1129 #define OVAS_MANAGE_REPORT_ID_LENGTH UUID_LEN_STR
1130 
1134 #define APPLY_OVERRIDES_DEFAULT 0
1135 
1139 #define QOD_DEFAULT 75
1140 
1144 #define MIN_QOD_DEFAULT 70
1145 
1146 void
1147 reports_clear_count_cache_for_override (override_t, int);
1148 
1149 void
1150 init_report_counts_build_iterator (iterator_t *, report_t, int, int,
1151  const char*);
1152 
1153 double
1154 report_severity (report_t, int, int);
1155 
1156 int
1157 report_host_count (report_t);
1158 
1159 int
1160 report_result_host_count (report_t, int);
1161 
1162 char *
1163 report_finished_hosts_str (report_t);
1164 
1165 gboolean
1166 find_report_with_permission (const char *, report_t *, const char *);
1167 
1168 report_t
1169 make_report (task_t, const char *, task_status_t);
1170 
1171 int
1172 qod_from_type (const char *);
1173 
1174 result_t
1175 make_result (task_t, const char*, const char*, const char*, const char*,
1176  const char*, const char*, const char*);
1177 
1178 result_t
1179 make_osp_result (task_t, const char*, const char*, const char*, const char*,
1180  const char *, const char *, const char *, int, const char*);
1181 
1182 result_t
1183 make_cve_result (task_t, const char*, const char*, double, const char*);
1184 
1188 typedef struct
1189 {
1190  char *description;
1191  char *host;
1192  char *hostname;
1193  char *nvt_oid;
1195  char *port;
1196  char *qod;
1197  char *qod_type;
1198  char *severity;
1199  char *threat;
1201 
1205 typedef struct
1206 {
1207  char *ip;
1208  char *name;
1209  char *source_desc;
1210  char *source_name;
1211  char *source_type;
1212  char *value;
1213 } host_detail_t;
1214 
1215 
1219 typedef struct
1220 {
1221  char *product;
1222  char *source_name;
1223  char *source_oid;
1224  char *location;
1226 
1227 void
1229 
1230 void
1231 insert_report_host_detail (report_t, const char *, const char *, const char *,
1232  const char *, const char *, const char *);
1233 
1234 int
1235 manage_report_host_detail (report_t, const char *, const char *);
1236 
1237 void
1238 hosts_set_identifiers (report_t);
1239 
1240 void
1241 hosts_set_max_severity (report_t, int*, int*);
1242 
1243 void
1244 hosts_set_details (report_t report);
1245 
1246 void
1247 clear_duration_schedules (task_t);
1248 
1249 void
1251 
1252 int
1253 create_report (array_t*, const char *, const char *, const char *, const char *,
1254  array_t*, array_t*, array_t*, char **);
1255 
1256 void
1257 report_add_result (report_t, result_t);
1258 
1259 void
1260 report_add_results_array (report_t, GArray *);
1261 
1262 char*
1263 report_uuid (report_t);
1264 
1265 int
1266 task_last_resumable_report (task_t, report_t *);
1267 
1268 gchar*
1270 
1271 gchar*
1272 report_path_task_uuid (gchar*);
1273 
1274 gboolean
1275 report_task (report_t, task_t*);
1276 
1277 void
1278 report_compliance_by_uuid (const char *, int *, int *, int *);
1279 
1280 int
1281 report_scan_result_count (report_t, const char*, const char*, int, const char*,
1282  const char*, int, int, int*);
1283 
1284 int
1285 report_counts (const char*, int*, int*, int*, int*, int*, double*,
1286  int, int);
1287 
1288 int
1289 report_counts_id (report_t, int*, int*, int*, int*, int*, double*,
1290  const get_data_t*, const char*);
1291 
1292 int
1293 report_counts_id_no_filt (report_t, int*, int*, int*, int*, int*, int*,
1294  double*, const get_data_t*, const char*);
1295 
1296 get_data_t*
1297 report_results_get_data (int, int, int, int);
1298 
1299 int
1300 scan_start_time_epoch (report_t);
1301 
1302 char*
1303 scan_start_time_uuid (const char *);
1304 
1305 char*
1306 scan_end_time_uuid (const char *);
1307 
1308 void
1309 set_scan_start_time_ctime (report_t, const char*);
1310 
1311 void
1312 set_scan_start_time_epoch (report_t, time_t);
1313 
1314 void
1315 set_scan_end_time (report_t, const char*);
1316 
1317 void
1318 set_scan_end_time_ctime (report_t, const char*);
1319 
1320 void
1321 set_scan_end_time_epoch (report_t, time_t);
1322 
1323 void
1324 set_scan_host_start_time_ctime (report_t, const char*, const char*);
1325 
1326 int
1327 scan_host_end_time (report_t, const char*);
1328 
1329 void
1330 set_scan_host_end_time (report_t, const char*, const char*);
1331 
1332 void
1333 set_scan_host_end_time_ctime (report_t, const char*, const char*);
1334 
1335 int
1336 report_timestamp (const char*, gchar**);
1337 
1338 int
1339 delete_report (const char *, int);
1340 
1341 int
1342 report_count (const get_data_t *);
1343 
1344 int
1346 
1347 void
1349 
1350 void
1352 
1353 const char*
1354 report_iterator_uuid (iterator_t*);
1355 
1356 int
1357 result_count (const get_data_t *, report_t, const char*);
1358 
1359 int
1360 init_result_get_iterator (iterator_t*, const get_data_t *, report_t,
1361  const char*, const gchar *);
1362 
1363 gboolean
1364 next_report (iterator_t*, report_t*);
1365 
1366 result_t
1368 
1369 const char*
1370 result_iterator_host (iterator_t*);
1371 
1372 const char*
1373 result_iterator_port (iterator_t*);
1374 
1375 const char*
1376 result_iterator_nvt_oid (iterator_t*);
1377 
1378 const char*
1380 
1381 const char*
1382 result_iterator_nvt_summary (iterator_t *);
1383 
1384 const char*
1385 result_iterator_nvt_insight (iterator_t *);
1386 
1387 const char*
1388 result_iterator_nvt_affected (iterator_t *);
1389 
1390 const char*
1391 result_iterator_nvt_impact (iterator_t *);
1392 
1393 const char*
1394 result_iterator_nvt_solution (iterator_t *);
1395 
1396 const char*
1398 
1399 const char*
1401 
1402 const char*
1403 result_iterator_nvt_detection (iterator_t *);
1404 
1405 const char*
1406 result_iterator_nvt_family (iterator_t *);
1407 
1408 const char*
1409 result_iterator_nvt_cvss_base (iterator_t *);
1410 
1411 const char*
1412 result_iterator_nvt_tag (iterator_t *);
1413 
1414 const char*
1415 result_iterator_descr (iterator_t*);
1416 
1417 task_t
1419 
1420 report_t
1422 
1423 const char*
1425 
1426 const char*
1428 
1429 const char*
1431 
1432 double
1434 
1435 const char*
1437 
1438 const char*
1440 
1441 const char*
1442 result_iterator_solution_type (iterator_t*);
1443 
1444 const char*
1445 result_iterator_qod (iterator_t*);
1446 
1447 const char*
1448 result_iterator_qod_type (iterator_t*);
1449 
1450 const char*
1451 result_iterator_hostname (iterator_t*);
1452 
1453 const char*
1454 result_iterator_date (iterator_t*);
1455 
1456 const char*
1457 result_iterator_path (iterator_t*);
1458 
1459 const char*
1460 result_iterator_asset_host_id (iterator_t*);
1461 
1462 int
1464 
1465 int
1467 
1468 int
1470 
1471 gchar **
1473 
1474 gchar **
1476 
1477 int
1479 
1480 void
1481 init_report_host_iterator (iterator_t*, report_t, const char *, report_host_t);
1482 
1483 const char*
1484 host_iterator_host (iterator_t*);
1485 
1486 const char*
1487 host_iterator_start_time (iterator_t*);
1488 
1489 const char*
1490 host_iterator_end_time (iterator_t*);
1491 
1492 int
1494 
1495 int
1497 
1498 int
1499 collate_message_type (void* data, int, const void*, int, const void*);
1500 
1501 void
1502 trim_partial_report (report_t);
1503 
1504 int
1505 report_progress (report_t);
1506 
1507 gchar *
1508 manage_report (report_t, report_t, const get_data_t *, report_format_t,
1509  int, int, gsize *, gchar **, gchar **, gchar **, gchar **,
1510  gchar **);
1511 
1512 int
1513 manage_send_report (report_t, report_t, report_format_t, const get_data_t *,
1514  int, int, int, int, int, int,
1515  gboolean (*) (const char *,
1516  int (*) (const char*, void*),
1517  void*),
1518  int (*) (const char *, void*), void *, const char *,
1519  const gchar *);
1520 
1521 
1522 ␌
1523 /* Reports. */
1524 
1525 void
1526 init_app_locations_iterator (iterator_t*, report_host_t, const gchar *);
1527 
1528 const char *
1530 
1531 void
1532 init_host_prognosis_iterator (iterator_t*, report_host_t);
1533 
1534 double
1536 
1537 const char*
1538 prognosis_iterator_cpe (iterator_t*);
1539 
1540 const char*
1541 prognosis_iterator_cve (iterator_t*);
1542 
1543 const char*
1544 prognosis_iterator_description (iterator_t*);
1545 
1546 ␌
1547 /* Targets. */
1548 
1554 #define MANAGE_ABSOLUTE_MAX_IPS_PER_TARGET 70000
1555 
1559 #define MANAGE_MAX_HOSTS 4095
1560 
1564 #define MANAGE_USER_MAX_HOSTS 16777216
1565 
1566 int
1567 manage_max_hosts ();
1568 
1569 void
1570 manage_filter_controls (const gchar *, int *, int *, gchar **, int *);
1571 
1572 void
1573 manage_report_filter_controls (const gchar *, int *, int *, gchar **, int *,
1574  int *, gchar **, gchar **, gchar **, gchar **,
1575  int *, int *, int *, int *, gchar **);
1576 
1577 gchar *
1578 manage_clean_filter (const gchar *);
1579 
1580 gchar *
1581 manage_clean_filter_remove (const gchar *, const gchar *);
1582 
1583 int
1584 manage_count_hosts (const char *, const char *);
1585 
1586 gboolean
1587 find_target_with_permission (const char *, target_t *, const char *);
1588 
1589 int
1590 create_target (const char*, const char*, const char*, const char*, const char*,
1591  const char *, const char*, credential_t, credential_t,
1592  const char *, credential_t, credential_t, credential_t,
1593  const char *, const char *, const char *, const char *,
1594  target_t*);
1595 
1596 int
1597 copy_target (const char*, const char*, const char *, target_t*);
1598 
1599 int
1600 modify_target (const char*, const char*, const char*, const char*, const char*,
1601  const char*, const char*, const char*, const char*, const char*,
1602  const char*, const char*, const char*, const char*, const char*,
1603  const char*);
1604 
1605 int
1606 delete_target (const char*, int);
1607 
1608 int
1609 target_count (const get_data_t *);
1610 
1611 void
1612 init_user_target_iterator (iterator_t*, target_t);
1613 
1614 void
1616 
1617 int
1619 
1620 const char*
1621 target_iterator_hosts (iterator_t*);
1622 
1623 const char*
1624 target_iterator_exclude_hosts (iterator_t*);
1625 
1626 const char*
1627 target_iterator_reverse_lookup_only (iterator_t*);
1628 
1629 const char*
1630 target_iterator_reverse_lookup_unify (iterator_t*);
1631 
1632 const char*
1633 target_iterator_comment (iterator_t*);
1634 
1635 int
1637 
1638 const char*
1639 target_iterator_ssh_port (iterator_t*);
1640 
1641 int
1643 
1644 int
1646 
1647 int
1649 
1650 int
1652 
1653 int
1655 
1656 int
1658 
1659 int
1661 
1662 int
1664 
1665 int
1667 
1668 const char*
1669 target_iterator_allow_simultaneous_ips (iterator_t*);
1670 
1671 const char*
1672 target_iterator_port_list_uuid (iterator_t*);
1673 
1674 const char*
1675 target_iterator_port_list_name (iterator_t*);
1676 
1677 int
1679 
1680 const char*
1682 
1683 char*
1684 target_uuid (target_t);
1685 
1686 char*
1687 trash_target_uuid (target_t);
1688 
1689 char*
1690 target_name (target_t);
1691 
1692 char*
1693 trash_target_name (target_t);
1694 
1695 int
1696 trash_target_readable (target_t);
1697 
1698 char*
1699 target_hosts (target_t);
1700 
1701 char*
1702 target_exclude_hosts (target_t);
1703 
1704 char*
1705 target_reverse_lookup_only (target_t);
1706 
1707 char*
1708 target_reverse_lookup_unify (target_t);
1709 
1710 char*
1712 
1713 char*
1714 target_port_range (target_t);
1715 
1716 char*
1717 target_ssh_port (target_t);
1718 
1719 int
1720 target_in_use (target_t);
1721 
1722 int
1723 trash_target_in_use (target_t);
1724 
1725 int
1726 target_writable (target_t);
1727 
1728 int
1729 trash_target_writable (target_t);
1730 
1731 char*
1732 target_ssh_credential_name (const char *);
1733 
1734 void
1736 
1737 const char*
1738 target_task_iterator_name (iterator_t*);
1739 
1740 const char*
1741 target_task_iterator_uuid (iterator_t*);
1742 
1743 int
1745 
1746 credential_t
1747 target_credential (target_t, const char*);
1748 
1749 int
1750 target_login_port (target_t, const char*);
1751 
1752 ␌
1753 /* Configs.
1754  *
1755  * These are here because they need definitions that are still in manage.h. */
1756 
1757 scanner_t
1759 
1760 int
1761 create_task_check_config_scanner (config_t, scanner_t);
1762 
1763 int
1764 modify_task_check_config_scanner (task_t, const char *, const char *);
1765 
1766 ␌
1767 /* NVT's. */
1768 
1769 char *
1770 manage_nvt_name (nvt_t);
1771 
1772 char *
1773 nvt_name (const char *);
1774 
1775 char*
1777 
1778 time_t
1780 
1781 void
1782 set_nvts_feed_version (const char*);
1783 
1784 gboolean
1785 find_nvt (const char*, nvt_t*);
1786 
1787 int
1788 init_nvt_info_iterator (iterator_t*, get_data_t*, const char*);
1789 
1790 int
1791 nvt_info_count (const get_data_t *);
1792 
1793 int
1794 nvt_info_count_after (const get_data_t *, time_t, gboolean);
1795 
1796 void
1797 init_nvt_iterator (iterator_t*, nvt_t, config_t, const char*, const char*, int,
1798  const char*);
1799 
1800 void
1801 init_cve_nvt_iterator (iterator_t*, const char *, int, const char*);
1802 
1803 const char*
1804 nvt_iterator_oid (iterator_t*);
1805 
1806 const char*
1807 nvt_iterator_version (iterator_t*);
1808 
1809 const char*
1810 nvt_iterator_name (iterator_t*);
1811 
1812 const char*
1813 nvt_iterator_summary (iterator_t*);
1814 
1815 const char*
1816 nvt_iterator_insight (iterator_t*);
1817 
1818 const char*
1819 nvt_iterator_affected (iterator_t*);
1820 
1821 const char*
1822 nvt_iterator_impact (iterator_t*);
1823 
1824 const char*
1825 nvt_iterator_description (iterator_t*);
1826 
1827 const char*
1828 nvt_iterator_tag (iterator_t*);
1829 
1830 int
1832 
1833 const char*
1834 nvt_iterator_family (iterator_t*);
1835 
1836 const char*
1837 nvt_iterator_cvss_base (iterator_t*);
1838 
1839 const char*
1840 nvt_iterator_detection (iterator_t*);
1841 
1842 const char*
1843 nvt_iterator_qod (iterator_t*);
1844 
1845 const char*
1846 nvt_iterator_qod_type ( iterator_t *iterator );
1847 
1848 const char*
1849 nvt_iterator_solution (iterator_t*);
1850 
1851 const char*
1852 nvt_iterator_solution_type (iterator_t*);
1853 
1854 const char*
1855 nvt_iterator_solution_method (iterator_t*);
1856 
1857 char*
1858 nvt_default_timeout (const char *);
1859 
1860 int
1861 family_nvt_count (const char *);
1862 
1863 ␌
1864 /* NVT selectors. */
1865 
1869 #define NVT_SELECTOR_TYPE_ALL 0
1870 
1874 #define NVT_SELECTOR_TYPE_FAMILY 1
1875 
1879 #define NVT_SELECTOR_TYPE_NVT 2
1880 
1884 #define NVT_SELECTOR_TYPE_ANY 999
1885 
1886 void
1887 init_family_iterator (iterator_t*, int, const char*, int);
1888 
1889 const char*
1890 family_iterator_name (iterator_t*);
1891 
1892 int
1893 nvt_selector_family_growing (const char *, const char *, int);
1894 
1895 int
1896 nvt_selector_family_count (const char*, int);
1897 
1898 int
1899 nvt_selector_nvt_count (const char *, const char *, int);
1900 
1901 void
1902 init_nvt_selector_iterator (iterator_t*, const char*, config_t, int);
1903 
1904 const char*
1905 nvt_selector_iterator_nvt (iterator_t*);
1906 
1907 const char*
1908 nvt_selector_iterator_name (iterator_t*);
1909 
1910 int
1912 
1913 int
1915 
1916 ␌
1917 /* NVT preferences. */
1918 
1919 void
1920 manage_nvt_preference_add (const char*, const char*);
1921 
1922 void
1923 manage_nvt_preferences_enable ();
1924 
1925 void
1927 
1928 const char*
1929 nvt_preference_iterator_name (iterator_t*);
1930 
1931 const char*
1932 nvt_preference_iterator_value (iterator_t*);
1933 
1934 char*
1936 
1937 char*
1939 
1940 char*
1942 
1943 char*
1945 
1946 char*
1948 
1949 int
1950 nvt_preference_count (const char *);
1951 
1952 void
1953 xml_append_nvt_refs (GString *, const char *, int *);
1954 
1955 gchar*
1956 get_nvt_xml (iterator_t*, int, int, int, const char*, config_t, int);
1957 
1958 char*
1959 task_preference_value (task_t, const char *);
1960 
1961 int
1962 set_task_preferences (task_t, array_t *);
1963 
1964 void
1966 
1967 const char*
1968 task_group_iterator_name (iterator_t*);
1969 
1970 const char*
1971 task_group_iterator_uuid (iterator_t*);
1972 
1973 void
1975 
1976 const char*
1977 task_role_iterator_name (iterator_t*);
1978 
1979 const char*
1980 task_role_iterator_uuid (iterator_t*);
1981 
1982 /* NVT severities */
1983 void
1984 init_nvt_severity_iterator (iterator_t *, const char *);
1985 
1986 const char *
1987 nvt_severity_iterator_type (iterator_t *);
1988 
1989 const char *
1990 nvt_severity_iterator_origin (iterator_t *);
1991 
1992 const char *
1993 nvt_severity_iterator_date (iterator_t *);
1994 
1995 double
1997 
1998 const char *
1999 nvt_severity_iterator_value (iterator_t *);
2000 
2001 ␌
2002 /* Credentials. */
2003 
2007 typedef enum
2008 {
2009  CREDENTIAL_FORMAT_NONE = 0,
2010  CREDENTIAL_FORMAT_KEY = 1,
2011  CREDENTIAL_FORMAT_RPM = 2,
2012  CREDENTIAL_FORMAT_DEB = 3,
2013  CREDENTIAL_FORMAT_EXE = 4,
2014  CREDENTIAL_FORMAT_PEM = 5,
2015  CREDENTIAL_FORMAT_ERROR = -1
2016 } credential_format_t;
2017 
2018 int
2019 check_private_key (const char *, const char *);
2020 
2021 gboolean
2022 find_credential_with_permission (const char*, credential_t*, const char*);
2023 
2024 int
2025 create_credential (const char*, const char*, const char*, const char*,
2026  const char*, const char*, const char*, const char*,
2027  const char*, const char*, const char*, const char*,
2028  const char*, credential_t*);
2029 
2030 int
2031 copy_credential (const char*, const char*, const char*,
2032  credential_t*);
2033 
2034 int
2035 modify_credential (const char*, const char*, const char*, const char*,
2036  const char*, const char*, const char*, const char*,
2037  const char*, const char*, const char*, const char*,
2038  const char*);
2039 
2040 int
2041 delete_credential (const char *, int);
2042 
2043 int
2044 credential_count (const get_data_t *);
2045 
2046 void
2047 set_credential_privacy_algorithm (credential_t, const char *);
2048 
2049 void
2050 set_credential_public_key (credential_t, const char *);
2051 
2052 void
2053 init_credential_iterator_one (iterator_t*, credential_t);
2054 
2055 int
2057 
2058 const char*
2059 credential_iterator_login (iterator_t*);
2060 
2061 const char*
2062 credential_iterator_auth_algorithm (iterator_t*);
2063 
2064 const char*
2065 credential_iterator_privacy_algorithm (iterator_t*);
2066 
2067 const char*
2069 
2070 const char*
2072 
2073 const char*
2075 
2076 const char*
2077 credential_iterator_public_key (iterator_t*);
2078 
2079 const char*
2081 
2082 const char*
2083 credential_iterator_type (iterator_t*);
2084 
2085 int
2087 
2088 const char*
2089 credential_full_type (const char*);
2090 
2091 char*
2093 
2094 char*
2096 
2097 char*
2099 
2100 const char*
2101 credential_iterator_certificate (iterator_t*);
2102 
2103 gboolean
2104 credential_iterator_format_available (iterator_t*, credential_format_t);
2105 
2106 gchar *
2108 
2109 char*
2110 credential_uuid (credential_t);
2111 
2112 char*
2113 trash_credential_uuid (credential_t);
2114 
2115 char*
2116 credential_name (credential_t);
2117 
2118 char*
2119 trash_credential_name (credential_t);
2120 
2121 char*
2122 credential_type (credential_t);
2123 
2124 void
2125 init_credential_target_iterator (iterator_t*, credential_t, int);
2126 
2127 const char*
2128 credential_target_iterator_uuid (iterator_t*);
2129 
2130 const char*
2131 credential_target_iterator_name (iterator_t*);
2132 
2133 int
2135 
2136 void
2137 init_credential_scanner_iterator (iterator_t*, credential_t, int);
2138 
2139 const char*
2140 credential_scanner_iterator_uuid (iterator_t*);
2141 
2142 const char*
2143 credential_scanner_iterator_name (iterator_t*);
2144 
2145 int
2147 
2148 int
2149 trash_credential_in_use (credential_t);
2150 
2151 int
2152 credential_in_use (credential_t);
2153 
2154 int
2155 trash_credential_writable (credential_t);
2156 
2157 int
2158 credential_writable (credential_t);
2159 
2160 int
2161 trash_credential_readable (credential_t);
2162 
2163 gchar*
2164 credential_value (credential_t, const char*);
2165 
2166 gchar*
2167 credential_encrypted_value (credential_t, const char*);
2168 
2169 
2170 ␌
2171 /* Assets. */
2172 
2173 char *
2174 result_host_asset_id (const char *, result_t);
2175 
2176 char*
2178 
2179 host_t
2180 host_notice (const char *, const char *, const char *, const char *,
2181  const char *, int, int);
2182 
2183 void
2184 init_host_identifier_iterator (iterator_t*, host_t, int, const char*);
2185 
2186 const char*
2187 host_identifier_iterator_value (iterator_t *);
2188 
2189 const char*
2190 host_identifier_iterator_source_type (iterator_t *);
2191 
2192 const char*
2193 host_identifier_iterator_source_id (iterator_t *);
2194 
2195 const char*
2196 host_identifier_iterator_source_data (iterator_t *);
2197 
2198 int
2200 
2201 const char*
2202 host_identifier_iterator_os_id (iterator_t *);
2203 
2204 const char*
2205 host_identifier_iterator_os_title (iterator_t *);
2206 
2207 int
2209 
2210 int
2212 
2213 int
2215 
2216 const char*
2217 asset_host_iterator_severity (iterator_t *);
2218 
2219 int
2220 asset_host_count (const get_data_t *);
2221 
2222 int
2224 
2225 const char*
2226 asset_os_iterator_title (iterator_t *);
2227 
2228 int
2230 
2231 const char*
2232 asset_os_iterator_latest_severity (iterator_t *);
2233 
2234 const char*
2235 asset_os_iterator_highest_severity (iterator_t *);
2236 
2237 const char*
2238 asset_os_iterator_average_severity (iterator_t *);
2239 
2240 int
2241 asset_os_count (const get_data_t *);
2242 
2243 int
2244 total_asset_count (const get_data_t *);
2245 
2246 void
2248 
2249 const char*
2250 os_host_iterator_severity (iterator_t *);
2251 
2252 void
2254 
2255 const char*
2256 host_detail_iterator_name (iterator_t *);
2257 
2258 const char*
2259 host_detail_iterator_value (iterator_t *);
2260 
2261 const char*
2262 host_detail_iterator_source_type (iterator_t *);
2263 
2264 const char*
2265 host_detail_iterator_source_id (iterator_t *);
2266 
2267 int
2268 modify_asset (const char *, const char *);
2269 
2270 int
2271 delete_asset (const char *, const char *, int);
2272 
2273 int
2274 create_asset_report (const char *, const char *);
2275 
2276 int
2277 create_asset_host (const char *, const char *, resource_t* );
2278 
2279 int
2280 add_assets_from_host_in_report (report_t report, const char *host);
2281 
2282 ␌
2283 /* Notes. */
2284 
2285 gboolean
2286 find_note_with_permission (const char*, note_t*, const char *);
2287 
2288 int
2289 create_note (const char*, const char*, const char*, const char*, const char*,
2290  const char*, const char*, task_t, result_t, note_t*);
2291 
2292 int
2293 copy_note (const char*, note_t*);
2294 
2295 int
2296 delete_note (const char *, int);
2297 
2298 int
2299 note_uuid (note_t, char **);
2300 
2301 int
2302 modify_note (const gchar *, const char *, const char *, const char *,
2303  const char *, const char *, const char *, const char *,
2304  const gchar *, const gchar *);
2305 
2306 int
2307 note_count (const get_data_t *, nvt_t, result_t, task_t);
2308 
2309 int
2310 init_note_iterator (iterator_t*, const get_data_t*, nvt_t, result_t, task_t);
2311 
2312 const char*
2313 note_iterator_nvt_oid (iterator_t*);
2314 
2315 time_t
2316 note_iterator_creation_time (iterator_t*);
2317 
2318 time_t
2319 note_iterator_modification_time (iterator_t*);
2320 
2321 const char*
2322 note_iterator_text (iterator_t*);
2323 
2324 const char*
2325 note_iterator_hosts (iterator_t*);
2326 
2327 const char*
2328 note_iterator_port (iterator_t*);
2329 
2330 const char*
2331 note_iterator_threat (iterator_t*);
2332 
2333 task_t
2335 
2336 result_t
2338 
2339 time_t
2341 
2342 int
2344 
2345 const char*
2346 note_iterator_nvt_name (iterator_t *);
2347 
2348 const char *
2350 
2351 const char*
2352 note_iterator_severity (iterator_t *);
2353 
2354 ␌
2355 /* Overrides. */
2356 
2357 gboolean
2358 find_override_with_permission (const char*, override_t*, const char *);
2359 
2360 int
2361 create_override (const char*, const char*, const char*, const char*,
2362  const char*, const char*, const char*, const char*,
2363  const char*, task_t, result_t, override_t*);
2364 
2365 int
2366 override_uuid (override_t, char **);
2367 
2368 int
2369 copy_override (const char*, override_t*);
2370 
2371 int
2372 delete_override (const char *, int);
2373 
2374 int
2375 modify_override (const gchar *, const char *, const char *, const char *,
2376  const char *, const char *, const char *, const char *,
2377  const char *, const char *, const gchar *, const gchar *);
2378 
2379 int
2380 override_count (const get_data_t *, nvt_t, result_t, task_t);
2381 
2382 int
2383 init_override_iterator (iterator_t*, const get_data_t*, nvt_t, result_t,
2384  task_t);
2385 
2386 const char*
2387 override_iterator_nvt_oid (iterator_t*);
2388 
2389 time_t
2390 override_iterator_creation_time (iterator_t*);
2391 
2392 time_t
2393 override_iterator_modification_time (iterator_t*);
2394 
2395 const char*
2396 override_iterator_text (iterator_t*);
2397 
2398 const char*
2399 override_iterator_hosts (iterator_t*);
2400 
2401 const char*
2402 override_iterator_port (iterator_t*);
2403 
2404 const char*
2406 
2407 const char*
2409 
2410 task_t
2412 
2413 result_t
2415 
2416 time_t
2418 
2419 int
2421 
2422 const char*
2423 override_iterator_nvt_name (iterator_t *);
2424 
2425 const char *
2427 
2428 const char*
2429 override_iterator_severity (iterator_t *);
2430 
2431 const char*
2432 override_iterator_new_severity (iterator_t *);
2433 
2434 ␌
2435 /* System reports. */
2436 
2440 typedef struct
2441 {
2442  gchar **start;
2443  gchar **current;
2445 
2446 int
2448  const char*);
2449 
2450 void
2452 
2453 gboolean
2455 
2456 const char*
2458 
2459 const char*
2461 
2462 int
2463 manage_system_report (const char *, const char *, const char *, const char *,
2464  const char *, char **);
2465 
2466 ␌
2467 /* Scanners. */
2468 
2472 #define SCANNER_CONNECTION_RETRY_DEFAULT 3
2473 
2474 int
2475 manage_create_scanner (GSList *, const db_conn_info_t *, const char *,
2476  const char *, const char *, const char *, const char *,
2477  const char *, const char *, const char *);
2478 
2479 int
2480 manage_modify_scanner (GSList *, const db_conn_info_t *, const char *,
2481  const char *, const char *, const char *, const char *,
2482  const char *, const char *, const char *, const char *);
2483 
2484 int
2485 manage_delete_scanner (GSList *, const db_conn_info_t *, const gchar *);
2486 
2487 int
2488 manage_verify_scanner (GSList *, const db_conn_info_t *, const gchar *);
2489 
2490 int
2491 manage_get_scanners (GSList *, const db_conn_info_t *);
2492 
2493 int
2494 create_scanner (const char*, const char *, const char *, const char *,
2495  const char *, scanner_t *, const char *, const char *);
2496 
2497 int
2498 copy_scanner (const char*, const char*, const char *, scanner_t *);
2499 
2500 int
2501 modify_scanner (const char*, const char*, const char*, const char *,
2502  const char *, const char *, const char *, const char *);
2503 
2504 int
2505 delete_scanner (const char *, int);
2506 
2507 gboolean
2508 find_scanner_with_permission (const char *, scanner_t *, const char *);
2509 
2510 int
2511 scanner_in_use (scanner_t);
2512 
2513 int
2514 trash_scanner_readable (scanner_t);
2515 
2516 int
2517 trash_scanner_in_use (scanner_t);
2518 
2519 int
2520 trash_scanner_writable (scanner_t);
2521 
2522 int
2523 scanner_writable (scanner_t);
2524 
2525 const char *
2527 
2528 char *
2529 scanner_host (scanner_t);
2530 
2531 int
2532 scanner_port (scanner_t);
2533 
2534 int
2535 scanner_type (scanner_t);
2536 
2537 char *
2538 scanner_ca_pub (scanner_t);
2539 
2540 char *
2541 scanner_key_pub (scanner_t);
2542 
2543 char *
2544 scanner_key_priv (scanner_t);
2545 
2546 char*
2547 scanner_login (scanner_t);
2548 
2549 char*
2550 scanner_password (scanner_t);
2551 
2552 int
2553 scanner_count (const get_data_t *);
2554 
2555 char *
2557 
2558 int
2560 
2561 const char*
2562 scanner_iterator_host (iterator_t*);
2563 
2564 int
2566 
2567 int
2569 
2570 const char*
2571 scanner_iterator_credential_name (iterator_t *);
2572 
2573 credential_t
2575 
2576 int
2578 
2579 const char*
2580 scanner_iterator_ca_pub (iterator_t *);
2581 
2582 const char*
2583 scanner_iterator_key_pub (iterator_t *);
2584 
2585 const char*
2586 scanner_iterator_credential_type (iterator_t *);
2587 
2588 void
2590 
2591 const char*
2592 scanner_config_iterator_uuid (iterator_t *);
2593 
2594 const char*
2595 scanner_config_iterator_name (iterator_t *);
2596 
2597 int
2599 
2600 void
2602 
2603 const char*
2604 scanner_task_iterator_uuid (iterator_t *);
2605 
2606 const char*
2607 scanner_task_iterator_name (iterator_t *);
2608 
2609 int
2611 
2612 char *
2613 scanner_name (scanner_t);
2614 
2615 char *
2616 scanner_uuid (scanner_t);
2617 
2618 char *
2619 trash_scanner_name (scanner_t);
2620 
2621 char *
2622 trash_scanner_uuid (scanner_t);
2623 
2624 int
2625 osp_get_version_from_iterator (iterator_t *, char **, char **, char **, char **,
2626  char **, char **);
2627 
2628 int
2629 osp_get_details_from_iterator (iterator_t *, char **, GSList **);
2630 
2631 osp_connection_t *
2632 osp_connect_with_data (const char *,
2633  int,
2634  const char *,
2635  const char *,
2636  const char *);
2637 
2638 osp_connection_t *
2639 osp_scanner_connect (scanner_t);
2640 
2641 int
2643 
2644 void
2646 
2647 int
2648 verify_scanner (const char *, char **);
2649 
2650 const char *
2652 
2653 void
2654 set_relay_mapper_path (const char *);
2655 
2656 int
2658 
2659 void
2661 
2662 gboolean
2663 relay_supports_scanner_type (const char *, int, scanner_type_t);
2664 
2665 int
2666 slave_get_relay (const char *,
2667  int,
2668  const char *,
2669  const char *,
2670  gchar **,
2671  int *,
2672  gchar **);
2673 
2674 int
2675 slave_relay_connection (gvm_connection_t *, gvm_connection_t *);
2676 
2677 /* Scheduling. */
2678 
2682 #define SCHEDULE_PERIOD 10
2683 
2688 #define SCHEDULE_TIMEOUT_MIN_SECS 20
2689 
2693 #define SCHEDULE_TIMEOUT_DEFAULT 60
2694 
2695 gboolean
2696 find_schedule_with_permission (const char*, schedule_t*, const char*);
2697 
2698 int
2699 create_schedule (const char *, const char*, const char *,
2700  const char*, schedule_t *, gchar**);
2701 
2702 int
2703 copy_schedule (const char*, const char*, const char *, schedule_t *);
2704 
2705 int
2706 delete_schedule (const char*, int);
2707 
2708 void
2709 manage_auth_allow_all (int);
2710 
2711 const gchar*
2713 
2714 void
2715 set_scheduled_user_uuid (const gchar* uuid);
2716 
2717 void
2718 manage_sync (sigset_t *, int (*fork_update_nvt_cache) (), gboolean);
2719 
2720 int
2722  GSList *,
2723  const db_conn_info_t *,
2724  gchar **);
2725 
2726 int
2727 manage_schedule (manage_connection_forker_t,
2728  gboolean,
2729  sigset_t *);
2730 
2731 char *
2732 schedule_uuid (schedule_t);
2733 
2734 char *
2735 trash_schedule_uuid (schedule_t);
2736 
2737 char *
2738 schedule_name (schedule_t);
2739 
2740 char *
2741 trash_schedule_name (schedule_t);
2742 
2743 int
2744 schedule_duration (schedule_t);
2745 
2746 int
2747 schedule_period (schedule_t);
2748 
2749 int
2750 schedule_info (schedule_t, int, gchar **, gchar **);
2751 
2752 int
2754 
2755 const char*
2756 schedule_iterator_timezone (iterator_t *);
2757 
2758 const char*
2759 schedule_iterator_icalendar (iterator_t *);
2760 
2761 int
2762 trash_schedule_in_use (schedule_t);
2763 
2764 int
2765 schedule_in_use (schedule_t);
2766 
2767 int
2768 trash_schedule_writable (schedule_t);
2769 
2770 int
2771 trash_schedule_readable (schedule_t);
2772 
2773 int
2774 schedule_writable (schedule_t);
2775 
2776 int
2777 schedule_count (const get_data_t *);
2778 
2779 void
2781 
2782 const char*
2783 schedule_task_iterator_uuid (iterator_t *);
2784 
2785 const char*
2786 schedule_task_iterator_name (iterator_t *);
2787 
2788 int
2790 
2791 int
2792 modify_schedule (const char *, const char *, const char *, const char*,
2793  const char *, gchar **);
2794 
2795 int
2797 
2798 void
2799 set_schedule_timeout (int);
2800 
2801 ␌
2802 /* Groups. */
2803 
2804 int
2806 
2807 int
2808 copy_group (const char *, const char *, const char *, group_t *);
2809 
2810 int
2811 create_group (const char *, const char *, const char *, int, group_t *);
2812 
2813 int
2814 delete_group (const char *, int);
2815 
2816 char*
2817 group_uuid (group_t);
2818 
2819 gchar *
2820 group_users (group_t);
2821 
2822 int
2823 trash_group_in_use (group_t);
2824 
2825 int
2826 group_in_use (group_t);
2827 
2828 int
2829 trash_group_writable (group_t);
2830 
2831 int
2832 group_writable (group_t);
2833 
2834 int
2835 group_count (const get_data_t*);
2836 
2837 int
2838 modify_group (const char *, const char *, const char *, const char *);
2839 
2840 ␌
2841 /* Permissions. */
2842 
2843 int
2844 create_permission (const char *, const char *, const char *, const char *,
2845  const char *, const char *, permission_t *);
2846 
2847 int
2848 copy_permission (const char*, const char *, permission_t *);
2849 
2850 char*
2851 permission_uuid (permission_t);
2852 
2853 int
2854 permission_is_admin (const char *);
2855 
2856 int
2857 permission_in_use (permission_t);
2858 
2859 int
2860 trash_permission_in_use (permission_t);
2861 
2862 int
2863 permission_writable (permission_t);
2864 
2865 int
2866 trash_permission_writable (permission_t);
2867 
2868 int
2869 permission_count (const get_data_t *);
2870 
2871 int
2873 
2874 const char*
2875 permission_iterator_resource_type (iterator_t*);
2876 
2877 const char*
2878 permission_iterator_resource_uuid (iterator_t*);
2879 
2880 const char*
2881 permission_iterator_resource_name (iterator_t*);
2882 
2883 int
2885 
2886 int
2888 
2889 int
2891 
2892 const char*
2893 permission_iterator_subject_type (iterator_t*);
2894 
2895 const char*
2896 permission_iterator_subject_uuid (iterator_t*);
2897 
2898 const char*
2899 permission_iterator_subject_name (iterator_t*);
2900 
2901 int
2903 
2904 int
2906 
2907 int
2908 delete_permission (const char*, int);
2909 
2910 int
2911 modify_permission (const char *, const char *, const char *, const char *,
2912  const char *, const char *, const char *);
2913 
2914 /* Permission caching */
2915 
2916 void
2917 delete_permissions_cache_for_resource (const char*, resource_t);
2918 
2919 void
2920 delete_permissions_cache_for_user (user_t);
2921 
2922 ␌
2923 /* Roles. */
2924 
2925 int
2926 manage_get_roles (GSList *, const db_conn_info_t *, int);
2927 
2928 int
2930 
2931 int
2932 copy_role (const char *, const char *, const char *, role_t *);
2933 
2934 int
2935 create_role (const char *, const char *, const char *, role_t *);
2936 
2937 int
2938 delete_role (const char *, int);
2939 
2940 char*
2941 role_uuid (role_t);
2942 
2943 gchar *
2944 role_users (role_t);
2945 
2946 int
2947 trash_role_in_use (role_t);
2948 
2949 int
2950 role_in_use (role_t);
2951 
2952 int
2953 trash_role_writable (role_t);
2954 
2955 int
2956 role_writable (role_t);
2957 
2958 int
2959 role_count (const get_data_t*);
2960 
2961 int
2962 modify_role (const char *, const char *, const char *, const char *);
2963 
2964 ␌
2965 /* Filter Utilities. */
2966 
2970 typedef enum
2971 {
2972  KEYWORD_TYPE_UNKNOWN,
2973  KEYWORD_TYPE_INTEGER,
2974  KEYWORD_TYPE_DOUBLE,
2975  KEYWORD_TYPE_STRING
2976 } keyword_type_t;
2977 
2981 typedef enum
2982 {
2983  KEYWORD_RELATION_APPROX,
2984  KEYWORD_RELATION_COLUMN_ABOVE,
2985  KEYWORD_RELATION_COLUMN_APPROX,
2986  KEYWORD_RELATION_COLUMN_EQUAL,
2987  KEYWORD_RELATION_COLUMN_BELOW,
2988  KEYWORD_RELATION_COLUMN_REGEXP
2989 } keyword_relation_t;
2990 
2994 struct keyword
2995 {
2996  gchar *column;
2997  int approx;
2998  int equal;
3000  double double_value;
3001  int quoted;
3002  gchar *string;
3003  keyword_type_t type;
3004  keyword_relation_t relation;
3005 };
3006 
3010 typedef struct keyword keyword_t;
3011 
3012 int
3014 
3015 const char *
3016 keyword_relation_symbol (keyword_relation_t);
3017 
3018 void
3019 filter_free (array_t*);
3020 
3021 array_t *
3022 split_filter (const gchar*);
3023 
3024 ␌
3025 /* Filters. */
3026 
3030 #define FILT_ID_NONE "0"
3031 
3035 #define FILT_ID_USER_SETTING "-2"
3036 
3037 gboolean
3038 find_filter (const char*, filter_t*);
3039 
3040 gboolean
3041 find_filter_with_permission (const char*, filter_t*, const char*);
3042 
3043 char*
3044 filter_uuid (filter_t);
3045 
3046 char*
3047 filter_name (filter_t);
3048 
3049 gchar*
3050 filter_term (const char *);
3051 
3052 gchar*
3053 filter_term_value (const char *, const char *);
3054 
3055 int
3056 filter_term_apply_overrides (const char *);
3057 
3058 int
3059 filter_term_min_qod (const char *);
3060 
3061 int
3062 create_filter (const char*, const char*, const char*, const char*, filter_t*);
3063 
3064 int
3065 copy_filter (const char*, const char*, const char*, filter_t*);
3066 
3067 int
3068 delete_filter (const char *, int);
3069 
3070 int
3071 trash_filter_in_use (filter_t);
3072 
3073 int
3074 filter_in_use (filter_t);
3075 
3076 int
3077 trash_filter_writable (filter_t);
3078 
3079 int
3080 filter_writable (filter_t);
3081 
3082 int
3083 filter_count (const get_data_t*);
3084 
3085 int
3087 
3088 const char*
3090 
3091 const char*
3092 filter_iterator_term (iterator_t*);
3093 
3094 void
3096 
3097 const char*
3098 filter_alert_iterator_name (iterator_t*);
3099 
3100 const char*
3101 filter_alert_iterator_uuid (iterator_t*);
3102 
3103 int
3105 
3106 int
3107 modify_filter (const char*, const char*, const char*, const char*, const char*);
3108 
3109 ␌
3110 /* Schema. */
3111 
3112 int
3113 manage_schema (gchar *, gchar **, gsize *, gchar **, gchar **);
3114 
3115 ␌
3116 /* Trashcan. */
3117 
3118 int
3119 manage_restore (const char *);
3120 
3121 int
3123 
3124 ␌
3125 /* SecInfo */
3126 
3127 int
3128 manage_read_info (gchar *, gchar *, gchar *, gchar **);
3129 
3130 int
3131 info_name_count (const gchar *, const gchar *);
3132 
3133 /* SCAP. */
3134 
3135 int
3137 
3138 const char *
3140 
3141 /* CPE. */
3142 
3143 void
3144 init_cpe_cve_iterator (iterator_t *, const char *, int, const char *);
3145 
3146 int
3147 init_cpe_info_iterator (iterator_t*, get_data_t*, const char*);
3148 
3149 int
3150 cpe_info_count (const get_data_t *get);
3151 
3152 const char*
3153 cpe_info_iterator_title (iterator_t*);
3154 
3155 const char*
3156 cpe_info_iterator_status (iterator_t*);
3157 
3158 const char *
3159 cpe_info_iterator_severity (iterator_t*);
3160 
3161 const char*
3162 cpe_info_iterator_deprecated_by_id (iterator_t*);
3163 
3164 const char*
3165 cpe_info_iterator_cve_refs (iterator_t*);
3166 
3167 const char*
3168 cpe_info_iterator_nvd_id (iterator_t*);
3169 
3170 /* CVE. */
3171 
3172 const char*
3173 cve_iterator_name (iterator_t*);
3174 
3175 const char*
3176 cve_iterator_cvss_score (iterator_t*);
3177 
3178 const char*
3179 cve_info_iterator_severity (iterator_t*);
3180 
3181 const char*
3182 cve_info_iterator_vector (iterator_t*);
3183 
3184 const char*
3185 cve_info_iterator_description (iterator_t*);
3186 
3187 const char*
3188 cve_info_iterator_products (iterator_t*);
3189 
3190 int
3191 init_cve_info_iterator (iterator_t*, get_data_t*, const char*);
3192 
3193 int
3194 cve_info_count (const get_data_t *get);
3195 
3196 gchar *
3197 cve_cvss_base (const gchar *);
3198 
3199 /* OVAL definitions */
3200 int
3202 
3203 int
3204 ovaldef_info_count (const get_data_t *get);
3205 
3206 const char*
3207 ovaldef_info_iterator_version (iterator_t*);
3208 
3209 const char*
3210 ovaldef_info_iterator_deprecated (iterator_t*);
3211 
3212 const char*
3213 ovaldef_info_iterator_class (iterator_t*);
3214 
3215 const char*
3216 ovaldef_info_iterator_title (iterator_t*);
3217 
3218 const char*
3219 ovaldef_info_iterator_description (iterator_t*);
3220 
3221 const char*
3222 ovaldef_info_iterator_file (iterator_t*);
3223 
3224 const char*
3225 ovaldef_info_iterator_status (iterator_t*);
3226 
3227 const char*
3228 ovaldef_info_iterator_severity (iterator_t*);
3229 
3230 const char*
3231 ovaldef_info_iterator_cve_refs (iterator_t*);
3232 
3233 char *
3234 ovaldef_severity (const char *);
3235 
3236 char *
3237 ovaldef_version (const char *);
3238 
3239 char *
3240 ovaldef_uuid (const char *, const char *);
3241 
3242 char *
3243 ovaldef_cves (const char *);
3244 
3245 /* CERT data */
3246 int
3248 
3249 /* CERT-Bund */
3250 
3251 int
3253 
3254 int
3256 
3257 const char*
3258 cert_bund_adv_info_iterator_title (iterator_t*);
3259 
3260 const char*
3261 cert_bund_adv_info_iterator_summary (iterator_t*);
3262 
3263 const char*
3264 cert_bund_adv_info_iterator_cve_refs (iterator_t*);
3265 
3266 const char*
3267 cert_bund_adv_info_iterator_severity (iterator_t*);
3268 
3269 void
3270 init_cve_cert_bund_adv_iterator (iterator_t*, const char*, int, const char*);
3271 
3272 void
3274 
3275 const char*
3276 nvt_cert_bund_adv_iterator_name (iterator_t*);
3277 
3278 /* DFN-CERT */
3279 
3280 int
3282 
3283 int
3284 dfn_cert_adv_info_count (const get_data_t *get);
3285 
3286 const char*
3287 dfn_cert_adv_info_iterator_title (iterator_t*);
3288 
3289 const char*
3290 dfn_cert_adv_info_iterator_summary (iterator_t*);
3291 
3292 const char*
3293 dfn_cert_adv_info_iterator_cve_refs (iterator_t*);
3294 
3295 const char*
3296 dfn_cert_adv_info_iterator_severity (iterator_t*);
3297 
3298 void
3299 init_cve_dfn_cert_adv_iterator (iterator_t*, const char*, int, const char*);
3300 
3301 void
3303 
3304 const char*
3305 nvt_dfn_cert_adv_iterator_name (iterator_t*);
3306 
3307 /* All SecInfo Data */
3308 
3309 int
3310 secinfo_count_after (const get_data_t *, const char *, time_t, gboolean);
3311 
3312 void
3314 
3315 const char*
3316 ovaldi_file_iterator_name (iterator_t*);
3317 
3318 ␌
3319 /* Settings. */
3320 
3321 int
3322 manage_max_rows (int);
3323 
3324 int
3325 setting_count (const char *);
3326 
3327 int
3328 setting_is_default_ca_cert (const gchar *);
3329 
3330 char *
3331 setting_filter (const char *);
3332 
3333 void
3334 init_setting_iterator (iterator_t *, const char *, const char *, int, int, int,
3335  const char *);
3336 
3337 const char*
3338 setting_iterator_uuid (iterator_t*);
3339 
3340 const char*
3341 setting_iterator_name (iterator_t*);
3342 
3343 const char*
3344 setting_iterator_comment (iterator_t*);
3345 
3346 const char*
3347 setting_iterator_value (iterator_t*);
3348 
3349 int
3350 modify_setting (const gchar *, const gchar *, const gchar *, gchar **);
3351 
3352 int
3353 manage_modify_setting (GSList *, const db_conn_info_t *, const gchar *,
3354  const gchar *, const char *);
3355 
3356 char *
3357 manage_default_ca_cert ();
3358 
3359 ␌
3360 /* Users. */
3361 
3362 gboolean
3363 find_user_by_name_with_permission (const char *, user_t *, const char *);
3364 
3365 int
3366 manage_create_user (GSList *, const db_conn_info_t *, const gchar *,
3367  const gchar *, const gchar *);
3368 
3369 int
3370 manage_delete_user (GSList *, const db_conn_info_t *, const gchar *,
3371  const gchar *);
3372 
3373 int
3374 manage_get_users (GSList *, const db_conn_info_t *, const gchar *, int);
3375 
3376 report_host_t
3377 manage_report_host_add (report_t, const char *, time_t, time_t);
3378 
3379 int
3380 report_host_noticeable (report_t, const gchar *);
3381 
3382 void
3383 report_host_set_end_time (report_host_t, time_t);
3384 
3385 gchar*
3386 host_routes_xml (host_t);
3387 
3388 int
3389 manage_set_password (GSList *, const db_conn_info_t *, const gchar *,
3390  const gchar *);
3391 
3392 gchar *
3393 manage_user_hash (const gchar *);
3394 
3395 gchar *
3396 manage_user_uuid (const gchar *, auth_method_t);
3397 
3398 int
3399 manage_user_exists (const gchar *, auth_method_t);
3400 
3401 int
3402 copy_user (const char*, const char*, const char*, user_t*);
3403 
3404 gchar *
3405 keyfile_to_auth_conf_settings_xml (const gchar *);
3406 
3407 int
3408 init_user_iterator (iterator_t*, const get_data_t*);
3409 
3410 const char*
3411 user_iterator_role (iterator_t*);
3412 
3413 const char*
3414 user_iterator_method (iterator_t*);
3415 
3416 const char*
3417 user_iterator_hosts (iterator_t*);
3418 
3419 int
3420 user_iterator_hosts_allow (iterator_t*);
3421 
3422 const char*
3423 user_iterator_ifaces (iterator_t*);
3424 
3425 int
3426 user_iterator_ifaces_allow (iterator_t*);
3427 
3428 void
3429 init_user_group_iterator (iterator_t *, user_t);
3430 
3431 const char*
3432 user_group_iterator_uuid (iterator_t*);
3433 
3434 const char*
3435 user_group_iterator_name (iterator_t*);
3436 
3437 int
3438 user_group_iterator_readable (iterator_t*);
3439 
3440 void
3441 init_user_role_iterator (iterator_t *, user_t);
3442 
3443 const char*
3444 user_role_iterator_uuid (iterator_t*);
3445 
3446 const char*
3447 user_role_iterator_name (iterator_t*);
3448 
3449 int
3450 user_role_iterator_readable (iterator_t*);
3451 
3452 int
3453 create_user (const gchar *, const gchar *, const gchar *, const gchar *,
3454  int, const gchar *, int, const array_t *, array_t *, gchar **,
3455  array_t *, gchar **, gchar **, user_t *, int);
3456 
3457 int
3458 delete_user (const char *, const char *, int, int, const char*, const char*);
3459 
3460 int
3461 modify_user (const gchar *, gchar **, const gchar *, const gchar *,
3462  const gchar*, const gchar *, int, const gchar *, int,
3463  const array_t *, array_t *, gchar **, array_t *, gchar **,
3464  gchar **);
3465 
3466 int
3467 user_in_use (user_t);
3468 
3469 int
3470 trash_user_in_use (user_t);
3471 
3472 int
3473 user_writable (user_t);
3474 
3475 int
3476 trash_user_writable (user_t);
3477 
3478 int
3479 user_count (const get_data_t*);
3480 
3481 gchar*
3482 user_name (const char *);
3483 
3484 char*
3485 user_uuid (user_t);
3486 
3487 gchar*
3488 user_ifaces (const char *);
3489 
3490 int
3491 user_ifaces_allow (const char *);
3492 
3493 gchar*
3494 user_hosts (const char *);
3495 
3496 int
3497 user_hosts_allow (const char *);
3498 
3499 int
3500 init_vuln_iterator (iterator_t*, const get_data_t*);
3501 
3502 int
3503 vuln_iterator_results (iterator_t*);
3504 
3505 time_t
3506 vuln_iterator_oldest (iterator_t*);
3507 
3508 time_t
3509 vuln_iterator_newest (iterator_t*);
3510 
3511 const char*
3512 vuln_iterator_type (iterator_t*);
3513 
3514 int
3515 vuln_iterator_hosts (iterator_t*);
3516 
3517 double
3518 vuln_iterator_severity (iterator_t*);
3519 
3520 int
3521 vuln_iterator_qod (iterator_t*);
3522 
3523 int
3524 vuln_count (const get_data_t*);
3525 
3526 void
3527 manage_get_ldap_info (int *, gchar **, gchar **, int *, gchar **);
3528 
3529 void
3530 manage_set_ldap_info (int, gchar *, gchar *, int, gchar *);
3531 
3532 void
3533 manage_get_radius_info (int *, char **, char **);
3534 
3535 void
3536 manage_set_radius_info (int, gchar *, gchar *);
3537 
3538 ␌
3539 /* Tags */
3540 
3541 char*
3542 tag_uuid (target_t);
3543 
3544 int
3545 copy_tag (const char*, const char*, const char*, tag_t*);
3546 
3547 int
3548 create_tag (const char *, const char *, const char *, const char *,
3549  array_t *, const char *, const char *, tag_t *, gchar **);
3550 
3551 int
3552 delete_tag (const char *, int);
3553 
3554 int
3555 modify_tag (const char *, const char *, const char *, const char *,
3556  const char *, array_t *, const char *, const char *, const char*,
3557  gchar **);
3558 
3559 int
3560 init_tag_iterator (iterator_t*, const get_data_t*);
3561 
3562 int
3563 tag_count (const get_data_t *get);
3564 
3565 const char*
3566 tag_iterator_resource_type (iterator_t*);
3567 
3568 int
3569 tag_iterator_active (iterator_t*);
3570 
3571 const char*
3572 tag_iterator_value (iterator_t*);
3573 
3574 int
3575 tag_iterator_resources (iterator_t*);
3576 
3577 resource_t
3578 tag_resource_iterator_id (iterator_t*);
3579 
3580 const char*
3581 tag_resource_iterator_uuid (iterator_t*);
3582 
3583 int
3584 tag_resource_iterator_location (iterator_t*);
3585 
3586 const char*
3587 tag_resource_iterator_name (iterator_t*);
3588 
3589 int
3590 tag_resource_iterator_readable (iterator_t*);
3591 
3592 int
3593 init_tag_name_iterator (iterator_t*, const get_data_t*);
3594 
3595 const char*
3596 tag_name_iterator_name (iterator_t*);
3597 
3598 int
3599 init_resource_tag_iterator (iterator_t*, const char*, resource_t, int,
3600  const char*, int);
3601 
3602 const char*
3603 resource_tag_iterator_uuid (iterator_t*);
3604 
3605 const char*
3606 resource_tag_iterator_name (iterator_t*);
3607 
3608 const char*
3609 resource_tag_iterator_value (iterator_t*);
3610 
3611 const char*
3612 resource_tag_iterator_comment (iterator_t*);
3613 
3614 int
3615 resource_tag_exists (const char*, resource_t, int);
3616 
3617 int
3618 resource_tag_count (const char*, resource_t, int);
3619 
3620 int
3621 tag_in_use (tag_t);
3622 
3623 int
3624 trash_tag_in_use (tag_t);
3625 
3626 int
3627 tag_writable (tag_t);
3628 
3629 int
3630 trash_tag_writable (tag_t);
3631 
3632 ␌
3633 /* Resource aggregates */
3634 
3638 typedef struct {
3639  gchar *field;
3640  gchar *stat;
3641  int order;
3642 } sort_data_t;
3643 
3644 void
3645 sort_data_free (sort_data_t*);
3646 
3647 int
3648 init_aggregate_iterator (iterator_t*, const char *, const get_data_t *, int,
3649  GArray *, const char *, const char*, GArray*, GArray*,
3650  int, int, const char *, const char *);
3651 
3652 int
3654 
3655 double
3657 
3658 double
3660 
3661 double
3663 
3664 double
3666 
3667 const char*
3668 aggregate_iterator_text (iterator_t*, int, int);
3669 
3670 const char*
3672 
3673 const char*
3675 
3676 ␌
3677 /* Feeds. */
3678 
3679 #define NVT_FEED 1
3680 #define SCAP_FEED 2
3681 #define CERT_FEED 3
3682 #define GVMD_DATA_FEED 4
3683 
3684 gboolean
3685 manage_gvmd_data_feed_dir_exists (const char *);
3686 
3687 gboolean
3688 manage_gvmd_data_feed_dirs_exist ();
3689 
3690 const gchar *
3691 get_feed_lock_path ();
3692 
3693 void
3694 set_feed_lock_path (const char *);
3695 
3696 int
3697 get_feed_lock_timeout ();
3698 
3699 void
3700 set_feed_lock_timeout (int);
3701 
3702 void
3703 write_sync_start (int);
3704 
3705 int
3706 feed_lockfile_lock (lockfile_t *);
3707 
3708 int
3709 feed_lockfile_lock_timeout (lockfile_t*);
3710 
3711 int
3712 feed_lockfile_unlock (lockfile_t *);
3713 
3714 int
3715 gvm_migrate_secinfo (int);
3716 
3717 gboolean
3718 gvm_sync_script_perform_selftest (const gchar *, gchar **);
3719 
3720 gboolean
3721 gvm_get_sync_script_identification (const gchar *, gchar **, int);
3722 
3723 gboolean
3724 gvm_get_sync_script_description (const gchar *, gchar **);
3725 
3726 gboolean
3727 gvm_get_sync_script_feed_version (const gchar *, gchar **);
3728 
3729 int
3730 manage_update_nvts_osp (const gchar *);
3731 
3732 int
3733 manage_rebuild (GSList *, const db_conn_info_t *);
3734 
3735 int
3736 manage_dump_vt_verification (GSList *, const db_conn_info_t *);
3737 
3738 ␌
3739 /* Wizards. */
3740 
3741 int
3742 manage_run_wizard (const gchar *, int (*) (void*, gchar*, gchar**),
3743  void *, array_t *, int, const char*,
3744  gchar **, gchar **, gchar **);
3745 
3746 ␌
3747 /* Helpers. */
3748 
3749 gchar *
3750 xml_escape_text_truncated (const char *, size_t, const char *);
3751 
3752 int
3753 column_is_timestamp (const char*);
3754 
3755 char*
3756 type_columns (const char *);
3757 
3758 char*
3759 type_trash_columns (const char *);
3760 
3761 gboolean
3762 manage_migrate_needs_timezone (GSList *, const db_conn_info_t *);
3763 
3764 ␌
3765 /* Optimize. */
3766 
3767 int
3768 manage_optimize (GSList *, const db_conn_info_t *, const gchar *);
3769 
3770 ␌
3771 /* Signal management */
3772 
3773 int
3774 sql_cancel ();
3775 
3776 ␌
3777 /* General settings */
3778 const char *
3779 get_vt_verification_collation ();
3780 
3781 void
3782 set_vt_verification_collation (const char *);
3783 
3784 #endif /* not _GVMD_MANAGE_H */
static int fork_update_nvt_cache()
Update the NVT cache in a child process.
Definition: gvmd.c:1144
Headers for Iterators.
long long int resource_t
A resource, like a task or target.
Definition: iterator.h:39
const char * credential_full_type(const char *abbreviation)
Get the written-out name of an LSC Credential type.
Definition: manage.c:4002
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:1221
void cleanup_report_type_iterator(report_type_iterator_t *iterator)
Cleanup a report type iterator.
Definition: manage.c:4326
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:4301
const char * report_type_iterator_name(report_type_iterator_t *iterator)
Return the name from a report type iterator.
Definition: manage.c:4356
gchar * truncate_certificate(const gchar *certificate)
Truncate a certificate, removing extra data.
Definition: manage.c:210
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:5285
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:4493
double severity_data_value(int index)
Convert an index in the counts array to a severity value.
Definition: manage.c:1026
void set_relay_mapper_path(const char *new_path)
Gets the current path of the relay mapper executable.
Definition: manage.c:3359
task_t current_scanner_task
The task currently running on the scanner.
Definition: manage.c:1190
gchar * certificate_iso_time(time_t time)
Converts a certificate time to an ISO time string.
Definition: manage.c:536
int stop_task(const char *task_id)
Initiate stopping a task.
Definition: manage.c:3805
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:649
int get_relay_migrate_sensors()
Gets whether to migrate sensors if relays do not match.
Definition: manage.c:3371
int move_task(const char *task_id, const char *slave_id)
Reassign a task to another slave.
Definition: manage.c:3882
const char * alert_method_name(alert_method_t method)
Get the name of an alert method.
Definition: manage.c:1384
const char * get_relay_mapper_path()
Gets the current path of the relay mapper executable.
Definition: manage.c:3348
const char * event_name(event_t event)
Get the name of an alert event.
Definition: manage.c:1269
int scanner_type_valid(scanner_type_t scanner_type)
Check if a scanner type is valid.
Definition: manage.c:788
int type_is_scap(const char *type)
Check if a type is a SCAP type.
Definition: manage.c:739
int slave_get_relay(const char *original_host, int original_port, const char *original_ca_cert, const char *protocol, gchar **new_host, int *new_port, gchar **new_ca_cert)
Gets a relay hostname and port for a sensor scanner.
Definition: manage.c:3532
int start_task(const char *task_id, char **report_id)
Start a task.
Definition: manage.c:3694
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:1075
void alert_report_data_free(alert_report_data_t *data)
Frees a alert_report_data_t struct, including contained data.
Definition: manage.c:1206
int resume_task(const char *task_id, char **report_id)
Resume a task.
Definition: manage.c:3848
event_t event_from_name(const char *name)
Get an event from a name.
Definition: manage.c:1435
gchar * truncate_private_key(const gchar *private_key)
Truncate a private key, removing extra data.
Definition: manage.c:275
report_t global_current_report
The report of the current task.
Definition: manage.c:1195
alert_method_t alert_method_from_name(const char *name)
Get an alert method from a name.
Definition: manage.c:1460
void set_relay_migrate_sensors(int new_value)
Sets whether to migrate sensors if relays do not match.
Definition: manage.c:3382
gboolean next_report_type(report_type_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:4341
int severity_in_level(double severity, const char *level)
Check whether a severity falls within a threat level.
Definition: manage.c:834
int get_schedule_timeout()
Get the current schedule timeout.
Definition: manage.c:5464
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:4676
void manage_auth_allow_all(int scheduled)
Ensure that any subsequent authentications succeed.
Definition: manage.c:4653
alert_condition_t alert_condition_from_name(const char *name)
Get an alert condition from a name.
Definition: manage.c:1412
const char * run_status_name(task_status_t status)
Get the name of a run status.
Definition: manage.c:1500
credentials_t current_credentials
Current credentials during any GMP command.
Definition: manage.c:918
int get_scanner_connection_retry()
Get the number of retries on a scanner connection lost.
Definition: manage.c:3017
const char * manage_scap_update_time()
GET SCAP update time, as a string.
Definition: manage.c:6016
const char * report_type_iterator_title(report_type_iterator_t *iterator)
Return the title from a report type iterator.
Definition: manage.c:4369
const char * severity_to_level(double severity, int mode)
Get the threat level matching a severity score.
Definition: manage.c:857
gchar * get_nvt_xml(iterator_t *nvts, int details, int pref_count, int preferences, const char *timeout, config_t config, int close_tag)
Create and return XML description for an NVT.
Definition: manage.c:5708
const gchar * get_scheduled_user_uuid()
Access UUID of user that scheduled the current task.
Definition: manage.c:4664
const gchar * certificate_time_status(time_t activates, time_t expires)
Tests the activation and expiration time of a certificate.
Definition: manage.c:555
gboolean relay_supports_scanner_type(const char *original_host, int original_port, scanner_type_t type)
Gets whether there is a relay supporting the scanner type.
Definition: manage.c:3487
const char * alert_condition_name(alert_condition_t condition)
Get the name of an alert condition.
Definition: manage.c:1242
gchar * alert_condition_description(alert_condition_t condition, alert_t alert)
Get a description of an alert condition.
Definition: manage.c:1292
void cleanup_severity_data(severity_data_t *data)
Clean up a severity data structure.
Definition: manage.c:1063
void set_schedule_timeout(int new_timeout)
Set the schedule timeout.
Definition: manage.c:5475
void set_scanner_connection_retry(int new_retry)
Set the number of retries on a scanner connection lost.
Definition: manage.c:3028
void init_severity_data(severity_data_t *data)
Initialize a severity data structure.
Definition: manage.c:1046
const char * severity_to_type(double severity)
Get the message type matching a severity score.
Definition: manage.c:894
void manage_sync(sigset_t *sigmask_current, int(*fork_update_nvt_cache)(), gboolean try_gvmd_data_sync)
Perform any syncing that is due.
Definition: manage.c:5079
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:1093
void severity_data_level_counts(const severity_data_t *severity_data, int *errors, int *false_positives, int *logs, int *lows, int *mediums, int *highs)
Count the occurrences of severities in the levels.
Definition: manage.c:1143
gchar * event_description(event_t event, const void *event_data, const char *task_name)
Get a description of an alert event.
Definition: manage.c:1343
const char * type_name_plural(const char *type)
Return the plural name of a resource type.
Definition: manage.c:681
get_data_t * report_results_get_data(int first, int rows, int apply_overrides, int min_qod)
Create a new basic get_data_t struct to get report results.
Definition: manage.c:980
int get_certificate_info(const gchar *certificate, gssize certificate_len, time_t *activation_time, time_t *expiration_time, gchar **md5_fingerprint, gchar **sha256_fingerprint, gchar **subject, gchar **issuer, gchar **serial, gnutls_x509_crt_fmt_t *certificate_format)
Gathers info from a certificate.
Definition: manage.c:345
int manage_read_info(gchar *type, gchar *uid, gchar *name, gchar **result)
Read raw information.
Definition: manage.c:6067
const char * type_name(const char *type)
Return the name of a resource type.
Definition: manage.c:710
int manage_rebuild_gvmd_data_from_feed(const char *types, GSList *log_config, const db_conn_info_t *database, gchar **error_msg)
Rebuild configs, port lists and report formats from feed.
Definition: manage.c:5163
resource_t get_iterator_resource(iterator_t *iterator)
Get the resource from a GET iterator.
Definition: manage_get.c:112
user_t get_iterator_owner(iterator_t *iterator)
Get the owner from a GET iterator.
Definition: manage_get.c:187
int manage_migrate(GSList *log_config, const db_conn_info_t *database)
Migrate database to version supported by this manager.
Definition: manage_migrators.c:2767
gboolean manage_migrate_needs_timezone(GSList *log_config, const db_conn_info_t *database)
Check whether the migration needs the real timezone.
Definition: manage_migrators.c:2714
int manage_scap_loaded()
Check whether SCAP is available.
Definition: manage_pg.c:3422
int manage_cert_loaded()
Check whether CERT is available.
Definition: manage_pg.c:3406
void manage_session_set_timezone(const char *zone)
Setup session timezone.
Definition: manage_pg.c:74
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:6454
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:36384
int target_iterator_smb_trash(iterator_t *iterator)
Get the location of the SMB LSC credential from a target iterator.
Definition: manage_sql.c:32064
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:39128
const char * app_locations_iterator_location(iterator_t *iterator)
Get a location from an app locations iterator.
Definition: manage_sql.c:19682
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:29868
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:29119
const char * credential_iterator_community(iterator_t *iterator)
Get the SNMP community from a Credential iterator.
Definition: manage_sql.c:35598
char * target_port_range(target_t target)
Return the port range of a target, in GMP port range list format.
Definition: manage_sql.c:32583
int create_role(const char *role_name, const char *comment, const char *users, role_t *role)
Create a role.
Definition: manage_sql.c:44423
int manage_get_roles(GSList *log_config, const db_conn_info_t *database, int verbose)
List roles.
Definition: manage_sql.c:44327
int add_assets_from_host_in_report(report_t report, const char *host_ip)
Generates and adds assets from report host details.
Definition: manage_sql.c:49440
const char * aggregate_iterator_subgroup_value(iterator_t *iterator)
Get the value of the subgroup column from an aggregate iterator.
Definition: manage_sql.c:5668
void init_schedule_task_iterator(iterator_t *iterator, schedule_t schedule)
Initialise a schedule task iterator.
Definition: manage_sql.c:41364
double report_severity(report_t report, int overrides, int min_qod)
Get the maximum severity of a report.
Definition: manage_sql.c:24317
int init_group_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a group iterator, including observed groups.
Definition: manage_sql.c:42168
void update_duration_schedule_periods(task_t task)
Update tasks with limited run schedules which have durations.
Definition: manage_sql.c:18720
gchar * group_users(group_t group)
Gets users of group as a string.
Definition: manage_sql.c:42054
int task_upload_progress(task_t task)
Return the upload progress of a task.
Definition: manage_sql.c:17816
int delete_target(const char *target_id, int ultimate)
Delete a target.
Definition: manage_sql.c:31088
const char * alert_data_iterator_data(iterator_t *iterator)
Return the data from an alert data iterator.
Definition: manage_sql.c:8439
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:19969
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:18304
report_host_t manage_report_host_add(report_t report, const char *host, time_t start, time_t end)
Add a report host.
Definition: manage_sql.c:47347
void init_os_host_iterator(iterator_t *iterator, resource_t os)
Initialise an OS host iterator.
Definition: manage_sql.c:48748
int scanner_type(scanner_t scanner)
Return the type of a scanner.
Definition: manage_sql.c:39969
int report_count(const get_data_t *get)
Count number of reports.
Definition: manage_sql.c:21257
int role_writable(role_t role)
Check whether a role is writable.
Definition: manage_sql.c:44752
int trash_task_writable(task_t task)
Return whether a trashcan task is writable.
Definition: manage_sql.c:15177
int trash_group_in_use(group_t group)
Check whether a trashcan group is in use.
Definition: manage_sql.c:42112
task_t note_iterator_task(iterator_t *iterator)
Get the task from a note iterator.
Definition: manage_sql.c:36981
int target_in_use(target_t target)
Return whether a target is in use by a task.
Definition: manage_sql.c:32654
int create_filter(const char *name, const char *comment, const char *type, const char *term, filter_t *filter)
Create a filter.
Definition: manage_sql.c:45205
int delete_schedule(const char *schedule_id, int ultimate)
Delete a schedule.
Definition: manage_sql.c:40677
command_t gmp_commands[]
The GMP command list.
Definition: manage_sql.c:450
void set_task_name(task_t task, const char *name)
Set the name of a task.
Definition: manage_sql.c:29215
const char * result_iterator_original_level(iterator_t *iterator)
Get the original severity/threat level from a result iterator.
Definition: manage_sql.c:22641
char * task_config_uuid(task_t task)
Return the UUID of the config of a task.
Definition: manage_sql.c:17413
void set_db_version(int version)
Set the database version of the actual database.
Definition: manage_sql.c:5967
gchar * manage_clean_filter(const gchar *filter)
Clean a filter.
Definition: manage_sql.c:2370
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:33723
gboolean next_report(iterator_t *iterator, report_t *report)
Read the next report from an iterator.
Definition: manage_sql.c:21381
int init_filter_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a filter iterator, including observed filters.
Definition: manage_sql.c:45666
gchar * manage_report(report_t report, report_t delta_report, const get_data_t *get, const report_format_t report_format, int notes_details, int overrides_details, gsize *output_length, gchar **extension, gchar **content_type, gchar **filter_term_return, gchar **zone_return, gchar **host_summary)
Generate a report.
Definition: manage_sql.c:28410
void hosts_set_details(report_t report)
Store certain host details in the assets after a scan.
Definition: manage_sql.c:47808
int credential_writable(credential_t credential)
Check whether a Credential is writable.
Definition: manage_sql.c:35051
int trash_alert_writable(alert_t alert)
Return whether a trashcan alert is writable.
Definition: manage_sql.c:8180
scanner_t task_iterator_scanner(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15083
int trash_permission_in_use(permission_t permission)
Return whether a trashcan permission is referenced by a task.
Definition: manage_sql.c:43159
int create_asset_host(const char *host_name, const char *comment, resource_t *host_return)
Create a host asset.
Definition: manage_sql.c:48882
void set_scan_host_start_time_ctime(report_t report, const char *host, const char *timestamp)
Set the start time of a scanned host.
Definition: manage_sql.c:23754
int trash_credential_in_use(credential_t credential)
Check whether a trashcan Credential is in use.
Definition: manage_sql.c:35014
int request_delete_task(task_t *task_pointer)
Request deletion of a task.
Definition: manage_sql.c:29404
int scanner_iterator_port(iterator_t *iterator)
Get the port from an scanner iterator.
Definition: manage_sql.c:39544
void make_task_complete(task_t task)
Complete the creation of a task.
Definition: manage_sql.c:29200
int init_report_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a report iterator, including observed reports.
Definition: manage_sql.c:21294
int init_scanner_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an scanner iterator.
Definition: manage_sql.c:39516
char * alert_iterator_filter_name(iterator_t *iterator)
Return the filter name from an alert iterator.
Definition: manage_sql.c:8308
int scanner_iterator_type(iterator_t *iterator)
Get the type from an scanner iterator.
Definition: manage_sql.c:39560
char * setting_filter(const char *resource)
Return the uuid of a resource filter from settings.
Definition: manage_sql.c:49560
int trash_target_readable(target_t target)
Return whether a trashcan target is readable.
Definition: manage_sql.c:32386
int asset_iterator_in_use(iterator_t *iterator)
Get the "in use" status from an asset iterator.
Definition: manage_sql.c:48453
int trash_schedule_in_use(schedule_t schedule)
Return whether a trashcan schedule is in use by a task.
Definition: manage_sql.c:40812
void set_credential_public_key(credential_t credential, const char *public_key)
Set the public key of a Credential.
Definition: manage_sql.c:35323
void set_task_alterable(task_t task, int alterable)
Set the alterable state of a task.
Definition: manage_sql.c:18130
int manage_create_scanner(GSList *log_config, const db_conn_info_t *database, const char *name, const char *host, const char *port, const char *type, const char *ca_pub_path, const char *credential_id, const char *key_pub_path, const char *key_priv_path)
Create the given scanner.
Definition: manage_sql.c:38402
char * task_name(task_t task)
Return the name of a task.
Definition: manage_sql.c:17315
char * schedule_uuid(schedule_t schedule)
Return the UUID of a schedule.
Definition: manage_sql.c:40879
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:5629
int target_login_port(target_t target, const char *type)
Get a login port from a target.
Definition: manage_sql.c:30704
int trash_alert_in_use(alert_t alert)
Return whether a trashcan alert is in use by a task.
Definition: manage_sql.c:8151
int modify_permission(const char *permission_id, const char *name_arg, const char *comment, const char *resource_id_arg, const char *resource_type_arg, const char *subject_type, const char *subject_id)
Modify a permission.
Definition: manage_sql.c:43775
char * scanner_password(scanner_t scanner)
Return the password associated with a scanner.
Definition: manage_sql.c:40079
scanner_t task_scanner(task_t task)
Return the scanner of a task.
Definition: manage_sql.c:17553
int result_detection_reference(result_t result, report_t report, const char *host, const char *port, const char *path, char **oid, char **ref, char **product, char **location, char **name)
Get product detection results corresponding to a given vulnerability detection result.
Definition: manage_sql.c:19498
char * scanner_uuid(scanner_t scanner)
Return the UUID of a scanner.
Definition: manage_sql.c:39911
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:36809
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:29258
void set_task_config(task_t task, config_t config)
Set the config of a task.
Definition: manage_sql.c:17465
const char * task_iterator_hosts_ordering(iterator_t *iterator)
Get the hosts ordering value from a task iterator.
Definition: manage_sql.c:15069
char * scanner_key_pub(scanner_t scanner)
Return the Certificate of a scanner.
Definition: manage_sql.c:40002
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:23706
void set_task_target(task_t task, target_t target)
Set the target of a task.
Definition: manage_sql.c:17507
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:29916
int task_uuid(task_t task, char **id)
Return the UUID of a task.
Definition: manage_sql.c:17238
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:34349
int init_target_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a target iterator, including observed targets.
Definition: manage_sql.c:31972
gchar * credential_iterator_formats_xml(iterator_t *iterator)
Get XML of available formats for a credential iterator.
Definition: manage_sql.c:35802
int create_target(const char *name, const char *asset_hosts_filter, const char *hosts, const char *exclude_hosts, const char *comment, const char *port_list_id, const char *port_range, credential_t ssh_credential, credential_t ssh_elevate_credential, const char *ssh_port, credential_t smb_credential, credential_t esxi_credential, credential_t snmp_credential, const char *reverse_lookup_only, const char *reverse_lookup_unify, const char *alive_tests, const char *allow_simultaneous_ips, target_t *target)
Create a target.
Definition: manage_sql.c:30765
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:40516
gchar * filter_term_value(const char *term, const char *column)
Return the value of a column keyword of a filter term.
Definition: manage_sql.c:45108
int target_iterator_ssh_elevate_credential(iterator_t *iterator)
Get the ELEVATE LSC credential from a target iterator.
Definition: manage_sql.c:32246
int manage_empty_trashcan()
Empty the trashcan.
Definition: manage_sql.c:47094
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:34398
char * scanner_key_priv(scanner_t scanner)
Return the private key of a scanner.
Definition: manage_sql.c:40022
int delete_role(const char *role_id, int ultimate)
Delete a role.
Definition: manage_sql.c:44524
void init_app_locations_iterator(iterator_t *iterator, report_host_t report_host, const gchar *app)
Initialize an iterator of locations of an App for a report's host.
Definition: manage_sql.c:19644
int report_progress(report_t report)
Calculate the progress of a report.
Definition: manage_sql.c:26217
void init_host_prognosis_iterator(iterator_t *iterator, report_host_t report_host)
Initialise a report host prognosis iterator.
Definition: manage_sql.c:19695
int trash_schedule_readable(schedule_t schedule)
Return whether a trashcan schedule is readable.
Definition: manage_sql.c:40854
int group_in_use(group_t group)
Check whether a group is in use.
Definition: manage_sql.c:42099
int permission_iterator_resource_orphan(iterator_t *iterator)
Check if the permission resource has been deleted.
Definition: manage_sql.c:43434
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:19215
int group_count(const get_data_t *get)
Count number of groups.
Definition: manage_sql.c:42149
int schedule_in_use(schedule_t schedule)
Return whether a schedule is in use by a task.
Definition: manage_sql.c:40798
char * alert_iterator_filter_uuid(iterator_t *iterator)
Return the filter UUID from an alert iterator.
Definition: manage_sql.c:8283
const char * credential_iterator_private_key(iterator_t *iterator)
Get the private_key from a Credential iterator.
Definition: manage_sql.c:35583
int schedule_info(schedule_t schedule, int trash, gchar **icalendar, gchar **zone)
Return info about a schedule.
Definition: manage_sql.c:40966
void xml_append_nvt_refs(GString *xml, const char *oid, int *first)
Append an NVT's references to an XML string buffer.
Definition: manage_sql.c:22982
char * permission_uuid(permission_t permission)
Return the UUID of a permission.
Definition: manage_sql.c:42986
int task_schedule_periods_uuid(const gchar *task_id)
Set the next time a scheduled task will be due.
Definition: manage_sql.c:18410
char * task_config_name(task_t task)
Return the name of the config of a task.
Definition: manage_sql.c:17432
int asset_iterator_writable(iterator_t *iterator)
Get the writable status from an asset iterator.
Definition: manage_sql.c:48439
int target_iterator_snmp_credential(iterator_t *iterator)
Get the SNMP LSC credential from a target iterator.
Definition: manage_sql.c:32214
void manage_cleanup_process_error(int signal)
Cleanup as immediately as possible.
Definition: manage_sql.c:16604
int init_manage(GSList *log_config, const db_conn_info_t *database, int max_ips_per_target, int max_email_attachment_size, int max_email_include_size, int max_email_message_size, manage_connection_forker_t fork_connection, int skip_db_check)
Initialize the manage library.
Definition: manage_sql.c:16503
int asset_os_iterator_installs(iterator_t *iterator)
Get the number of installs from an asset OS iterator.
Definition: manage_sql.c:48684
void set_task_scanner(task_t task, scanner_t scanner)
Set the scanner of a task.
Definition: manage_sql.c:17578
int modify_setting(const gchar *uuid, const gchar *name, const gchar *value_64, gchar **r_errdesc)
Set the value of a setting.
Definition: manage_sql.c:49843
int note_uuid(note_t note, char **id)
Return the UUID of a note.
Definition: manage_sql.c:36356
int task_schedule_periods(task_t task)
Get the number of times the period schedule should run on the task.
Definition: manage_sql.c:18397
int authenticate(credentials_t *credentials)
Authenticate credentials.
Definition: manage_sql.c:17043
int filter_writable(filter_t filter)
Check whether a filter is writable.
Definition: manage_sql.c:45593
target_t task_target(task_t task)
Return the target of a task.
Definition: manage_sql.c:17481
report_t task_running_report(task_t task)
Return the running report of a task.
Definition: manage_sql.c:17746
report_t make_report(task_t task, const char *uuid, task_status_t status)
Make a report.
Definition: manage_sql.c:20202
const char * override_iterator_new_threat(iterator_t *iterator)
Get the threat from an override iterator.
Definition: manage_sql.c:38257
int manage_scap_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5897
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:39003
int schedule_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:41419
int task_in_use(task_t task)
Return whether a task is in use by a task.
Definition: manage_sql.c:15111
void init_host_detail_iterator(iterator_t *iterator, resource_t host)
Initialise an asset host detail iterator.
Definition: manage_sql.c:48784
schedule_t task_schedule(task_t task)
Return the schedule of a task.
Definition: manage_sql.c:18321
int target_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:32771
char * scanner_login(scanner_t scanner)
Return the login associated with a scanner.
Definition: manage_sql.c:40061
void report_compliance_by_uuid(const char *report_id, int *compliance_yes, int *compliance_no, int *compliance_incomplete)
Get compliance counts for a report.
Definition: manage_sql.c:20813
int trash_filter_in_use(filter_t filter)
Check whether a trashcan filter is in use.
Definition: manage_sql.c:45565
osp_connection_t * osp_scanner_connect(scanner_t scanner)
Create a new connection to an OSP scanner.
Definition: manage_sql.c:40286
void set_credential_privacy_algorithm(credential_t credential, const char *algorithm)
Set the privacy_algorithm of a Credential.
Definition: manage_sql.c:35218
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:37121
gboolean report_task(report_t report, task_t *task)
Return the task of a report.
Definition: manage_sql.c:20784
int task_config_in_trash(task_t task)
Return whether the config of a task is in the trashcan.
Definition: manage_sql.c:17451
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:13782
char * trash_scanner_name(scanner_t scanner)
Return the name of a scanner in the trashcan.
Definition: manage_sql.c:40121
int delete_alert(const char *alert_id, int ultimate)
Delete an alert.
Definition: manage_sql.c:7810
char * target_allow_simultaneous_ips(target_t target)
Return the allow_simultaneous_ips value of a target.
Definition: manage_sql.c:32469
gchar * task_second_last_report_id(task_t task)
Get report ID from second most recently completed invocation of task.
Definition: manage_sql.c:18048
int schedule_duration(schedule_t schedule)
Return the duration of a schedule.
Definition: manage_sql.c:40949
int group_writable(group_t group)
Check whether a group is writable.
Definition: manage_sql.c:42073
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:38068
int manage_resource_name(const char *type, const char *uuid, char **name)
Get the name of a resource.
Definition: manage_sql.c:4688
void set_scan_start_time_epoch(report_t report, time_t timestamp)
Set the start time of a scan.
Definition: manage_sql.c:23573
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:25714
void set_task_end_time(task_t task, char *time)
Set the end time of a task.
Definition: manage_sql.c:23489
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:7173
const char * task_iterator_usage_type(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15097
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:40658
int copy_role(const char *name, const char *comment, const char *role_id, role_t *new_role_return)
Create a role from an existing role.
Definition: manage_sql.c:44365
int manage_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5871
void set_scan_end_time_ctime(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23666
void manage_report_filter_controls(const gchar *filter, int *first, int *max, gchar **sort_field, int *sort_order, int *result_hosts_only, gchar **min_qod, gchar **levels, gchar **delta_states, gchar **search_phrase, int *search_phrase_exact, int *notes, int *overrides, int *apply_overrides, gchar **zone)
Get info from a result filter for a report.
Definition: manage_sql.c:2026
int alert_count(const get_data_t *get)
Count the number of alerts.
Definition: manage_sql.c:8120
int manage_cert_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5942
time_t note_iterator_end_time(iterator_t *iterator)
Get the end time from an note iterator.
Definition: manage_sql.c:37010
const char * alert_task_iterator_uuid(iterator_t *iterator)
Return the uuid from an alert task iterator.
Definition: manage_sql.c:14510
char * scanner_host(scanner_t scanner)
Return the host of a scanner.
Definition: manage_sql.c:39936
int set_task_schedule(task_t task, schedule_t schedule, int periods)
Set the schedule of a task.
Definition: manage_sql.c:18216
int modify_target(const char *target_id, const char *name, const char *hosts, const char *exclude_hosts, const char *comment, const char *port_list_id, const char *ssh_credential_id, const char *ssh_elevate_credential_id, const char *ssh_port, const char *smb_credential_id, const char *esxi_credential_id, const char *snmp_credential_id, const char *reverse_lookup_only, const char *reverse_lookup_unify, const char *alive_tests, const char *allow_simultaneous_ips)
Modify a target.
Definition: manage_sql.c:31254
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:29767
gchar ** result_iterator_dfn_certs(iterator_t *iterator)
Get DFN-CERTs from a result iterator.
Definition: manage_sql.c:22926
int alert_iterator_filter_readable(iterator_t *iterator)
Return the filter readable state from an alert iterator.
Definition: manage_sql.c:8351
task_t make_task(char *name, char *comment, int in_assets, int event)
Make a task.
Definition: manage_sql.c:29150
const char * result_iterator_original_severity(iterator_t *iterator)
Get the original severity from a result iterator.
Definition: manage_sql.c:22618
char * target_uuid(target_t target)
Return the UUID of a target.
Definition: manage_sql.c:32302
char * filter_uuid(filter_t filter)
Return the UUID of a filter.
Definition: manage_sql.c:45033
int scan_start_time_epoch(report_t report)
Get the start time of a scan, in seconds since the epoch.
Definition: manage_sql.c:23542
void init_credential_iterator_one(iterator_t *iterator, credential_t credential)
Initialise a Credential iterator, given a single Credential.
Definition: manage_sql.c:35389
int task_target_in_trash(task_t task)
Return whether the target of a task is in the trashcan.
Definition: manage_sql.c:17538
char * trash_target_name(target_t target)
Return the name of a trashcan target.
Definition: manage_sql.c:32344
int trash_schedule_writable(schedule_t schedule)
Return whether a trashcan schedule is writable.
Definition: manage_sql.c:40841
int scanner_in_use(scanner_t scanner)
Check whether an scanner is in use.
Definition: manage_sql.c:39810
char * trash_schedule_name(schedule_t schedule)
Return the name of a trash schedule.
Definition: manage_sql.c:40921
const char * keyword_relation_symbol(keyword_relation_t relation)
Get the symbol of a keyword relation.
Definition: manage_sql.c:1055
int scanner_iterator_credential_trash(iterator_t *iterator)
Get the credential location of the scanner from a scanner iterator.
Definition: manage_sql.c:39612
void manage_transaction_start()
Start a new IMMEDIATE transaction.
Definition: manage_sql.c:30447
void init_host_identifier_iterator(iterator_t *iterator, host_t host, int ascending, const char *sort_field)
Initialise a host identifier iterator.
Definition: manage_sql.c:48152
gchar * manage_user_hash(const gchar *username)
Get user hash.
Definition: manage_sql.c:16642
int alert_writable(alert_t alert)
Return whether a alert is writable.
Definition: manage_sql.c:8167
int manage_delete_scanner(GSList *log_config, const db_conn_info_t *database, const gchar *uuid)
Delete the given scanner.
Definition: manage_sql.c:38584
int init_alert_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an alert iterator, including observed alerts.
Definition: manage_sql.c:8195
char * trash_scanner_uuid(scanner_t scanner)
Return the UUID of a scanner in the trashcan.
Definition: manage_sql.c:40135
char * trash_schedule_uuid(schedule_t schedule)
Return the UUID of a trash schedule.
Definition: manage_sql.c:40893
int host_iterator_max_port(iterator_t *iterator)
Get the max port from a host iterator.
Definition: manage_sql.c:23238
int role_count(const get_data_t *get)
Count number of roles.
Definition: manage_sql.c:44968
char * scanner_name(scanner_t scanner)
Return the name of a scanner.
Definition: manage_sql.c:39897
int trash_group_writable(group_t group)
Check whether a trashcan group is writable.
Definition: manage_sql.c:42086
int scanner_count(const get_data_t *get)
Count number of scanners.
Definition: manage_sql.c:40149
char * credential_iterator_rpm(iterator_t *iterator)
Get the rpm from a Credential iterator.
Definition: manage_sql.c:35627
const char * override_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a override iterator.
Definition: manage_sql.c:38344
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:18014
char * result_host_asset_id(const char *host, result_t result)
Return the UUID of the asset associated with a result host.
Definition: manage_sql.c:47298
int permission_writable(permission_t permission)
Return whether a permission is writable.
Definition: manage_sql.c:43172
int aggregate_iterator_count(iterator_t *iterator)
Get the count from an aggregate iterator.
Definition: manage_sql.c:5549
int target_iterator_smb_credential(iterator_t *iterator)
Get the SMB LSC credential from a target iterator.
Definition: manage_sql.c:32032
int target_count(const get_data_t *get)
Count number of targets.
Definition: manage_sql.c:31930
int task_scanner_in_trash(task_t task)
Return whether the scanner of a task is in the trashcan.
Definition: manage_sql.c:17594
int modify_asset(const char *asset_id, const char *comment)
Modify an asset.
Definition: manage_sql.c:49070
int task_schedule_in_trash(task_t task)
Get whether the task schedule is in the trash.
Definition: manage_sql.c:18381
report_t result_iterator_report(iterator_t *iterator)
Get the report from a result iterator.
Definition: manage_sql.c:22571
gchar * filter_term(const char *uuid)
Return the term of a filter.
Definition: manage_sql.c:45089
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:18910
int delete_report(const char *report_id, int dummy)
Delete a report.
Definition: manage_sql.c:24466
int trash_filter_writable(filter_t filter)
Check whether a trashcan filter is writable.
Definition: manage_sql.c:45606
char * trash_credential_name(credential_t credential)
Get the name of an LSC credential in the trashcan.
Definition: manage_sql.c:35884
int manage_modify_scanner(GSList *log_config, const db_conn_info_t *database, const char *scanner_id, const char *name, const char *host, const char *port, const char *type, const char *ca_pub_path, const char *credential_id, const char *key_pub_path, const char *key_priv_path)
Modify the given scanner.
Definition: manage_sql.c:38656
char * group_uuid(group_t group)
Return the UUID of a group.
Definition: manage_sql.c:42040
task_status_t task_run_status(task_t task)
Return the run state of a task.
Definition: manage_sql.c:17627
int credential_count(const get_data_t *get)
Count number of LSC Credentials.
Definition: manage_sql.c:34964
int permission_iterator_resource_in_trash(iterator_t *iterator)
Return the permission resource location.
Definition: manage_sql.c:43420
char * task_observers(task_t task)
Return the observers of a task.
Definition: manage_sql.c:17357
int target_iterator_esxi_credential(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:32182
int target_iterator_snmp_trash(iterator_t *iterator)
Get the SNMP LSC credential location from a target iterator.
Definition: manage_sql.c:32230
char * target_ssh_port(target_t target)
Return the SSH LSC port of a target.
Definition: manage_sql.c:32483
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:7431
int delete_group(const char *group_id, int ultimate)
Delete a group.
Definition: manage_sql.c:41880
void hosts_set_max_severity(report_t report, int *overrides_arg, int *min_qod_arg)
Set the maximum severity of each host in a scan.
Definition: manage_sql.c:47733
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:35758
int create_group(const char *group_name, const char *comment, const char *users, int special_full, group_t *group)
Create a group.
Definition: manage_sql.c:41806
void manage_transaction_stop(gboolean force_commit)
Commit the current transaction, if any.
Definition: manage_sql.c:30467
void trim_partial_report(report_t report)
Prepare a partial report for resumption of the scan.
Definition: manage_sql.c:24600
void init_report_iterator_task(iterator_t *iterator, task_t task)
Initialise a report iterator.
Definition: manage_sql.c:21354
char * report_finished_hosts_str(report_t report)
Get a list string of finished hosts in a report.
Definition: manage_sql.c:25856
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:37455
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:40332
void set_scan_end_time(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23648
int trash_target_in_use(target_t target)
Return whether a trashcan target is referenced by a task.
Definition: manage_sql.c:32671
int setting_count(const char *filter)
Count number of settings.
Definition: manage_sql.c:49520
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:30340
void set_scan_end_time_epoch(report_t report, time_t timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23634
double prognosis_iterator_cvss_double(iterator_t *iterator)
Get the CVSS from a result iterator as a double.
Definition: manage_sql.c:19729
int alert_in_use(alert_t alert)
Return whether a alert is in use by a task.
Definition: manage_sql.c:8137
int manage_verify_scanner(GSList *log_config, const db_conn_info_t *database, const gchar *uuid)
Verify the given scanner.
Definition: manage_sql.c:38880
time_t override_iterator_end_time(iterator_t *iterator)
Get the end time from an override iterator.
Definition: manage_sql.c:38302
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:5833
void init_target_task_iterator(iterator_t *iterator, target_t target)
Initialise a target task iterator.
Definition: manage_sql.c:32714
gboolean find_resource(const char *type, const char *uuid, resource_t *resource)
Find a resource given a UUID.
Definition: manage_sql.c:4128
gboolean find_trash_task_with_permission(const char *uuid, task_t *task, const char *permission)
Find a task in the trashcan for a specific permission, given a UUID.
Definition: manage_sql.c:29815
int report_host_count(report_t report)
Count a report's total number of hosts.
Definition: manage_sql.c:25698
config_t task_config(task_t task)
Return the config of a task.
Definition: manage_sql.c:17386
int target_iterator_esxi_trash(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:32198
void cleanup_manage_process(gboolean cleanup)
Cleanup the manage library.
Definition: manage_sql.c:16567
void set_task_start_time_epoch(task_t task, int time)
Set the start time of a task.
Definition: manage_sql.c:17846
double aggregate_iterator_sum(iterator_t *iterator, int data_column_index)
Get the sum from a statistics iterator.
Definition: manage_sql.c:5611
int result_iterator_may_have_tickets(iterator_t *iterator)
Get whether tickets may exist from a result iterator.
Definition: manage_sql.c:22826
int trash_scanner_readable(scanner_t scanner)
Return whether a trashcan scanner is readable.
Definition: manage_sql.c:39872
void set_task_hosts_ordering(task_t task, const char *ordering)
Set the hosts ordering of a task.
Definition: manage_sql.c:17522
int init_role_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a role iterator, including observed roles.
Definition: manage_sql.c:44987
int filter_term_min_qod(const char *term)
Return the value of the min_qod keyword of a filter term.
Definition: manage_sql.c:45173
credential_t scanner_iterator_credential(iterator_t *iterator)
Get the credential of the scanner from a scanner iterator.
Definition: manage_sql.c:39596
int report_timestamp(const char *report_id, gchar **timestamp)
Get the timestamp of a report.
Definition: manage_sql.c:23783
int result_uuid(result_t result, char **id)
Return the UUID of a result.
Definition: manage_sql.c:19473
const char * alert_task_iterator_name(iterator_t *iterator)
Return the name from an alert task iterator.
Definition: manage_sql.c:14494
char * filter_name(filter_t filter)
Return the name of a filter.
Definition: manage_sql.c:45061
int scanner_writable(scanner_t scanner)
Check whether a scanner is writable.
Definition: manage_sql.c:39846
void set_task_usage_type(task_t task, const char *usage_type)
Set the usage_type of a task.
Definition: manage_sql.c:17607
gchar ** result_iterator_cert_bunds(iterator_t *iterator)
Get CERT-BUNDs from a result iterator.
Definition: manage_sql.c:22912
int copy_note(const char *note_id, note_t *new_note)
Create a note from an existing note.
Definition: manage_sql.c:36256
char * alert_uuid(alert_t alert)
Return the UUID of an alert.
Definition: manage_sql.c:7963
int modify_role(const char *role_id, const char *name, const char *comment, const char *users)
Modify a role.
Definition: manage_sql.c:44811
int init_credential_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a Credential iterator.
Definition: manage_sql.c:35416
int alert_iterator_active(iterator_t *iterator)
Return the active state from an alert.
Definition: manage_sql.c:8384
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:19442
int copy_override(const char *override_id, override_t *new_override)
Create a override from an existing override.
Definition: manage_sql.c:37313
int qod_from_type(const char *qod_type)
Get QoD percentage for a qod_type string.
Definition: manage_sql.c:19069
int manage_test_alert(const char *alert_id, gchar **script_message)
Test an alert.
Definition: manage_sql.c:13882
int delete_filter(const char *filter_id, int ultimate)
Delete a filter.
Definition: manage_sql.c:45310
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:18147
int asset_host_count(const get_data_t *get)
Count number of hosts.
Definition: manage_sql.c:48477
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:23089
char * target_hosts(target_t target)
Return the hosts associated with a target.
Definition: manage_sql.c:32412
int result_iterator_may_have_overrides(iterator_t *iterator)
Get whether overrides may exist from a result iterator.
Definition: manage_sql.c:22812
void set_task_run_status(task_t task, task_status_t status)
Set the run state of a task.
Definition: manage_sql.c:17698
int manage_task_remove_file(const gchar *task_id, const char *name)
Remove a file on a task.
Definition: manage_sql.c:29973
char * tag_uuid(tag_t tag)
Return the UUID of a tag.
Definition: manage_sql.c:32288
const char * result_iterator_nvt_solution_method(iterator_t *iterator)
Get the NVT solution_method from a result iterator.
Definition: manage_sql.c:22968
void init_report_errors_iterator(iterator_t *iterator, report_t report)
Initialise a report errors iterator.
Definition: manage_sql.c:23264
void set_task_end_time_epoch(task_t task, time_t time)
Set the end time of a task.
Definition: manage_sql.c:23510
void add_task_alert(task_t task, alert_t alert)
Add an alert to a task.
Definition: manage_sql.c:18064
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:20276
gboolean find_filter_with_permission(const char *uuid, filter_t *filter, const char *permission)
Find a filter for a specific permission, given a UUID.
Definition: manage_sql.c:45019
int manage_restore(const char *id)
Restore a resource from the trashcan.
Definition: manage_sql.c:46126
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:29781
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:30079
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:17116
char * task_comment(task_t task)
Return the comment of a task.
Definition: manage_sql.c:17329
void manage_reset_currents()
Cleanup as immediately as possible.
Definition: manage_sql.c:16625
int task_iterator_finished_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15055
int alert_iterator_filter_trash(iterator_t *iterator)
Return the location of an alert iterator filter.
Definition: manage_sql.c:8333
int target_iterator_ssh_trash(iterator_t *iterator)
Get the location of the SSH LSC credential from a target iterator.
Definition: manage_sql.c:32048
int init_permission_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a permission iterator.
Definition: manage_sql.c:43367
int permission_count(const get_data_t *get)
Count number of permissions.
Definition: manage_sql.c:43347
gchar * host_routes_xml(host_t host)
Get XML of a detailed host route.
Definition: manage_sql.c:47861
int delete_override(const char *override_id, int ultimate)
Delete a override.
Definition: manage_sql.c:37330
int role_in_use(role_t role)
Check whether a role is in use.
Definition: manage_sql.c:44780
const char * result_iterator_severity(iterator_t *iterator)
Get the severity from a result iterator.
Definition: manage_sql.c:22670
void clear_duration_schedules(task_t task)
Clear once-off schedules from tasks where the duration has passed.
Definition: manage_sql.c:18675
void init_credential_scanner_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential scanner iterator.
Definition: manage_sql.c:36017
int alert_iterator_condition(iterator_t *iterator)
Return the condition from an alert iterator.
Definition: manage_sql.c:8237
const char * target_iterator_alive_tests(iterator_t *iterator)
Get the alive test description from a target iterator.
Definition: manage_sql.c:32143
int create_schedule(const char *name, const char *comment, const char *ical_string, const char *zone, schedule_t *schedule, gchar **error_out)
Create a schedule.
Definition: manage_sql.c:40537
int init_schedule_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a schedule iterator.
Definition: manage_sql.c:41054
int copy_filter(const char *name, const char *comment, const char *filter_id, filter_t *new_filter)
Create a filter from an existing filter.
Definition: manage_sql.c:45293
result_t result_iterator_result(iterator_t *iterator)
Get the result from a result iterator.
Definition: manage_sql.c:22472
int manage_scap_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5908
void init_setting_iterator(iterator_t *iterator, const char *uuid, const char *filter, int first, int max, int ascending, const char *sort_field)
Initialise a setting iterator, including observed settings.
Definition: manage_sql.c:49633
double aggregate_iterator_min(iterator_t *iterator, int data_column_index)
Get the minimum from an aggregate iterator.
Definition: manage_sql.c:5563
void report_host_set_end_time(report_host_t report_host, time_t end_time)
Set end time of a report host.
Definition: manage_sql.c:47404
const char * task_iterator_last_report(iterator_t *iterator)
Get the last report UUID from a task iterator.
Definition: manage_sql.c:15041
int override_iterator_active(iterator_t *iterator)
Get the active status from an override iterator.
Definition: manage_sql.c:38318
int alert_iterator_method(iterator_t *iterator)
Return the method from an alert iterator.
Definition: manage_sql.c:8253
int filter_alert_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:45785
int note_iterator_active(iterator_t *iterator)
Get the active status from an note iterator.
Definition: manage_sql.c:37026
int trash_target_writable(target_t target)
Return whether a trashcan target is writable.
Definition: manage_sql.c:32700
void reset_task(task_t task)
Reset all running information for a task.
Definition: manage_sql.c:29897
array_t * split_filter(const gchar *given_filter)
Split the filter term into parts.
Definition: manage_sql.c:1658
int manage_schema(gchar *format, gchar **output_return, gsize *output_length, gchar **extension, gchar **content_type)
Generate the GMP schema.
Definition: manage_sql.c:45916
int permission_iterator_subject_readable(iterator_t *iterator)
Get the readable status of a subject from a permission iterator.
Definition: manage_sql.c:43529
int delete_note(const char *note_id, int ultimate)
Delete a note.
Definition: manage_sql.c:36273
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:38933
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:36679
int permission_in_use(permission_t permission)
Return whether a permission is in use.
Definition: manage_sql.c:43146
int schedule_writable(schedule_t schedule)
Return whether a schedule is writable.
Definition: manage_sql.c:40828
const char * alert_data_iterator_name(iterator_t *iterator)
Return the name from an alert data iterator.
Definition: manage_sql.c:8422
void init_manage_process(const db_conn_info_t *database)
Initialize the manage library for a process.
Definition: manage_sql.c:15261
const char * note_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a note iterator.
Definition: manage_sql.c:37052
int manage_max_hosts()
Get the maximum allowed number of hosts per target.
Definition: manage_sql.c:30299
int delete_scanner(const char *scanner_id, int ultimate)
Delete a scanner.
Definition: manage_sql.c:39310
credential_t target_credential(target_t target, const char *type)
Get a credential from a target.
Definition: manage_sql.c:30665
void init_credential_target_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential target iterator.
Definition: manage_sql.c:35940
report_t task_iterator_current_report(iterator_t *iterator)
Return the current report of a task.
Definition: manage_sql.c:17772
void hosts_set_identifiers(report_t report)
Setup hosts and their identifiers after a scan, from host details.
Definition: manage_sql.c:47462
int filter_in_use(filter_t filter)
Check whether a filter is in use.
Definition: manage_sql.c:45475
gchar * credential_value(credential_t credential, const char *value_name)
Get a value from a credential.
Definition: manage_sql.c:35078
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:8403
const char * result_iterator_level(iterator_t *iterator)
Get the severity/threat level from a result iterator.
Definition: manage_sql.c:22712
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:17917
int manage_send_report(report_t report, report_t delta_report, report_format_t report_format, const get_data_t *get, int notes_details, int overrides_details, int result_tags, int ignore_pagination, int lean, int base64, gboolean(*send)(const char *, int(*)(const char *, void *), void *), int(*send_data_1)(const char *, void *), void *send_data_2, const char *alert_id, const gchar *prefix)
Generate a report.
Definition: manage_sql.c:28584
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:18279
int trash_role_writable(role_t role)
Check whether a trashcan role is writable.
Definition: manage_sql.c:44767
const char * override_iterator_threat(iterator_t *iterator)
Get the threat from a override iterator.
Definition: manage_sql.c:38241
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:37937
int schedule_period(schedule_t schedule)
Return the period of a schedule.
Definition: manage_sql.c:40935
int trash_scanner_writable(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:39859
int override_uuid(override_t override, char **id)
Return the UUID of an override.
Definition: manage_sql.c:37296
task_t result_iterator_task(iterator_t *iterator)
Get the task from a result iterator.
Definition: manage_sql.c:22557
int manage_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5859
int copy_group(const char *name, const char *comment, const char *group_id, group_t *new_group_return)
Create a group from an existing group.
Definition: manage_sql.c:41622
int task_alterable(task_t task)
Return whether a task is an Alterable Task.
Definition: manage_sql.c:15147
result_t make_osp_result(task_t task, const char *host, const char *hostname, const char *nvt, const char *type, const char *description, const char *port, const char *severity, int qod, const char *path)
Make an OSP result.
Definition: manage_sql.c:18973
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:1843
void init_scanner_config_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner config iterator.
Definition: manage_sql.c:39675
int init_task_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a task iterator.
Definition: manage_sql.c:14921
int task_in_trash(task_t task)
Return whether a task is in the trashcan.
Definition: manage_sql.c:17253
int target_writable(target_t target)
Return whether a target is writable.
Definition: manage_sql.c:32687
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:22595
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:39098
int delete_task(task_t task, int ultimate)
Complete deletion of a task.
Definition: manage_sql.c:29607
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:7516
int scanner_config_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:39729
char * host_uuid(resource_t host)
Return the UUID of a host.
Definition: manage_sql.c:47330
const char * result_iterator_nvt_solution_type(iterator_t *iterator)
Get the NVT solution_type from a result iterator.
Definition: manage_sql.c:22954
int modify_schedule(const char *schedule_id, const char *name, const char *comment, const char *ical_string, const char *zone, gchar **error_out)
Modify a schedule.
Definition: manage_sql.c:41442
int task_result_count(task_t task, int min_qod)
Return number of results in a task.
Definition: manage_sql.c:17728
int copy_permission(const char *comment, const char *permission_id, permission_t *new_permission)
Create a permission from an existing permission.
Definition: manage_sql.c:42910
int create_asset_report(const char *report_id, const char *term)
Create all available assets from a report.
Definition: manage_sql.c:48951
void set_task_start_time_ctime(task_t task, char *time)
Set the start time of a task.
Definition: manage_sql.c:17861
int scan_host_end_time(report_t report, const char *host)
Get the end time of a scanned host.
Definition: manage_sql.c:23685
gchar * manage_clean_filter_remove(const gchar *filter, const gchar *column)
Clean a filter, removing a keyword in the process.
Definition: manage_sql.c:2285
int task_average_scan_duration(task_t task)
Get the average duration of all finished reports of a task.
Definition: manage_sql.c:15192
char * target_exclude_hosts(target_t target)
Return the excluded hosts associated with a target.
Definition: manage_sql.c:32427
char * target_name(target_t target)
Return the name of a target.
Definition: manage_sql.c:32330
int task_writable(task_t task)
Return whether a task is writable.
Definition: manage_sql.c:15162
char * task_owner_name(task_t task)
Return the name of the owner of a task.
Definition: manage_sql.c:17285
int delete_credential(const char *credential_id, int ultimate)
Delete a Credential.
Definition: manage_sql.c:34716
const char * aggregate_iterator_value(iterator_t *iterator)
Get the value of the group column from a statistics iterator.
Definition: manage_sql.c:5651
int task_iterator_total_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:14999
task_t override_iterator_task(iterator_t *iterator)
Get the task from a override iterator.
Definition: manage_sql.c:38273
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:40362
int create_permission(const char *name_arg, const char *comment, const char *resource_type_arg, const char *resource_id_arg, const char *subject_type, const char *subject_id, permission_t *permission)
Create a permission.
Definition: manage_sql.c:42849
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:22317
char * task_hosts_ordering(task_t task)
Return the hosts ordering of a task.
Definition: manage_sql.c:17343
result_t note_iterator_result(iterator_t *iterator)
Get the result from a note iterator.
Definition: manage_sql.c:36995
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:31053
int manage_trash_resource_name(const char *type, const char *uuid, char **name)
Get the name of a trashcan resource.
Definition: manage_sql.c:4703
int result_count(const get_data_t *get, report_t report, const char *host)
Count the number of results.
Definition: manage_sql.c:22413
const char * filter_iterator_type(iterator_t *iterator)
Get the type from a filter iterator.
Definition: manage_sql.c:45693
void set_scan_start_time_ctime(report_t report, const char *timestamp)
Set the start time of a scan.
Definition: manage_sql.c:23586
int manage_decrypt_all_credentials(GSList *log_config, const db_conn_info_t *database)
Decrypt all credentials.
Definition: manage_sql.c:6151
task_status_t task_iterator_run_status(iterator_t *iterator)
Get the run status from a task iterator.
Definition: manage_sql.c:14983
char * target_reverse_lookup_only(target_t target)
Return the reverse_lookup_only value of a target.
Definition: manage_sql.c:32441
int trash_permission_writable(permission_t permission)
Return whether a trashcan permission is writable.
Definition: manage_sql.c:43187
unsigned int task_count(const get_data_t *get)
Return the number of tasks associated with the current user.
Definition: manage_sql.c:17184
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:18450
char * credential_uuid(credential_t credential)
Get the UUID of a Credential.
Definition: manage_sql.c:35841
void set_scan_host_end_time_ctime(report_t report, const char *host, const char *timestamp)
Set the end time of a scanned host.
Definition: manage_sql.c:23730
int set_task_observers(task_t task, const gchar *observers)
Set the observers of a task.
Definition: manage_sql.c:18535
char * target_reverse_lookup_unify(target_t target)
Return the reverse_lookup_unify value of a target.
Definition: manage_sql.c:32455
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:30325
void filter_free(array_t *split)
Free a split filter.
Definition: manage_sql.c:1574
int check_private_key(const char *key_str, const char *key_phrase)
Check that a string represents a valid Private Key.
Definition: manage_sql.c:33678
int asset_os_count(const get_data_t *get)
Count number of oss.
Definition: manage_sql.c:48728
int target_iterator_port_list_trash(iterator_t *iterator)
Get the location of the port list from a target iterator.
Definition: manage_sql.c:32098
gchar * credential_encrypted_value(credential_t credential, const char *value_name)
Get a possibly encrypted credential value in decrypted form.
Definition: manage_sql.c:35098
int scanner_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:39796
int schedule_count(const get_data_t *get)
Count the number of schedules.
Definition: manage_sql.c:41035
int manage_cert_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5931
int cleanup_result_nvts()
Check if the result_nvts are assigned to result.
Definition: manage_sql.c:23011
int request_delete_task_uuid(const char *task_id, int ultimate)
Request deletion of a task.
Definition: manage_sql.c:29457
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:28820
const char * result_iterator_nvt_name(iterator_t *iterator)
Get the NVT name from a result iterator.
Definition: manage_sql.c:22940
int create_report(array_t *results, const char *task_id, const char *in_assets, const char *scan_start, const char *scan_end, array_t *host_starts, array_t *host_ends, array_t *details, char **report_id)
Create a report from an array of results.
Definition: manage_sql.c:20343
int target_iterator_ssh_credential(iterator_t *iterator)
Get the SSH LSC credential from a target iterator.
Definition: manage_sql.c:32007
char * scan_end_time_uuid(const char *uuid)
Get the end time of a scan.
Definition: manage_sql.c:23617
int trash_role_in_use(role_t role)
Check whether a trashcan role is in use.
Definition: manage_sql.c:44793
int trash_credential_readable(credential_t credential)
Return whether a trashcan credential is readable.
Definition: manage_sql.c:35913
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:37094
void init_alert_task_iterator(iterator_t *iterator, alert_t alert, int ascending)
Initialise an alert task iterator.
Definition: manage_sql.c:14454
int credential_in_use(credential_t credential)
Check whether a Credential is in use.
Definition: manage_sql.c:34981
char * credential_iterator_exe(iterator_t *iterator)
Get the exe from a Credential iterator.
Definition: manage_sql.c:35723
int modify_filter(const char *filter_id, const char *name, const char *comment, const char *term, const char *type)
Modify a filter.
Definition: manage_sql.c:45806
const char * credential_iterator_password(iterator_t *iterator)
Get the password from a Credential iterator.
Definition: manage_sql.c:35568
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:29799
void init_scanner_task_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner task iterator.
Definition: manage_sql.c:39742
void init_filter_alert_iterator(iterator_t *iterator, filter_t filter)
Initialise a filter alert iterator.
Definition: manage_sql.c:45720
int target_iterator_ssh_elevate_trash(iterator_t *iterator)
Get the ELEVATE LSC credential location from a target iterator.
Definition: manage_sql.c:32262
double aggregate_iterator_max(iterator_t *iterator, int data_column_index)
Get the maximum from an aggregate iterator.
Definition: manage_sql.c:5579
void init_task_role_iterator(iterator_t *iterator, task_t task)
Initialise a task role iterator.
Definition: manage_sql.c:6313
int trash_scanner_in_use(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:39826
int keyword_special(keyword_t *keyword)
Get whether a keyword is special (like "and").
Definition: manage_sql.c:1089
int credential_target_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:36001
int task_in_trash_id(const gchar *task_id)
Return whether a task is in the trashcan.
Definition: manage_sql.c:17270
gchar * role_users(role_t role)
Gets users of role as a string.
Definition: manage_sql.c:44733
int report_counts(const char *report_id, int *holes, int *infos, int *logs, int *warnings, int *false_positives, double *severity, int override, int min_qod)
Get the message counts for a report given the UUID.
Definition: manage_sql.c:23936
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:36153
void init_target_iterator_one(iterator_t *iterator, target_t target)
Initialise a target iterator, given a single target.
Definition: manage_sql.c:31946
int host_iterator_current_port(iterator_t *iterator)
Get the current port from a host iterator.
Definition: manage_sql.c:23222
int delete_permission(const char *permission_id, int ultimate)
Delete a permission.
Definition: manage_sql.c:43614
int alert_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:14526
void host_detail_free(host_detail_t *detail)
Free a host detail.
Definition: manage_sql.c:20254
int permission_iterator_resource_readable(iterator_t *iterator)
Get the readable status of a resource from a permission iterator.
Definition: manage_sql.c:43448
char * trash_credential_uuid(credential_t credential)
Get the UUID of a Credential in the trashcan.
Definition: manage_sql.c:35855
int init_asset_host_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a host iterator.
Definition: manage_sql.c:48404
result_t override_iterator_result(iterator_t *iterator)
Get the result from a override iterator.
Definition: manage_sql.c:38287
char * openvas_default_scanner_host()
Get the default scanner path or host.
Definition: manage_sql.c:40165
int alert_iterator_event(iterator_t *iterator)
Return the event from an alert iterator.
Definition: manage_sql.c:8221
void init_task_group_iterator(iterator_t *iterator, task_t task)
Initialise a task group iterator.
Definition: manage_sql.c:6284
const char * scanner_uuid_default()
Return the UUID of the default scanner.
Definition: manage_sql.c:39923
const char * credential_iterator_privacy_password(iterator_t *iterator)
Get the privacy password from a Credential iterator.
Definition: manage_sql.c:35613
gchar * role_uuid(role_t role)
Gets UUID of role.
Definition: manage_sql.c:44719
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:36095
int init_aggregate_iterator(iterator_t *iterator, const char *type, const get_data_t *get, int distinct, GArray *data_columns, const char *group_column, const char *subgroup_column, GArray *text_columns, GArray *sort_data, int first_group, int max_groups, const char *extra_tables, const char *given_extra_where)
Initialise a GET_AGGREGATES iterator, including observed resources.
Definition: manage_sql.c:5151
char * credential_name(credential_t credential)
Get the name of an LSC credential.
Definition: manage_sql.c:35870
int init_manage_helper(GSList *log_config, const db_conn_info_t *database, int max_ips_per_target)
Initialize the manage library for a helper program.
Definition: manage_sql.c:16536
double result_iterator_severity_double(iterator_t *iterator)
Get the severity from a result iterator as double.
Definition: manage_sql.c:22693
int scanner_port(scanner_t scanner)
Return the port of a scanner.
Definition: manage_sql.c:39949
char * report_uuid(report_t report)
Return the UUID of a report.
Definition: manage_sql.c:20769
char * schedule_name(schedule_t schedule)
Return the name of a schedule.
Definition: manage_sql.c:40907
int filter_term_apply_overrides(const char *term)
Return the value of the apply_overrides keyword of a filter term.
Definition: manage_sql.c:45146
int verify_scanner(const char *scanner_id, char **version)
Verify a scanner.
Definition: manage_sql.c:40391
int manage_report_host_detail(report_t report, const char *host, const char *xml)
Add a host detail to a report host.
Definition: manage_sql.c:48126
int trash_task_in_use(task_t task)
Return whether a trashcan task is referenced by a task.
Definition: manage_sql.c:15134
int manage_check_alerts(GSList *log_config, const db_conn_info_t *database)
Check if any SecInfo alerts are due.
Definition: manage_sql.c:6422
int result_iterator_may_have_notes(iterator_t *iterator)
Get whether notes may exist from a result iterator.
Definition: manage_sql.c:22798
int host_identifier_iterator_source_orphan(iterator_t *iterator)
Get the source orphan state from a host identifier iterator.
Definition: manage_sql.c:48254
int permission_is_admin(const char *permission_id)
Test whether a permission is the special Admin permission.
Definition: manage_sql.c:43131
int modify_group(const char *group_id, const char *name, const char *comment, const char *users)
Modify a group.
Definition: manage_sql.c:42199
int permission_iterator_subject_in_trash(iterator_t *iterator)
Return the permission subject location.
Definition: manage_sql.c:43515
int filter_count(const get_data_t *get)
Count number of filters.
Definition: manage_sql.c:45647
const char * task_iterator_run_status_name(iterator_t *iterator)
Get the run status name from a task iterator.
Definition: manage_sql.c:15027
const char * task_iterator_first_report(iterator_t *iterator)
Get the first report UUID from a task iterator.
Definition: manage_sql.c:15013
int init_asset_os_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an OS iterator.
Definition: manage_sql.c:48628
void init_task_alert_iterator(iterator_t *iterator, task_t task)
Initialise a task alert iterator.
Definition: manage_sql.c:8501
char * credential_type(credential_t credential)
Get the type of a Credential.
Definition: manage_sql.c:35899
osp_connection_t * osp_connect_with_data(const char *host, int port, const char *ca_pub, const char *key_pub, const char *key_priv)
Create a new connection to an OSP scanner using the scanner data.
Definition: manage_sql.c:40248
char * scan_start_time_uuid(const char *uuid)
Get the start time of a scan.
Definition: manage_sql.c:23556
char * scanner_ca_pub(scanner_t scanner)
Return the CA Certificate of a scanner.
Definition: manage_sql.c:39989
int manage_encrypt_all_credentials(GSList *log_config, const db_conn_info_t *database)
Encrypt or re-encrypt all credentials.
Definition: manage_sql.c:6118
result_t make_result(task_t task, const char *host, const char *hostname, const char *port, const char *nvt, const char *type, const char *description, const char *path)
Make a result.
Definition: manage_sql.c:19343
int task_schedule_next_time(task_t task)
Get next time a scheduled task will run, following schedule timezone.
Definition: manage_sql.c:18431
int credential_scanner_iterator_readable(iterator_t *iterator)
Get the read permission status from a Credential Scanner iterator.
Definition: manage_sql.c:36076
int credential_iterator_allow_insecure(iterator_t *iterator)
Get the login from a Credential iterator.
Definition: manage_sql.c:35502
void report_add_result(report_t report, result_t result)
Add a result to a report.
Definition: manage_sql.c:21007
char * credential_iterator_deb(iterator_t *iterator)
Get the deb from a Credential iterator.
Definition: manage_sql.c:35671
int manage_get_scanners(GSList *log_config, const db_conn_info_t *database)
List scanners.
Definition: manage_sql.c:40437
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:33903
int trash_credential_writable(credential_t credential)
Check whether a trashcan Credential is writable.
Definition: manage_sql.c:35064
double aggregate_iterator_mean(iterator_t *iterator, int data_column_index)
Get the mean from an aggregate iterator.
Definition: manage_sql.c:5595
int report_counts_id(report_t report, int *holes, int *infos, int *logs, int *warnings, int *false_positives, double *severity, const get_data_t *get, const char *host)
Get only the filtered message counts for a report.
Definition: manage_sql.c:24296
int delete_asset(const char *asset_id, const char *report_id, int dummy)
Delete an asset.
Definition: manage_sql.c:49228
schedule_t task_schedule_uuid(const gchar *task_id)
Return the schedule of a task.
Definition: manage_sql.c:18348
char * trash_target_uuid(target_t target)
Return the UUID of a trashcan target.
Definition: manage_sql.c:32316
void report_add_results_array(report_t report, GArray *results)
Add results from an array to a report.
Definition: manage_sql.c:21037
void init_config_task_iterator(iterator_t *iterator, config_t config, int ascending)
Initialise a config task iterator.
Definition: manage_sql_configs.c:4511
char * nvt_preference_iterator_config_value(iterator_t *iterator, config_t config)
Get the config value from an NVT preference iterator.
Definition: manage_sql_configs.c:1907
int nvt_selector_nvt_count(const char *selector, const char *family, int growing)
Get the number of NVTs selected by an NVT selector.
Definition: manage_sql_configs.c:615
char * nvt_preference_iterator_id(iterator_t *iterator)
Get the ID from an NVT preference iterator.
Definition: manage_sql_configs.c:1880
char * nvt_preference_iterator_real_name(iterator_t *iterator)
Get the real name from an NVT preference iterator.
Definition: manage_sql_configs.c:1805
int nvt_selector_family_count(const char *quoted_selector, int families_growing)
Get the number of families selected by an NVT selector.
Definition: manage_sql_configs.c:159
int nvt_selector_iterator_type(iterator_t *iterator)
Get the type from an NVT selector.
Definition: manage_sql_configs.c:365
int nvt_preference_count(const char *oid)
Get the number preferences available for an NVT.
Definition: manage_sql_configs.c:1939
char * task_preference_value(task_t task, const char *name)
Get the value of a task preference.
Definition: manage_sql_configs.c:1961
void manage_nvt_preference_add(const char *name, const char *value)
Add/replace an NVT preference.
Definition: manage_sql_configs.c:1705
int modify_task_check_config_scanner(task_t task, const char *config_id, const char *scanner_id)
Check scanner and config values match for a task.
Definition: manage_sql_configs.c:2998
void init_family_iterator(iterator_t *iterator, int all, const char *selector, int ascending)
Initialise an NVT selector family iterator.
Definition: manage_sql_configs.c:383
void init_nvt_selector_iterator(iterator_t *iterator, const char *selector, config_t config, int type)
Initialise an NVT selector iterator.
Definition: manage_sql_configs.c:289
int create_task_check_config_scanner(config_t config, scanner_t scanner)
Check scanner and config values match for a task.
Definition: manage_sql_configs.c:2967
int nvt_selector_family_growing(const char *selector, const char *family, int all)
Get whether an NVT selector family is growing.
Definition: manage_sql_configs.c:555
char * nvt_preference_iterator_oid(iterator_t *iterator)
Get the NVT from an NVT preference iterator.
Definition: manage_sql_configs.c:1855
char * nvt_preference_iterator_type(iterator_t *iterator)
Get the type from an NVT preference iterator.
Definition: manage_sql_configs.c:1830
void init_nvt_preference_iterator(iterator_t *iterator, const char *oid)
Initialise an NVT preference iterator.
Definition: manage_sql_configs.c:1734
int config_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql_configs.c:4570
scanner_t config_iterator_scanner(iterator_t *iterator)
Get the scanner from a config iterator.
Definition: manage_sql_configs.c:3656
int set_task_preferences(task_t task, array_t *preferences)
Set the preferences of a task.
Definition: manage_sql_configs.c:1997
int nvt_selector_iterator_include(iterator_t *iterator)
Get whether the selector rule is an include rule.
Definition: manage_sql_configs.c:331
int init_nvt_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an NVT iterator.
Definition: manage_sql_nvts.c:408
double nvt_severity_iterator_score(iterator_t *iterator)
Gets the score from an NVT severity iterator.
Definition: manage_sql_nvts.c:1771
void init_cve_nvt_iterator(iterator_t *iterator, const char *cve, int ascending, const char *sort_field)
Initialise an NVT iterator, for NVTs of a certain CVE.
Definition: manage_sql_nvts.c:828
gboolean find_nvt(const char *oid, nvt_t *nvt)
Find an NVT given an identifier.
Definition: manage_sql_nvts.c:233
time_t nvts_feed_version_epoch()
Return feed version of the plugins as seconds since epoch.
Definition: manage_sql_nvts.c:186
char * manage_nvt_name(nvt_t nvt)
Get the name of an NVT.
Definition: manage_sql_nvts.c:145
char * nvt_name(const char *oid)
Get the name of an NVT given its OID.
Definition: manage_sql_nvts.c:158
int nvt_info_count_after(const get_data_t *get, time_t count_time, gboolean get_modified)
Count number of nvts created or modified after a given time.
Definition: manage_sql_nvts.c:504
void set_nvts_feed_version(const char *feed_version)
Set the feed version of the plugins in the plugin cache.
Definition: manage_sql_nvts.c:212
int nvt_info_count(const get_data_t *get)
Count number of nvt.
Definition: manage_sql_nvts.c:486
int manage_dump_vt_verification(GSList *log_config, const db_conn_info_t *database)
Dump the string used to calculate the VTs verification hash to stdout.
Definition: manage_sql_nvts.c:2240
int manage_rebuild(GSList *log_config, const db_conn_info_t *database)
Rebuild NVT db.
Definition: manage_sql_nvts.c:2171
char * nvt_default_timeout(const char *oid)
Get the default timeout of an NVT.
Definition: manage_sql_nvts.c:1020
void init_nvt_iterator(iterator_t *iterator, nvt_t nvt, config_t config, const char *family, const char *category, int ascending, const char *sort_field)
Initialise an NVT iterator.
Definition: manage_sql_nvts.c:748
int family_nvt_count(const char *family)
Get the number of NVTs in one or all families.
Definition: manage_sql_nvts.c:1055
char * nvts_feed_version()
Return feed version of the plugins in the plugin cache.
Definition: manage_sql_nvts.c:173
void init_nvt_severity_iterator(iterator_t *iterator, const char *oid)
Initialise an NVT severity iterator.
Definition: manage_sql_nvts.c:1722
int nvt_iterator_category(iterator_t *iterator)
Get the category from an NVT iterator.
Definition: manage_sql_nvts.c:884
char * ovaldef_version(const char *id)
Get the version of an OVALDEF using an ID.
Definition: manage_sql_secinfo.c:1051
int cve_info_count(const get_data_t *get)
Count number of cve.
Definition: manage_sql_secinfo.c:682
gchar * cve_cvss_base(const gchar *cve)
Get the CVSS score for a CVE.
Definition: manage_sql_secinfo.c:664
int ovaldef_info_count(const get_data_t *get)
Count number of ovaldef.
Definition: manage_sql_secinfo.c:875
int init_cpe_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise a info iterator.
Definition: manage_sql_secinfo.c:492
char * ovaldef_severity(const char *id)
Get the severity of an OVALDEF using an ID.
Definition: manage_sql_secinfo.c:1030
char * ovaldef_cves(const char *id)
Get the CVE names of an OVALDEF as ", " separated str.
Definition: manage_sql_secinfo.c:1072
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:827
void init_nvt_cert_bund_adv_iterator(iterator_t *iterator, const char *oid)
Initialise an CERT-Bund iterator, for advisories relevant to a NVT.
Definition: manage_sql_secinfo.c:1279
void init_ovaldi_file_iterator(iterator_t *iterator)
Initialise an ovaldi file iterator.
Definition: manage_sql_secinfo.c:1585
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:1006
int cpe_info_count(const get_data_t *get)
Count number of cpe.
Definition: manage_sql_secinfo.c:474
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:617
void init_nvt_dfn_cert_adv_iterator(iterator_t *iterator, const char *oid)
Initialise an DFN-CERT iterator, for advisories relevant to a NVT.
Definition: manage_sql_secinfo.c:1483
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:1250
int cert_bund_adv_info_count(const get_data_t *get)
Count number of cert_bund_adv.
Definition: manage_sql_secinfo.c:1184
int dfn_cert_adv_info_count(const get_data_t *get)
Count number of dfn_cert_adv.
Definition: manage_sql_secinfo.c:1392
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:1343
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:1454
int init_cve_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise a info iterator.
Definition: manage_sql_secinfo.c:700
int secinfo_count_after(const get_data_t *get, const char *type, time_t count_time, gboolean get_modified)
Count number of SecInfo items created or modified after a given time.
Definition: manage_sql_secinfo.c:1522
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:1135
void parse_ssldetails(const char *ssldetails, time_t *activation_time, time_t *expiration_time, gchar **issuer, gchar **serial)
Extract data from a SSLDetails:[...] host detail value.
Definition: manage_tls_certificates.c:50
const char * tls_certificate_format_str(gnutls_x509_crt_fmt_t certificate_format)
Get a string representation of a certificate format.
Definition: manage_tls_certificates.c:134
static PGconn * conn
Handle on the database.
Definition: sql_pg.c:84
Data about a report sent by an alert.
Definition: manage.h:394
gchar * content_type
The MIME content type of the report.
Definition: manage.h:397
gchar * remote_filename
Path or filename to send to / as.
Definition: manage.h:396
gchar * report_format_name
Name of the report format used.
Definition: manage.h:398
gchar * local_filename
Path to the local report file.
Definition: manage.h:395
A command.
Definition: manage.h:151
gchar * summary
Summary of command.
Definition: manage.h:153
gchar * name
Command name.
Definition: manage.h:152
A CREATE_REPORT result.
Definition: manage.h:1189
char * description
Description of NVT.
Definition: manage.h:1190
char * qod
QoD (quality of detection).
Definition: manage.h:1196
char * port
Port.
Definition: manage.h:1195
char * host
Host.
Definition: manage.h:1191
char * qod_type
QoD type.
Definition: manage.h:1197
char * scan_nvt_version
Version of NVT used at scan time.
Definition: manage.h:1194
char * threat
Threat.
Definition: manage.h:1199
char * hostname
Hostname.
Definition: manage.h:1192
char * severity
Severity score.
Definition: manage.h:1198
char * nvt_oid
OID of NVT.
Definition: manage.h:1193
Data structure for info used to connect to the database.
Definition: manage.h:47
gchar * user
The database user name.
Definition: manage.h:51
gchar * name
The database name.
Definition: manage.h:48
gchar * port
The database port or socket file extension.
Definition: manage.h:50
gchar * host
The database host or socket directory.
Definition: manage.h:49
A detection detail for create_report.
Definition: manage.h:1220
char * source_name
source_name of detection in result.
Definition: manage.h:1222
char * product
product of detection in result.
Definition: manage.h:1221
char * location
location of detection in result.
Definition: manage.h:1224
char * source_oid
source_oid of detection in result.
Definition: manage.h:1223
Command data for a get command.
Definition: manage_get.h:35
A host detail for create_report.
Definition: manage.h:1206
char * name
Detail name.
Definition: manage.h:1208
char * source_type
Source type.
Definition: manage.h:1211
char * source_name
Source name.
Definition: manage.h:1210
char * ip
IP.
Definition: manage.h:1207
char * value
Detail value.
Definition: manage.h:1212
char * source_desc
Source description.
Definition: manage.h:1209
A generic SQL iterator structure.
Definition: iterator.h:50
Keyword.
Definition: manage.h:2995
gchar * column
The column prefix, or NULL.
Definition: manage.h:2996
keyword_relation_t relation
The relation.
Definition: manage.h:3004
gchar * string
The keyword string, outer quotes removed.
Definition: manage.h:3002
int integer_value
Integer value of the keyword.
Definition: manage.h:2999
keyword_type_t type
Type of keyword.
Definition: manage.h:3003
double double_value
Floating point value of the keyword.
Definition: manage.h:3000
int equal
Whether the keyword is like "=example".
Definition: manage.h:2998
int quoted
Whether the keyword was quoted.
Definition: manage.h:3001
int approx
Whether the keyword is like "~example".
Definition: manage.h:2997
Lockfile.
Definition: utils.h:62
Name value pair.
Definition: manage.h:114
gchar * name
Name.
Definition: manage.h:115
gchar * value
Param value.
Definition: manage.h:116
A system report type iterator.
Definition: manage.h:2441
gchar ** start
First type.
Definition: manage.h:2442
gchar ** current
Current type.
Definition: manage.h:2443
Severity data for result count cache.
Definition: manage.h:1010
int * counts
Counts.
Definition: manage.h:1011
int total
Total.
Definition: manage.h:1012
double max
Max.
Definition: manage.h:1013
Sort data for aggregates commands.
Definition: manage.h:3638
int order
The sort order.
Definition: manage.h:3641
gchar * field
The field to sort by.
Definition: manage.h:3639
gchar * stat
The statistic to sort by.
Definition: manage.h:3640
Headers for Greenbone Vulnerability Manager: General utilities.