Greenbone Vulnerability Manager  21.4.2
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 char*
1260 report_uuid (report_t);
1261 
1262 int
1263 task_last_resumable_report (task_t, report_t *);
1264 
1265 gchar*
1267 
1268 gchar*
1269 report_path_task_uuid (gchar*);
1270 
1271 gboolean
1272 report_task (report_t, task_t*);
1273 
1274 void
1275 report_compliance_by_uuid (const char *, int *, int *, int *);
1276 
1277 int
1278 report_scan_result_count (report_t, const char*, const char*, int, const char*,
1279  const char*, int, int, int*);
1280 
1281 int
1282 report_counts (const char*, int*, int*, int*, int*, int*, double*,
1283  int, int);
1284 
1285 int
1286 report_counts_id (report_t, int*, int*, int*, int*, int*, double*,
1287  const get_data_t*, const char*);
1288 
1289 int
1290 report_counts_id_no_filt (report_t, int*, int*, int*, int*, int*, int*,
1291  double*, const get_data_t*, const char*);
1292 
1293 get_data_t*
1294 report_results_get_data (int, int, int, int);
1295 
1296 int
1297 scan_start_time_epoch (report_t);
1298 
1299 char*
1300 scan_start_time_uuid (const char *);
1301 
1302 char*
1303 scan_end_time_uuid (const char *);
1304 
1305 void
1306 set_scan_start_time_ctime (report_t, const char*);
1307 
1308 void
1309 set_scan_start_time_epoch (report_t, time_t);
1310 
1311 void
1312 set_scan_end_time (report_t, const char*);
1313 
1314 void
1315 set_scan_end_time_ctime (report_t, const char*);
1316 
1317 void
1318 set_scan_end_time_epoch (report_t, time_t);
1319 
1320 void
1321 set_scan_host_start_time_ctime (report_t, const char*, const char*);
1322 
1323 int
1324 scan_host_end_time (report_t, const char*);
1325 
1326 void
1327 set_scan_host_end_time (report_t, const char*, const char*);
1328 
1329 void
1330 set_scan_host_end_time_ctime (report_t, const char*, const char*);
1331 
1332 int
1333 report_timestamp (const char*, gchar**);
1334 
1335 int
1336 delete_report (const char *, int);
1337 
1338 int
1339 report_count (const get_data_t *);
1340 
1341 int
1343 
1344 void
1346 
1347 void
1349 
1350 const char*
1351 report_iterator_uuid (iterator_t*);
1352 
1353 int
1354 result_count (const get_data_t *, report_t, const char*);
1355 
1356 int
1357 init_result_get_iterator (iterator_t*, const get_data_t *, report_t,
1358  const char*, const gchar *);
1359 
1360 gboolean
1361 next_report (iterator_t*, report_t*);
1362 
1363 result_t
1365 
1366 const char*
1367 result_iterator_host (iterator_t*);
1368 
1369 const char*
1370 result_iterator_port (iterator_t*);
1371 
1372 const char*
1373 result_iterator_nvt_oid (iterator_t*);
1374 
1375 const char*
1377 
1378 const char*
1379 result_iterator_nvt_summary (iterator_t *);
1380 
1381 const char*
1382 result_iterator_nvt_insight (iterator_t *);
1383 
1384 const char*
1385 result_iterator_nvt_affected (iterator_t *);
1386 
1387 const char*
1388 result_iterator_nvt_impact (iterator_t *);
1389 
1390 const char*
1391 result_iterator_nvt_solution (iterator_t *);
1392 
1393 const char*
1395 
1396 const char*
1398 
1399 const char*
1400 result_iterator_nvt_detection (iterator_t *);
1401 
1402 const char*
1403 result_iterator_nvt_family (iterator_t *);
1404 
1405 const char*
1406 result_iterator_nvt_cvss_base (iterator_t *);
1407 
1408 const char*
1409 result_iterator_nvt_tag (iterator_t *);
1410 
1411 const char*
1412 result_iterator_descr (iterator_t*);
1413 
1414 task_t
1416 
1417 report_t
1419 
1420 const char*
1422 
1423 const char*
1425 
1426 const char*
1428 
1429 double
1431 
1432 const char*
1434 
1435 const char*
1437 
1438 const char*
1439 result_iterator_solution_type (iterator_t*);
1440 
1441 const char*
1442 result_iterator_qod (iterator_t*);
1443 
1444 const char*
1445 result_iterator_qod_type (iterator_t*);
1446 
1447 const char*
1448 result_iterator_hostname (iterator_t*);
1449 
1450 const char*
1451 result_iterator_date (iterator_t*);
1452 
1453 const char*
1454 result_iterator_path (iterator_t*);
1455 
1456 const char*
1457 result_iterator_asset_host_id (iterator_t*);
1458 
1459 int
1461 
1462 int
1464 
1465 int
1467 
1468 gchar **
1470 
1471 gchar **
1473 
1474 int
1476 
1477 void
1478 init_report_host_iterator (iterator_t*, report_t, const char *, report_host_t);
1479 
1480 const char*
1481 host_iterator_host (iterator_t*);
1482 
1483 const char*
1484 host_iterator_start_time (iterator_t*);
1485 
1486 const char*
1487 host_iterator_end_time (iterator_t*);
1488 
1489 int
1491 
1492 int
1494 
1495 int
1496 collate_message_type (void* data, int, const void*, int, const void*);
1497 
1498 void
1499 trim_partial_report (report_t);
1500 
1501 int
1502 report_progress (report_t);
1503 
1504 gchar *
1505 manage_report (report_t, report_t, const get_data_t *, report_format_t,
1506  int, int, gsize *, gchar **, gchar **, gchar **, gchar **,
1507  gchar **);
1508 
1509 int
1510 manage_send_report (report_t, report_t, report_format_t, const get_data_t *,
1511  int, int, int, int, int, int,
1512  gboolean (*) (const char *,
1513  int (*) (const char*, void*),
1514  void*),
1515  int (*) (const char *, void*), void *, const char *,
1516  const gchar *);
1517 
1518 
1519 ␌
1520 /* Reports. */
1521 
1522 void
1523 init_app_locations_iterator (iterator_t*, report_host_t, const gchar *);
1524 
1525 const char *
1527 
1528 void
1529 init_host_prognosis_iterator (iterator_t*, report_host_t);
1530 
1531 double
1533 
1534 const char*
1535 prognosis_iterator_cpe (iterator_t*);
1536 
1537 const char*
1538 prognosis_iterator_cve (iterator_t*);
1539 
1540 const char*
1541 prognosis_iterator_description (iterator_t*);
1542 
1543 ␌
1544 /* Targets. */
1545 
1551 #define MANAGE_ABSOLUTE_MAX_IPS_PER_TARGET 70000
1552 
1556 #define MANAGE_MAX_HOSTS 4095
1557 
1561 #define MANAGE_USER_MAX_HOSTS 16777216
1562 
1563 int
1564 manage_max_hosts ();
1565 
1566 void
1567 manage_filter_controls (const gchar *, int *, int *, gchar **, int *);
1568 
1569 void
1570 manage_report_filter_controls (const gchar *, int *, int *, gchar **, int *,
1571  int *, gchar **, gchar **, gchar **, gchar **,
1572  int *, int *, int *, int *, gchar **);
1573 
1574 gchar *
1575 manage_clean_filter (const gchar *);
1576 
1577 gchar *
1578 manage_clean_filter_remove (const gchar *, const gchar *);
1579 
1580 int
1581 manage_count_hosts (const char *, const char *);
1582 
1583 gboolean
1584 find_target_with_permission (const char *, target_t *, const char *);
1585 
1586 int
1587 create_target (const char*, const char*, const char*, const char*, const char*,
1588  const char *, const char*, credential_t, credential_t,
1589  const char *, credential_t, credential_t, credential_t,
1590  const char *, const char *, const char *, const char *,
1591  target_t*);
1592 
1593 int
1594 copy_target (const char*, const char*, const char *, target_t*);
1595 
1596 int
1597 modify_target (const char*, const char*, const char*, const char*, const char*,
1598  const char*, const char*, const char*, const char*, const char*,
1599  const char*, const char*, const char*, const char*, const char*,
1600  const char*);
1601 
1602 int
1603 delete_target (const char*, int);
1604 
1605 int
1606 target_count (const get_data_t *);
1607 
1608 void
1609 init_user_target_iterator (iterator_t*, target_t);
1610 
1611 void
1613 
1614 int
1616 
1617 const char*
1618 target_iterator_hosts (iterator_t*);
1619 
1620 const char*
1621 target_iterator_exclude_hosts (iterator_t*);
1622 
1623 const char*
1624 target_iterator_reverse_lookup_only (iterator_t*);
1625 
1626 const char*
1627 target_iterator_reverse_lookup_unify (iterator_t*);
1628 
1629 const char*
1630 target_iterator_comment (iterator_t*);
1631 
1632 int
1634 
1635 const char*
1636 target_iterator_ssh_port (iterator_t*);
1637 
1638 int
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 const char*
1666 target_iterator_allow_simultaneous_ips (iterator_t*);
1667 
1668 const char*
1669 target_iterator_port_list_uuid (iterator_t*);
1670 
1671 const char*
1672 target_iterator_port_list_name (iterator_t*);
1673 
1674 int
1676 
1677 const char*
1679 
1680 char*
1681 target_uuid (target_t);
1682 
1683 char*
1684 trash_target_uuid (target_t);
1685 
1686 char*
1687 target_name (target_t);
1688 
1689 char*
1690 trash_target_name (target_t);
1691 
1692 int
1693 trash_target_readable (target_t);
1694 
1695 char*
1696 target_hosts (target_t);
1697 
1698 char*
1699 target_exclude_hosts (target_t);
1700 
1701 char*
1702 target_reverse_lookup_only (target_t);
1703 
1704 char*
1705 target_reverse_lookup_unify (target_t);
1706 
1707 char*
1709 
1710 char*
1711 target_port_range (target_t);
1712 
1713 char*
1714 target_ssh_port (target_t);
1715 
1716 int
1717 target_in_use (target_t);
1718 
1719 int
1720 trash_target_in_use (target_t);
1721 
1722 int
1723 target_writable (target_t);
1724 
1725 int
1726 trash_target_writable (target_t);
1727 
1728 char*
1729 target_ssh_credential_name (const char *);
1730 
1731 void
1733 
1734 const char*
1735 target_task_iterator_name (iterator_t*);
1736 
1737 const char*
1738 target_task_iterator_uuid (iterator_t*);
1739 
1740 int
1742 
1743 credential_t
1744 target_credential (target_t, const char*);
1745 
1746 int
1747 target_login_port (target_t, const char*);
1748 
1749 ␌
1750 /* Configs.
1751  *
1752  * These are here because they need definitions that are still in manage.h. */
1753 
1754 scanner_t
1756 
1757 int
1758 create_task_check_config_scanner (config_t, scanner_t);
1759 
1760 int
1761 modify_task_check_config_scanner (task_t, const char *, const char *);
1762 
1763 ␌
1764 /* NVT's. */
1765 
1766 char *
1767 manage_nvt_name (nvt_t);
1768 
1769 char *
1770 nvt_name (const char *);
1771 
1772 char*
1774 
1775 time_t
1777 
1778 void
1779 set_nvts_feed_version (const char*);
1780 
1781 gboolean
1782 find_nvt (const char*, nvt_t*);
1783 
1784 int
1785 init_nvt_info_iterator (iterator_t*, get_data_t*, const char*);
1786 
1787 int
1788 nvt_info_count (const get_data_t *);
1789 
1790 int
1791 nvt_info_count_after (const get_data_t *, time_t, gboolean);
1792 
1793 void
1794 init_nvt_iterator (iterator_t*, nvt_t, config_t, const char*, const char*, int,
1795  const char*);
1796 
1797 void
1798 init_cve_nvt_iterator (iterator_t*, const char *, int, const char*);
1799 
1800 const char*
1801 nvt_iterator_oid (iterator_t*);
1802 
1803 const char*
1804 nvt_iterator_version (iterator_t*);
1805 
1806 const char*
1807 nvt_iterator_name (iterator_t*);
1808 
1809 const char*
1810 nvt_iterator_summary (iterator_t*);
1811 
1812 const char*
1813 nvt_iterator_insight (iterator_t*);
1814 
1815 const char*
1816 nvt_iterator_affected (iterator_t*);
1817 
1818 const char*
1819 nvt_iterator_impact (iterator_t*);
1820 
1821 const char*
1822 nvt_iterator_description (iterator_t*);
1823 
1824 const char*
1825 nvt_iterator_tag (iterator_t*);
1826 
1827 int
1829 
1830 const char*
1831 nvt_iterator_family (iterator_t*);
1832 
1833 const char*
1834 nvt_iterator_cvss_base (iterator_t*);
1835 
1836 const char*
1837 nvt_iterator_detection (iterator_t*);
1838 
1839 const char*
1840 nvt_iterator_qod (iterator_t*);
1841 
1842 const char*
1843 nvt_iterator_qod_type ( iterator_t *iterator );
1844 
1845 const char*
1846 nvt_iterator_solution (iterator_t*);
1847 
1848 const char*
1849 nvt_iterator_solution_type (iterator_t*);
1850 
1851 const char*
1852 nvt_iterator_solution_method (iterator_t*);
1853 
1854 char*
1855 nvt_default_timeout (const char *);
1856 
1857 int
1858 family_nvt_count (const char *);
1859 
1860 ␌
1861 /* NVT selectors. */
1862 
1866 #define NVT_SELECTOR_TYPE_ALL 0
1867 
1871 #define NVT_SELECTOR_TYPE_FAMILY 1
1872 
1876 #define NVT_SELECTOR_TYPE_NVT 2
1877 
1881 #define NVT_SELECTOR_TYPE_ANY 999
1882 
1883 void
1884 init_family_iterator (iterator_t*, int, const char*, int);
1885 
1886 const char*
1887 family_iterator_name (iterator_t*);
1888 
1889 int
1890 nvt_selector_family_growing (const char *, const char *, int);
1891 
1892 int
1893 nvt_selector_family_count (const char*, int);
1894 
1895 int
1896 nvt_selector_nvt_count (const char *, const char *, int);
1897 
1898 void
1899 init_nvt_selector_iterator (iterator_t*, const char*, config_t, int);
1900 
1901 const char*
1902 nvt_selector_iterator_nvt (iterator_t*);
1903 
1904 const char*
1905 nvt_selector_iterator_name (iterator_t*);
1906 
1907 int
1909 
1910 int
1912 
1913 ␌
1914 /* NVT preferences. */
1915 
1916 void
1917 manage_nvt_preference_add (const char*, const char*);
1918 
1919 void
1920 manage_nvt_preferences_enable ();
1921 
1922 void
1924 
1925 const char*
1926 nvt_preference_iterator_name (iterator_t*);
1927 
1928 const char*
1929 nvt_preference_iterator_value (iterator_t*);
1930 
1931 char*
1933 
1934 char*
1936 
1937 char*
1939 
1940 char*
1942 
1943 char*
1945 
1946 int
1947 nvt_preference_count (const char *);
1948 
1949 void
1950 xml_append_nvt_refs (GString *, const char *, int *);
1951 
1952 gchar*
1953 get_nvt_xml (iterator_t*, int, int, int, const char*, config_t, int);
1954 
1955 char*
1956 task_preference_value (task_t, const char *);
1957 
1958 int
1959 set_task_preferences (task_t, array_t *);
1960 
1961 void
1963 
1964 const char*
1965 task_group_iterator_name (iterator_t*);
1966 
1967 const char*
1968 task_group_iterator_uuid (iterator_t*);
1969 
1970 void
1972 
1973 const char*
1974 task_role_iterator_name (iterator_t*);
1975 
1976 const char*
1977 task_role_iterator_uuid (iterator_t*);
1978 
1979 /* NVT severities */
1980 void
1981 init_nvt_severity_iterator (iterator_t *, const char *);
1982 
1983 const char *
1984 nvt_severity_iterator_type (iterator_t *);
1985 
1986 const char *
1987 nvt_severity_iterator_origin (iterator_t *);
1988 
1989 const char *
1990 nvt_severity_iterator_date (iterator_t *);
1991 
1992 double
1994 
1995 const char *
1996 nvt_severity_iterator_value (iterator_t *);
1997 
1998 ␌
1999 /* Credentials. */
2000 
2004 typedef enum
2005 {
2006  CREDENTIAL_FORMAT_NONE = 0,
2007  CREDENTIAL_FORMAT_KEY = 1,
2008  CREDENTIAL_FORMAT_RPM = 2,
2009  CREDENTIAL_FORMAT_DEB = 3,
2010  CREDENTIAL_FORMAT_EXE = 4,
2011  CREDENTIAL_FORMAT_PEM = 5,
2012  CREDENTIAL_FORMAT_ERROR = -1
2013 } credential_format_t;
2014 
2015 int
2016 check_private_key (const char *, const char *);
2017 
2018 gboolean
2019 find_credential_with_permission (const char*, credential_t*, const char*);
2020 
2021 int
2022 create_credential (const char*, const char*, const char*, const char*,
2023  const char*, const char*, const char*, const char*,
2024  const char*, const char*, const char*, const char*,
2025  const char*, credential_t*);
2026 
2027 int
2028 copy_credential (const char*, const char*, const char*,
2029  credential_t*);
2030 
2031 int
2032 modify_credential (const char*, const char*, const char*, const char*,
2033  const char*, const char*, const char*, const char*,
2034  const char*, const char*, const char*, const char*,
2035  const char*);
2036 
2037 int
2038 delete_credential (const char *, int);
2039 
2040 int
2041 credential_count (const get_data_t *);
2042 
2043 void
2044 set_credential_privacy_algorithm (credential_t, const char *);
2045 
2046 void
2047 set_credential_public_key (credential_t, const char *);
2048 
2049 void
2050 init_credential_iterator_one (iterator_t*, credential_t);
2051 
2052 int
2054 
2055 const char*
2056 credential_iterator_login (iterator_t*);
2057 
2058 const char*
2059 credential_iterator_auth_algorithm (iterator_t*);
2060 
2061 const char*
2062 credential_iterator_privacy_algorithm (iterator_t*);
2063 
2064 const char*
2066 
2067 const char*
2069 
2070 const char*
2072 
2073 const char*
2074 credential_iterator_public_key (iterator_t*);
2075 
2076 const char*
2078 
2079 const char*
2080 credential_iterator_type (iterator_t*);
2081 
2082 int
2084 
2085 const char*
2086 credential_full_type (const char*);
2087 
2088 char*
2090 
2091 char*
2093 
2094 char*
2096 
2097 const char*
2098 credential_iterator_certificate (iterator_t*);
2099 
2100 gboolean
2101 credential_iterator_format_available (iterator_t*, credential_format_t);
2102 
2103 gchar *
2105 
2106 char*
2107 credential_uuid (credential_t);
2108 
2109 char*
2110 trash_credential_uuid (credential_t);
2111 
2112 char*
2113 credential_name (credential_t);
2114 
2115 char*
2116 trash_credential_name (credential_t);
2117 
2118 char*
2119 credential_type (credential_t);
2120 
2121 void
2122 init_credential_target_iterator (iterator_t*, credential_t, int);
2123 
2124 const char*
2125 credential_target_iterator_uuid (iterator_t*);
2126 
2127 const char*
2128 credential_target_iterator_name (iterator_t*);
2129 
2130 int
2132 
2133 void
2134 init_credential_scanner_iterator (iterator_t*, credential_t, int);
2135 
2136 const char*
2137 credential_scanner_iterator_uuid (iterator_t*);
2138 
2139 const char*
2140 credential_scanner_iterator_name (iterator_t*);
2141 
2142 int
2144 
2145 int
2146 trash_credential_in_use (credential_t);
2147 
2148 int
2149 credential_in_use (credential_t);
2150 
2151 int
2152 trash_credential_writable (credential_t);
2153 
2154 int
2155 credential_writable (credential_t);
2156 
2157 int
2158 trash_credential_readable (credential_t);
2159 
2160 gchar*
2161 credential_value (credential_t, const char*);
2162 
2163 gchar*
2164 credential_encrypted_value (credential_t, const char*);
2165 
2166 
2167 ␌
2168 /* Assets. */
2169 
2170 char *
2171 result_host_asset_id (const char *, result_t);
2172 
2173 char*
2175 
2176 host_t
2177 host_notice (const char *, const char *, const char *, const char *,
2178  const char *, int, int);
2179 
2180 void
2181 init_host_identifier_iterator (iterator_t*, host_t, int, const char*);
2182 
2183 const char*
2184 host_identifier_iterator_value (iterator_t *);
2185 
2186 const char*
2187 host_identifier_iterator_source_type (iterator_t *);
2188 
2189 const char*
2190 host_identifier_iterator_source_id (iterator_t *);
2191 
2192 const char*
2193 host_identifier_iterator_source_data (iterator_t *);
2194 
2195 int
2197 
2198 const char*
2199 host_identifier_iterator_os_id (iterator_t *);
2200 
2201 const char*
2202 host_identifier_iterator_os_title (iterator_t *);
2203 
2204 int
2206 
2207 int
2209 
2210 int
2212 
2213 const char*
2214 asset_host_iterator_severity (iterator_t *);
2215 
2216 int
2217 asset_host_count (const get_data_t *);
2218 
2219 int
2221 
2222 const char*
2223 asset_os_iterator_title (iterator_t *);
2224 
2225 int
2227 
2228 const char*
2229 asset_os_iterator_latest_severity (iterator_t *);
2230 
2231 const char*
2232 asset_os_iterator_highest_severity (iterator_t *);
2233 
2234 const char*
2235 asset_os_iterator_average_severity (iterator_t *);
2236 
2237 int
2238 asset_os_count (const get_data_t *);
2239 
2240 int
2241 total_asset_count (const get_data_t *);
2242 
2243 void
2245 
2246 const char*
2247 os_host_iterator_severity (iterator_t *);
2248 
2249 void
2251 
2252 const char*
2253 host_detail_iterator_name (iterator_t *);
2254 
2255 const char*
2256 host_detail_iterator_value (iterator_t *);
2257 
2258 const char*
2259 host_detail_iterator_source_type (iterator_t *);
2260 
2261 const char*
2262 host_detail_iterator_source_id (iterator_t *);
2263 
2264 int
2265 modify_asset (const char *, const char *);
2266 
2267 int
2268 delete_asset (const char *, const char *, int);
2269 
2270 int
2271 create_asset_report (const char *, const char *);
2272 
2273 int
2274 create_asset_host (const char *, const char *, resource_t* );
2275 
2276 int
2277 add_assets_from_host_in_report (report_t report, const char *host);
2278 
2279 ␌
2280 /* Notes. */
2281 
2282 gboolean
2283 find_note_with_permission (const char*, note_t*, const char *);
2284 
2285 int
2286 create_note (const char*, const char*, const char*, const char*, const char*,
2287  const char*, const char*, task_t, result_t, note_t*);
2288 
2289 int
2290 copy_note (const char*, note_t*);
2291 
2292 int
2293 delete_note (const char *, int);
2294 
2295 int
2296 note_uuid (note_t, char **);
2297 
2298 int
2299 modify_note (const gchar *, const char *, const char *, const char *,
2300  const char *, const char *, const char *, const char *,
2301  const gchar *, const gchar *);
2302 
2303 int
2304 note_count (const get_data_t *, nvt_t, result_t, task_t);
2305 
2306 int
2307 init_note_iterator (iterator_t*, const get_data_t*, nvt_t, result_t, task_t);
2308 
2309 const char*
2310 note_iterator_nvt_oid (iterator_t*);
2311 
2312 time_t
2313 note_iterator_creation_time (iterator_t*);
2314 
2315 time_t
2316 note_iterator_modification_time (iterator_t*);
2317 
2318 const char*
2319 note_iterator_text (iterator_t*);
2320 
2321 const char*
2322 note_iterator_hosts (iterator_t*);
2323 
2324 const char*
2325 note_iterator_port (iterator_t*);
2326 
2327 const char*
2328 note_iterator_threat (iterator_t*);
2329 
2330 task_t
2332 
2333 result_t
2335 
2336 time_t
2338 
2339 int
2341 
2342 const char*
2343 note_iterator_nvt_name (iterator_t *);
2344 
2345 const char *
2347 
2348 const char*
2349 note_iterator_severity (iterator_t *);
2350 
2351 ␌
2352 /* Overrides. */
2353 
2354 gboolean
2355 find_override_with_permission (const char*, override_t*, const char *);
2356 
2357 int
2358 create_override (const char*, const char*, const char*, const char*,
2359  const char*, const char*, const char*, const char*,
2360  const char*, task_t, result_t, override_t*);
2361 
2362 int
2363 override_uuid (override_t, char **);
2364 
2365 int
2366 copy_override (const char*, override_t*);
2367 
2368 int
2369 delete_override (const char *, int);
2370 
2371 int
2372 modify_override (const gchar *, const char *, const char *, const char *,
2373  const char *, const char *, const char *, const char *,
2374  const char *, const char *, const gchar *, const gchar *);
2375 
2376 int
2377 override_count (const get_data_t *, nvt_t, result_t, task_t);
2378 
2379 int
2380 init_override_iterator (iterator_t*, const get_data_t*, nvt_t, result_t,
2381  task_t);
2382 
2383 const char*
2384 override_iterator_nvt_oid (iterator_t*);
2385 
2386 time_t
2387 override_iterator_creation_time (iterator_t*);
2388 
2389 time_t
2390 override_iterator_modification_time (iterator_t*);
2391 
2392 const char*
2393 override_iterator_text (iterator_t*);
2394 
2395 const char*
2396 override_iterator_hosts (iterator_t*);
2397 
2398 const char*
2399 override_iterator_port (iterator_t*);
2400 
2401 const char*
2403 
2404 const char*
2406 
2407 task_t
2409 
2410 result_t
2412 
2413 time_t
2415 
2416 int
2418 
2419 const char*
2420 override_iterator_nvt_name (iterator_t *);
2421 
2422 const char *
2424 
2425 const char*
2426 override_iterator_severity (iterator_t *);
2427 
2428 const char*
2429 override_iterator_new_severity (iterator_t *);
2430 
2431 ␌
2432 /* System reports. */
2433 
2437 typedef struct
2438 {
2439  gchar **start;
2440  gchar **current;
2442 
2443 int
2445  const char*);
2446 
2447 void
2449 
2450 gboolean
2452 
2453 const char*
2455 
2456 const char*
2458 
2459 int
2460 manage_system_report (const char *, const char *, const char *, const char *,
2461  const char *, char **);
2462 
2463 ␌
2464 /* Scanners. */
2465 
2469 #define SCANNER_CONNECTION_RETRY_DEFAULT 3
2470 
2471 int
2472 manage_create_scanner (GSList *, const db_conn_info_t *, const char *,
2473  const char *, const char *, const char *, const char *,
2474  const char *, const char *, const char *);
2475 
2476 int
2477 manage_modify_scanner (GSList *, const db_conn_info_t *, const char *,
2478  const char *, const char *, const char *, const char *,
2479  const char *, const char *, const char *, const char *);
2480 
2481 int
2482 manage_delete_scanner (GSList *, const db_conn_info_t *, const gchar *);
2483 
2484 int
2485 manage_verify_scanner (GSList *, const db_conn_info_t *, const gchar *);
2486 
2487 int
2488 manage_get_scanners (GSList *, const db_conn_info_t *);
2489 
2490 int
2491 create_scanner (const char*, const char *, const char *, const char *,
2492  const char *, scanner_t *, const char *, const char *);
2493 
2494 int
2495 copy_scanner (const char*, const char*, const char *, scanner_t *);
2496 
2497 int
2498 modify_scanner (const char*, const char*, const char*, const char *,
2499  const char *, const char *, const char *, const char *);
2500 
2501 int
2502 delete_scanner (const char *, int);
2503 
2504 gboolean
2505 find_scanner_with_permission (const char *, scanner_t *, const char *);
2506 
2507 int
2508 scanner_in_use (scanner_t);
2509 
2510 int
2511 trash_scanner_readable (scanner_t);
2512 
2513 int
2514 trash_scanner_in_use (scanner_t);
2515 
2516 int
2517 trash_scanner_writable (scanner_t);
2518 
2519 int
2520 scanner_writable (scanner_t);
2521 
2522 const char *
2524 
2525 char *
2526 scanner_host (scanner_t);
2527 
2528 int
2529 scanner_port (scanner_t);
2530 
2531 int
2532 scanner_type (scanner_t);
2533 
2534 char *
2535 scanner_ca_pub (scanner_t);
2536 
2537 char *
2538 scanner_key_pub (scanner_t);
2539 
2540 char *
2541 scanner_key_priv (scanner_t);
2542 
2543 char*
2544 scanner_login (scanner_t);
2545 
2546 char*
2547 scanner_password (scanner_t);
2548 
2549 int
2550 scanner_count (const get_data_t *);
2551 
2552 char *
2554 
2555 int
2557 
2558 const char*
2559 scanner_iterator_host (iterator_t*);
2560 
2561 int
2563 
2564 int
2566 
2567 const char*
2568 scanner_iterator_credential_name (iterator_t *);
2569 
2570 credential_t
2572 
2573 int
2575 
2576 const char*
2577 scanner_iterator_ca_pub (iterator_t *);
2578 
2579 const char*
2580 scanner_iterator_key_pub (iterator_t *);
2581 
2582 const char*
2583 scanner_iterator_credential_type (iterator_t *);
2584 
2585 void
2587 
2588 const char*
2589 scanner_config_iterator_uuid (iterator_t *);
2590 
2591 const char*
2592 scanner_config_iterator_name (iterator_t *);
2593 
2594 int
2596 
2597 void
2599 
2600 const char*
2601 scanner_task_iterator_uuid (iterator_t *);
2602 
2603 const char*
2604 scanner_task_iterator_name (iterator_t *);
2605 
2606 int
2608 
2609 char *
2610 scanner_name (scanner_t);
2611 
2612 char *
2613 scanner_uuid (scanner_t);
2614 
2615 char *
2616 trash_scanner_name (scanner_t);
2617 
2618 char *
2619 trash_scanner_uuid (scanner_t);
2620 
2621 int
2622 osp_get_version_from_iterator (iterator_t *, char **, char **, char **, char **,
2623  char **, char **);
2624 
2625 int
2626 osp_get_details_from_iterator (iterator_t *, char **, GSList **);
2627 
2628 osp_connection_t *
2629 osp_connect_with_data (const char *,
2630  int,
2631  const char *,
2632  const char *,
2633  const char *);
2634 
2635 osp_connection_t *
2636 osp_scanner_connect (scanner_t);
2637 
2638 int
2640 
2641 void
2643 
2644 int
2645 verify_scanner (const char *, char **);
2646 
2647 const char *
2649 
2650 void
2651 set_relay_mapper_path (const char *);
2652 
2653 int
2655 
2656 void
2658 
2659 gboolean
2660 relay_supports_scanner_type (const char *, int, scanner_type_t);
2661 
2662 int
2663 slave_get_relay (const char *,
2664  int,
2665  const char *,
2666  const char *,
2667  gchar **,
2668  int *,
2669  gchar **);
2670 
2671 int
2672 slave_relay_connection (gvm_connection_t *, gvm_connection_t *);
2673 
2674 /* Scheduling. */
2675 
2679 #define SCHEDULE_PERIOD 10
2680 
2685 #define SCHEDULE_TIMEOUT_MIN_SECS 20
2686 
2690 #define SCHEDULE_TIMEOUT_DEFAULT 60
2691 
2692 gboolean
2693 find_schedule_with_permission (const char*, schedule_t*, const char*);
2694 
2695 int
2696 create_schedule (const char *, const char*, const char *,
2697  const char*, schedule_t *, gchar**);
2698 
2699 int
2700 copy_schedule (const char*, const char*, const char *, schedule_t *);
2701 
2702 int
2703 delete_schedule (const char*, int);
2704 
2705 void
2706 manage_auth_allow_all (int);
2707 
2708 const gchar*
2710 
2711 void
2712 set_scheduled_user_uuid (const gchar* uuid);
2713 
2714 void
2715 manage_sync (sigset_t *, int (*fork_update_nvt_cache) (), gboolean);
2716 
2717 int
2718 manage_schedule (manage_connection_forker_t,
2719  gboolean,
2720  sigset_t *);
2721 
2722 char *
2723 schedule_uuid (schedule_t);
2724 
2725 char *
2726 trash_schedule_uuid (schedule_t);
2727 
2728 char *
2729 schedule_name (schedule_t);
2730 
2731 char *
2732 trash_schedule_name (schedule_t);
2733 
2734 int
2735 schedule_duration (schedule_t);
2736 
2737 int
2738 schedule_period (schedule_t);
2739 
2740 int
2741 schedule_info (schedule_t, int, gchar **, gchar **);
2742 
2743 int
2745 
2746 const char*
2747 schedule_iterator_timezone (iterator_t *);
2748 
2749 const char*
2750 schedule_iterator_icalendar (iterator_t *);
2751 
2752 int
2753 trash_schedule_in_use (schedule_t);
2754 
2755 int
2756 schedule_in_use (schedule_t);
2757 
2758 int
2759 trash_schedule_writable (schedule_t);
2760 
2761 int
2762 trash_schedule_readable (schedule_t);
2763 
2764 int
2765 schedule_writable (schedule_t);
2766 
2767 int
2768 schedule_count (const get_data_t *);
2769 
2770 void
2772 
2773 const char*
2774 schedule_task_iterator_uuid (iterator_t *);
2775 
2776 const char*
2777 schedule_task_iterator_name (iterator_t *);
2778 
2779 int
2781 
2782 int
2783 modify_schedule (const char *, const char *, const char *, const char*,
2784  const char *, gchar **);
2785 
2786 int
2788 
2789 void
2790 set_schedule_timeout (int);
2791 
2792 ␌
2793 /* Groups. */
2794 
2795 int
2797 
2798 int
2799 copy_group (const char *, const char *, const char *, group_t *);
2800 
2801 int
2802 create_group (const char *, const char *, const char *, int, group_t *);
2803 
2804 int
2805 delete_group (const char *, int);
2806 
2807 char*
2808 group_uuid (group_t);
2809 
2810 gchar *
2811 group_users (group_t);
2812 
2813 int
2814 trash_group_in_use (group_t);
2815 
2816 int
2817 group_in_use (group_t);
2818 
2819 int
2820 trash_group_writable (group_t);
2821 
2822 int
2823 group_writable (group_t);
2824 
2825 int
2826 group_count (const get_data_t*);
2827 
2828 int
2829 modify_group (const char *, const char *, const char *, const char *);
2830 
2831 ␌
2832 /* Permissions. */
2833 
2834 int
2835 create_permission (const char *, const char *, const char *, const char *,
2836  const char *, const char *, permission_t *);
2837 
2838 int
2839 copy_permission (const char*, const char *, permission_t *);
2840 
2841 char*
2842 permission_uuid (permission_t);
2843 
2844 int
2845 permission_is_admin (const char *);
2846 
2847 int
2848 permission_in_use (permission_t);
2849 
2850 int
2851 trash_permission_in_use (permission_t);
2852 
2853 int
2854 permission_writable (permission_t);
2855 
2856 int
2857 trash_permission_writable (permission_t);
2858 
2859 int
2860 permission_count (const get_data_t *);
2861 
2862 int
2864 
2865 const char*
2866 permission_iterator_resource_type (iterator_t*);
2867 
2868 const char*
2869 permission_iterator_resource_uuid (iterator_t*);
2870 
2871 const char*
2872 permission_iterator_resource_name (iterator_t*);
2873 
2874 int
2876 
2877 int
2879 
2880 int
2882 
2883 const char*
2884 permission_iterator_subject_type (iterator_t*);
2885 
2886 const char*
2887 permission_iterator_subject_uuid (iterator_t*);
2888 
2889 const char*
2890 permission_iterator_subject_name (iterator_t*);
2891 
2892 int
2894 
2895 int
2897 
2898 int
2899 delete_permission (const char*, int);
2900 
2901 int
2902 modify_permission (const char *, const char *, const char *, const char *,
2903  const char *, const char *, const char *);
2904 
2905 /* Permission caching */
2906 
2907 void
2908 delete_permissions_cache_for_resource (const char*, resource_t);
2909 
2910 void
2911 delete_permissions_cache_for_user (user_t);
2912 
2913 ␌
2914 /* Roles. */
2915 
2916 int
2917 manage_get_roles (GSList *, const db_conn_info_t *, int);
2918 
2919 int
2921 
2922 int
2923 copy_role (const char *, const char *, const char *, role_t *);
2924 
2925 int
2926 create_role (const char *, const char *, const char *, role_t *);
2927 
2928 int
2929 delete_role (const char *, int);
2930 
2931 char*
2932 role_uuid (role_t);
2933 
2934 gchar *
2935 role_users (role_t);
2936 
2937 int
2938 trash_role_in_use (role_t);
2939 
2940 int
2941 role_in_use (role_t);
2942 
2943 int
2944 trash_role_writable (role_t);
2945 
2946 int
2947 role_writable (role_t);
2948 
2949 int
2950 role_count (const get_data_t*);
2951 
2952 int
2953 modify_role (const char *, const char *, const char *, const char *);
2954 
2955 ␌
2956 /* Filter Utilities. */
2957 
2961 typedef enum
2962 {
2963  KEYWORD_TYPE_UNKNOWN,
2964  KEYWORD_TYPE_INTEGER,
2965  KEYWORD_TYPE_DOUBLE,
2966  KEYWORD_TYPE_STRING
2967 } keyword_type_t;
2968 
2972 typedef enum
2973 {
2974  KEYWORD_RELATION_APPROX,
2975  KEYWORD_RELATION_COLUMN_ABOVE,
2976  KEYWORD_RELATION_COLUMN_APPROX,
2977  KEYWORD_RELATION_COLUMN_EQUAL,
2978  KEYWORD_RELATION_COLUMN_BELOW,
2979  KEYWORD_RELATION_COLUMN_REGEXP
2980 } keyword_relation_t;
2981 
2985 struct keyword
2986 {
2987  gchar *column;
2988  int approx;
2989  int equal;
2991  double double_value;
2992  int quoted;
2993  gchar *string;
2994  keyword_type_t type;
2995  keyword_relation_t relation;
2996 };
2997 
3001 typedef struct keyword keyword_t;
3002 
3003 int
3005 
3006 const char *
3007 keyword_relation_symbol (keyword_relation_t);
3008 
3009 void
3010 filter_free (array_t*);
3011 
3012 array_t *
3013 split_filter (const gchar*);
3014 
3015 ␌
3016 /* Filters. */
3017 
3021 #define FILT_ID_NONE "0"
3022 
3026 #define FILT_ID_USER_SETTING "-2"
3027 
3028 gboolean
3029 find_filter (const char*, filter_t*);
3030 
3031 gboolean
3032 find_filter_with_permission (const char*, filter_t*, const char*);
3033 
3034 char*
3035 filter_uuid (filter_t);
3036 
3037 char*
3038 filter_name (filter_t);
3039 
3040 gchar*
3041 filter_term (const char *);
3042 
3043 gchar*
3044 filter_term_value (const char *, const char *);
3045 
3046 int
3047 filter_term_apply_overrides (const char *);
3048 
3049 int
3050 filter_term_min_qod (const char *);
3051 
3052 int
3053 create_filter (const char*, const char*, const char*, const char*, filter_t*);
3054 
3055 int
3056 copy_filter (const char*, const char*, const char*, filter_t*);
3057 
3058 int
3059 delete_filter (const char *, int);
3060 
3061 int
3062 trash_filter_in_use (filter_t);
3063 
3064 int
3065 filter_in_use (filter_t);
3066 
3067 int
3068 trash_filter_writable (filter_t);
3069 
3070 int
3071 filter_writable (filter_t);
3072 
3073 int
3074 filter_count (const get_data_t*);
3075 
3076 int
3078 
3079 const char*
3081 
3082 const char*
3083 filter_iterator_term (iterator_t*);
3084 
3085 void
3087 
3088 const char*
3089 filter_alert_iterator_name (iterator_t*);
3090 
3091 const char*
3092 filter_alert_iterator_uuid (iterator_t*);
3093 
3094 int
3096 
3097 int
3098 modify_filter (const char*, const char*, const char*, const char*, const char*);
3099 
3100 ␌
3101 /* Schema. */
3102 
3103 int
3104 manage_schema (gchar *, gchar **, gsize *, gchar **, gchar **);
3105 
3106 ␌
3107 /* Trashcan. */
3108 
3109 int
3110 manage_restore (const char *);
3111 
3112 int
3114 
3115 ␌
3116 /* SecInfo */
3117 
3118 int
3119 manage_read_info (gchar *, gchar *, gchar *, gchar **);
3120 
3121 int
3122 info_name_count (const gchar *, const gchar *);
3123 
3124 /* SCAP. */
3125 
3126 int
3128 
3129 const char *
3131 
3132 /* CPE. */
3133 
3134 void
3135 init_cpe_cve_iterator (iterator_t *, const char *, int, const char *);
3136 
3137 int
3138 init_cpe_info_iterator (iterator_t*, get_data_t*, const char*);
3139 
3140 int
3141 cpe_info_count (const get_data_t *get);
3142 
3143 const char*
3144 cpe_info_iterator_title (iterator_t*);
3145 
3146 const char*
3147 cpe_info_iterator_status (iterator_t*);
3148 
3149 const char *
3150 cpe_info_iterator_severity (iterator_t*);
3151 
3152 const char*
3153 cpe_info_iterator_deprecated_by_id (iterator_t*);
3154 
3155 const char*
3156 cpe_info_iterator_cve_refs (iterator_t*);
3157 
3158 const char*
3159 cpe_info_iterator_nvd_id (iterator_t*);
3160 
3161 /* CVE. */
3162 
3163 const char*
3164 cve_iterator_name (iterator_t*);
3165 
3166 const char*
3167 cve_iterator_cvss_score (iterator_t*);
3168 
3169 const char*
3170 cve_info_iterator_severity (iterator_t*);
3171 
3172 const char*
3173 cve_info_iterator_vector (iterator_t*);
3174 
3175 const char*
3176 cve_info_iterator_description (iterator_t*);
3177 
3178 const char*
3179 cve_info_iterator_products (iterator_t*);
3180 
3181 int
3182 init_cve_info_iterator (iterator_t*, get_data_t*, const char*);
3183 
3184 int
3185 cve_info_count (const get_data_t *get);
3186 
3187 gchar *
3188 cve_cvss_base (const gchar *);
3189 
3190 /* OVAL definitions */
3191 int
3193 
3194 int
3195 ovaldef_info_count (const get_data_t *get);
3196 
3197 const char*
3198 ovaldef_info_iterator_version (iterator_t*);
3199 
3200 const char*
3201 ovaldef_info_iterator_deprecated (iterator_t*);
3202 
3203 const char*
3204 ovaldef_info_iterator_class (iterator_t*);
3205 
3206 const char*
3207 ovaldef_info_iterator_title (iterator_t*);
3208 
3209 const char*
3210 ovaldef_info_iterator_description (iterator_t*);
3211 
3212 const char*
3213 ovaldef_info_iterator_file (iterator_t*);
3214 
3215 const char*
3216 ovaldef_info_iterator_status (iterator_t*);
3217 
3218 const char*
3219 ovaldef_info_iterator_severity (iterator_t*);
3220 
3221 const char*
3222 ovaldef_info_iterator_cve_refs (iterator_t*);
3223 
3224 char *
3225 ovaldef_severity (const char *);
3226 
3227 char *
3228 ovaldef_version (const char *);
3229 
3230 char *
3231 ovaldef_uuid (const char *, const char *);
3232 
3233 char *
3234 ovaldef_cves (const char *);
3235 
3236 /* CERT data */
3237 int
3239 
3240 /* CERT-Bund */
3241 
3242 int
3244 
3245 int
3247 
3248 const char*
3249 cert_bund_adv_info_iterator_title (iterator_t*);
3250 
3251 const char*
3252 cert_bund_adv_info_iterator_summary (iterator_t*);
3253 
3254 const char*
3255 cert_bund_adv_info_iterator_cve_refs (iterator_t*);
3256 
3257 const char*
3258 cert_bund_adv_info_iterator_severity (iterator_t*);
3259 
3260 void
3261 init_cve_cert_bund_adv_iterator (iterator_t*, const char*, int, const char*);
3262 
3263 void
3265 
3266 const char*
3267 nvt_cert_bund_adv_iterator_name (iterator_t*);
3268 
3269 /* DFN-CERT */
3270 
3271 int
3273 
3274 int
3275 dfn_cert_adv_info_count (const get_data_t *get);
3276 
3277 const char*
3278 dfn_cert_adv_info_iterator_title (iterator_t*);
3279 
3280 const char*
3281 dfn_cert_adv_info_iterator_summary (iterator_t*);
3282 
3283 const char*
3284 dfn_cert_adv_info_iterator_cve_refs (iterator_t*);
3285 
3286 const char*
3287 dfn_cert_adv_info_iterator_severity (iterator_t*);
3288 
3289 void
3290 init_cve_dfn_cert_adv_iterator (iterator_t*, const char*, int, const char*);
3291 
3292 void
3294 
3295 const char*
3296 nvt_dfn_cert_adv_iterator_name (iterator_t*);
3297 
3298 /* All SecInfo Data */
3299 
3300 int
3301 secinfo_count_after (const get_data_t *, const char *, time_t, gboolean);
3302 
3303 void
3305 
3306 const char*
3307 ovaldi_file_iterator_name (iterator_t*);
3308 
3309 ␌
3310 /* Settings. */
3311 
3312 int
3313 manage_max_rows (int);
3314 
3315 int
3316 setting_count (const char *);
3317 
3318 int
3319 setting_is_default_ca_cert (const gchar *);
3320 
3321 char *
3322 setting_filter (const char *);
3323 
3324 void
3325 init_setting_iterator (iterator_t *, const char *, const char *, int, int, int,
3326  const char *);
3327 
3328 const char*
3329 setting_iterator_uuid (iterator_t*);
3330 
3331 const char*
3332 setting_iterator_name (iterator_t*);
3333 
3334 const char*
3335 setting_iterator_comment (iterator_t*);
3336 
3337 const char*
3338 setting_iterator_value (iterator_t*);
3339 
3340 int
3341 modify_setting (const gchar *, const gchar *, const gchar *, gchar **);
3342 
3343 int
3344 manage_modify_setting (GSList *, const db_conn_info_t *, const gchar *,
3345  const gchar *, const char *);
3346 
3347 char *
3348 manage_default_ca_cert ();
3349 
3350 ␌
3351 /* Users. */
3352 
3353 gboolean
3354 find_user_by_name_with_permission (const char *, user_t *, const char *);
3355 
3356 int
3357 manage_create_user (GSList *, const db_conn_info_t *, const gchar *,
3358  const gchar *, const gchar *);
3359 
3360 int
3361 manage_delete_user (GSList *, const db_conn_info_t *, const gchar *,
3362  const gchar *);
3363 
3364 int
3365 manage_get_users (GSList *, const db_conn_info_t *, const gchar *, int);
3366 
3367 report_host_t
3368 manage_report_host_add (report_t, const char *, time_t, time_t);
3369 
3370 int
3371 report_host_noticeable (report_t, const gchar *);
3372 
3373 void
3374 report_host_set_end_time (report_host_t, time_t);
3375 
3376 gchar*
3377 host_routes_xml (host_t);
3378 
3379 int
3380 manage_set_password (GSList *, const db_conn_info_t *, const gchar *,
3381  const gchar *);
3382 
3383 gchar *
3384 manage_user_hash (const gchar *);
3385 
3386 gchar *
3387 manage_user_uuid (const gchar *, auth_method_t);
3388 
3389 int
3390 manage_user_exists (const gchar *, auth_method_t);
3391 
3392 int
3393 copy_user (const char*, const char*, const char*, user_t*);
3394 
3395 gchar *
3396 keyfile_to_auth_conf_settings_xml (const gchar *);
3397 
3398 int
3399 init_user_iterator (iterator_t*, const get_data_t*);
3400 
3401 const char*
3402 user_iterator_role (iterator_t*);
3403 
3404 const char*
3405 user_iterator_method (iterator_t*);
3406 
3407 const char*
3408 user_iterator_hosts (iterator_t*);
3409 
3410 int
3411 user_iterator_hosts_allow (iterator_t*);
3412 
3413 const char*
3414 user_iterator_ifaces (iterator_t*);
3415 
3416 int
3417 user_iterator_ifaces_allow (iterator_t*);
3418 
3419 void
3420 init_user_group_iterator (iterator_t *, user_t);
3421 
3422 const char*
3423 user_group_iterator_uuid (iterator_t*);
3424 
3425 const char*
3426 user_group_iterator_name (iterator_t*);
3427 
3428 int
3429 user_group_iterator_readable (iterator_t*);
3430 
3431 void
3432 init_user_role_iterator (iterator_t *, user_t);
3433 
3434 const char*
3435 user_role_iterator_uuid (iterator_t*);
3436 
3437 const char*
3438 user_role_iterator_name (iterator_t*);
3439 
3440 int
3441 user_role_iterator_readable (iterator_t*);
3442 
3443 int
3444 create_user (const gchar *, const gchar *, const gchar *, const gchar *,
3445  int, const gchar *, int, const array_t *, array_t *, gchar **,
3446  array_t *, gchar **, gchar **, user_t *, int);
3447 
3448 int
3449 delete_user (const char *, const char *, int, int, const char*, const char*);
3450 
3451 int
3452 modify_user (const gchar *, gchar **, const gchar *, const gchar *,
3453  const gchar*, const gchar *, int, const gchar *, int,
3454  const array_t *, array_t *, gchar **, array_t *, gchar **,
3455  gchar **);
3456 
3457 int
3458 user_in_use (user_t);
3459 
3460 int
3461 trash_user_in_use (user_t);
3462 
3463 int
3464 user_writable (user_t);
3465 
3466 int
3467 trash_user_writable (user_t);
3468 
3469 int
3470 user_count (const get_data_t*);
3471 
3472 gchar*
3473 user_name (const char *);
3474 
3475 char*
3476 user_uuid (user_t);
3477 
3478 gchar*
3479 user_ifaces (const char *);
3480 
3481 int
3482 user_ifaces_allow (const char *);
3483 
3484 gchar*
3485 user_hosts (const char *);
3486 
3487 int
3488 user_hosts_allow (const char *);
3489 
3490 int
3491 init_vuln_iterator (iterator_t*, const get_data_t*);
3492 
3493 int
3494 vuln_iterator_results (iterator_t*);
3495 
3496 time_t
3497 vuln_iterator_oldest (iterator_t*);
3498 
3499 time_t
3500 vuln_iterator_newest (iterator_t*);
3501 
3502 const char*
3503 vuln_iterator_type (iterator_t*);
3504 
3505 int
3506 vuln_iterator_hosts (iterator_t*);
3507 
3508 double
3509 vuln_iterator_severity (iterator_t*);
3510 
3511 int
3512 vuln_iterator_qod (iterator_t*);
3513 
3514 int
3515 vuln_count (const get_data_t*);
3516 
3517 void
3518 manage_get_ldap_info (int *, gchar **, gchar **, int *, gchar **);
3519 
3520 void
3521 manage_set_ldap_info (int, gchar *, gchar *, int, gchar *);
3522 
3523 void
3524 manage_get_radius_info (int *, char **, char **);
3525 
3526 void
3527 manage_set_radius_info (int, gchar *, gchar *);
3528 
3529 ␌
3530 /* Tags */
3531 
3532 char*
3533 tag_uuid (target_t);
3534 
3535 int
3536 copy_tag (const char*, const char*, const char*, tag_t*);
3537 
3538 int
3539 create_tag (const char *, const char *, const char *, const char *,
3540  array_t *, const char *, const char *, tag_t *, gchar **);
3541 
3542 int
3543 delete_tag (const char *, int);
3544 
3545 int
3546 modify_tag (const char *, const char *, const char *, const char *,
3547  const char *, array_t *, const char *, const char *, const char*,
3548  gchar **);
3549 
3550 int
3551 init_tag_iterator (iterator_t*, const get_data_t*);
3552 
3553 int
3554 tag_count (const get_data_t *get);
3555 
3556 const char*
3557 tag_iterator_resource_type (iterator_t*);
3558 
3559 int
3560 tag_iterator_active (iterator_t*);
3561 
3562 const char*
3563 tag_iterator_value (iterator_t*);
3564 
3565 int
3566 tag_iterator_resources (iterator_t*);
3567 
3568 resource_t
3569 tag_resource_iterator_id (iterator_t*);
3570 
3571 const char*
3572 tag_resource_iterator_uuid (iterator_t*);
3573 
3574 int
3575 tag_resource_iterator_location (iterator_t*);
3576 
3577 const char*
3578 tag_resource_iterator_name (iterator_t*);
3579 
3580 int
3581 tag_resource_iterator_readable (iterator_t*);
3582 
3583 int
3584 init_tag_name_iterator (iterator_t*, const get_data_t*);
3585 
3586 const char*
3587 tag_name_iterator_name (iterator_t*);
3588 
3589 int
3590 init_resource_tag_iterator (iterator_t*, const char*, resource_t, int,
3591  const char*, int);
3592 
3593 const char*
3594 resource_tag_iterator_uuid (iterator_t*);
3595 
3596 const char*
3597 resource_tag_iterator_name (iterator_t*);
3598 
3599 const char*
3600 resource_tag_iterator_value (iterator_t*);
3601 
3602 const char*
3603 resource_tag_iterator_comment (iterator_t*);
3604 
3605 int
3606 resource_tag_exists (const char*, resource_t, int);
3607 
3608 int
3609 resource_tag_count (const char*, resource_t, int);
3610 
3611 int
3612 tag_in_use (tag_t);
3613 
3614 int
3615 trash_tag_in_use (tag_t);
3616 
3617 int
3618 tag_writable (tag_t);
3619 
3620 int
3621 trash_tag_writable (tag_t);
3622 
3623 ␌
3624 /* Resource aggregates */
3625 
3629 typedef struct {
3630  gchar *field;
3631  gchar *stat;
3632  int order;
3633 } sort_data_t;
3634 
3635 void
3636 sort_data_free (sort_data_t*);
3637 
3638 int
3639 init_aggregate_iterator (iterator_t*, const char *, const get_data_t *, int,
3640  GArray *, const char *, const char*, GArray*, GArray*,
3641  int, int, const char *, const char *);
3642 
3643 int
3645 
3646 double
3648 
3649 double
3651 
3652 double
3654 
3655 double
3657 
3658 const char*
3659 aggregate_iterator_text (iterator_t*, int, int);
3660 
3661 const char*
3663 
3664 const char*
3666 
3667 ␌
3668 /* Feeds. */
3669 
3670 #define NVT_FEED 1
3671 #define SCAP_FEED 2
3672 #define CERT_FEED 3
3673 #define GVMD_DATA_FEED 4
3674 
3675 gboolean
3676 manage_gvmd_data_feed_dir_exists (const char *);
3677 
3678 gboolean
3679 manage_gvmd_data_feed_dirs_exist ();
3680 
3681 const gchar *
3682 get_feed_lock_path ();
3683 
3684 void
3685 set_feed_lock_path (const char *);
3686 
3687 int
3688 get_feed_lock_timeout ();
3689 
3690 void
3691 set_feed_lock_timeout (int);
3692 
3693 void
3694 write_sync_start (int);
3695 
3696 int
3697 feed_lockfile_lock (lockfile_t *);
3698 
3699 int
3700 feed_lockfile_lock_timeout (lockfile_t*);
3701 
3702 int
3703 feed_lockfile_unlock (lockfile_t *);
3704 
3705 int
3706 gvm_migrate_secinfo (int);
3707 
3708 gboolean
3709 gvm_sync_script_perform_selftest (const gchar *, gchar **);
3710 
3711 gboolean
3712 gvm_get_sync_script_identification (const gchar *, gchar **, int);
3713 
3714 gboolean
3715 gvm_get_sync_script_description (const gchar *, gchar **);
3716 
3717 gboolean
3718 gvm_get_sync_script_feed_version (const gchar *, gchar **);
3719 
3720 int
3721 manage_update_nvts_osp (const gchar *);
3722 
3723 int
3724 manage_rebuild (GSList *, const db_conn_info_t *);
3725 
3726 ␌
3727 /* Wizards. */
3728 
3729 int
3730 manage_run_wizard (const gchar *, int (*) (void*, gchar*, gchar**),
3731  void *, array_t *, int, const char*,
3732  gchar **, gchar **, gchar **);
3733 
3734 ␌
3735 /* Helpers. */
3736 
3737 gchar *
3738 xml_escape_text_truncated (const char *, size_t, const char *);
3739 
3740 int
3741 column_is_timestamp (const char*);
3742 
3743 char*
3744 type_columns (const char *);
3745 
3746 char*
3747 type_trash_columns (const char *);
3748 
3749 gboolean
3750 manage_migrate_needs_timezone (GSList *, const db_conn_info_t *);
3751 
3752 ␌
3753 /* Optimize. */
3754 
3755 int
3756 manage_optimize (GSList *, const db_conn_info_t *, const gchar *);
3757 
3758 ␌
3759 /* Signal management */
3760 
3761 int
3762 sql_cancel ();
3763 
3764 #endif /* not _GVMD_MANAGE_H */
static int fork_update_nvt_cache()
Update the NVT cache in a child process.
Definition: gvmd.c:1133
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:3979
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:4222
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:4197
const char * report_type_iterator_name(report_type_iterator_t *iterator)
Return the name from a report type iterator.
Definition: manage.c:4252
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:5031
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:4398
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:3336
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:3782
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:3348
int move_task(const char *task_id, const char *slave_id)
Reassign a task to another slave.
Definition: manage.c:3859
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:3325
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:3509
int start_task(const char *task_id, char **report_id)
Start a task.
Definition: manage.c:3671
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:3825
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:3359
gboolean next_report_type(report_type_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:4237
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:5210
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:4585
void manage_auth_allow_all(int scheduled)
Ensure that any subsequent authentications succeed.
Definition: manage.c:4562
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:3006
const char * manage_scap_update_time()
GET SCAP update time, as a string.
Definition: manage.c:5762
const char * report_type_iterator_title(report_type_iterator_t *iterator)
Return the title from a report type iterator.
Definition: manage.c:4265
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:5454
const gchar * get_scheduled_user_uuid()
Access UUID of user that scheduled the current task.
Definition: manage.c:4573
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:3464
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:5221
void set_scanner_connection_retry(int new_retry)
Set the number of retries on a scanner connection lost.
Definition: manage.c:3017
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:4988
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:5809
const char * type_name(const char *type)
Return the name of a resource type.
Definition: manage.c:710
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:3345
int manage_cert_loaded()
Check whether CERT is available.
Definition: manage_pg.c:3329
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:6436
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:36251
int target_iterator_smb_trash(iterator_t *iterator)
Get the location of the SMB LSC credential from a target iterator.
Definition: manage_sql.c:31931
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:38995
const char * app_locations_iterator_location(iterator_t *iterator)
Get a location from an app locations iterator.
Definition: manage_sql.c:19663
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:29741
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:29015
const char * credential_iterator_community(iterator_t *iterator)
Get the SNMP community from a Credential iterator.
Definition: manage_sql.c:35465
char * target_port_range(target_t target)
Return the port range of a target, in GMP port range list format.
Definition: manage_sql.c:32450
int create_role(const char *role_name, const char *comment, const char *users, role_t *role)
Create a role.
Definition: manage_sql.c:44023
int manage_get_roles(GSList *log_config, const db_conn_info_t *database, int verbose)
List roles.
Definition: manage_sql.c:43927
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:49040
const char * aggregate_iterator_subgroup_value(iterator_t *iterator)
Get the value of the subgroup column from an aggregate iterator.
Definition: manage_sql.c:5650
void init_schedule_task_iterator(iterator_t *iterator, schedule_t schedule)
Initialise a schedule task iterator.
Definition: manage_sql.c:41231
double report_severity(report_t report, int overrides, int min_qod)
Get the maximum severity of a report.
Definition: manage_sql.c:24245
int init_group_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a group iterator, including observed groups.
Definition: manage_sql.c:42035
void update_duration_schedule_periods(task_t task)
Update tasks with limited run schedules which have durations.
Definition: manage_sql.c:18702
gchar * group_users(group_t group)
Gets users of group as a string.
Definition: manage_sql.c:41921
int task_upload_progress(task_t task)
Return the upload progress of a task.
Definition: manage_sql.c:17798
int delete_target(const char *target_id, int ultimate)
Delete a target.
Definition: manage_sql.c:30961
const char * alert_data_iterator_data(iterator_t *iterator)
Return the data from an alert data iterator.
Definition: manage_sql.c:8421
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:19950
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:18286
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:46947
void init_os_host_iterator(iterator_t *iterator, resource_t os)
Initialise an OS host iterator.
Definition: manage_sql.c:48348
int scanner_type(scanner_t scanner)
Return the type of a scanner.
Definition: manage_sql.c:39836
int report_count(const get_data_t *get)
Count number of reports.
Definition: manage_sql.c:21185
int role_writable(role_t role)
Check whether a role is writable.
Definition: manage_sql.c:44352
int trash_task_writable(task_t task)
Return whether a trashcan task is writable.
Definition: manage_sql.c:15159
int trash_group_in_use(group_t group)
Check whether a trashcan group is in use.
Definition: manage_sql.c:41979
task_t note_iterator_task(iterator_t *iterator)
Get the task from a note iterator.
Definition: manage_sql.c:36848
int target_in_use(target_t target)
Return whether a target is in use by a task.
Definition: manage_sql.c:32521
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:44805
int delete_schedule(const char *schedule_id, int ultimate)
Delete a schedule.
Definition: manage_sql.c:40544
command_t gmp_commands[]
The GMP command list.
Definition: manage_sql.c:434
void set_task_name(task_t task, const char *name)
Set the name of a task.
Definition: manage_sql.c:29111
const char * result_iterator_original_level(iterator_t *iterator)
Get the original severity/threat level from a result iterator.
Definition: manage_sql.c:22569
char * task_config_uuid(task_t task)
Return the UUID of the config of a task.
Definition: manage_sql.c:17395
void set_db_version(int version)
Set the database version of the actual database.
Definition: manage_sql.c:5949
gchar * manage_clean_filter(const gchar *filter)
Clean a filter.
Definition: manage_sql.c:2354
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:33590
gboolean next_report(iterator_t *iterator, report_t *report)
Read the next report from an iterator.
Definition: manage_sql.c:21309
int init_filter_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a filter iterator, including observed filters.
Definition: manage_sql.c:45266
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:28318
void hosts_set_details(report_t report)
Store certain host details in the assets after a scan.
Definition: manage_sql.c:47408
int credential_writable(credential_t credential)
Check whether a Credential is writable.
Definition: manage_sql.c:34918
int trash_alert_writable(alert_t alert)
Return whether a trashcan alert is writable.
Definition: manage_sql.c:8162
scanner_t task_iterator_scanner(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15065
int trash_permission_in_use(permission_t permission)
Return whether a trashcan permission is referenced by a task.
Definition: manage_sql.c:43026
int create_asset_host(const char *host_name, const char *comment, resource_t *host_return)
Create a host asset.
Definition: manage_sql.c:48482
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:23682
int trash_credential_in_use(credential_t credential)
Check whether a trashcan Credential is in use.
Definition: manage_sql.c:34881
int request_delete_task(task_t *task_pointer)
Request deletion of a task.
Definition: manage_sql.c:29292
int scanner_iterator_port(iterator_t *iterator)
Get the port from an scanner iterator.
Definition: manage_sql.c:39411
void make_task_complete(task_t task)
Complete the creation of a task.
Definition: manage_sql.c:29096
int init_report_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a report iterator, including observed reports.
Definition: manage_sql.c:21222
int init_scanner_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an scanner iterator.
Definition: manage_sql.c:39383
char * alert_iterator_filter_name(iterator_t *iterator)
Return the filter name from an alert iterator.
Definition: manage_sql.c:8290
int scanner_iterator_type(iterator_t *iterator)
Get the type from an scanner iterator.
Definition: manage_sql.c:39427
char * setting_filter(const char *resource)
Return the uuid of a resource filter from settings.
Definition: manage_sql.c:49160
int trash_target_readable(target_t target)
Return whether a trashcan target is readable.
Definition: manage_sql.c:32253
int asset_iterator_in_use(iterator_t *iterator)
Get the "in use" status from an asset iterator.
Definition: manage_sql.c:48053
int trash_schedule_in_use(schedule_t schedule)
Return whether a trashcan schedule is in use by a task.
Definition: manage_sql.c:40679
void set_credential_public_key(credential_t credential, const char *public_key)
Set the public key of a Credential.
Definition: manage_sql.c:35190
void set_task_alterable(task_t task, int alterable)
Set the alterable state of a task.
Definition: manage_sql.c:18112
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:38269
char * task_name(task_t task)
Return the name of a task.
Definition: manage_sql.c:17297
char * schedule_uuid(schedule_t schedule)
Return the UUID of a schedule.
Definition: manage_sql.c:40746
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:5611
int target_login_port(target_t target, const char *type)
Get a login port from a target.
Definition: manage_sql.c:30577
int trash_alert_in_use(alert_t alert)
Return whether a trashcan alert is in use by a task.
Definition: manage_sql.c:8133
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:43642
char * scanner_password(scanner_t scanner)
Return the password associated with a scanner.
Definition: manage_sql.c:39946
scanner_t task_scanner(task_t task)
Return the scanner of a task.
Definition: manage_sql.c:17535
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:19480
char * scanner_uuid(scanner_t scanner)
Return the UUID of a scanner.
Definition: manage_sql.c:39778
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:36676
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:29154
void set_task_config(task_t task, config_t config)
Set the config of a task.
Definition: manage_sql.c:17447
const char * task_iterator_hosts_ordering(iterator_t *iterator)
Get the hosts ordering value from a task iterator.
Definition: manage_sql.c:15051
char * scanner_key_pub(scanner_t scanner)
Return the Certificate of a scanner.
Definition: manage_sql.c:39869
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:23634
void set_task_target(task_t task, target_t target)
Set the target of a task.
Definition: manage_sql.c:17489
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:29789
int task_uuid(task_t task, char **id)
Return the UUID of a task.
Definition: manage_sql.c:17220
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:34216
int init_target_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a target iterator, including observed targets.
Definition: manage_sql.c:31839
gchar * credential_iterator_formats_xml(iterator_t *iterator)
Get XML of available formats for a credential iterator.
Definition: manage_sql.c:35669
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:30638
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:40383
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:44708
int target_iterator_ssh_elevate_credential(iterator_t *iterator)
Get the ELEVATE LSC credential from a target iterator.
Definition: manage_sql.c:32113
int manage_empty_trashcan()
Empty the trashcan.
Definition: manage_sql.c:46694
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:34265
char * scanner_key_priv(scanner_t scanner)
Return the private key of a scanner.
Definition: manage_sql.c:39889
int delete_role(const char *role_id, int ultimate)
Delete a role.
Definition: manage_sql.c:44124
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:19625
int report_progress(report_t report)
Calculate the progress of a report.
Definition: manage_sql.c:26133
void init_host_prognosis_iterator(iterator_t *iterator, report_host_t report_host)
Initialise a report host prognosis iterator.
Definition: manage_sql.c:19676
int trash_schedule_readable(schedule_t schedule)
Return whether a trashcan schedule is readable.
Definition: manage_sql.c:40721
int group_in_use(group_t group)
Check whether a group is in use.
Definition: manage_sql.c:41966
int permission_iterator_resource_orphan(iterator_t *iterator)
Check if the permission resource has been deleted.
Definition: manage_sql.c:43301
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:19197
int group_count(const get_data_t *get)
Count number of groups.
Definition: manage_sql.c:42016
int schedule_in_use(schedule_t schedule)
Return whether a schedule is in use by a task.
Definition: manage_sql.c:40665
char * alert_iterator_filter_uuid(iterator_t *iterator)
Return the filter UUID from an alert iterator.
Definition: manage_sql.c:8265
const char * credential_iterator_private_key(iterator_t *iterator)
Get the private_key from a Credential iterator.
Definition: manage_sql.c:35450
int schedule_info(schedule_t schedule, int trash, gchar **icalendar, gchar **zone)
Return info about a schedule.
Definition: manage_sql.c:40833
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:22910
char * permission_uuid(permission_t permission)
Return the UUID of a permission.
Definition: manage_sql.c:42853
int task_schedule_periods_uuid(const gchar *task_id)
Set the next time a scheduled task will be due.
Definition: manage_sql.c:18392
char * task_config_name(task_t task)
Return the name of the config of a task.
Definition: manage_sql.c:17414
int asset_iterator_writable(iterator_t *iterator)
Get the writable status from an asset iterator.
Definition: manage_sql.c:48039
int target_iterator_snmp_credential(iterator_t *iterator)
Get the SNMP LSC credential from a target iterator.
Definition: manage_sql.c:32081
void manage_cleanup_process_error(int signal)
Cleanup as immediately as possible.
Definition: manage_sql.c:16586
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:16485
int asset_os_iterator_installs(iterator_t *iterator)
Get the number of installs from an asset OS iterator.
Definition: manage_sql.c:48284
void set_task_scanner(task_t task, scanner_t scanner)
Set the scanner of a task.
Definition: manage_sql.c:17560
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:49443
int note_uuid(note_t note, char **id)
Return the UUID of a note.
Definition: manage_sql.c:36223
int task_schedule_periods(task_t task)
Get the number of times the period schedule should run on the task.
Definition: manage_sql.c:18379
int authenticate(credentials_t *credentials)
Authenticate credentials.
Definition: manage_sql.c:17025
int filter_writable(filter_t filter)
Check whether a filter is writable.
Definition: manage_sql.c:45193
target_t task_target(task_t task)
Return the target of a task.
Definition: manage_sql.c:17463
report_t task_running_report(task_t task)
Return the running report of a task.
Definition: manage_sql.c:17728
report_t make_report(task_t task, const char *uuid, task_status_t status)
Make a report.
Definition: manage_sql.c:20183
const char * override_iterator_new_threat(iterator_t *iterator)
Get the threat from an override iterator.
Definition: manage_sql.c:38124
int manage_scap_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5879
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:38870
int schedule_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:41286
int task_in_use(task_t task)
Return whether a task is in use by a task.
Definition: manage_sql.c:15093
void init_host_detail_iterator(iterator_t *iterator, resource_t host)
Initialise an asset host detail iterator.
Definition: manage_sql.c:48384
schedule_t task_schedule(task_t task)
Return the schedule of a task.
Definition: manage_sql.c:18303
int target_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:32638
char * scanner_login(scanner_t scanner)
Return the login associated with a scanner.
Definition: manage_sql.c:39928
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:20794
int trash_filter_in_use(filter_t filter)
Check whether a trashcan filter is in use.
Definition: manage_sql.c:45165
osp_connection_t * osp_scanner_connect(scanner_t scanner)
Create a new connection to an OSP scanner.
Definition: manage_sql.c:40153
void set_credential_privacy_algorithm(credential_t credential, const char *algorithm)
Set the privacy_algorithm of a Credential.
Definition: manage_sql.c:35085
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:36988
gboolean report_task(report_t report, task_t *task)
Return the task of a report.
Definition: manage_sql.c:20765
int task_config_in_trash(task_t task)
Return whether the config of a task is in the trashcan.
Definition: manage_sql.c:17433
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:13764
char * trash_scanner_name(scanner_t scanner)
Return the name of a scanner in the trashcan.
Definition: manage_sql.c:39988
int delete_alert(const char *alert_id, int ultimate)
Delete an alert.
Definition: manage_sql.c:7792
char * target_allow_simultaneous_ips(target_t target)
Return the allow_simultaneous_ips value of a target.
Definition: manage_sql.c:32336
gchar * task_second_last_report_id(task_t task)
Get report ID from second most recently completed invocation of task.
Definition: manage_sql.c:18030
int schedule_duration(schedule_t schedule)
Return the duration of a schedule.
Definition: manage_sql.c:40816
int group_writable(group_t group)
Check whether a group is writable.
Definition: manage_sql.c:41940
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:37935
int manage_resource_name(const char *type, const char *uuid, char **name)
Get the name of a resource.
Definition: manage_sql.c:4670
void set_scan_start_time_epoch(report_t report, time_t timestamp)
Set the start time of a scan.
Definition: manage_sql.c:23501
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:25630
void set_task_end_time(task_t task, char *time)
Set the end time of a task.
Definition: manage_sql.c:23417
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:7155
const char * task_iterator_usage_type(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15079
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:40525
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:43965
int manage_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5853
void set_scan_end_time_ctime(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23594
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:2010
int alert_count(const get_data_t *get)
Count the number of alerts.
Definition: manage_sql.c:8102
int manage_cert_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5924
time_t note_iterator_end_time(iterator_t *iterator)
Get the end time from an note iterator.
Definition: manage_sql.c:36877
const char * alert_task_iterator_uuid(iterator_t *iterator)
Return the uuid from an alert task iterator.
Definition: manage_sql.c:14492
char * scanner_host(scanner_t scanner)
Return the host of a scanner.
Definition: manage_sql.c:39803
int set_task_schedule(task_t task, schedule_t schedule, int periods)
Set the schedule of a task.
Definition: manage_sql.c:18198
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:31127
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:29640
gchar ** result_iterator_dfn_certs(iterator_t *iterator)
Get DFN-CERTs from a result iterator.
Definition: manage_sql.c:22854
int alert_iterator_filter_readable(iterator_t *iterator)
Return the filter readable state from an alert iterator.
Definition: manage_sql.c:8333
task_t make_task(char *name, char *comment, int in_assets, int event)
Make a task.
Definition: manage_sql.c:29046
const char * result_iterator_original_severity(iterator_t *iterator)
Get the original severity from a result iterator.
Definition: manage_sql.c:22546
char * target_uuid(target_t target)
Return the UUID of a target.
Definition: manage_sql.c:32169
char * filter_uuid(filter_t filter)
Return the UUID of a filter.
Definition: manage_sql.c:44633
int scan_start_time_epoch(report_t report)
Get the start time of a scan, in seconds since the epoch.
Definition: manage_sql.c:23470
void init_credential_iterator_one(iterator_t *iterator, credential_t credential)
Initialise a Credential iterator, given a single Credential.
Definition: manage_sql.c:35256
int task_target_in_trash(task_t task)
Return whether the target of a task is in the trashcan.
Definition: manage_sql.c:17520
char * trash_target_name(target_t target)
Return the name of a trashcan target.
Definition: manage_sql.c:32211
int trash_schedule_writable(schedule_t schedule)
Return whether a trashcan schedule is writable.
Definition: manage_sql.c:40708
int scanner_in_use(scanner_t scanner)
Check whether an scanner is in use.
Definition: manage_sql.c:39677
char * trash_schedule_name(schedule_t schedule)
Return the name of a trash schedule.
Definition: manage_sql.c:40788
const char * keyword_relation_symbol(keyword_relation_t relation)
Get the symbol of a keyword relation.
Definition: manage_sql.c:1039
int scanner_iterator_credential_trash(iterator_t *iterator)
Get the credential location of the scanner from a scanner iterator.
Definition: manage_sql.c:39479
void manage_transaction_start()
Start a new IMMEDIATE transaction.
Definition: manage_sql.c:30320
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:47752
gchar * manage_user_hash(const gchar *username)
Get user hash.
Definition: manage_sql.c:16624
int alert_writable(alert_t alert)
Return whether a alert is writable.
Definition: manage_sql.c:8149
int manage_delete_scanner(GSList *log_config, const db_conn_info_t *database, const gchar *uuid)
Delete the given scanner.
Definition: manage_sql.c:38451
int init_alert_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an alert iterator, including observed alerts.
Definition: manage_sql.c:8177
char * trash_scanner_uuid(scanner_t scanner)
Return the UUID of a scanner in the trashcan.
Definition: manage_sql.c:40002
char * trash_schedule_uuid(schedule_t schedule)
Return the UUID of a trash schedule.
Definition: manage_sql.c:40760
int host_iterator_max_port(iterator_t *iterator)
Get the max port from a host iterator.
Definition: manage_sql.c:23166
int role_count(const get_data_t *get)
Count number of roles.
Definition: manage_sql.c:44568
char * scanner_name(scanner_t scanner)
Return the name of a scanner.
Definition: manage_sql.c:39764
int trash_group_writable(group_t group)
Check whether a trashcan group is writable.
Definition: manage_sql.c:41953
int scanner_count(const get_data_t *get)
Count number of scanners.
Definition: manage_sql.c:40016
char * credential_iterator_rpm(iterator_t *iterator)
Get the rpm from a Credential iterator.
Definition: manage_sql.c:35494
const char * override_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a override iterator.
Definition: manage_sql.c:38211
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:17996
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:46898
int permission_writable(permission_t permission)
Return whether a permission is writable.
Definition: manage_sql.c:43039
int aggregate_iterator_count(iterator_t *iterator)
Get the count from an aggregate iterator.
Definition: manage_sql.c:5531
int target_iterator_smb_credential(iterator_t *iterator)
Get the SMB LSC credential from a target iterator.
Definition: manage_sql.c:31899
int target_count(const get_data_t *get)
Count number of targets.
Definition: manage_sql.c:31797
int task_scanner_in_trash(task_t task)
Return whether the scanner of a task is in the trashcan.
Definition: manage_sql.c:17576
int modify_asset(const char *asset_id, const char *comment)
Modify an asset.
Definition: manage_sql.c:48670
int task_schedule_in_trash(task_t task)
Get whether the task schedule is in the trash.
Definition: manage_sql.c:18363
report_t result_iterator_report(iterator_t *iterator)
Get the report from a result iterator.
Definition: manage_sql.c:22499
gchar * filter_term(const char *uuid)
Return the term of a filter.
Definition: manage_sql.c:44689
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:18892
int delete_report(const char *report_id, int dummy)
Delete a report.
Definition: manage_sql.c:24394
int trash_filter_writable(filter_t filter)
Check whether a trashcan filter is writable.
Definition: manage_sql.c:45206
char * trash_credential_name(credential_t credential)
Get the name of an LSC credential in the trashcan.
Definition: manage_sql.c:35751
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:38523
char * group_uuid(group_t group)
Return the UUID of a group.
Definition: manage_sql.c:41907
task_status_t task_run_status(task_t task)
Return the run state of a task.
Definition: manage_sql.c:17609
int credential_count(const get_data_t *get)
Count number of LSC Credentials.
Definition: manage_sql.c:34831
int permission_iterator_resource_in_trash(iterator_t *iterator)
Return the permission resource location.
Definition: manage_sql.c:43287
char * task_observers(task_t task)
Return the observers of a task.
Definition: manage_sql.c:17339
int target_iterator_esxi_credential(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:32049
int target_iterator_snmp_trash(iterator_t *iterator)
Get the SNMP LSC credential location from a target iterator.
Definition: manage_sql.c:32097
char * target_ssh_port(target_t target)
Return the SSH LSC port of a target.
Definition: manage_sql.c:32350
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:7413
int delete_group(const char *group_id, int ultimate)
Delete a group.
Definition: manage_sql.c:41747
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:47333
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:35625
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:41673
void manage_transaction_stop(gboolean force_commit)
Commit the current transaction, if any.
Definition: manage_sql.c:30340
void trim_partial_report(report_t report)
Prepare a partial report for resumption of the scan.
Definition: manage_sql.c:24516
void init_report_iterator_task(iterator_t *iterator, task_t task)
Initialise a report iterator.
Definition: manage_sql.c:21282
char * report_finished_hosts_str(report_t report)
Get a list string of finished hosts in a report.
Definition: manage_sql.c:25772
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:37322
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:40199
void set_scan_end_time(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23576
int trash_target_in_use(target_t target)
Return whether a trashcan target is referenced by a task.
Definition: manage_sql.c:32538
int setting_count(const char *filter)
Count number of settings.
Definition: manage_sql.c:49120
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:30213
void set_scan_end_time_epoch(report_t report, time_t timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23562
double prognosis_iterator_cvss_double(iterator_t *iterator)
Get the CVSS from a result iterator as a double.
Definition: manage_sql.c:19710
int alert_in_use(alert_t alert)
Return whether a alert is in use by a task.
Definition: manage_sql.c:8119
int manage_verify_scanner(GSList *log_config, const db_conn_info_t *database, const gchar *uuid)
Verify the given scanner.
Definition: manage_sql.c:38747
time_t override_iterator_end_time(iterator_t *iterator)
Get the end time from an override iterator.
Definition: manage_sql.c:38169
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:5815
void init_target_task_iterator(iterator_t *iterator, target_t target)
Initialise a target task iterator.
Definition: manage_sql.c:32581
gboolean find_resource(const char *type, const char *uuid, resource_t *resource)
Find a resource given a UUID.
Definition: manage_sql.c:4110
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:29688
int report_host_count(report_t report)
Count a report's total number of hosts.
Definition: manage_sql.c:25614
config_t task_config(task_t task)
Return the config of a task.
Definition: manage_sql.c:17368
int target_iterator_esxi_trash(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:32065
void cleanup_manage_process(gboolean cleanup)
Cleanup the manage library.
Definition: manage_sql.c:16549
void set_task_start_time_epoch(task_t task, int time)
Set the start time of a task.
Definition: manage_sql.c:17828
double aggregate_iterator_sum(iterator_t *iterator, int data_column_index)
Get the sum from a statistics iterator.
Definition: manage_sql.c:5593
int result_iterator_may_have_tickets(iterator_t *iterator)
Get whether tickets may exist from a result iterator.
Definition: manage_sql.c:22754
int trash_scanner_readable(scanner_t scanner)
Return whether a trashcan scanner is readable.
Definition: manage_sql.c:39739
void set_task_hosts_ordering(task_t task, const char *ordering)
Set the hosts ordering of a task.
Definition: manage_sql.c:17504
int init_role_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a role iterator, including observed roles.
Definition: manage_sql.c:44587
int filter_term_min_qod(const char *term)
Return the value of the min_qod keyword of a filter term.
Definition: manage_sql.c:44773
credential_t scanner_iterator_credential(iterator_t *iterator)
Get the credential of the scanner from a scanner iterator.
Definition: manage_sql.c:39463
int report_timestamp(const char *report_id, gchar **timestamp)
Get the timestamp of a report.
Definition: manage_sql.c:23711
int result_uuid(result_t result, char **id)
Return the UUID of a result.
Definition: manage_sql.c:19455
const char * alert_task_iterator_name(iterator_t *iterator)
Return the name from an alert task iterator.
Definition: manage_sql.c:14476
char * filter_name(filter_t filter)
Return the name of a filter.
Definition: manage_sql.c:44661
int scanner_writable(scanner_t scanner)
Check whether a scanner is writable.
Definition: manage_sql.c:39713
void set_task_usage_type(task_t task, const char *usage_type)
Set the usage_type of a task.
Definition: manage_sql.c:17589
gchar ** result_iterator_cert_bunds(iterator_t *iterator)
Get CERT-BUNDs from a result iterator.
Definition: manage_sql.c:22840
int copy_note(const char *note_id, note_t *new_note)
Create a note from an existing note.
Definition: manage_sql.c:36123
char * alert_uuid(alert_t alert)
Return the UUID of an alert.
Definition: manage_sql.c:7945
int modify_role(const char *role_id, const char *name, const char *comment, const char *users)
Modify a role.
Definition: manage_sql.c:44411
int init_credential_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a Credential iterator.
Definition: manage_sql.c:35283
int alert_iterator_active(iterator_t *iterator)
Return the active state from an alert.
Definition: manage_sql.c:8366
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:19424
int copy_override(const char *override_id, override_t *new_override)
Create a override from an existing override.
Definition: manage_sql.c:37180
int qod_from_type(const char *qod_type)
Get QoD percentage for a qod_type string.
Definition: manage_sql.c:19051
int manage_test_alert(const char *alert_id, gchar **script_message)
Test an alert.
Definition: manage_sql.c:13864
int delete_filter(const char *filter_id, int ultimate)
Delete a filter.
Definition: manage_sql.c:44910
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:18129
int asset_host_count(const get_data_t *get)
Count number of hosts.
Definition: manage_sql.c:48077
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:23017
char * target_hosts(target_t target)
Return the hosts associated with a target.
Definition: manage_sql.c:32279
int result_iterator_may_have_overrides(iterator_t *iterator)
Get whether overrides may exist from a result iterator.
Definition: manage_sql.c:22740
void set_task_run_status(task_t task, task_status_t status)
Set the run state of a task.
Definition: manage_sql.c:17680
int manage_task_remove_file(const gchar *task_id, const char *name)
Remove a file on a task.
Definition: manage_sql.c:29846
char * tag_uuid(tag_t tag)
Return the UUID of a tag.
Definition: manage_sql.c:32155
const char * result_iterator_nvt_solution_method(iterator_t *iterator)
Get the NVT solution_method from a result iterator.
Definition: manage_sql.c:22896
void init_report_errors_iterator(iterator_t *iterator, report_t report)
Initialise a report errors iterator.
Definition: manage_sql.c:23192
void set_task_end_time_epoch(task_t task, time_t time)
Set the end time of a task.
Definition: manage_sql.c:23438
void add_task_alert(task_t task, alert_t alert)
Add an alert to a task.
Definition: manage_sql.c:18046
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:20257
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:44619
int manage_restore(const char *id)
Restore a resource from the trashcan.
Definition: manage_sql.c:45726
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:29654
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:29952
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:17098
char * task_comment(task_t task)
Return the comment of a task.
Definition: manage_sql.c:17311
void manage_reset_currents()
Cleanup as immediately as possible.
Definition: manage_sql.c:16607
int task_iterator_finished_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15037
int alert_iterator_filter_trash(iterator_t *iterator)
Return the location of an alert iterator filter.
Definition: manage_sql.c:8315
int target_iterator_ssh_trash(iterator_t *iterator)
Get the location of the SSH LSC credential from a target iterator.
Definition: manage_sql.c:31915
int init_permission_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a permission iterator.
Definition: manage_sql.c:43234
int permission_count(const get_data_t *get)
Count number of permissions.
Definition: manage_sql.c:43214
gchar * host_routes_xml(host_t host)
Get XML of a detailed host route.
Definition: manage_sql.c:47461
int delete_override(const char *override_id, int ultimate)
Delete a override.
Definition: manage_sql.c:37197
int role_in_use(role_t role)
Check whether a role is in use.
Definition: manage_sql.c:44380
const char * result_iterator_severity(iterator_t *iterator)
Get the severity from a result iterator.
Definition: manage_sql.c:22598
void clear_duration_schedules(task_t task)
Clear once-off schedules from tasks where the duration has passed.
Definition: manage_sql.c:18657
void init_credential_scanner_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential scanner iterator.
Definition: manage_sql.c:35884
int alert_iterator_condition(iterator_t *iterator)
Return the condition from an alert iterator.
Definition: manage_sql.c:8219
const char * target_iterator_alive_tests(iterator_t *iterator)
Get the alive test description from a target iterator.
Definition: manage_sql.c:32010
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:40404
int init_schedule_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a schedule iterator.
Definition: manage_sql.c:40921
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:44893
result_t result_iterator_result(iterator_t *iterator)
Get the result from a result iterator.
Definition: manage_sql.c:22400
int manage_scap_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5890
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:49233
double aggregate_iterator_min(iterator_t *iterator, int data_column_index)
Get the minimum from an aggregate iterator.
Definition: manage_sql.c:5545
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:47004
const char * task_iterator_last_report(iterator_t *iterator)
Get the last report UUID from a task iterator.
Definition: manage_sql.c:15023
int override_iterator_active(iterator_t *iterator)
Get the active status from an override iterator.
Definition: manage_sql.c:38185
int alert_iterator_method(iterator_t *iterator)
Return the method from an alert iterator.
Definition: manage_sql.c:8235
int filter_alert_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:45385
int note_iterator_active(iterator_t *iterator)
Get the active status from an note iterator.
Definition: manage_sql.c:36893
int trash_target_writable(target_t target)
Return whether a trashcan target is writable.
Definition: manage_sql.c:32567
void reset_task(task_t task)
Reset all running information for a task.
Definition: manage_sql.c:29770
array_t * split_filter(const gchar *given_filter)
Split the filter term into parts.
Definition: manage_sql.c:1642
int manage_schema(gchar *format, gchar **output_return, gsize *output_length, gchar **extension, gchar **content_type)
Generate the GMP schema.
Definition: manage_sql.c:45516
int permission_iterator_subject_readable(iterator_t *iterator)
Get the readable status of a subject from a permission iterator.
Definition: manage_sql.c:43396
int delete_note(const char *note_id, int ultimate)
Delete a note.
Definition: manage_sql.c:36140
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:38800
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:36546
int permission_in_use(permission_t permission)
Return whether a permission is in use.
Definition: manage_sql.c:43013
int schedule_writable(schedule_t schedule)
Return whether a schedule is writable.
Definition: manage_sql.c:40695
const char * alert_data_iterator_name(iterator_t *iterator)
Return the name from an alert data iterator.
Definition: manage_sql.c:8404
void init_manage_process(const db_conn_info_t *database)
Initialize the manage library for a process.
Definition: manage_sql.c:15243
const char * note_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a note iterator.
Definition: manage_sql.c:36919
int manage_max_hosts()
Get the maximum allowed number of hosts per target.
Definition: manage_sql.c:30172
int delete_scanner(const char *scanner_id, int ultimate)
Delete a scanner.
Definition: manage_sql.c:39177
credential_t target_credential(target_t target, const char *type)
Get a credential from a target.
Definition: manage_sql.c:30538
void init_credential_target_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential target iterator.
Definition: manage_sql.c:35807
report_t task_iterator_current_report(iterator_t *iterator)
Return the current report of a task.
Definition: manage_sql.c:17754
void hosts_set_identifiers(report_t report)
Setup hosts and their identifiers after a scan, from host details.
Definition: manage_sql.c:47062
int filter_in_use(filter_t filter)
Check whether a filter is in use.
Definition: manage_sql.c:45075
gchar * credential_value(credential_t credential, const char *value_name)
Get a value from a credential.
Definition: manage_sql.c:34945
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:8385
const char * result_iterator_level(iterator_t *iterator)
Get the severity/threat level from a result iterator.
Definition: manage_sql.c:22640
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:17899
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:28492
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:18261
int trash_role_writable(role_t role)
Check whether a trashcan role is writable.
Definition: manage_sql.c:44367
const char * override_iterator_threat(iterator_t *iterator)
Get the threat from a override iterator.
Definition: manage_sql.c:38108
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:37804
int schedule_period(schedule_t schedule)
Return the period of a schedule.
Definition: manage_sql.c:40802
int trash_scanner_writable(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:39726
int override_uuid(override_t override, char **id)
Return the UUID of an override.
Definition: manage_sql.c:37163
task_t result_iterator_task(iterator_t *iterator)
Get the task from a result iterator.
Definition: manage_sql.c:22485
int manage_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5841
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:41489
int task_alterable(task_t task)
Return whether a task is an Alterable Task.
Definition: manage_sql.c:15129
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:18955
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:1827
void init_scanner_config_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner config iterator.
Definition: manage_sql.c:39542
int init_task_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a task iterator.
Definition: manage_sql.c:14903
int task_in_trash(task_t task)
Return whether a task is in the trashcan.
Definition: manage_sql.c:17235
int target_writable(target_t target)
Return whether a target is writable.
Definition: manage_sql.c:32554
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:22523
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:38965
int delete_task(task_t task, int ultimate)
Complete deletion of a task.
Definition: manage_sql.c:29480
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:7498
int scanner_config_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:39596
char * host_uuid(resource_t host)
Return the UUID of a host.
Definition: manage_sql.c:46930
const char * result_iterator_nvt_solution_type(iterator_t *iterator)
Get the NVT solution_type from a result iterator.
Definition: manage_sql.c:22882
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:41309
int task_result_count(task_t task, int min_qod)
Return number of results in a task.
Definition: manage_sql.c:17710
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:42777
int create_asset_report(const char *report_id, const char *term)
Create all available assets from a report.
Definition: manage_sql.c:48551
void set_task_start_time_ctime(task_t task, char *time)
Set the start time of a task.
Definition: manage_sql.c:17843
int scan_host_end_time(report_t report, const char *host)
Get the end time of a scanned host.
Definition: manage_sql.c:23613
gchar * manage_clean_filter_remove(const gchar *filter, const gchar *column)
Clean a filter, removing a keyword in the process.
Definition: manage_sql.c:2269
int task_average_scan_duration(task_t task)
Get the average duration of all finished reports of a task.
Definition: manage_sql.c:15174
char * target_exclude_hosts(target_t target)
Return the excluded hosts associated with a target.
Definition: manage_sql.c:32294
char * target_name(target_t target)
Return the name of a target.
Definition: manage_sql.c:32197
int task_writable(task_t task)
Return whether a task is writable.
Definition: manage_sql.c:15144
char * task_owner_name(task_t task)
Return the name of the owner of a task.
Definition: manage_sql.c:17267
int delete_credential(const char *credential_id, int ultimate)
Delete a Credential.
Definition: manage_sql.c:34583
const char * aggregate_iterator_value(iterator_t *iterator)
Get the value of the group column from a statistics iterator.
Definition: manage_sql.c:5633
int task_iterator_total_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:14981
task_t override_iterator_task(iterator_t *iterator)
Get the task from a override iterator.
Definition: manage_sql.c:38140
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:40229
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:42716
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:22245
char * task_hosts_ordering(task_t task)
Return the hosts ordering of a task.
Definition: manage_sql.c:17325
result_t note_iterator_result(iterator_t *iterator)
Get the result from a note iterator.
Definition: manage_sql.c:36862
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:30926
int manage_trash_resource_name(const char *type, const char *uuid, char **name)
Get the name of a trashcan resource.
Definition: manage_sql.c:4685
int result_count(const get_data_t *get, report_t report, const char *host)
Count the number of results.
Definition: manage_sql.c:22341
const char * filter_iterator_type(iterator_t *iterator)
Get the type from a filter iterator.
Definition: manage_sql.c:45293
void set_scan_start_time_ctime(report_t report, const char *timestamp)
Set the start time of a scan.
Definition: manage_sql.c:23514
int manage_decrypt_all_credentials(GSList *log_config, const db_conn_info_t *database)
Decrypt all credentials.
Definition: manage_sql.c:6133
task_status_t task_iterator_run_status(iterator_t *iterator)
Get the run status from a task iterator.
Definition: manage_sql.c:14965
char * target_reverse_lookup_only(target_t target)
Return the reverse_lookup_only value of a target.
Definition: manage_sql.c:32308
int trash_permission_writable(permission_t permission)
Return whether a trashcan permission is writable.
Definition: manage_sql.c:43054
unsigned int task_count(const get_data_t *get)
Return the number of tasks associated with the current user.
Definition: manage_sql.c:17166
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:18432
char * credential_uuid(credential_t credential)
Get the UUID of a Credential.
Definition: manage_sql.c:35708
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:23658
int set_task_observers(task_t task, const gchar *observers)
Set the observers of a task.
Definition: manage_sql.c:18517
char * target_reverse_lookup_unify(target_t target)
Return the reverse_lookup_unify value of a target.
Definition: manage_sql.c:32322
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:30198
void filter_free(array_t *split)
Free a split filter.
Definition: manage_sql.c:1558
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:33545
int asset_os_count(const get_data_t *get)
Count number of oss.
Definition: manage_sql.c:48328
int target_iterator_port_list_trash(iterator_t *iterator)
Get the location of the port list from a target iterator.
Definition: manage_sql.c:31965
gchar * credential_encrypted_value(credential_t credential, const char *value_name)
Get a possibly encrypted credential value in decrypted form.
Definition: manage_sql.c:34965
int scanner_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:39663
int schedule_count(const get_data_t *get)
Count the number of schedules.
Definition: manage_sql.c:40902
int manage_cert_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5913
int cleanup_result_nvts()
Check if the result_nvts are assigned to result.
Definition: manage_sql.c:22939
int request_delete_task_uuid(const char *task_id, int ultimate)
Request deletion of a task.
Definition: manage_sql.c:29345
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:28728
const char * result_iterator_nvt_name(iterator_t *iterator)
Get the NVT name from a result iterator.
Definition: manage_sql.c:22868
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:20324
int target_iterator_ssh_credential(iterator_t *iterator)
Get the SSH LSC credential from a target iterator.
Definition: manage_sql.c:31874
char * scan_end_time_uuid(const char *uuid)
Get the end time of a scan.
Definition: manage_sql.c:23545
int trash_role_in_use(role_t role)
Check whether a trashcan role is in use.
Definition: manage_sql.c:44393
int trash_credential_readable(credential_t credential)
Return whether a trashcan credential is readable.
Definition: manage_sql.c:35780
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:36961
void init_alert_task_iterator(iterator_t *iterator, alert_t alert, int ascending)
Initialise an alert task iterator.
Definition: manage_sql.c:14436
int credential_in_use(credential_t credential)
Check whether a Credential is in use.
Definition: manage_sql.c:34848
char * credential_iterator_exe(iterator_t *iterator)
Get the exe from a Credential iterator.
Definition: manage_sql.c:35590
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:45406
const char * credential_iterator_password(iterator_t *iterator)
Get the password from a Credential iterator.
Definition: manage_sql.c:35435
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:29672
void init_scanner_task_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner task iterator.
Definition: manage_sql.c:39609
void init_filter_alert_iterator(iterator_t *iterator, filter_t filter)
Initialise a filter alert iterator.
Definition: manage_sql.c:45320
int target_iterator_ssh_elevate_trash(iterator_t *iterator)
Get the ELEVATE LSC credential location from a target iterator.
Definition: manage_sql.c:32129
double aggregate_iterator_max(iterator_t *iterator, int data_column_index)
Get the maximum from an aggregate iterator.
Definition: manage_sql.c:5561
void init_task_role_iterator(iterator_t *iterator, task_t task)
Initialise a task role iterator.
Definition: manage_sql.c:6295
int trash_scanner_in_use(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:39693
int keyword_special(keyword_t *keyword)
Get whether a keyword is special (like "and").
Definition: manage_sql.c:1073
int credential_target_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:35868
int task_in_trash_id(const gchar *task_id)
Return whether a task is in the trashcan.
Definition: manage_sql.c:17252
gchar * role_users(role_t role)
Gets users of role as a string.
Definition: manage_sql.c:44333
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:23864
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:36020
void init_target_iterator_one(iterator_t *iterator, target_t target)
Initialise a target iterator, given a single target.
Definition: manage_sql.c:31813
int host_iterator_current_port(iterator_t *iterator)
Get the current port from a host iterator.
Definition: manage_sql.c:23150
int delete_permission(const char *permission_id, int ultimate)
Delete a permission.
Definition: manage_sql.c:43481
int alert_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:14508
void host_detail_free(host_detail_t *detail)
Free a host detail.
Definition: manage_sql.c:20235
int permission_iterator_resource_readable(iterator_t *iterator)
Get the readable status of a resource from a permission iterator.
Definition: manage_sql.c:43315
char * trash_credential_uuid(credential_t credential)
Get the UUID of a Credential in the trashcan.
Definition: manage_sql.c:35722
int init_asset_host_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a host iterator.
Definition: manage_sql.c:48004
result_t override_iterator_result(iterator_t *iterator)
Get the result from a override iterator.
Definition: manage_sql.c:38154
char * openvas_default_scanner_host()
Get the default scanner path or host.
Definition: manage_sql.c:40032
int alert_iterator_event(iterator_t *iterator)
Return the event from an alert iterator.
Definition: manage_sql.c:8203
void init_task_group_iterator(iterator_t *iterator, task_t task)
Initialise a task group iterator.
Definition: manage_sql.c:6266
const char * scanner_uuid_default()
Return the UUID of the default scanner.
Definition: manage_sql.c:39790
const char * credential_iterator_privacy_password(iterator_t *iterator)
Get the privacy password from a Credential iterator.
Definition: manage_sql.c:35480
gchar * role_uuid(role_t role)
Gets UUID of role.
Definition: manage_sql.c:44319
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:35962
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:5133
char * credential_name(credential_t credential)
Get the name of an LSC credential.
Definition: manage_sql.c:35737
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:16518
double result_iterator_severity_double(iterator_t *iterator)
Get the severity from a result iterator as double.
Definition: manage_sql.c:22621
int scanner_port(scanner_t scanner)
Return the port of a scanner.
Definition: manage_sql.c:39816
char * report_uuid(report_t report)
Return the UUID of a report.
Definition: manage_sql.c:20750
char * schedule_name(schedule_t schedule)
Return the name of a schedule.
Definition: manage_sql.c:40774
int filter_term_apply_overrides(const char *term)
Return the value of the apply_overrides keyword of a filter term.
Definition: manage_sql.c:44746
int verify_scanner(const char *scanner_id, char **version)
Verify a scanner.
Definition: manage_sql.c:40258
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:47726
int trash_task_in_use(task_t task)
Return whether a trashcan task is referenced by a task.
Definition: manage_sql.c:15116
int manage_check_alerts(GSList *log_config, const db_conn_info_t *database)
Check if any SecInfo alerts are due.
Definition: manage_sql.c:6404
int result_iterator_may_have_notes(iterator_t *iterator)
Get whether notes may exist from a result iterator.
Definition: manage_sql.c:22726
int host_identifier_iterator_source_orphan(iterator_t *iterator)
Get the source orphan state from a host identifier iterator.
Definition: manage_sql.c:47854
int permission_is_admin(const char *permission_id)
Test whether a permission is the special Admin permission.
Definition: manage_sql.c:42998
int modify_group(const char *group_id, const char *name, const char *comment, const char *users)
Modify a group.
Definition: manage_sql.c:42066
int permission_iterator_subject_in_trash(iterator_t *iterator)
Return the permission subject location.
Definition: manage_sql.c:43382
int filter_count(const get_data_t *get)
Count number of filters.
Definition: manage_sql.c:45247
const char * task_iterator_run_status_name(iterator_t *iterator)
Get the run status name from a task iterator.
Definition: manage_sql.c:15009
const char * task_iterator_first_report(iterator_t *iterator)
Get the first report UUID from a task iterator.
Definition: manage_sql.c:14995
int init_asset_os_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an OS iterator.
Definition: manage_sql.c:48228
void init_task_alert_iterator(iterator_t *iterator, task_t task)
Initialise a task alert iterator.
Definition: manage_sql.c:8483
char * credential_type(credential_t credential)
Get the type of a Credential.
Definition: manage_sql.c:35766
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:40115
char * scan_start_time_uuid(const char *uuid)
Get the start time of a scan.
Definition: manage_sql.c:23484
char * scanner_ca_pub(scanner_t scanner)
Return the CA Certificate of a scanner.
Definition: manage_sql.c:39856
int manage_encrypt_all_credentials(GSList *log_config, const db_conn_info_t *database)
Encrypt or re-encrypt all credentials.
Definition: manage_sql.c:6100
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:19325
int task_schedule_next_time(task_t task)
Get next time a scheduled task will run, following schedule timezone.
Definition: manage_sql.c:18413
int credential_scanner_iterator_readable(iterator_t *iterator)
Get the read permission status from a Credential Scanner iterator.
Definition: manage_sql.c:35943
int credential_iterator_allow_insecure(iterator_t *iterator)
Get the login from a Credential iterator.
Definition: manage_sql.c:35369
void report_add_result(report_t report, result_t result)
Add a result to a report.
Definition: manage_sql.c:20988
char * credential_iterator_deb(iterator_t *iterator)
Get the deb from a Credential iterator.
Definition: manage_sql.c:35538
int manage_get_scanners(GSList *log_config, const db_conn_info_t *database)
List scanners.
Definition: manage_sql.c:40304
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:33770
int trash_credential_writable(credential_t credential)
Check whether a trashcan Credential is writable.
Definition: manage_sql.c:34931
double aggregate_iterator_mean(iterator_t *iterator, int data_column_index)
Get the mean from an aggregate iterator.
Definition: manage_sql.c:5577
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:24224
int delete_asset(const char *asset_id, const char *report_id, int dummy)
Delete an asset.
Definition: manage_sql.c:48828
schedule_t task_schedule_uuid(const gchar *task_id)
Return the schedule of a task.
Definition: manage_sql.c:18330
char * trash_target_uuid(target_t target)
Return the UUID of a trashcan target.
Definition: manage_sql.c:32183
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:1796
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_rebuild(GSList *log_config, const db_conn_info_t *database)
Rebuild NVT db.
Definition: manage_sql_nvts.c:2191
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:1747
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:2986
gchar * column
The column prefix, or NULL.
Definition: manage.h:2987
keyword_relation_t relation
The relation.
Definition: manage.h:2995
gchar * string
The keyword string, outer quotes removed.
Definition: manage.h:2993
int integer_value
Integer value of the keyword.
Definition: manage.h:2990
keyword_type_t type
Type of keyword.
Definition: manage.h:2994
double double_value
Floating point value of the keyword.
Definition: manage.h:2991
int equal
Whether the keyword is like "=example".
Definition: manage.h:2989
int quoted
Whether the keyword was quoted.
Definition: manage.h:2992
int approx
Whether the keyword is like "~example".
Definition: manage.h:2988
Lockfile.
Definition: utils.h:62
Name value pair.
Definition: manage.h:114
gchar * name
Name.
Definition: manage.h:115
gchar * value
Param value.
Definition: manage.h:116
A system report type iterator.
Definition: manage.h:2438
gchar ** start
First type.
Definition: manage.h:2439
gchar ** current
Current type.
Definition: manage.h:2440
Severity data for result count cache.
Definition: manage.h:1010
int * counts
Counts.
Definition: manage.h:1011
int total
Total.
Definition: manage.h:1012
double max
Max.
Definition: manage.h:1013
Sort data for aggregates commands.
Definition: manage.h:3629
int order
The sort order.
Definition: manage.h:3632
gchar * field
The field to sort by.
Definition: manage.h:3630
gchar * stat
The statistic to sort by.
Definition: manage.h:3631
Headers for Greenbone Vulnerability Manager: General utilities.