Greenbone Vulnerability Manager  22.4.0~dev1
manage.h
1 /* Copyright (C) 2009-2022 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  /* 1 was removed (SCANNER_TYPE_OSP). */
307  SCANNER_TYPE_OPENVAS = 2,
308  SCANNER_TYPE_CVE = 3,
309  /* 4 was removed (SCANNER_TYPE_GMP). */
310  SCANNER_TYPE_OSP_SENSOR = 5,
311  SCANNER_TYPE_MAX = 6,
312 } scanner_type_t;
313 
314 int
315 scanner_type_valid (scanner_type_t);
316 
317 typedef resource_t credential_t;
318 typedef resource_t alert_t;
319 typedef resource_t filter_t;
320 typedef resource_t group_t;
321 typedef resource_t host_t;
322 typedef resource_t tag_t;
323 typedef resource_t target_t;
324 typedef resource_t task_t;
325 typedef resource_t ticket_t;
326 typedef resource_t tls_certificate_t;
327 typedef resource_t result_t;
328 typedef resource_t report_t;
329 typedef resource_t report_host_t;
330 typedef resource_t report_format_t;
331 typedef resource_t report_format_param_t;
332 typedef resource_t role_t;
333 typedef resource_t note_t;
334 typedef resource_t nvt_t;
335 typedef resource_t override_t;
336 typedef resource_t permission_t;
337 typedef resource_t port_list_t;
338 typedef resource_t port_range_t;
339 typedef resource_t schedule_t;
340 typedef resource_t scanner_t;
341 typedef resource_t setting_t;
342 typedef resource_t user_t;
343 
344 ␌
345 /* GMP GET support.
346  *
347  * The standalone parts of the GET support are in manage_get.h. */
348 
351 
352 user_t
354 
355 ␌
356 /* Resources. */
357 
358 int
359 manage_resource_name (const char *, const char *, char **);
360 
361 int
362 manage_trash_resource_name (const char *, const char *, char **);
363 
364 int
365 resource_count (const char *, const get_data_t *);
366 
367 int
368 resource_id_exists (const char *, const char *);
369 
370 int
371 trash_id_exists (const char *, const char *);
372 
373 gboolean
374 find_resource (const char*, const char*, resource_t*);
375 
376 const char *
377 type_name_plural (const char*);
378 
379 const char *
380 type_name (const char*);
381 
382 int
383 type_is_scap (const char*);
384 
385 int
386 delete_resource (const char *, const char *, int);
387 
388 ␌
389 /* Events and Alerts. */
390 
394 typedef struct {
395  gchar *local_filename;
397  gchar *content_type;
400 
401 void
403 
404 void
406 
410 #define ALERT_MESSAGE_INCLUDE \
411  "Task '$n': $e\n" \
412  "\n" \
413  "After the event $e,\n" \
414  "the following condition was met: $c\n" \
415  "\n" \
416  "This email escalation is configured to apply report format '$r'.\n" \
417  "Full details and other report formats are available on the scan engine.\n" \
418  "\n" \
419  "$t" \
420  "\n" \
421  "$i" \
422  "\n" \
423  "\n" \
424  "Note:\n" \
425  "This email was sent to you as a configured security scan escalation.\n" \
426  "Please contact your local system administrator if you think you\n" \
427  "should not have received it.\n"
428 
432 #define SECINFO_ALERT_MESSAGE_INCLUDE \
433  "Task '$n': $e\n" \
434  "\n" \
435  "After the event $e,\n" \
436  "the following condition was met: $c\n" \
437  "\n" \
438  "This email escalation is configured to apply report format '$r'.\n" \
439  "Full details and other report formats are available on the scan engine.\n" \
440  "\n" \
441  "$t" \
442  "\n" \
443  "$i" \
444  "\n" \
445  "\n" \
446  "Note:\n" \
447  "This email was sent to you as a configured security scan escalation.\n" \
448  "Please contact your local system administrator if you think you\n" \
449  "should not have received it.\n"
450 
454 #define ALERT_MESSAGE_ATTACH \
455  "Task '$n': $e\n" \
456  "\n" \
457  "After the event $e,\n" \
458  "the following condition was met: $c\n" \
459  "\n" \
460  "This email escalation is configured to attach report format '$r'.\n" \
461  "Full details and other report formats are available on the scan engine.\n" \
462  "\n" \
463  "$t" \
464  "\n" \
465  "Note:\n" \
466  "This email was sent to you as a configured security scan escalation.\n" \
467  "Please contact your local system administrator if you think you\n" \
468  "should not have received it.\n"
469 
473 #define SECINFO_ALERT_MESSAGE_ATTACH \
474  "Task '$n': $e\n" \
475  "\n" \
476  "After the event $e,\n" \
477  "the following condition was met: $c\n" \
478  "\n" \
479  "This email escalation is configured to attach report format '$r'.\n" \
480  "Full details and other report formats are available on the scan engine.\n" \
481  "\n" \
482  "$t" \
483  "\n" \
484  "Note:\n" \
485  "This email was sent to you as a configured security scan escalation.\n" \
486  "Please contact your local system administrator if you think you\n" \
487  "should not have received it.\n"
488 
492 #define ALERT_VFIRE_CALL_DESCRIPTION \
493  "GVM Task '$n': $e\n" \
494  "\n" \
495  "After the event $e,\n" \
496  "the following condition was met: $c\n" \
497  "\n" \
498  "This ticket includes reports in the following format(s):\n" \
499  "$r.\n" \
500  "Full details and other report formats are available on the scan engine.\n" \
501  "\n" \
502  "$t" \
503  "\n" \
504  "Note:\n" \
505  "This ticket was created automatically as a security scan escalation.\n" \
506  "Please contact your local system administrator if you think it\n" \
507  "was created or assigned erroneously.\n"
508 
512 typedef enum
513 {
514  EVENT_ERROR,
515  EVENT_TASK_RUN_STATUS_CHANGED,
516  EVENT_NEW_SECINFO,
517  EVENT_UPDATED_SECINFO,
518  EVENT_TICKET_RECEIVED,
519  EVENT_ASSIGNED_TICKET_CHANGED,
520  EVENT_OWNED_TICKET_CHANGED
521 } event_t;
522 
526 typedef enum
527 {
528  ALERT_METHOD_ERROR,
529  ALERT_METHOD_EMAIL,
530  ALERT_METHOD_HTTP_GET,
531  ALERT_METHOD_SOURCEFIRE,
532  ALERT_METHOD_START_TASK,
533  ALERT_METHOD_SYSLOG,
534  ALERT_METHOD_VERINICE,
535  ALERT_METHOD_SEND,
536  ALERT_METHOD_SCP,
537  ALERT_METHOD_SNMP,
538  ALERT_METHOD_SMB,
539  ALERT_METHOD_TIPPINGPOINT,
540  ALERT_METHOD_VFIRE,
541 } alert_method_t;
542 
546 typedef enum
547 {
548  ALERT_CONDITION_ERROR,
549  ALERT_CONDITION_ALWAYS,
550  ALERT_CONDITION_SEVERITY_AT_LEAST,
551  ALERT_CONDITION_SEVERITY_CHANGED,
552  ALERT_CONDITION_FILTER_COUNT_AT_LEAST,
553  ALERT_CONDITION_FILTER_COUNT_CHANGED
554 } alert_condition_t;
555 
556 int
557 manage_check_alerts (GSList *, const db_conn_info_t *);
558 
559 int
560 create_alert (const char*, const char*, const char*, const char*, event_t,
561  GPtrArray*, alert_condition_t, GPtrArray*, alert_method_t,
562  GPtrArray*, alert_t*);
563 
564 int
565 copy_alert (const char*, const char*, const char*, alert_t*);
566 
567 int
568 modify_alert (const char*, const char*, const char*, const char*,
569  const char*, event_t, GPtrArray*, alert_condition_t, GPtrArray*,
570  alert_method_t, GPtrArray*);
571 
572 int
573 delete_alert (const char *, int);
574 
575 char *
576 alert_uuid (alert_t);
577 
578 gboolean
579 find_alert_with_permission (const char *, alert_t *, const char *);
580 
581 int
582 manage_alert (const char *, const char *, event_t, const void*, gchar **);
583 
584 int
585 manage_test_alert (const char *, gchar **);
586 
587 int
588 alert_in_use (alert_t);
589 
590 int
591 trash_alert_in_use (alert_t);
592 
593 int
594 alert_writable (alert_t);
595 
596 int
597 trash_alert_writable (alert_t);
598 
599 int
600 alert_count (const get_data_t *);
601 
602 int
604 
605 int
607 
608 int
610 
611 int
613 
614 char *
616 
617 char *
619 
620 int
622 
623 int
625 
626 int
628 
629 const char*
630 alert_condition_name (alert_condition_t);
631 
632 gchar*
633 alert_condition_description (alert_condition_t, alert_t);
634 
635 const char*
636 event_name (event_t);
637 
638 gchar*
639 event_description (event_t, const void *, const char *);
640 
641 const char*
642 alert_method_name (alert_method_t);
643 
644 alert_condition_t
645 alert_condition_from_name (const char*);
646 
647 event_t
648 event_from_name (const char*);
649 
650 alert_method_t
651 alert_method_from_name (const char*);
652 
653 void
654 init_alert_data_iterator (iterator_t *, alert_t, int, const char *);
655 
656 const char*
658 
659 const char*
661 
662 void
663 init_alert_task_iterator (iterator_t*, alert_t, int);
664 
665 const char*
667 
668 const char*
670 
671 int
673 
674 void
676 
677 const char*
678 task_alert_iterator_uuid (iterator_t*);
679 
680 const char*
681 task_alert_iterator_name (iterator_t*);
682 
683 ␌
684 /* Task global variables and preprocessor variables. */
685 
689 extern task_t current_scanner_task;
690 
691 extern report_t global_current_report;
692 
693 ␌
694 /* Task code specific to the representation of tasks. */
695 
696 unsigned int
697 task_count (const get_data_t *);
698 
699 int
701 
702 task_status_t
704 
705 const char *
707 
708 int
710 
711 int
713 
714 const char *
716 
717 const char *
719 
720 report_t
722 
723 const char *
725 
726 scanner_t
728 
729 const char *
731 
732 int
733 task_uuid (task_t, char **);
734 
735 int
736 task_in_trash (task_t);
737 
738 int
739 task_in_trash_id (const gchar *);
740 
741 int
742 task_in_use (task_t);
743 
744 int
745 trash_task_in_use (task_t);
746 
747 int
748 task_writable (task_t);
749 
750 int
751 task_alterable (task_t);
752 
753 int
754 trash_task_writable (task_t);
755 
756 int
758 
759 char*
760 task_owner_name (task_t);
761 
762 char*
763 task_name (task_t);
764 
765 char*
766 task_comment (task_t);
767 
768 char*
769 task_hosts_ordering (task_t);
770 
771 scanner_t
772 task_scanner (task_t);
773 
774 int
775 task_scanner_in_trash (task_t);
776 
777 config_t
778 task_config (task_t);
779 
780 char*
781 task_config_uuid (task_t);
782 
783 char*
784 task_config_name (task_t);
785 
786 int
787 task_config_in_trash (task_t);
788 
789 void
790 set_task_config (task_t, config_t);
791 
792 target_t
793 task_target (task_t);
794 
795 int
796 task_target_in_trash (task_t);
797 
798 void
799 set_task_target (task_t, target_t);
800 
801 void
802 set_task_hosts_ordering (task_t, const char *);
803 
804 void
805 set_task_scanner (task_t, scanner_t);
806 
807 void
808 set_task_usage_type (task_t, const char *);
809 
810 char*
811 task_description (task_t);
812 
813 void
814 set_task_description (task_t, char*, gsize);
815 
816 task_status_t
817 task_run_status (task_t);
818 
819 void
820 set_task_run_status (task_t, task_status_t);
821 
822 int
823 task_result_count (task_t, int);
824 
825 report_t
826 task_running_report (task_t);
827 
828 int
829 task_upload_progress (task_t);
830 
831 void
832 set_task_start_time_epoch (task_t, int);
833 
834 void
835 set_task_start_time_ctime (task_t, char*);
836 
837 void
838 set_task_end_time (task_t task, char* time);
839 
840 void
841 set_task_end_time_epoch (task_t, time_t);
842 
843 void
844 add_task_alert (task_t, alert_t);
845 
846 void
847 set_task_alterable (task_t, int);
848 
849 int
850 set_task_groups (task_t, array_t*, gchar**);
851 
852 int
853 set_task_schedule (task_t, schedule_t, int);
854 
855 int
856 set_task_schedule_periods (const gchar *, int);
857 
858 int
859 set_task_schedule_periods_id (task_t, int);
860 
861 unsigned int
862 task_report_count (task_t);
863 
864 int
865 task_last_report (task_t, report_t*);
866 
867 const char *
868 task_iterator_trend_counts (iterator_t *, int, int, int, double, int, int, int,
869  double);
870 
871 int
872 task_schedule_periods (task_t);
873 
874 int
875 task_schedule_periods_uuid (const gchar *);
876 
877 schedule_t
878 task_schedule (task_t);
879 
880 schedule_t
881 task_schedule_uuid (const gchar *);
882 
883 int
884 task_schedule_in_trash (task_t);
885 
886 time_t
887 task_schedule_next_time_uuid (const gchar *);
888 
889 int
890 task_schedule_next_time (task_t);
891 
892 int
893 task_debugs_size (task_t);
894 
895 int
896 task_holes_size (task_t);
897 
898 int
899 task_infos_size (task_t);
900 
901 int
902 task_logs_size (task_t);
903 
904 int
905 task_warnings_size (task_t);
906 
907 int
908 task_false_positive_size (task_t);
909 
910 task_t
911 make_task (char*, char*, int, int);
912 
913 void
914 make_task_complete (task_t);
915 
916 int
917 copy_task (const char*, const char*, const char *, int, task_t*);
918 
919 void
920 set_task_name (task_t, const char *);
921 
922 gboolean
923 find_task_with_permission (const char*, task_t*, const char *);
924 
925 gboolean
926 find_trash_task_with_permission (const char*, task_t*, const char *);
927 
928 void
929 reset_task (task_t);
930 
931 int
932 set_task_parameter (task_t, const char*, char*);
933 
934 char*
935 task_observers (task_t);
936 
937 int
938 set_task_observers (task_t, const gchar *);
939 
940 int
941 request_delete_task_uuid (const char *, int);
942 
943 int
944 request_delete_task (task_t*);
945 
946 int
947 delete_task (task_t, int);
948 
949 void
950 append_to_task_comment (task_t, const char*, int);
951 
952 void
953 add_task_description_line (task_t, const char*, size_t);
954 
955 void
956 set_scan_ports (report_t, const char*, unsigned int, unsigned int);
957 
958 void
959 append_task_open_port (task_t task, const char *, const char*);
960 
961 int
962 manage_task_update_file (const gchar *, const char *, const void *);
963 
964 int
965 manage_task_remove_file (const gchar *, const char *);
966 
967 int
968 modify_task (const gchar *, const gchar *, const gchar *, const gchar *,
969  const gchar *, const gchar *, const gchar *, array_t *,
970  const gchar *, array_t *, const gchar *, const gchar *,
971  array_t *, const gchar *, gchar **, gchar **);
972 
973 void
974 init_config_file_iterator (iterator_t*, const char*, const char*);
975 
976 const char*
977 config_file_iterator_content (iterator_t*);
978 
979 int
980 config_file_iterator_length (iterator_t*);
981 
982 void
983 init_config_task_iterator (iterator_t*, config_t, int);
984 
985 const char*
986 config_task_iterator_name (iterator_t*);
987 
988 const char*
989 config_task_iterator_uuid (iterator_t*);
990 
991 int
993 
994 ␌
995 /* General severity related facilities. */
996 
997 int
998 severity_in_level (double, const char *);
999 
1000 const char*
1001 severity_to_level (double, int);
1002 
1003 const char*
1004 severity_to_type (double);
1005 
1009 typedef struct
1010 {
1011  int* counts;
1012  int total;
1013  double max;
1014 } severity_data_t;
1015 
1016 double
1017 severity_data_value (int);
1018 
1019 void
1021 
1022 void
1024 
1025 void
1027 
1028 void
1030 
1031 void
1033  int*, int*, int*, int*, int*, int*);
1034 
1035 ␌
1036 /* General task facilities. */
1037 
1038 const char*
1039 run_status_name (task_status_t);
1040 
1041 int
1042 start_task (const char *, char**);
1043 
1044 int
1045 stop_task (const char *);
1046 
1047 int
1048 resume_task (const char *, char **);
1049 
1050 int
1051 move_task (const char*, const char*);
1052 
1053 ␌
1054 /* Access control. */
1055 
1056 int
1057 user_may (const char *);
1058 
1059 extern int
1060 user_can_everything (const char *);
1061 
1062 extern int
1063 user_can_super_everyone (const char *);
1064 
1065 extern int
1066 user_has_super (const char *, user_t);
1067 
1068 ␌
1069 /* Results. */
1070 
1074 #define LSC_FAMILY_LIST \
1075  "'AIX Local Security Checks'," \
1076  " 'Amazon Linux Local Security Checks'," \
1077  " 'CentOS Local Security Checks'," \
1078  " 'Citrix Xenserver Local Security Checks'," \
1079  " 'Debian Local Security Checks'," \
1080  " 'F5 Local Security Checks'," \
1081  " 'Fedora Local Security Checks'," \
1082  " 'FortiOS Local Security Checks'," \
1083  " 'FreeBSD Local Security Checks'," \
1084  " 'Gentoo Local Security Checks'," \
1085  " 'HP-UX Local Security Checks'," \
1086  " 'Huawei EulerOS Local Security Checks'," \
1087  " 'JunOS Local Security Checks'," \
1088  " 'Mac OS X Local Security Checks'," \
1089  " 'Mageia Linux Local Security Checks'," \
1090  " 'Mandrake Local Security Checks'," \
1091  " 'Oracle Linux Local Security Checks'," \
1092  " 'Palo Alto PAN-OS Local Security Checks'," \
1093  " 'Red Hat Local Security Checks'," \
1094  " 'Slackware Local Security Checks'," \
1095  " 'Solaris Local Security Checks'," \
1096  " 'SuSE Local Security Checks'," \
1097  " 'VMware Local Security Checks'," \
1098  " 'Ubuntu Local Security Checks'," \
1099  " 'Windows : Microsoft Bulletins'"
1100 
1104 #define FAMILIES_WHOLE_ONLY \
1105  { "CentOS Local Security Checks", \
1106  "Debian Local Security Checks", \
1107  "Fedora Local Security Checks", \
1108  "Huawei EulerOS Local Security Checks", \
1109  "Oracle Linux Local Security Checks", \
1110  "Red Hat Local Security Checks", \
1111  "SuSE Local Security Checks", \
1112  "Ubuntu Local Security Checks", \
1113  NULL }
1114 
1115 gboolean
1116 find_result_with_permission (const char*, result_t*, const char *);
1117 
1118 int
1119 result_uuid (result_t, char **);
1120 
1121 int
1122 result_detection_reference (result_t, report_t, const char *, const char *,
1123  const char *, char **, char **, char **, char **,
1124  char **);
1125 
1126 /* Reports. */
1127 
1129 #define OVAS_MANAGE_REPORT_ID_LENGTH UUID_LEN_STR
1130 
1134 #define APPLY_OVERRIDES_DEFAULT 0
1135 
1139 #define QOD_DEFAULT 75
1140 
1144 #define MIN_QOD_DEFAULT 70
1145 
1146 void
1147 reports_clear_count_cache_for_override (override_t, int);
1148 
1149 void
1150 init_report_counts_build_iterator (iterator_t *, report_t, int, int,
1151  const char*);
1152 
1153 double
1154 report_severity (report_t, int, int);
1155 
1156 int
1157 report_host_count (report_t);
1158 
1159 int
1160 report_result_host_count (report_t, int);
1161 
1162 char *
1163 report_finished_hosts_str (report_t);
1164 
1165 gboolean
1166 find_report_with_permission (const char *, report_t *, const char *);
1167 
1168 report_t
1169 make_report (task_t, const char *, task_status_t);
1170 
1171 int
1172 qod_from_type (const char *);
1173 
1174 result_t
1175 make_result (task_t, const char*, const char*, const char*, const char*,
1176  const char*, const char*, const char*);
1177 
1178 result_t
1179 make_osp_result (task_t, const char*, const char*, const char*, const char*,
1180  const char *, const char *, const char *, int, const char*);
1181 
1182 result_t
1183 make_cve_result (task_t, const char*, const char*, double, const char*);
1184 
1188 typedef struct
1189 {
1190  char *description;
1191  char *host;
1192  char *hostname;
1193  char *nvt_oid;
1195  char *port;
1196  char *qod;
1197  char *qod_type;
1198  char *severity;
1199  char *threat;
1201 
1205 typedef struct
1206 {
1207  char *ip;
1208  char *name;
1209  char *source_desc;
1210  char *source_name;
1211  char *source_type;
1212  char *value;
1213 } host_detail_t;
1214 
1215 
1219 typedef struct
1220 {
1221  char *product;
1222  char *source_name;
1223  char *source_oid;
1224  char *location;
1226 
1227 void
1229 
1230 void
1231 insert_report_host_detail (report_t, const char *, const char *, const char *,
1232  const char *, const char *, const char *);
1233 
1234 int
1235 manage_report_host_detail (report_t, const char *, const char *);
1236 
1237 void
1238 hosts_set_identifiers (report_t);
1239 
1240 void
1241 hosts_set_max_severity (report_t, int*, int*);
1242 
1243 void
1244 hosts_set_details (report_t report);
1245 
1246 void
1247 clear_duration_schedules (task_t);
1248 
1249 void
1251 
1252 int
1253 create_report (array_t*, const char *, const char *, const char *, const char *,
1254  array_t*, array_t*, array_t*, char **);
1255 
1256 void
1257 report_add_result (report_t, result_t);
1258 
1259 void
1260 report_add_results_array (report_t, GArray *);
1261 
1262 char*
1263 report_uuid (report_t);
1264 
1265 int
1266 task_last_resumable_report (task_t, report_t *);
1267 
1268 gchar*
1270 
1271 gchar*
1272 report_path_task_uuid (gchar*);
1273 
1274 gboolean
1275 report_task (report_t, task_t*);
1276 
1277 void
1278 report_compliance_by_uuid (const char *, int *, int *, int *);
1279 
1280 int
1281 report_scan_result_count (report_t, const char*, const char*, int, const char*,
1282  const char*, int, int, int*);
1283 
1284 int
1285 report_counts (const char*, int*, int*, int*, int*, int*, double*,
1286  int, int);
1287 
1288 int
1289 report_counts_id (report_t, int*, int*, int*, int*, int*, double*,
1290  const get_data_t*, const char*);
1291 
1292 int
1293 report_counts_id_no_filt (report_t, int*, int*, int*, int*, int*, int*,
1294  double*, const get_data_t*, const char*);
1295 
1296 get_data_t*
1297 report_results_get_data (int, int, int, int);
1298 
1299 int
1300 scan_start_time_epoch (report_t);
1301 
1302 char*
1303 scan_start_time_uuid (const char *);
1304 
1305 char*
1306 scan_end_time_uuid (const char *);
1307 
1308 void
1309 set_scan_start_time_ctime (report_t, const char*);
1310 
1311 void
1312 set_scan_start_time_epoch (report_t, time_t);
1313 
1314 void
1315 set_scan_end_time (report_t, const char*);
1316 
1317 void
1318 set_scan_end_time_ctime (report_t, const char*);
1319 
1320 void
1321 set_scan_end_time_epoch (report_t, time_t);
1322 
1323 void
1324 set_scan_host_start_time_ctime (report_t, const char*, const char*);
1325 
1326 int
1327 scan_host_end_time (report_t, const char*);
1328 
1329 void
1330 set_scan_host_end_time (report_t, const char*, const char*);
1331 
1332 void
1333 set_scan_host_end_time_ctime (report_t, const char*, const char*);
1334 
1335 int
1336 report_timestamp (const char*, gchar**);
1337 
1338 int
1339 delete_report (const char *, int);
1340 
1341 int
1342 report_count (const get_data_t *);
1343 
1344 int
1346 
1347 void
1349 
1350 void
1352 
1353 const char*
1354 report_iterator_uuid (iterator_t*);
1355 
1356 int
1357 result_count (const get_data_t *, report_t, const char*);
1358 
1359 int
1360 init_result_get_iterator (iterator_t*, const get_data_t *, report_t,
1361  const char*, const gchar *);
1362 
1363 gboolean
1364 next_report (iterator_t*, report_t*);
1365 
1366 result_t
1368 
1369 const char*
1370 result_iterator_host (iterator_t*);
1371 
1372 const char*
1373 result_iterator_port (iterator_t*);
1374 
1375 const char*
1376 result_iterator_nvt_oid (iterator_t*);
1377 
1378 const char*
1380 
1381 const char*
1382 result_iterator_nvt_summary (iterator_t *);
1383 
1384 const char*
1385 result_iterator_nvt_insight (iterator_t *);
1386 
1387 const char*
1388 result_iterator_nvt_affected (iterator_t *);
1389 
1390 const char*
1391 result_iterator_nvt_impact (iterator_t *);
1392 
1393 const char*
1394 result_iterator_nvt_solution (iterator_t *);
1395 
1396 const char*
1398 
1399 const char*
1401 
1402 const char*
1403 result_iterator_nvt_detection (iterator_t *);
1404 
1405 const char*
1406 result_iterator_nvt_family (iterator_t *);
1407 
1408 const char*
1409 result_iterator_nvt_cvss_base (iterator_t *);
1410 
1411 const char*
1412 result_iterator_nvt_tag (iterator_t *);
1413 
1414 const char*
1415 result_iterator_descr (iterator_t*);
1416 
1417 task_t
1419 
1420 report_t
1422 
1423 const char*
1425 
1426 const char*
1428 
1429 const char*
1431 
1432 double
1434 
1435 const char*
1437 
1438 const char*
1440 
1441 const char*
1442 result_iterator_solution_type (iterator_t*);
1443 
1444 const char*
1445 result_iterator_qod (iterator_t*);
1446 
1447 const char*
1448 result_iterator_qod_type (iterator_t*);
1449 
1450 const char*
1451 result_iterator_hostname (iterator_t*);
1452 
1453 const char*
1454 result_iterator_date (iterator_t*);
1455 
1456 const char*
1457 result_iterator_path (iterator_t*);
1458 
1459 const char*
1460 result_iterator_asset_host_id (iterator_t*);
1461 
1462 int
1464 
1465 int
1467 
1468 int
1470 
1471 gchar **
1473 
1474 gchar **
1476 
1477 int
1479 
1480 void
1481 init_report_host_iterator (iterator_t*, report_t, const char *, report_host_t);
1482 
1483 const char*
1484 host_iterator_host (iterator_t*);
1485 
1486 const char*
1487 host_iterator_start_time (iterator_t*);
1488 
1489 const char*
1490 host_iterator_end_time (iterator_t*);
1491 
1492 int
1494 
1495 int
1497 
1498 int
1499 collate_message_type (void* data, int, const void*, int, const void*);
1500 
1501 void
1502 trim_partial_report (report_t);
1503 
1504 int
1505 report_progress (report_t);
1506 
1507 gchar *
1508 manage_report (report_t, report_t, const get_data_t *, report_format_t,
1509  int, int, gsize *, gchar **, gchar **, gchar **, gchar **,
1510  gchar **);
1511 
1512 int
1513 manage_send_report (report_t, report_t, report_format_t, const get_data_t *,
1514  int, int, int, int, int, int,
1515  gboolean (*) (const char *,
1516  int (*) (const char*, void*),
1517  void*),
1518  int (*) (const char *, void*), void *, const char *,
1519  const gchar *);
1520 
1521 
1522 ␌
1523 /* Reports. */
1524 
1525 void
1526 init_app_locations_iterator (iterator_t*, report_host_t, const gchar *);
1527 
1528 const char *
1530 
1531 void
1532 init_host_prognosis_iterator (iterator_t*, report_host_t);
1533 
1534 double
1536 
1537 const char*
1538 prognosis_iterator_cpe (iterator_t*);
1539 
1540 const char*
1541 prognosis_iterator_cve (iterator_t*);
1542 
1543 const char*
1544 prognosis_iterator_description (iterator_t*);
1545 
1546 ␌
1547 /* Targets. */
1548 
1554 #define MANAGE_ABSOLUTE_MAX_IPS_PER_TARGET 70000
1555 
1559 #define MANAGE_MAX_HOSTS 4095
1560 
1564 #define MANAGE_USER_MAX_HOSTS 16777216
1565 
1566 int
1567 manage_max_hosts ();
1568 
1569 void
1570 manage_filter_controls (const gchar *, int *, int *, gchar **, int *);
1571 
1572 void
1573 manage_report_filter_controls (const gchar *, int *, int *, gchar **, int *,
1574  int *, gchar **, gchar **, gchar **, gchar **,
1575  int *, int *, int *, int *, gchar **);
1576 
1577 gchar *
1578 manage_clean_filter (const gchar *);
1579 
1580 gchar *
1581 manage_clean_filter_remove (const gchar *, const gchar *);
1582 
1583 int
1584 manage_count_hosts (const char *, const char *);
1585 
1586 gboolean
1587 find_target_with_permission (const char *, target_t *, const char *);
1588 
1589 int
1590 create_target (const char*, const char*, const char*, const char*, const char*,
1591  const char *, const char*, credential_t, credential_t,
1592  const char *, credential_t, credential_t, credential_t,
1593  const char *, const char *, const char *, const char *,
1594  target_t*);
1595 
1596 int
1597 copy_target (const char*, const char*, const char *, target_t*);
1598 
1599 int
1600 modify_target (const char*, const char*, const char*, const char*, const char*,
1601  const char*, const char*, const char*, const char*, const char*,
1602  const char*, const char*, const char*, const char*, const char*,
1603  const char*);
1604 
1605 int
1606 delete_target (const char*, int);
1607 
1608 int
1609 target_count (const get_data_t *);
1610 
1611 void
1612 init_user_target_iterator (iterator_t*, target_t);
1613 
1614 void
1616 
1617 int
1619 
1620 const char*
1621 target_iterator_hosts (iterator_t*);
1622 
1623 const char*
1624 target_iterator_exclude_hosts (iterator_t*);
1625 
1626 const char*
1627 target_iterator_reverse_lookup_only (iterator_t*);
1628 
1629 const char*
1630 target_iterator_reverse_lookup_unify (iterator_t*);
1631 
1632 const char*
1633 target_iterator_comment (iterator_t*);
1634 
1635 int
1637 
1638 const char*
1639 target_iterator_ssh_port (iterator_t*);
1640 
1641 int
1643 
1644 int
1646 
1647 int
1649 
1650 int
1652 
1653 int
1655 
1656 int
1658 
1659 int
1661 
1662 int
1664 
1665 int
1667 
1668 const char*
1669 target_iterator_allow_simultaneous_ips (iterator_t*);
1670 
1671 const char*
1672 target_iterator_port_list_uuid (iterator_t*);
1673 
1674 const char*
1675 target_iterator_port_list_name (iterator_t*);
1676 
1677 int
1679 
1680 const char*
1682 
1683 char*
1684 target_uuid (target_t);
1685 
1686 char*
1687 trash_target_uuid (target_t);
1688 
1689 char*
1690 target_name (target_t);
1691 
1692 char*
1693 trash_target_name (target_t);
1694 
1695 int
1696 trash_target_readable (target_t);
1697 
1698 char*
1699 target_hosts (target_t);
1700 
1701 char*
1702 target_exclude_hosts (target_t);
1703 
1704 char*
1705 target_reverse_lookup_only (target_t);
1706 
1707 char*
1708 target_reverse_lookup_unify (target_t);
1709 
1710 char*
1712 
1713 char*
1714 target_port_range (target_t);
1715 
1716 char*
1717 target_ssh_port (target_t);
1718 
1719 int
1720 target_in_use (target_t);
1721 
1722 int
1723 trash_target_in_use (target_t);
1724 
1725 int
1726 target_writable (target_t);
1727 
1728 int
1729 trash_target_writable (target_t);
1730 
1731 char*
1732 target_ssh_credential_name (const char *);
1733 
1734 void
1736 
1737 const char*
1738 target_task_iterator_name (iterator_t*);
1739 
1740 const char*
1741 target_task_iterator_uuid (iterator_t*);
1742 
1743 int
1745 
1746 credential_t
1747 target_credential (target_t, const char*);
1748 
1749 int
1750 target_login_port (target_t, const char*);
1751 
1752 ␌
1753 /* Configs.
1754  *
1755  * These are here because they need definitions that are still in manage.h. */
1756 
1757 int
1758 create_task_check_scanner_type (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 int
2587 
2588 void
2590 
2591 const char*
2592 scanner_task_iterator_uuid (iterator_t *);
2593 
2594 const char*
2595 scanner_task_iterator_name (iterator_t *);
2596 
2597 int
2599 
2600 char *
2601 scanner_name (scanner_t);
2602 
2603 char *
2604 scanner_uuid (scanner_t);
2605 
2606 char *
2607 trash_scanner_name (scanner_t);
2608 
2609 char *
2610 trash_scanner_uuid (scanner_t);
2611 
2612 int
2613 osp_get_version_from_iterator (iterator_t *, char **, char **, char **, char **,
2614  char **, char **);
2615 
2616 int
2617 osp_get_details_from_iterator (iterator_t *, char **, GSList **);
2618 
2619 osp_connection_t *
2620 osp_connect_with_data (const char *,
2621  int,
2622  const char *,
2623  const char *,
2624  const char *);
2625 
2626 osp_connection_t *
2627 osp_scanner_connect (scanner_t);
2628 
2629 int
2631 
2632 void
2634 
2635 int
2636 verify_scanner (const char *, char **);
2637 
2638 const char *
2640 
2641 void
2642 set_relay_mapper_path (const char *);
2643 
2644 int
2646 
2647 void
2649 
2650 gboolean
2651 relay_supports_scanner_type (const char *, int, scanner_type_t);
2652 
2653 int
2654 slave_get_relay (const char *,
2655  int,
2656  const char *,
2657  const char *,
2658  gchar **,
2659  int *,
2660  gchar **);
2661 
2662 int
2663 slave_relay_connection (gvm_connection_t *, gvm_connection_t *);
2664 
2665 /* Scheduling. */
2666 
2670 #define SCHEDULE_PERIOD 10
2671 
2676 #define SCHEDULE_TIMEOUT_MIN_SECS 20
2677 
2681 #define SCHEDULE_TIMEOUT_DEFAULT 60
2682 
2683 gboolean
2684 find_schedule_with_permission (const char*, schedule_t*, const char*);
2685 
2686 int
2687 create_schedule (const char *, const char*, const char *,
2688  const char*, schedule_t *, gchar**);
2689 
2690 int
2691 copy_schedule (const char*, const char*, const char *, schedule_t *);
2692 
2693 int
2694 delete_schedule (const char*, int);
2695 
2696 void
2697 manage_auth_allow_all (int);
2698 
2699 const gchar*
2701 
2702 void
2703 set_scheduled_user_uuid (const gchar* uuid);
2704 
2705 void
2706 manage_sync (sigset_t *, int (*fork_update_nvt_cache) (), gboolean);
2707 
2708 int
2710  GSList *,
2711  const db_conn_info_t *,
2712  gchar **);
2713 
2714 int
2715 manage_schedule (manage_connection_forker_t,
2716  gboolean,
2717  sigset_t *);
2718 
2719 char *
2720 schedule_uuid (schedule_t);
2721 
2722 char *
2723 trash_schedule_uuid (schedule_t);
2724 
2725 char *
2726 schedule_name (schedule_t);
2727 
2728 char *
2729 trash_schedule_name (schedule_t);
2730 
2731 int
2732 schedule_duration (schedule_t);
2733 
2734 int
2735 schedule_period (schedule_t);
2736 
2737 int
2738 schedule_info (schedule_t, int, gchar **, gchar **);
2739 
2740 int
2742 
2743 const char*
2744 schedule_iterator_timezone (iterator_t *);
2745 
2746 const char*
2747 schedule_iterator_icalendar (iterator_t *);
2748 
2749 int
2750 trash_schedule_in_use (schedule_t);
2751 
2752 int
2753 schedule_in_use (schedule_t);
2754 
2755 int
2756 trash_schedule_writable (schedule_t);
2757 
2758 int
2759 trash_schedule_readable (schedule_t);
2760 
2761 int
2762 schedule_writable (schedule_t);
2763 
2764 int
2765 schedule_count (const get_data_t *);
2766 
2767 void
2769 
2770 const char*
2771 schedule_task_iterator_uuid (iterator_t *);
2772 
2773 const char*
2774 schedule_task_iterator_name (iterator_t *);
2775 
2776 int
2778 
2779 int
2780 modify_schedule (const char *, const char *, const char *, const char*,
2781  const char *, gchar **);
2782 
2783 int
2785 
2786 void
2787 set_schedule_timeout (int);
2788 
2789 ␌
2790 /* Groups. */
2791 
2792 int
2794 
2795 int
2796 copy_group (const char *, const char *, const char *, group_t *);
2797 
2798 int
2799 create_group (const char *, const char *, const char *, int, group_t *);
2800 
2801 int
2802 delete_group (const char *, int);
2803 
2804 char*
2805 group_uuid (group_t);
2806 
2807 gchar *
2808 group_users (group_t);
2809 
2810 int
2811 trash_group_in_use (group_t);
2812 
2813 int
2814 group_in_use (group_t);
2815 
2816 int
2817 trash_group_writable (group_t);
2818 
2819 int
2820 group_writable (group_t);
2821 
2822 int
2823 group_count (const get_data_t*);
2824 
2825 int
2826 modify_group (const char *, const char *, const char *, const char *);
2827 
2828 ␌
2829 /* Permissions. */
2830 
2831 int
2832 create_permission (const char *, const char *, const char *, const char *,
2833  const char *, const char *, permission_t *);
2834 
2835 int
2836 copy_permission (const char*, const char *, permission_t *);
2837 
2838 char*
2839 permission_uuid (permission_t);
2840 
2841 int
2842 permission_is_admin (const char *);
2843 
2844 int
2845 permission_in_use (permission_t);
2846 
2847 int
2848 trash_permission_in_use (permission_t);
2849 
2850 int
2851 permission_writable (permission_t);
2852 
2853 int
2854 trash_permission_writable (permission_t);
2855 
2856 int
2857 permission_count (const get_data_t *);
2858 
2859 int
2861 
2862 const char*
2863 permission_iterator_resource_type (iterator_t*);
2864 
2865 const char*
2866 permission_iterator_resource_uuid (iterator_t*);
2867 
2868 const char*
2869 permission_iterator_resource_name (iterator_t*);
2870 
2871 int
2873 
2874 int
2876 
2877 int
2879 
2880 const char*
2881 permission_iterator_subject_type (iterator_t*);
2882 
2883 const char*
2884 permission_iterator_subject_uuid (iterator_t*);
2885 
2886 const char*
2887 permission_iterator_subject_name (iterator_t*);
2888 
2889 int
2891 
2892 int
2894 
2895 int
2896 delete_permission (const char*, int);
2897 
2898 int
2899 modify_permission (const char *, const char *, const char *, const char *,
2900  const char *, const char *, const char *);
2901 
2902 /* Permission caching */
2903 
2904 void
2905 delete_permissions_cache_for_resource (const char*, resource_t);
2906 
2907 void
2908 delete_permissions_cache_for_user (user_t);
2909 
2910 ␌
2911 /* Roles. */
2912 
2913 int
2914 manage_get_roles (GSList *, const db_conn_info_t *, int);
2915 
2916 int
2918 
2919 int
2920 copy_role (const char *, const char *, const char *, role_t *);
2921 
2922 int
2923 create_role (const char *, const char *, const char *, role_t *);
2924 
2925 int
2926 delete_role (const char *, int);
2927 
2928 char*
2929 role_uuid (role_t);
2930 
2931 gchar *
2932 role_users (role_t);
2933 
2934 int
2935 trash_role_in_use (role_t);
2936 
2937 int
2938 role_in_use (role_t);
2939 
2940 int
2941 trash_role_writable (role_t);
2942 
2943 int
2944 role_writable (role_t);
2945 
2946 int
2947 role_count (const get_data_t*);
2948 
2949 int
2950 modify_role (const char *, const char *, const char *, const char *);
2951 
2952 ␌
2953 /* Filter Utilities. */
2954 
2958 typedef enum
2959 {
2960  KEYWORD_TYPE_UNKNOWN,
2961  KEYWORD_TYPE_INTEGER,
2962  KEYWORD_TYPE_DOUBLE,
2963  KEYWORD_TYPE_STRING
2964 } keyword_type_t;
2965 
2969 typedef enum
2970 {
2971  KEYWORD_RELATION_APPROX,
2972  KEYWORD_RELATION_COLUMN_ABOVE,
2973  KEYWORD_RELATION_COLUMN_APPROX,
2974  KEYWORD_RELATION_COLUMN_EQUAL,
2975  KEYWORD_RELATION_COLUMN_BELOW,
2976  KEYWORD_RELATION_COLUMN_REGEXP
2977 } keyword_relation_t;
2978 
2982 struct keyword
2983 {
2984  gchar *column;
2985  int approx;
2986  int equal;
2988  double double_value;
2989  int quoted;
2990  gchar *string;
2991  keyword_type_t type;
2992  keyword_relation_t relation;
2993 };
2994 
2998 typedef struct keyword keyword_t;
2999 
3000 int
3002 
3003 const char *
3004 keyword_relation_symbol (keyword_relation_t);
3005 
3006 void
3007 filter_free (array_t*);
3008 
3009 array_t *
3010 split_filter (const gchar*);
3011 
3012 ␌
3013 /* Filters. */
3014 
3018 #define FILT_ID_NONE "0"
3019 
3023 #define FILT_ID_USER_SETTING "-2"
3024 
3025 gboolean
3026 find_filter (const char*, filter_t*);
3027 
3028 gboolean
3029 find_filter_with_permission (const char*, filter_t*, const char*);
3030 
3031 char*
3032 filter_uuid (filter_t);
3033 
3034 char*
3035 filter_name (filter_t);
3036 
3037 gchar*
3038 filter_term (const char *);
3039 
3040 gchar*
3041 filter_term_value (const char *, const char *);
3042 
3043 int
3044 filter_term_apply_overrides (const char *);
3045 
3046 int
3047 filter_term_min_qod (const char *);
3048 
3049 int
3050 create_filter (const char*, const char*, const char*, const char*, filter_t*);
3051 
3052 int
3053 copy_filter (const char*, const char*, const char*, filter_t*);
3054 
3055 int
3056 delete_filter (const char *, int);
3057 
3058 int
3059 trash_filter_in_use (filter_t);
3060 
3061 int
3062 filter_in_use (filter_t);
3063 
3064 int
3065 trash_filter_writable (filter_t);
3066 
3067 int
3068 filter_writable (filter_t);
3069 
3070 int
3071 filter_count (const get_data_t*);
3072 
3073 int
3075 
3076 const char*
3078 
3079 const char*
3080 filter_iterator_term (iterator_t*);
3081 
3082 void
3084 
3085 const char*
3086 filter_alert_iterator_name (iterator_t*);
3087 
3088 const char*
3089 filter_alert_iterator_uuid (iterator_t*);
3090 
3091 int
3093 
3094 int
3095 modify_filter (const char*, const char*, const char*, const char*, const char*);
3096 
3097 ␌
3098 /* Schema. */
3099 
3100 int
3101 manage_schema (gchar *, gchar **, gsize *, gchar **, gchar **);
3102 
3103 ␌
3104 /* Trashcan. */
3105 
3106 int
3107 manage_restore (const char *);
3108 
3109 int
3111 
3112 ␌
3113 /* SecInfo */
3114 
3115 int
3116 manage_read_info (gchar *, gchar *, gchar *, gchar **);
3117 
3118 int
3119 info_name_count (const gchar *, const gchar *);
3120 
3121 /* SCAP. */
3122 
3123 int
3125 
3126 const char *
3128 
3129 /* CPE. */
3130 
3131 void
3132 init_cpe_cve_iterator (iterator_t *, const char *, int, const char *);
3133 
3134 int
3135 init_cpe_info_iterator (iterator_t*, get_data_t*, const char*);
3136 
3137 int
3138 cpe_info_count (const get_data_t *get);
3139 
3140 const char*
3141 cpe_info_iterator_title (iterator_t*);
3142 
3143 const char*
3144 cpe_info_iterator_status (iterator_t*);
3145 
3146 const char *
3147 cpe_info_iterator_severity (iterator_t*);
3148 
3149 const char*
3150 cpe_info_iterator_deprecated_by_id (iterator_t*);
3151 
3152 const char*
3153 cpe_info_iterator_cve_refs (iterator_t*);
3154 
3155 const char*
3156 cpe_info_iterator_nvd_id (iterator_t*);
3157 
3158 /* CVE. */
3159 
3160 const char*
3161 cve_iterator_name (iterator_t*);
3162 
3163 const char*
3164 cve_iterator_cvss_score (iterator_t*);
3165 
3166 const char*
3167 cve_info_iterator_severity (iterator_t*);
3168 
3169 const char*
3170 cve_info_iterator_vector (iterator_t*);
3171 
3172 const char*
3173 cve_info_iterator_description (iterator_t*);
3174 
3175 const char*
3176 cve_info_iterator_products (iterator_t*);
3177 
3178 int
3179 init_cve_info_iterator (iterator_t*, get_data_t*, const char*);
3180 
3181 int
3182 cve_info_count (const get_data_t *get);
3183 
3184 gchar *
3185 cve_cvss_base (const gchar *);
3186 
3187 /* CERT data */
3188 int
3190 
3191 /* CERT-Bund */
3192 
3193 int
3195 
3196 int
3198 
3199 const char*
3200 cert_bund_adv_info_iterator_title (iterator_t*);
3201 
3202 const char*
3203 cert_bund_adv_info_iterator_summary (iterator_t*);
3204 
3205 const char*
3206 cert_bund_adv_info_iterator_cve_refs (iterator_t*);
3207 
3208 const char*
3209 cert_bund_adv_info_iterator_severity (iterator_t*);
3210 
3211 void
3212 init_cve_cert_bund_adv_iterator (iterator_t*, const char*, int, const char*);
3213 
3214 void
3216 
3217 const char*
3218 nvt_cert_bund_adv_iterator_name (iterator_t*);
3219 
3220 /* DFN-CERT */
3221 
3222 int
3224 
3225 int
3226 dfn_cert_adv_info_count (const get_data_t *get);
3227 
3228 const char*
3229 dfn_cert_adv_info_iterator_title (iterator_t*);
3230 
3231 const char*
3232 dfn_cert_adv_info_iterator_summary (iterator_t*);
3233 
3234 const char*
3235 dfn_cert_adv_info_iterator_cve_refs (iterator_t*);
3236 
3237 const char*
3238 dfn_cert_adv_info_iterator_severity (iterator_t*);
3239 
3240 void
3241 init_cve_dfn_cert_adv_iterator (iterator_t*, const char*, int, const char*);
3242 
3243 void
3245 
3246 const char*
3247 nvt_dfn_cert_adv_iterator_name (iterator_t*);
3248 
3249 /* All SecInfo Data */
3250 
3251 int
3252 secinfo_count_after (const get_data_t *, const char *, time_t, gboolean);
3253 
3254 ␌
3255 /* Settings. */
3256 
3257 int
3258 manage_max_rows (int);
3259 
3260 int
3261 setting_count (const char *);
3262 
3263 int
3264 setting_is_default_ca_cert (const gchar *);
3265 
3266 char *
3267 setting_filter (const char *);
3268 
3269 void
3270 init_setting_iterator (iterator_t *, const char *, const char *, int, int, int,
3271  const char *);
3272 
3273 const char*
3274 setting_iterator_uuid (iterator_t*);
3275 
3276 const char*
3277 setting_iterator_name (iterator_t*);
3278 
3279 const char*
3280 setting_iterator_comment (iterator_t*);
3281 
3282 const char*
3283 setting_iterator_value (iterator_t*);
3284 
3285 int
3286 modify_setting (const gchar *, const gchar *, const gchar *, gchar **);
3287 
3288 int
3289 manage_modify_setting (GSList *, const db_conn_info_t *, const gchar *,
3290  const gchar *, const char *);
3291 
3292 char *
3293 manage_default_ca_cert ();
3294 
3295 ␌
3296 /* Users. */
3297 
3298 gboolean
3299 find_user_by_name_with_permission (const char *, user_t *, const char *);
3300 
3301 int
3302 manage_create_user (GSList *, const db_conn_info_t *, const gchar *,
3303  const gchar *, const gchar *);
3304 
3305 int
3306 manage_delete_user (GSList *, const db_conn_info_t *, const gchar *,
3307  const gchar *);
3308 
3309 int
3310 manage_get_users (GSList *, const db_conn_info_t *, const gchar *, int);
3311 
3312 report_host_t
3313 manage_report_host_add (report_t, const char *, time_t, time_t);
3314 
3315 int
3316 report_host_noticeable (report_t, const gchar *);
3317 
3318 void
3319 report_host_set_end_time (report_host_t, time_t);
3320 
3321 gchar*
3322 host_routes_xml (host_t);
3323 
3324 int
3325 manage_set_password (GSList *, const db_conn_info_t *, const gchar *,
3326  const gchar *);
3327 
3328 gchar *
3329 manage_user_hash (const gchar *);
3330 
3331 gchar *
3332 manage_user_uuid (const gchar *, auth_method_t);
3333 
3334 int
3335 manage_user_exists (const gchar *, auth_method_t);
3336 
3337 int
3338 copy_user (const char*, const char*, const char*, user_t*);
3339 
3340 gchar *
3341 keyfile_to_auth_conf_settings_xml (const gchar *);
3342 
3343 int
3344 init_user_iterator (iterator_t*, const get_data_t*);
3345 
3346 const char*
3347 user_iterator_role (iterator_t*);
3348 
3349 const char*
3350 user_iterator_method (iterator_t*);
3351 
3352 const char*
3353 user_iterator_hosts (iterator_t*);
3354 
3355 int
3356 user_iterator_hosts_allow (iterator_t*);
3357 
3358 void
3359 init_user_group_iterator (iterator_t *, user_t);
3360 
3361 const char*
3362 user_group_iterator_uuid (iterator_t*);
3363 
3364 const char*
3365 user_group_iterator_name (iterator_t*);
3366 
3367 int
3368 user_group_iterator_readable (iterator_t*);
3369 
3370 void
3371 init_user_role_iterator (iterator_t *, user_t);
3372 
3373 const char*
3374 user_role_iterator_uuid (iterator_t*);
3375 
3376 const char*
3377 user_role_iterator_name (iterator_t*);
3378 
3379 int
3380 user_role_iterator_readable (iterator_t*);
3381 
3382 int
3383 create_user (const gchar *, const gchar *, const gchar *, const gchar *,
3384  int, const array_t *, array_t *, gchar **,
3385  array_t *, gchar **, gchar **, user_t *, int);
3386 
3387 int
3388 delete_user (const char *, const char *, int, int, const char*, const char*);
3389 
3390 int
3391 modify_user (const gchar *, gchar **, const gchar *, const gchar *,
3392  const gchar*, const gchar *, int,
3393  const array_t *, array_t *, gchar **, array_t *, gchar **,
3394  gchar **);
3395 
3396 int
3397 user_in_use (user_t);
3398 
3399 int
3400 trash_user_in_use (user_t);
3401 
3402 int
3403 user_writable (user_t);
3404 
3405 int
3406 trash_user_writable (user_t);
3407 
3408 int
3409 user_count (const get_data_t*);
3410 
3411 gchar*
3412 user_name (const char *);
3413 
3414 char*
3415 user_uuid (user_t);
3416 
3417 gchar*
3418 user_hosts (const char *);
3419 
3420 int
3421 user_hosts_allow (const char *);
3422 
3423 int
3424 init_vuln_iterator (iterator_t*, const get_data_t*);
3425 
3426 int
3427 vuln_iterator_results (iterator_t*);
3428 
3429 time_t
3430 vuln_iterator_oldest (iterator_t*);
3431 
3432 time_t
3433 vuln_iterator_newest (iterator_t*);
3434 
3435 const char*
3436 vuln_iterator_type (iterator_t*);
3437 
3438 int
3439 vuln_iterator_hosts (iterator_t*);
3440 
3441 double
3442 vuln_iterator_severity (iterator_t*);
3443 
3444 int
3445 vuln_iterator_qod (iterator_t*);
3446 
3447 int
3448 vuln_count (const get_data_t*);
3449 
3450 void
3451 manage_get_ldap_info (int *, gchar **, gchar **, int *, gchar **);
3452 
3453 void
3454 manage_set_ldap_info (int, gchar *, gchar *, int, gchar *);
3455 
3456 void
3457 manage_get_radius_info (int *, char **, char **);
3458 
3459 void
3460 manage_set_radius_info (int, gchar *, gchar *);
3461 
3462 ␌
3463 /* Tags */
3464 
3465 char*
3466 tag_uuid (target_t);
3467 
3468 int
3469 copy_tag (const char*, const char*, const char*, tag_t*);
3470 
3471 int
3472 create_tag (const char *, const char *, const char *, const char *,
3473  array_t *, const char *, const char *, tag_t *, gchar **);
3474 
3475 int
3476 delete_tag (const char *, int);
3477 
3478 int
3479 modify_tag (const char *, const char *, const char *, const char *,
3480  const char *, array_t *, const char *, const char *, const char*,
3481  gchar **);
3482 
3483 int
3484 init_tag_iterator (iterator_t*, const get_data_t*);
3485 
3486 int
3487 tag_count (const get_data_t *get);
3488 
3489 const char*
3490 tag_iterator_resource_type (iterator_t*);
3491 
3492 int
3493 tag_iterator_active (iterator_t*);
3494 
3495 const char*
3496 tag_iterator_value (iterator_t*);
3497 
3498 int
3499 tag_iterator_resources (iterator_t*);
3500 
3501 resource_t
3502 tag_resource_iterator_id (iterator_t*);
3503 
3504 const char*
3505 tag_resource_iterator_uuid (iterator_t*);
3506 
3507 int
3508 tag_resource_iterator_location (iterator_t*);
3509 
3510 const char*
3511 tag_resource_iterator_name (iterator_t*);
3512 
3513 int
3514 tag_resource_iterator_readable (iterator_t*);
3515 
3516 int
3517 init_tag_name_iterator (iterator_t*, const get_data_t*);
3518 
3519 const char*
3520 tag_name_iterator_name (iterator_t*);
3521 
3522 int
3523 init_resource_tag_iterator (iterator_t*, const char*, resource_t, int,
3524  const char*, int);
3525 
3526 const char*
3527 resource_tag_iterator_uuid (iterator_t*);
3528 
3529 const char*
3530 resource_tag_iterator_name (iterator_t*);
3531 
3532 const char*
3533 resource_tag_iterator_value (iterator_t*);
3534 
3535 const char*
3536 resource_tag_iterator_comment (iterator_t*);
3537 
3538 int
3539 resource_tag_exists (const char*, resource_t, int);
3540 
3541 int
3542 resource_tag_count (const char*, resource_t, int);
3543 
3544 int
3545 tag_in_use (tag_t);
3546 
3547 int
3548 trash_tag_in_use (tag_t);
3549 
3550 int
3551 tag_writable (tag_t);
3552 
3553 int
3554 trash_tag_writable (tag_t);
3555 
3556 ␌
3557 /* Resource aggregates */
3558 
3562 typedef struct {
3563  gchar *field;
3564  gchar *stat;
3565  int order;
3566 } sort_data_t;
3567 
3568 void
3569 sort_data_free (sort_data_t*);
3570 
3571 int
3572 init_aggregate_iterator (iterator_t*, const char *, const get_data_t *, int,
3573  GArray *, const char *, const char*, GArray*, GArray*,
3574  int, int, const char *, const char *);
3575 
3576 int
3578 
3579 double
3581 
3582 double
3584 
3585 double
3587 
3588 double
3590 
3591 const char*
3592 aggregate_iterator_text (iterator_t*, int, int);
3593 
3594 const char*
3596 
3597 const char*
3599 
3600 ␌
3601 /* Feeds. */
3602 
3603 #define NVT_FEED 1
3604 #define SCAP_FEED 2
3605 #define CERT_FEED 3
3606 #define GVMD_DATA_FEED 4
3607 
3608 gboolean
3609 manage_gvmd_data_feed_dir_exists (const char *);
3610 
3611 gboolean
3612 manage_gvmd_data_feed_dirs_exist ();
3613 
3614 const gchar *
3615 get_broker_address ();
3616 
3617 void
3618 set_broker_address (const char *);
3619 
3620 const gchar *
3621 get_feed_lock_path ();
3622 
3623 void
3624 set_feed_lock_path (const char *);
3625 
3626 int
3627 get_feed_lock_timeout ();
3628 
3629 void
3630 set_feed_lock_timeout (int);
3631 
3632 void
3633 write_sync_start (int);
3634 
3635 int
3636 feed_lockfile_lock (lockfile_t *);
3637 
3638 int
3639 feed_lockfile_lock_timeout (lockfile_t*);
3640 
3641 int
3642 feed_lockfile_unlock (lockfile_t *);
3643 
3644 int
3645 gvm_migrate_secinfo (int);
3646 
3647 gboolean
3648 gvm_sync_script_perform_selftest (const gchar *, gchar **);
3649 
3650 gboolean
3651 gvm_get_sync_script_identification (const gchar *, gchar **, int);
3652 
3653 gboolean
3654 gvm_get_sync_script_description (const gchar *, gchar **);
3655 
3656 gboolean
3657 gvm_get_sync_script_feed_version (const gchar *, gchar **);
3658 
3659 int
3660 nvts_feed_info (gchar **, gchar **, gchar **, gchar **);
3661 
3662 int
3663 nvts_check_feed (int *, int *, gchar **);
3664 
3665 int
3666 manage_update_nvts_osp (const gchar *);
3667 
3668 int
3669 manage_rebuild (GSList *, const db_conn_info_t *);
3670 
3671 int
3672 manage_dump_vt_verification (GSList *, const db_conn_info_t *);
3673 
3674 ␌
3675 /* Wizards. */
3676 
3677 int
3678 manage_run_wizard (const gchar *, int (*) (void*, gchar*, gchar**),
3679  void *, array_t *, int, const char*,
3680  gchar **, gchar **, gchar **);
3681 
3682 ␌
3683 /* Helpers. */
3684 
3685 gchar *
3686 xml_escape_text_truncated (const char *, size_t, const char *);
3687 
3688 int
3689 column_is_timestamp (const char*);
3690 
3691 char*
3692 type_columns (const char *);
3693 
3694 char*
3695 type_trash_columns (const char *);
3696 
3697 gboolean
3698 manage_migrate_needs_timezone (GSList *, const db_conn_info_t *);
3699 
3700 ␌
3701 /* Optimize. */
3702 
3703 int
3704 manage_optimize (GSList *, const db_conn_info_t *, const gchar *);
3705 
3706 ␌
3707 /* Signal management */
3708 
3709 int
3710 sql_cancel ();
3711 
3712 ␌
3713 /* General settings */
3714 const char *
3715 get_vt_verification_collation ();
3716 
3717 void
3718 set_vt_verification_collation (const char *);
3719 
3720 #endif /* not _GVMD_MANAGE_H */
static int fork_update_nvt_cache()
Update the NVT cache in a child process.
Definition: gvmd.c:1186
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:3811
void alert_report_data_reset(alert_report_data_t *data)
Frees content of an alert_report_data_t, but not the struct itself.
Definition: manage.c:1237
void cleanup_report_type_iterator(report_type_iterator_t *iterator)
Cleanup a report type iterator.
Definition: manage.c:4135
int init_system_report_type_iterator(report_type_iterator_t *iterator, const char *type, const char *slave_id)
Initialise a system report type iterator.
Definition: manage.c:4110
const char * report_type_iterator_name(report_type_iterator_t *iterator)
Return the name from a report type iterator.
Definition: manage.c:4165
gchar * truncate_certificate(const gchar *certificate)
Truncate a certificate, removing extra data.
Definition: manage.c:212
int manage_schedule(manage_connection_forker_t fork_connection, gboolean run_tasks, sigset_t *sigmask_current)
Schedule any actions that are due.
Definition: manage.c:5097
int manage_system_report(const char *name, const char *duration, const char *start_time, const char *end_time, const char *slave_id, char **report)
Get a system report.
Definition: manage.c:4302
double severity_data_value(int index)
Convert an index in the counts array to a severity value.
Definition: manage.c:1042
void set_relay_mapper_path(const char *new_path)
Gets the current path of the relay mapper executable.
Definition: manage.c:3170
task_t current_scanner_task
The task currently running on the scanner.
Definition: manage.c:1206
gchar * certificate_iso_time(time_t time)
Converts a certificate time to an ISO time string.
Definition: manage.c:556
int stop_task(const char *task_id)
Initiate stopping a task.
Definition: manage.c:3615
gchar * xml_escape_text_truncated(const char *string, size_t max_len, const char *suffix)
XML escapes text truncating to a maximum length with a suffix.
Definition: manage.c:669
int get_relay_migrate_sensors()
Gets whether to migrate sensors if relays do not match.
Definition: manage.c:3182
int move_task(const char *task_id, const char *slave_id)
Reassign a task to another slave.
Definition: manage.c:3691
const char * alert_method_name(alert_method_t method)
Get the name of an alert method.
Definition: manage.c:1400
const char * get_relay_mapper_path()
Gets the current path of the relay mapper executable.
Definition: manage.c:3159
const char * event_name(event_t event)
Get the name of an alert event.
Definition: manage.c:1285
int scanner_type_valid(scanner_type_t scanner_type)
Check if a scanner type is valid.
Definition: manage.c:803
int type_is_scap(const char *type)
Check if a type is a SCAP type.
Definition: manage.c:755
int slave_get_relay(const char *original_host, int original_port, const char *original_ca_cert, const char *protocol, gchar **new_host, int *new_port, gchar **new_ca_cert)
Gets a relay hostname and port for a sensor scanner.
Definition: manage.c:3343
int start_task(const char *task_id, char **report_id)
Start a task.
Definition: manage.c:3504
void severity_data_add(severity_data_t *severity_data, double severity)
Add a severity occurrence to the counts of a severity_data_t.
Definition: manage.c:1091
void alert_report_data_free(alert_report_data_t *data)
Frees a alert_report_data_t struct, including contained data.
Definition: manage.c:1222
int resume_task(const char *task_id, char **report_id)
Resume a task.
Definition: manage.c:3657
event_t event_from_name(const char *name)
Get an event from a name.
Definition: manage.c:1451
gchar * truncate_private_key(const gchar *private_key)
Truncate a private key, removing extra data.
Definition: manage.c:277
report_t global_current_report
The report of the current task.
Definition: manage.c:1211
alert_method_t alert_method_from_name(const char *name)
Get an alert method from a name.
Definition: manage.c:1476
void set_relay_migrate_sensors(int new_value)
Sets whether to migrate sensors if relays do not match.
Definition: manage.c:3193
gboolean next_report_type(report_type_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:4150
int severity_in_level(double severity, const char *level)
Check whether a severity falls within a threat level.
Definition: manage.c:850
int get_schedule_timeout()
Get the current schedule timeout.
Definition: manage.c:5276
void set_scheduled_user_uuid(const gchar *user_uuid)
Set UUID of user that scheduled the current task. The previous value is freed and a copy of the UUID ...
Definition: manage.c:4485
void manage_auth_allow_all(int scheduled)
Ensure that any subsequent authentications succeed.
Definition: manage.c:4462
alert_condition_t alert_condition_from_name(const char *name)
Get an alert condition from a name.
Definition: manage.c:1428
const char * run_status_name(task_status_t status)
Get the name of a run status.
Definition: manage.c:1516
credentials_t current_credentials
Current credentials during any GMP command.
Definition: manage.c:934
int get_scanner_connection_retry()
Get the number of retries on a scanner connection lost.
Definition: manage.c:2824
const char * manage_scap_update_time()
GET SCAP update time, as a string.
Definition: manage.c:5803
const char * report_type_iterator_title(report_type_iterator_t *iterator)
Return the title from a report type iterator.
Definition: manage.c:4178
const char * severity_to_level(double severity, int mode)
Get the threat level matching a severity score.
Definition: manage.c:873
gchar * get_nvt_xml(iterator_t *nvts, int details, int pref_count, int preferences, const char *timeout, config_t config, int close_tag)
Create and return XML description for an NVT.
Definition: manage.c:5495
const gchar * get_scheduled_user_uuid()
Access UUID of user that scheduled the current task.
Definition: manage.c:4473
const gchar * certificate_time_status(time_t activates, time_t expires)
Tests the activation and expiration time of a certificate.
Definition: manage.c:575
gboolean relay_supports_scanner_type(const char *original_host, int original_port, scanner_type_t type)
Gets whether there is a relay supporting the scanner type.
Definition: manage.c:3298
const char * alert_condition_name(alert_condition_t condition)
Get the name of an alert condition.
Definition: manage.c:1258
gchar * alert_condition_description(alert_condition_t condition, alert_t alert)
Get a description of an alert condition.
Definition: manage.c:1308
void cleanup_severity_data(severity_data_t *data)
Clean up a severity data structure.
Definition: manage.c:1079
void set_schedule_timeout(int new_timeout)
Set the schedule timeout.
Definition: manage.c:5287
void set_scanner_connection_retry(int new_retry)
Set the number of retries on a scanner connection lost.
Definition: manage.c:2835
void init_severity_data(severity_data_t *data)
Initialize a severity data structure.
Definition: manage.c:1062
const char * severity_to_type(double severity)
Get the message type matching a severity score.
Definition: manage.c:910
void manage_sync(sigset_t *sigmask_current, int(*fork_update_nvt_cache)(), gboolean try_gvmd_data_sync)
Perform any syncing that is due.
Definition: manage.c:4891
void severity_data_add_count(severity_data_t *severity_data, double severity, int count)
Add a multiple severity occurrences to the counts of a severity_data_t.
Definition: manage.c:1109
void severity_data_level_counts(const severity_data_t *severity_data, int *errors, int *false_positives, int *logs, int *lows, int *mediums, int *highs)
Count the occurrences of severities in the levels.
Definition: manage.c:1159
gchar * event_description(event_t event, const void *event_data, const char *task_name)
Get a description of an alert event.
Definition: manage.c:1359
const char * type_name_plural(const char *type)
Return the plural name of a resource type.
Definition: manage.c:701
get_data_t * report_results_get_data(int first, int rows, int apply_overrides, int min_qod)
Create a new basic get_data_t struct to get report results.
Definition: manage.c:996
int get_certificate_info(const gchar *certificate, gssize certificate_len, time_t *activation_time, time_t *expiration_time, gchar **md5_fingerprint, gchar **sha256_fingerprint, gchar **subject, gchar **issuer, gchar **serial, gnutls_x509_crt_fmt_t *certificate_format)
Gathers info from a certificate.
Definition: manage.c:361
int manage_read_info(gchar *type, gchar *uid, gchar *name, gchar **result)
Read raw information.
Definition: manage.c:5854
const char * type_name(const char *type)
Return the name of a resource type.
Definition: manage.c:728
int manage_rebuild_gvmd_data_from_feed(const char *types, GSList *log_config, const db_conn_info_t *database, gchar **error_msg)
Rebuild configs, port lists and report formats from feed.
Definition: manage.c:4975
resource_t get_iterator_resource(iterator_t *iterator)
Get the resource from a GET iterator.
Definition: manage_get.c:112
user_t get_iterator_owner(iterator_t *iterator)
Get the owner from a GET iterator.
Definition: manage_get.c:187
int manage_migrate(GSList *log_config, const db_conn_info_t *database)
Migrate database to version supported by this manager.
Definition: manage_migrators.c:3066
gboolean manage_migrate_needs_timezone(GSList *log_config, const db_conn_info_t *database)
Check whether the migration needs the real timezone.
Definition: manage_migrators.c:3013
int manage_scap_loaded()
Check whether SCAP is available.
Definition: manage_pg.c:3342
int manage_cert_loaded()
Check whether CERT is available.
Definition: manage_pg.c:3326
void manage_session_set_timezone(const char *zone)
Setup session timezone.
Definition: manage_pg.c:69
gboolean find_alert_with_permission(const char *uuid, alert_t *alert, const char *permission)
Find a alert for a specific permission, given a UUID.
Definition: manage_sql.c:6451
int modify_note(const gchar *note_id, const char *active, const char *nvt, const char *text, const char *hosts, const char *port, const char *severity, const char *threat, const gchar *task_id, const gchar *result_id)
Modify a note.
Definition: manage_sql.c:36238
int target_iterator_smb_trash(iterator_t *iterator)
Get the location of the SMB LSC credential from a target iterator.
Definition: manage_sql.c:32036
int modify_scanner(const char *scanner_id, const char *name, const char *comment, const char *host, const char *port, const char *type, const char *ca_pub, const char *credential_id)
Modify an scanner.
Definition: manage_sql.c:38976
const char * app_locations_iterator_location(iterator_t *iterator)
Get a location from an app locations iterator.
Definition: manage_sql.c:19673
gboolean find_report_with_permission(const char *uuid, report_t *report, const char *permission)
Find a report for a specific permission, given a UUID.
Definition: manage_sql.c:29840
const char * task_iterator_trend_counts(iterator_t *iterator, int holes_a, int warns_a, int infos_a, double severity_a, int holes_b, int warns_b, int infos_b, double severity_b)
Return the trend of a task, given counts.
Definition: manage_sql.c:29089
const char * credential_iterator_community(iterator_t *iterator)
Get the SNMP community from a Credential iterator.
Definition: manage_sql.c:35452
char * target_port_range(target_t target)
Return the port range of a target, in GMP port range list format.
Definition: manage_sql.c:32555
int create_role(const char *role_name, const char *comment, const char *users, role_t *role)
Create a role.
Definition: manage_sql.c:44194
int manage_get_roles(GSList *log_config, const db_conn_info_t *database, int verbose)
List roles.
Definition: manage_sql.c:44098
int add_assets_from_host_in_report(report_t report, const char *host_ip)
Generates and adds assets from report host details.
Definition: manage_sql.c:49204
const char * aggregate_iterator_subgroup_value(iterator_t *iterator)
Get the value of the subgroup column from an aggregate iterator.
Definition: manage_sql.c:5667
void init_schedule_task_iterator(iterator_t *iterator, schedule_t schedule)
Initialise a schedule task iterator.
Definition: manage_sql.c:41134
double report_severity(report_t report, int overrides, int min_qod)
Get the maximum severity of a report.
Definition: manage_sql.c:24319
int init_group_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a group iterator, including observed groups.
Definition: manage_sql.c:41939
void update_duration_schedule_periods(task_t task)
Update tasks with limited run schedules which have durations.
Definition: manage_sql.c:18734
gchar * group_users(group_t group)
Gets users of group as a string.
Definition: manage_sql.c:41825
int task_upload_progress(task_t task)
Return the upload progress of a task.
Definition: manage_sql.c:17826
int delete_target(const char *target_id, int ultimate)
Delete a target.
Definition: manage_sql.c:31060
const char * alert_data_iterator_data(iterator_t *iterator)
Return the data from an alert data iterator.
Definition: manage_sql.c:8435
void init_report_counts_build_iterator(iterator_t *iterator, report_t report, int min_qod_limit, int add_defaults, const char *users_where)
Initializes an iterator for updating the report cache.
Definition: manage_sql.c:19960
int set_task_schedule_periods_id(task_t task, int periods)
Set the schedule periods of a task, given an ID.
Definition: manage_sql.c:18318
report_host_t manage_report_host_add(report_t report, const char *host, time_t start, time_t end)
Add a report host.
Definition: manage_sql.c:47111
void init_os_host_iterator(iterator_t *iterator, resource_t os)
Initialise an OS host iterator.
Definition: manage_sql.c:48512
int scanner_type(scanner_t scanner)
Return the type of a scanner.
Definition: manage_sql.c:39742
int report_count(const get_data_t *get)
Count number of reports.
Definition: manage_sql.c:21242
int role_writable(role_t role)
Check whether a role is writable.
Definition: manage_sql.c:44523
int trash_task_writable(task_t task)
Return whether a trashcan task is writable.
Definition: manage_sql.c:15186
int trash_group_in_use(group_t group)
Check whether a trashcan group is in use.
Definition: manage_sql.c:41883
task_t note_iterator_task(iterator_t *iterator)
Get the task from a note iterator.
Definition: manage_sql.c:36835
int target_in_use(target_t target)
Return whether a target is in use by a task.
Definition: manage_sql.c:32626
int create_filter(const char *name, const char *comment, const char *type, const char *term, filter_t *filter)
Create a filter.
Definition: manage_sql.c:44976
int delete_schedule(const char *schedule_id, int ultimate)
Delete a schedule.
Definition: manage_sql.c:40446
command_t gmp_commands[]
The GMP command list.
Definition: manage_sql.c:449
void set_task_name(task_t task, const char *name)
Set the name of a task.
Definition: manage_sql.c:29185
const char * result_iterator_original_level(iterator_t *iterator)
Get the original severity/threat level from a result iterator.
Definition: manage_sql.c:22626
char * task_config_uuid(task_t task)
Return the UUID of the config of a task.
Definition: manage_sql.c:17423
void set_db_version(int version)
Set the database version of the actual database.
Definition: manage_sql.c:5966
gchar * manage_clean_filter(const gchar *filter)
Clean a filter.
Definition: manage_sql.c:2371
gboolean find_credential_with_permission(const char *uuid, credential_t *credential, const char *permission)
Find a credential for a specific permission, given a UUID.
Definition: manage_sql.c:33577
gboolean next_report(iterator_t *iterator, report_t *report)
Read the next report from an iterator.
Definition: manage_sql.c:21366
int init_filter_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a filter iterator, including observed filters.
Definition: manage_sql.c:45437
gchar * manage_report(report_t report, report_t delta_report, const get_data_t *get, const report_format_t report_format, int notes_details, int overrides_details, gsize *output_length, gchar **extension, gchar **content_type, gchar **filter_term_return, gchar **zone_return, gchar **host_summary)
Generate a report.
Definition: manage_sql.c:28382
void hosts_set_details(report_t report)
Store certain host details in the assets after a scan.
Definition: manage_sql.c:47572
int credential_writable(credential_t credential)
Check whether a Credential is writable.
Definition: manage_sql.c:34905
int trash_alert_writable(alert_t alert)
Return whether a trashcan alert is writable.
Definition: manage_sql.c:8176
scanner_t task_iterator_scanner(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15092
int trash_permission_in_use(permission_t permission)
Return whether a trashcan permission is referenced by a task.
Definition: manage_sql.c:42930
int create_asset_host(const char *host_name, const char *comment, resource_t *host_return)
Create a host asset.
Definition: manage_sql.c:48646
void set_scan_host_start_time_ctime(report_t report, const char *host, const char *timestamp)
Set the start time of a scanned host.
Definition: manage_sql.c:23739
int trash_credential_in_use(credential_t credential)
Check whether a trashcan Credential is in use.
Definition: manage_sql.c:34868
int request_delete_task(task_t *task_pointer)
Request deletion of a task.
Definition: manage_sql.c:29374
int scanner_iterator_port(iterator_t *iterator)
Get the port from an scanner iterator.
Definition: manage_sql.c:39376
void make_task_complete(task_t task)
Complete the creation of a task.
Definition: manage_sql.c:29170
int init_report_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a report iterator, including observed reports.
Definition: manage_sql.c:21279
int init_scanner_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an scanner iterator.
Definition: manage_sql.c:39348
char * alert_iterator_filter_name(iterator_t *iterator)
Return the filter name from an alert iterator.
Definition: manage_sql.c:8304
int scanner_iterator_type(iterator_t *iterator)
Get the type from an scanner iterator.
Definition: manage_sql.c:39392
char * setting_filter(const char *resource)
Return the uuid of a resource filter from settings.
Definition: manage_sql.c:49324
int trash_target_readable(target_t target)
Return whether a trashcan target is readable.
Definition: manage_sql.c:32358
int asset_iterator_in_use(iterator_t *iterator)
Get the "in use" status from an asset iterator.
Definition: manage_sql.c:48217
int trash_schedule_in_use(schedule_t schedule)
Return whether a trashcan schedule is in use by a task.
Definition: manage_sql.c:40581
void set_credential_public_key(credential_t credential, const char *public_key)
Set the public key of a Credential.
Definition: manage_sql.c:35177
void set_task_alterable(task_t task, int alterable)
Set the alterable state of a task.
Definition: manage_sql.c:18140
int manage_create_scanner(GSList *log_config, const db_conn_info_t *database, const char *name, const char *host, const char *port, const char *type, const char *ca_pub_path, const char *credential_id, const char *key_pub_path, const char *key_priv_path)
Create the given scanner.
Definition: manage_sql.c:38250
char * task_name(task_t task)
Return the name of a task.
Definition: manage_sql.c:17325
char * schedule_uuid(schedule_t schedule)
Return the UUID of a schedule.
Definition: manage_sql.c:40648
const char * aggregate_iterator_text(iterator_t *iterator, int text_column_index, int data_columns)
Get the value of a text column from an aggregate iterator.
Definition: manage_sql.c:5628
int target_login_port(target_t target, const char *type)
Get a login port from a target.
Definition: manage_sql.c:30676
int trash_alert_in_use(alert_t alert)
Return whether a trashcan alert is in use by a task.
Definition: manage_sql.c:8147
int modify_permission(const char *permission_id, const char *name_arg, const char *comment, const char *resource_id_arg, const char *resource_type_arg, const char *subject_type, const char *subject_id)
Modify a permission.
Definition: manage_sql.c:43546
char * scanner_password(scanner_t scanner)
Return the password associated with a scanner.
Definition: manage_sql.c:39852
scanner_t task_scanner(task_t task)
Return the scanner of a task.
Definition: manage_sql.c:17563
int result_detection_reference(result_t result, report_t report, const char *host, const char *port, const char *path, char **oid, char **ref, char **product, char **location, char **name)
Get product detection results corresponding to a given vulnerability detection result.
Definition: manage_sql.c:19489
char * scanner_uuid(scanner_t scanner)
Return the UUID of a scanner.
Definition: manage_sql.c:39684
int init_note_iterator(iterator_t *iterator, const get_data_t *get, nvt_t nvt, result_t result, task_t task)
Initialise a note iterator.
Definition: manage_sql.c:36663
int copy_task(const char *name, const char *comment, const char *task_id, int alterable, task_t *new_task)
Create a task from an existing task.
Definition: manage_sql.c:29228
void set_task_config(task_t task, config_t config)
Set the config of a task.
Definition: manage_sql.c:17475
const char * task_iterator_hosts_ordering(iterator_t *iterator)
Get the hosts ordering value from a task iterator.
Definition: manage_sql.c:15078
char * scanner_key_pub(scanner_t scanner)
Return the Certificate of a scanner.
Definition: manage_sql.c:39775
void set_scan_host_end_time(report_t report, const char *host, const char *timestamp)
Set the end time of a scanned host.
Definition: manage_sql.c:23691
void set_task_target(task_t task, target_t target)
Set the target of a task.
Definition: manage_sql.c:17517
int manage_task_update_file(const gchar *task_id, const char *name, const void *content)
Add a file to a task, or update the file on the task.
Definition: manage_sql.c:29888
int task_uuid(task_t task, char **id)
Return the UUID of a task.
Definition: manage_sql.c:17248
int copy_credential(const char *name, const char *comment, const char *credential_id, credential_t *new_credential)
Create an LSC Credential from an existing one.
Definition: manage_sql.c:34203
int init_target_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a target iterator, including observed targets.
Definition: manage_sql.c:31944
gchar * credential_iterator_formats_xml(iterator_t *iterator)
Get XML of available formats for a credential iterator.
Definition: manage_sql.c:35656
int create_target(const char *name, const char *asset_hosts_filter, const char *hosts, const char *exclude_hosts, const char *comment, const char *port_list_id, const char *port_range, credential_t ssh_credential, credential_t ssh_elevate_credential, const char *ssh_port, credential_t smb_credential, credential_t esxi_credential, credential_t snmp_credential, const char *reverse_lookup_only, const char *reverse_lookup_unify, const char *alive_tests, const char *allow_simultaneous_ips, target_t *target)
Create a target.
Definition: manage_sql.c:30737
gboolean find_schedule_with_permission(const char *uuid, schedule_t *schedule, const char *permission)
Find a schedule for a specific permission, given a UUID.
Definition: manage_sql.c:40285
gchar * filter_term_value(const char *term, const char *column)
Return the value of a column keyword of a filter term.
Definition: manage_sql.c:44879
int target_iterator_ssh_elevate_credential(iterator_t *iterator)
Get the ELEVATE LSC credential from a target iterator.
Definition: manage_sql.c:32218
int manage_empty_trashcan()
Empty the trashcan.
Definition: manage_sql.c:46858
int modify_credential(const char *credential_id, const char *name, const char *comment, const char *login, const char *password, const char *key_private, const char *key_public, const char *certificate, const char *community, const char *auth_algorithm, const char *privacy_password, const char *privacy_algorithm, const char *allow_insecure)
Modify a Credential.
Definition: manage_sql.c:34252
char * scanner_key_priv(scanner_t scanner)
Return the private key of a scanner.
Definition: manage_sql.c:39795
int delete_role(const char *role_id, int ultimate)
Delete a role.
Definition: manage_sql.c:44295
void init_app_locations_iterator(iterator_t *iterator, report_host_t report_host, const gchar *app)
Initialize an iterator of locations of an App for a report's host.
Definition: manage_sql.c:19635
int report_progress(report_t report)
Calculate the progress of a report.
Definition: manage_sql.c:26219
void init_host_prognosis_iterator(iterator_t *iterator, report_host_t report_host)
Initialise a report host prognosis iterator.
Definition: manage_sql.c:19686
int trash_schedule_readable(schedule_t schedule)
Return whether a trashcan schedule is readable.
Definition: manage_sql.c:40623
int group_in_use(group_t group)
Check whether a group is in use.
Definition: manage_sql.c:41870
int permission_iterator_resource_orphan(iterator_t *iterator)
Check if the permission resource has been deleted.
Definition: manage_sql.c:43205
host_t host_notice(const char *host_name, const char *identifier_type, const char *identifier_value, const char *source_type, const char *source_id, int check_add_to_assets, int check_for_existing_identifier)
Notice a host.
Definition: manage_sql.c:19208
int group_count(const get_data_t *get)
Count number of groups.
Definition: manage_sql.c:41920
int schedule_in_use(schedule_t schedule)
Return whether a schedule is in use by a task.
Definition: manage_sql.c:40567
char * alert_iterator_filter_uuid(iterator_t *iterator)
Return the filter UUID from an alert iterator.
Definition: manage_sql.c:8279
const char * credential_iterator_private_key(iterator_t *iterator)
Get the private_key from a Credential iterator.
Definition: manage_sql.c:35437
int schedule_info(schedule_t schedule, int trash, gchar **icalendar, gchar **zone)
Return info about a schedule.
Definition: manage_sql.c:40735
void xml_append_nvt_refs(GString *xml, const char *oid, int *first)
Append an NVT's references to an XML string buffer.
Definition: manage_sql.c:22967
char * permission_uuid(permission_t permission)
Return the UUID of a permission.
Definition: manage_sql.c:42757
int task_schedule_periods_uuid(const gchar *task_id)
Set the next time a scheduled task will be due.
Definition: manage_sql.c:18424
char * task_config_name(task_t task)
Return the name of the config of a task.
Definition: manage_sql.c:17442
int asset_iterator_writable(iterator_t *iterator)
Get the writable status from an asset iterator.
Definition: manage_sql.c:48203
int target_iterator_snmp_credential(iterator_t *iterator)
Get the SNMP LSC credential from a target iterator.
Definition: manage_sql.c:32186
void manage_cleanup_process_error(int signal)
Cleanup as immediately as possible.
Definition: manage_sql.c:16614
int init_manage(GSList *log_config, const db_conn_info_t *database, int max_ips_per_target, int max_email_attachment_size, int max_email_include_size, int max_email_message_size, manage_connection_forker_t fork_connection, int skip_db_check)
Initialize the manage library.
Definition: manage_sql.c:16513
int asset_os_iterator_installs(iterator_t *iterator)
Get the number of installs from an asset OS iterator.
Definition: manage_sql.c:48448
void set_task_scanner(task_t task, scanner_t scanner)
Set the scanner of a task.
Definition: manage_sql.c:17588
int modify_setting(const gchar *uuid, const gchar *name, const gchar *value_64, gchar **r_errdesc)
Set the value of a setting.
Definition: manage_sql.c:49596
int note_uuid(note_t note, char **id)
Return the UUID of a note.
Definition: manage_sql.c:36210
int task_schedule_periods(task_t task)
Get the number of times the period schedule should run on the task.
Definition: manage_sql.c:18411
int authenticate(credentials_t *credentials)
Authenticate credentials.
Definition: manage_sql.c:17053
int filter_writable(filter_t filter)
Check whether a filter is writable.
Definition: manage_sql.c:45364
target_t task_target(task_t task)
Return the target of a task.
Definition: manage_sql.c:17491
report_t task_running_report(task_t task)
Return the running report of a task.
Definition: manage_sql.c:17756
report_t make_report(task_t task, const char *uuid, task_status_t status)
Make a report.
Definition: manage_sql.c:20193
const char * override_iterator_new_threat(iterator_t *iterator)
Get the threat from an override iterator.
Definition: manage_sql.c:38108
int manage_scap_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5896
int create_scanner(const char *name, const char *comment, const char *host, const char *port, const char *type, scanner_t *new_scanner, const char *ca_pub, const char *credential_id)
Create a scanner.
Definition: manage_sql.c:38851
int schedule_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:41189
int task_in_use(task_t task)
Return whether a task is in use by a task.
Definition: manage_sql.c:15120
void init_host_detail_iterator(iterator_t *iterator, resource_t host)
Initialise an asset host detail iterator.
Definition: manage_sql.c:48548
schedule_t task_schedule(task_t task)
Return the schedule of a task.
Definition: manage_sql.c:18335
int target_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:32743
char * scanner_login(scanner_t scanner)
Return the login associated with a scanner.
Definition: manage_sql.c:39834
void report_compliance_by_uuid(const char *report_id, int *compliance_yes, int *compliance_no, int *compliance_incomplete)
Get compliance counts for a report.
Definition: manage_sql.c:20809
int trash_filter_in_use(filter_t filter)
Check whether a trashcan filter is in use.
Definition: manage_sql.c:45336
osp_connection_t * osp_scanner_connect(scanner_t scanner)
Create a new connection to an OSP scanner.
Definition: manage_sql.c:40059
void set_credential_privacy_algorithm(credential_t credential, const char *algorithm)
Set the privacy_algorithm of a Credential.
Definition: manage_sql.c:35072
int create_override(const char *active, const char *nvt, const char *text, const char *hosts, const char *port, const char *threat, const char *new_threat, const char *severity, const char *new_severity, task_t task, result_t result, override_t *override)
Create an override.
Definition: manage_sql.c:36972
gboolean report_task(report_t report, task_t *task)
Return the task of a report.
Definition: manage_sql.c:20780
int task_config_in_trash(task_t task)
Return whether the config of a task is in the trashcan.
Definition: manage_sql.c:17461
int manage_alert(const char *alert_id, const char *task_id, event_t event, const void *event_data, gchar **script_message)
Escalate an alert with task and event data.
Definition: manage_sql.c:13799
char * trash_scanner_name(scanner_t scanner)
Return the name of a scanner in the trashcan.
Definition: manage_sql.c:39894
int delete_alert(const char *alert_id, int ultimate)
Delete an alert.
Definition: manage_sql.c:7806
char * target_allow_simultaneous_ips(target_t target)
Return the allow_simultaneous_ips value of a target.
Definition: manage_sql.c:32441
gchar * task_second_last_report_id(task_t task)
Get report ID from second most recently completed invocation of task.
Definition: manage_sql.c:18058
int schedule_duration(schedule_t schedule)
Return the duration of a schedule.
Definition: manage_sql.c:40718
int group_writable(group_t group)
Check whether a group is writable.
Definition: manage_sql.c:41844
int init_override_iterator(iterator_t *iterator, const get_data_t *get, nvt_t nvt, result_t result, task_t task)
Initialise an override iterator.
Definition: manage_sql.c:37919
int manage_resource_name(const char *type, const char *uuid, char **name)
Get the name of a resource.
Definition: manage_sql.c:4688
void set_scan_start_time_epoch(report_t report, time_t timestamp)
Set the start time of a scan.
Definition: manage_sql.c:23558
int report_result_host_count(report_t report, int min_qod)
Count a report's total number of hosts with results.
Definition: manage_sql.c:25716
void set_task_end_time(task_t task, char *time)
Set the end time of a task.
Definition: manage_sql.c:23474
int create_alert(const char *name, const char *comment, const char *filter_id, const char *active, event_t event, GPtrArray *event_data, alert_condition_t condition, GPtrArray *condition_data, alert_method_t method, GPtrArray *method_data, alert_t *alert)
Create an alert.
Definition: manage_sql.c:7169
const char * task_iterator_usage_type(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15106
int copy_schedule(const char *name, const char *comment, const char *schedule_id, schedule_t *new_schedule)
Create a schedule from an existing schedule.
Definition: manage_sql.c:40427
int copy_role(const char *name, const char *comment, const char *role_id, role_t *new_role_return)
Create a role from an existing role.
Definition: manage_sql.c:44136
int manage_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5870
void set_scan_end_time_ctime(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23651
void manage_report_filter_controls(const gchar *filter, int *first, int *max, gchar **sort_field, int *sort_order, int *result_hosts_only, gchar **min_qod, gchar **levels, gchar **delta_states, gchar **search_phrase, int *search_phrase_exact, int *notes, int *overrides, int *apply_overrides, gchar **zone)
Get info from a result filter for a report.
Definition: manage_sql.c:2027
int alert_count(const get_data_t *get)
Count the number of alerts.
Definition: manage_sql.c:8116
int manage_cert_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5941
time_t note_iterator_end_time(iterator_t *iterator)
Get the end time from an note iterator.
Definition: manage_sql.c:36864
const char * alert_task_iterator_uuid(iterator_t *iterator)
Return the uuid from an alert task iterator.
Definition: manage_sql.c:14519
char * scanner_host(scanner_t scanner)
Return the host of a scanner.
Definition: manage_sql.c:39709
int set_task_schedule(task_t task, schedule_t schedule, int periods)
Set the schedule of a task.
Definition: manage_sql.c:18226
int modify_target(const char *target_id, const char *name, const char *hosts, const char *exclude_hosts, const char *comment, const char *port_list_id, const char *ssh_credential_id, const char *ssh_elevate_credential_id, const char *ssh_port, const char *smb_credential_id, const char *esxi_credential_id, const char *snmp_credential_id, const char *reverse_lookup_only, const char *reverse_lookup_unify, const char *alive_tests, const char *allow_simultaneous_ips)
Modify a target.
Definition: manage_sql.c:31226
void append_to_task_comment(task_t task, const char *text, int length)
Append text to the comment associated with a task.
Definition: manage_sql.c:29739
gchar ** result_iterator_dfn_certs(iterator_t *iterator)
Get DFN-CERTs from a result iterator.
Definition: manage_sql.c:22911
int alert_iterator_filter_readable(iterator_t *iterator)
Return the filter readable state from an alert iterator.
Definition: manage_sql.c:8347
task_t make_task(char *name, char *comment, int in_assets, int event)
Make a task.
Definition: manage_sql.c:29120
const char * result_iterator_original_severity(iterator_t *iterator)
Get the original severity from a result iterator.
Definition: manage_sql.c:22603
char * target_uuid(target_t target)
Return the UUID of a target.
Definition: manage_sql.c:32274
char * filter_uuid(filter_t filter)
Return the UUID of a filter.
Definition: manage_sql.c:44804
int scan_start_time_epoch(report_t report)
Get the start time of a scan, in seconds since the epoch.
Definition: manage_sql.c:23527
void init_credential_iterator_one(iterator_t *iterator, credential_t credential)
Initialise a Credential iterator, given a single Credential.
Definition: manage_sql.c:35243
int task_target_in_trash(task_t task)
Return whether the target of a task is in the trashcan.
Definition: manage_sql.c:17548
char * trash_target_name(target_t target)
Return the name of a trashcan target.
Definition: manage_sql.c:32316
int trash_schedule_writable(schedule_t schedule)
Return whether a trashcan schedule is writable.
Definition: manage_sql.c:40610
int scanner_in_use(scanner_t scanner)
Check whether an scanner is in use.
Definition: manage_sql.c:39589
char * trash_schedule_name(schedule_t schedule)
Return the name of a trash schedule.
Definition: manage_sql.c:40690
const char * keyword_relation_symbol(keyword_relation_t relation)
Get the symbol of a keyword relation.
Definition: manage_sql.c:1056
int scanner_iterator_credential_trash(iterator_t *iterator)
Get the credential location of the scanner from a scanner iterator.
Definition: manage_sql.c:39444
void manage_transaction_start()
Start a new IMMEDIATE transaction.
Definition: manage_sql.c:30419
void init_host_identifier_iterator(iterator_t *iterator, host_t host, int ascending, const char *sort_field)
Initialise a host identifier iterator.
Definition: manage_sql.c:47916
gchar * manage_user_hash(const gchar *username)
Get user hash.
Definition: manage_sql.c:16652
int alert_writable(alert_t alert)
Return whether a alert is writable.
Definition: manage_sql.c:8163
int manage_delete_scanner(GSList *log_config, const db_conn_info_t *database, const gchar *uuid)
Delete the given scanner.
Definition: manage_sql.c:38432
int init_alert_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an alert iterator, including observed alerts.
Definition: manage_sql.c:8191
char * trash_scanner_uuid(scanner_t scanner)
Return the UUID of a scanner in the trashcan.
Definition: manage_sql.c:39908
char * trash_schedule_uuid(schedule_t schedule)
Return the UUID of a trash schedule.
Definition: manage_sql.c:40662
int host_iterator_max_port(iterator_t *iterator)
Get the max port from a host iterator.
Definition: manage_sql.c:23223
int role_count(const get_data_t *get)
Count number of roles.
Definition: manage_sql.c:44739
char * scanner_name(scanner_t scanner)
Return the name of a scanner.
Definition: manage_sql.c:39670
int trash_group_writable(group_t group)
Check whether a trashcan group is writable.
Definition: manage_sql.c:41857
int scanner_count(const get_data_t *get)
Count number of scanners.
Definition: manage_sql.c:39922
char * credential_iterator_rpm(iterator_t *iterator)
Get the rpm from a Credential iterator.
Definition: manage_sql.c:35481
const char * override_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a override iterator.
Definition: manage_sql.c:38195
int task_last_resumable_report(task_t task, report_t *report)
Get the report from the most recently stopped invocation of task.
Definition: manage_sql.c:18024
char * result_host_asset_id(const char *host, result_t result)
Return the UUID of the asset associated with a result host.
Definition: manage_sql.c:47062
int permission_writable(permission_t permission)
Return whether a permission is writable.
Definition: manage_sql.c:42943
int aggregate_iterator_count(iterator_t *iterator)
Get the count from an aggregate iterator.
Definition: manage_sql.c:5548
int target_iterator_smb_credential(iterator_t *iterator)
Get the SMB LSC credential from a target iterator.
Definition: manage_sql.c:32004
int target_count(const get_data_t *get)
Count number of targets.
Definition: manage_sql.c:31902
int task_scanner_in_trash(task_t task)
Return whether the scanner of a task is in the trashcan.
Definition: manage_sql.c:17604
int modify_asset(const char *asset_id, const char *comment)
Modify an asset.
Definition: manage_sql.c:48834
int task_schedule_in_trash(task_t task)
Get whether the task schedule is in the trash.
Definition: manage_sql.c:18395
report_t result_iterator_report(iterator_t *iterator)
Get the report from a result iterator.
Definition: manage_sql.c:22556
gchar * filter_term(const char *uuid)
Return the term of a filter.
Definition: manage_sql.c:44860
gboolean find_result_with_permission(const char *uuid, result_t *result, const char *permission)
Find a result for a set of permissions, given a UUID.
Definition: manage_sql.c:18924
int delete_report(const char *report_id, int dummy)
Delete a report.
Definition: manage_sql.c:24468
int trash_filter_writable(filter_t filter)
Check whether a trashcan filter is writable.
Definition: manage_sql.c:45377
char * trash_credential_name(credential_t credential)
Get the name of an LSC credential in the trashcan.
Definition: manage_sql.c:35738
int manage_modify_scanner(GSList *log_config, const db_conn_info_t *database, const char *scanner_id, const char *name, const char *host, const char *port, const char *type, const char *ca_pub_path, const char *credential_id, const char *key_pub_path, const char *key_priv_path)
Modify the given scanner.
Definition: manage_sql.c:38504
char * group_uuid(group_t group)
Return the UUID of a group.
Definition: manage_sql.c:41811
task_status_t task_run_status(task_t task)
Return the run state of a task.
Definition: manage_sql.c:17637
int credential_count(const get_data_t *get)
Count number of LSC Credentials.
Definition: manage_sql.c:34818
int permission_iterator_resource_in_trash(iterator_t *iterator)
Return the permission resource location.
Definition: manage_sql.c:43191
char * task_observers(task_t task)
Return the observers of a task.
Definition: manage_sql.c:17367
int target_iterator_esxi_credential(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:32154
int target_iterator_snmp_trash(iterator_t *iterator)
Get the SNMP LSC credential location from a target iterator.
Definition: manage_sql.c:32202
char * target_ssh_port(target_t target)
Return the SSH LSC port of a target.
Definition: manage_sql.c:32455
int copy_alert(const char *name, const char *comment, const char *alert_id, alert_t *new_alert)
Create an alert from an existing alert.
Definition: manage_sql.c:7427
int delete_group(const char *group_id, int ultimate)
Delete a group.
Definition: manage_sql.c:41651
void hosts_set_max_severity(report_t report, int *overrides_arg, int *min_qod_arg)
Set the maximum severity of each host in a scan.
Definition: manage_sql.c:47497
gboolean credential_iterator_format_available(iterator_t *iterator, credential_format_t format)
Test if a credential format is available for an iterator.
Definition: manage_sql.c:35612
int create_group(const char *group_name, const char *comment, const char *users, int special_full, group_t *group)
Create a group.
Definition: manage_sql.c:41577
void manage_transaction_stop(gboolean force_commit)
Commit the current transaction, if any.
Definition: manage_sql.c:30439
void trim_partial_report(report_t report)
Prepare a partial report for resumption of the scan.
Definition: manage_sql.c:24602
void init_report_iterator_task(iterator_t *iterator, task_t task)
Initialise a report iterator.
Definition: manage_sql.c:21339
char * report_finished_hosts_str(report_t report)
Get a list string of finished hosts in a report.
Definition: manage_sql.c:25858
int modify_override(const gchar *override_id, const char *active, const char *nvt, const char *text, const char *hosts, const char *port, const char *threat, const char *new_threat, const char *severity, const char *new_severity, const gchar *task_id, const gchar *result_id)
Modify an override.
Definition: manage_sql.c:37306
int osp_get_version_from_iterator(iterator_t *iterator, char **s_name, char **s_ver, char **d_name, char **d_ver, char **p_name, char **p_ver)
Get an OSP Scanner's get_version info.
Definition: manage_sql.c:40105
void set_scan_end_time(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23633
int trash_target_in_use(target_t target)
Return whether a trashcan target is referenced by a task.
Definition: manage_sql.c:32643
int setting_count(const char *filter)
Count number of settings.
Definition: manage_sql.c:49284
int manage_count_hosts(const char *given_hosts, const char *exclude_hosts)
Return number of hosts described by a hosts string.
Definition: manage_sql.c:30312
void set_scan_end_time_epoch(report_t report, time_t timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23619
double prognosis_iterator_cvss_double(iterator_t *iterator)
Get the CVSS from a result iterator as a double.
Definition: manage_sql.c:19720
int alert_in_use(alert_t alert)
Return whether a alert is in use by a task.
Definition: manage_sql.c:8133
int manage_verify_scanner(GSList *log_config, const db_conn_info_t *database, const gchar *uuid)
Verify the given scanner.
Definition: manage_sql.c:38728
time_t override_iterator_end_time(iterator_t *iterator)
Get the end time from an override iterator.
Definition: manage_sql.c:38153
int info_name_count(const char *type, const char *name)
Count number of info of a given subtype with a given name.
Definition: manage_sql.c:5832
void init_target_task_iterator(iterator_t *iterator, target_t target)
Initialise a target task iterator.
Definition: manage_sql.c:32686
gboolean find_resource(const char *type, const char *uuid, resource_t *resource)
Find a resource given a UUID.
Definition: manage_sql.c:4128
gboolean find_trash_task_with_permission(const char *uuid, task_t *task, const char *permission)
Find a task in the trashcan for a specific permission, given a UUID.
Definition: manage_sql.c:29787
int report_host_count(report_t report)
Count a report's total number of hosts.
Definition: manage_sql.c:25700
config_t task_config(task_t task)
Return the config of a task.
Definition: manage_sql.c:17396
int target_iterator_esxi_trash(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:32170
void cleanup_manage_process(gboolean cleanup)
Cleanup the manage library.
Definition: manage_sql.c:16577
void set_task_start_time_epoch(task_t task, int time)
Set the start time of a task.
Definition: manage_sql.c:17856
double aggregate_iterator_sum(iterator_t *iterator, int data_column_index)
Get the sum from a statistics iterator.
Definition: manage_sql.c:5610
int result_iterator_may_have_tickets(iterator_t *iterator)
Get whether tickets may exist from a result iterator.
Definition: manage_sql.c:22811
int trash_scanner_readable(scanner_t scanner)
Return whether a trashcan scanner is readable.
Definition: manage_sql.c:39645
void set_task_hosts_ordering(task_t task, const char *ordering)
Set the hosts ordering of a task.
Definition: manage_sql.c:17532
int init_role_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a role iterator, including observed roles.
Definition: manage_sql.c:44758
int filter_term_min_qod(const char *term)
Return the value of the min_qod keyword of a filter term.
Definition: manage_sql.c:44944
credential_t scanner_iterator_credential(iterator_t *iterator)
Get the credential of the scanner from a scanner iterator.
Definition: manage_sql.c:39428
int report_timestamp(const char *report_id, gchar **timestamp)
Get the timestamp of a report.
Definition: manage_sql.c:23768
int result_uuid(result_t result, char **id)
Return the UUID of a result.
Definition: manage_sql.c:19464
const char * alert_task_iterator_name(iterator_t *iterator)
Return the name from an alert task iterator.
Definition: manage_sql.c:14503
char * filter_name(filter_t filter)
Return the name of a filter.
Definition: manage_sql.c:44832
int scanner_writable(scanner_t scanner)
Check whether a scanner is writable.
Definition: manage_sql.c:39619
void set_task_usage_type(task_t task, const char *usage_type)
Set the usage_type of a task.
Definition: manage_sql.c:17617
gchar ** result_iterator_cert_bunds(iterator_t *iterator)
Get CERT-BUNDs from a result iterator.
Definition: manage_sql.c:22897
int copy_note(const char *note_id, note_t *new_note)
Create a note from an existing note.
Definition: manage_sql.c:36110
char * alert_uuid(alert_t alert)
Return the UUID of an alert.
Definition: manage_sql.c:7959
int modify_role(const char *role_id, const char *name, const char *comment, const char *users)
Modify a role.
Definition: manage_sql.c:44582
int init_credential_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a Credential iterator.
Definition: manage_sql.c:35270
int alert_iterator_active(iterator_t *iterator)
Return the active state from an alert.
Definition: manage_sql.c:8380
result_t make_cve_result(task_t task, const char *host, const char *nvt, double cvss, const char *description)
Make a CVE result.
Definition: manage_sql.c:19433
int copy_override(const char *override_id, override_t *new_override)
Create a override from an existing override.
Definition: manage_sql.c:37164
int qod_from_type(const char *qod_type)
Get QoD percentage for a qod_type string.
Definition: manage_sql.c:19060
int manage_test_alert(const char *alert_id, gchar **script_message)
Test an alert.
Definition: manage_sql.c:13891
int delete_filter(const char *filter_id, int ultimate)
Delete a filter.
Definition: manage_sql.c:45081
int set_task_groups(task_t task, array_t *groups, gchar **group_id_return)
Set observer groups on a task, removing any previous groups.
Definition: manage_sql.c:18157
int asset_host_count(const get_data_t *get)
Count number of hosts.
Definition: manage_sql.c:48241
void init_report_host_iterator(iterator_t *iterator, report_t report, const char *host, report_host_t report_host)
Initialise a host iterator.
Definition: manage_sql.c:23074
char * target_hosts(target_t target)
Return the hosts associated with a target.
Definition: manage_sql.c:32384
int result_iterator_may_have_overrides(iterator_t *iterator)
Get whether overrides may exist from a result iterator.
Definition: manage_sql.c:22797
void set_task_run_status(task_t task, task_status_t status)
Set the run state of a task.
Definition: manage_sql.c:17708
int manage_task_remove_file(const gchar *task_id, const char *name)
Remove a file on a task.
Definition: manage_sql.c:29945
char * tag_uuid(tag_t tag)
Return the UUID of a tag.
Definition: manage_sql.c:32260
const char * result_iterator_nvt_solution_method(iterator_t *iterator)
Get the NVT solution_method from a result iterator.
Definition: manage_sql.c:22953
void init_report_errors_iterator(iterator_t *iterator, report_t report)
Initialise a report errors iterator.
Definition: manage_sql.c:23249
void set_task_end_time_epoch(task_t task, time_t time)
Set the end time of a task.
Definition: manage_sql.c:23495
void add_task_alert(task_t task, alert_t alert)
Add an alert to a task.
Definition: manage_sql.c:18074
void insert_report_host_detail(report_t report, const char *host, const char *s_type, const char *s_name, const char *s_desc, const char *name, const char *value)
Insert a host detail into a report.
Definition: manage_sql.c:20267
gboolean find_filter_with_permission(const char *uuid, filter_t *filter, const char *permission)
Find a filter for a specific permission, given a UUID.
Definition: manage_sql.c:44790
int manage_restore(const char *id)
Restore a resource from the trashcan.
Definition: manage_sql.c:45897
void set_scan_ports(report_t report, const char *host, unsigned int current, unsigned int max)
Set the ports for a particular host in a scan.
Definition: manage_sql.c:29753
int modify_task(const gchar *task_id, const gchar *name, const gchar *comment, const gchar *scanner_id, const gchar *target_id, const gchar *config_id, const gchar *observers, array_t *alerts, const gchar *alterable, array_t *groups, const gchar *schedule_id, const gchar *schedule_periods, array_t *preferences, const gchar *hosts_ordering, gchar **fail_alert_id, gchar **fail_group_id)
Modify a task.
Definition: manage_sql.c:30051
int resource_count(const char *type, const get_data_t *get)
Return number of resources of a certain type for current user.
Definition: manage_sql.c:17126
char * task_comment(task_t task)
Return the comment of a task.
Definition: manage_sql.c:17339
void manage_reset_currents()
Cleanup as immediately as possible.
Definition: manage_sql.c:16635
int task_iterator_finished_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15064
int alert_iterator_filter_trash(iterator_t *iterator)
Return the location of an alert iterator filter.
Definition: manage_sql.c:8329
int target_iterator_ssh_trash(iterator_t *iterator)
Get the location of the SSH LSC credential from a target iterator.
Definition: manage_sql.c:32020
int init_permission_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a permission iterator.
Definition: manage_sql.c:43138
int permission_count(const get_data_t *get)
Count number of permissions.
Definition: manage_sql.c:43118
gchar * host_routes_xml(host_t host)
Get XML of a detailed host route.
Definition: manage_sql.c:47625
int delete_override(const char *override_id, int ultimate)
Delete a override.
Definition: manage_sql.c:37181
int role_in_use(role_t role)
Check whether a role is in use.
Definition: manage_sql.c:44551
const char * result_iterator_severity(iterator_t *iterator)
Get the severity from a result iterator.
Definition: manage_sql.c:22655
void clear_duration_schedules(task_t task)
Clear once-off schedules from tasks where the duration has passed.
Definition: manage_sql.c:18689
void init_credential_scanner_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential scanner iterator.
Definition: manage_sql.c:35871
int alert_iterator_condition(iterator_t *iterator)
Return the condition from an alert iterator.
Definition: manage_sql.c:8233
const char * target_iterator_alive_tests(iterator_t *iterator)
Get the alive test description from a target iterator.
Definition: manage_sql.c:32115
int create_schedule(const char *name, const char *comment, const char *ical_string, const char *zone, schedule_t *schedule, gchar **error_out)
Create a schedule.
Definition: manage_sql.c:40306
int init_schedule_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a schedule iterator.
Definition: manage_sql.c:40823
int copy_filter(const char *name, const char *comment, const char *filter_id, filter_t *new_filter)
Create a filter from an existing filter.
Definition: manage_sql.c:45064
result_t result_iterator_result(iterator_t *iterator)
Get the result from a result iterator.
Definition: manage_sql.c:22457
int manage_scap_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5907
void init_setting_iterator(iterator_t *iterator, const char *uuid, const char *filter, int first, int max, int ascending, const char *sort_field)
Initialise a setting iterator, including observed settings.
Definition: manage_sql.c:49386
double aggregate_iterator_min(iterator_t *iterator, int data_column_index)
Get the minimum from an aggregate iterator.
Definition: manage_sql.c:5562
void report_host_set_end_time(report_host_t report_host, time_t end_time)
Set end time of a report host.
Definition: manage_sql.c:47168
const char * task_iterator_last_report(iterator_t *iterator)
Get the last report UUID from a task iterator.
Definition: manage_sql.c:15050
int override_iterator_active(iterator_t *iterator)
Get the active status from an override iterator.
Definition: manage_sql.c:38169
int alert_iterator_method(iterator_t *iterator)
Return the method from an alert iterator.
Definition: manage_sql.c:8249
int filter_alert_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:45556
int note_iterator_active(iterator_t *iterator)
Get the active status from an note iterator.
Definition: manage_sql.c:36880
int trash_target_writable(target_t target)
Return whether a trashcan target is writable.
Definition: manage_sql.c:32672
void reset_task(task_t task)
Reset all running information for a task.
Definition: manage_sql.c:29869
array_t * split_filter(const gchar *given_filter)
Split the filter term into parts.
Definition: manage_sql.c:1659
int manage_schema(gchar *format, gchar **output_return, gsize *output_length, gchar **extension, gchar **content_type)
Generate the GMP schema.
Definition: manage_sql.c:45687
int permission_iterator_subject_readable(iterator_t *iterator)
Get the readable status of a subject from a permission iterator.
Definition: manage_sql.c:43300
int delete_note(const char *note_id, int ultimate)
Delete a note.
Definition: manage_sql.c:36127
gboolean find_scanner_with_permission(const char *uuid, scanner_t *scanner, const char *permission)
Find a scanner for a specific permission, given a UUID.
Definition: manage_sql.c:38781
int note_count(const get_data_t *get, nvt_t nvt, result_t result, task_t task)
Count number of notes.
Definition: manage_sql.c:36533
int permission_in_use(permission_t permission)
Return whether a permission is in use.
Definition: manage_sql.c:42917
int schedule_writable(schedule_t schedule)
Return whether a schedule is writable.
Definition: manage_sql.c:40597
const char * alert_data_iterator_name(iterator_t *iterator)
Return the name from an alert data iterator.
Definition: manage_sql.c:8418
void init_manage_process(const db_conn_info_t *database)
Initialize the manage library for a process.
Definition: manage_sql.c:15270
const char * note_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a note iterator.
Definition: manage_sql.c:36906
int manage_max_hosts()
Get the maximum allowed number of hosts per target.
Definition: manage_sql.c:30271
int delete_scanner(const char *scanner_id, int ultimate)
Delete a scanner.
Definition: manage_sql.c:39158
credential_t target_credential(target_t target, const char *type)
Get a credential from a target.
Definition: manage_sql.c:30637
void init_credential_target_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential target iterator.
Definition: manage_sql.c:35794
report_t task_iterator_current_report(iterator_t *iterator)
Return the current report of a task.
Definition: manage_sql.c:17782
void hosts_set_identifiers(report_t report)
Setup hosts and their identifiers after a scan, from host details.
Definition: manage_sql.c:47226
int filter_in_use(filter_t filter)
Check whether a filter is in use.
Definition: manage_sql.c:45246
gchar * credential_value(credential_t credential, const char *value_name)
Get a value from a credential.
Definition: manage_sql.c:34932
void init_alert_data_iterator(iterator_t *iterator, alert_t alert, int trash, const char *table)
Initialise an alert data iterator.
Definition: manage_sql.c:8399
const char * result_iterator_level(iterator_t *iterator)
Get the severity/threat level from a result iterator.
Definition: manage_sql.c:22697
int task_last_report(task_t task, report_t *report)
Get the report from the most recently completed invocation of task.
Definition: manage_sql.c:17927
int manage_send_report(report_t report, report_t delta_report, report_format_t report_format, const get_data_t *get, int notes_details, int overrides_details, int result_tags, int ignore_pagination, int lean, int base64, gboolean(*send)(const char *, int(*)(const char *, void *), void *), int(*send_data_1)(const char *, void *), void *send_data_2, const char *alert_id, const gchar *prefix)
Generate a report.
Definition: manage_sql.c:28556
int set_task_schedule_periods(const gchar *task_id, int periods)
Set the schedule periods of a task, given a UUID.
Definition: manage_sql.c:18293
int trash_role_writable(role_t role)
Check whether a trashcan role is writable.
Definition: manage_sql.c:44538
const char * override_iterator_threat(iterator_t *iterator)
Get the threat from a override iterator.
Definition: manage_sql.c:38092
int override_count(const get_data_t *get, nvt_t nvt, result_t result, task_t task)
Count number of overrides.
Definition: manage_sql.c:37788
int schedule_period(schedule_t schedule)
Return the period of a schedule.
Definition: manage_sql.c:40704
int trash_scanner_writable(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:39632
int override_uuid(override_t override, char **id)
Return the UUID of an override.
Definition: manage_sql.c:37147
task_t result_iterator_task(iterator_t *iterator)
Get the task from a result iterator.
Definition: manage_sql.c:22542
int manage_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5858
int copy_group(const char *name, const char *comment, const char *group_id, group_t *new_group_return)
Create a group from an existing group.
Definition: manage_sql.c:41393
int task_alterable(task_t task)
Return whether a task is an Alterable Task.
Definition: manage_sql.c:15156
result_t make_osp_result(task_t task, const char *host, const char *hostname, const char *nvt, const char *type, const char *description, const char *port, const char *severity, int qod, const char *path)
Make an OSP result.
Definition: manage_sql.c:18986
void manage_filter_controls(const gchar *filter, int *first, int *max, gchar **sort_field, int *sort_order)
Get info from a filter.
Definition: manage_sql.c:1844
int init_task_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a task iterator.
Definition: manage_sql.c:14930
int task_in_trash(task_t task)
Return whether a task is in the trashcan.
Definition: manage_sql.c:17263
int target_writable(target_t target)
Return whether a target is writable.
Definition: manage_sql.c:32659
const char * result_iterator_scan_nvt_version(iterator_t *iterator)
Get the NVT version used during the scan from a result iterator.
Definition: manage_sql.c:22580
int copy_scanner(const char *name, const char *comment, const char *scanner_id, scanner_t *new_scanner)
Create a scanner from an existing scanner.
Definition: manage_sql.c:38946
int delete_task(task_t task, int ultimate)
Complete deletion of a task.
Definition: manage_sql.c:29577
int modify_alert(const char *alert_id, const char *name, const char *comment, const char *filter_id, const char *active, event_t event, GPtrArray *event_data, alert_condition_t condition, GPtrArray *condition_data, alert_method_t method, GPtrArray *method_data)
Modify an alert.
Definition: manage_sql.c:7512
int scanner_config_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:39508
char * host_uuid(resource_t host)
Return the UUID of a host.
Definition: manage_sql.c:47094
const char * result_iterator_nvt_solution_type(iterator_t *iterator)
Get the NVT solution_type from a result iterator.
Definition: manage_sql.c:22939
int modify_schedule(const char *schedule_id, const char *name, const char *comment, const char *ical_string, const char *zone, gchar **error_out)
Modify a schedule.
Definition: manage_sql.c:41212
int task_result_count(task_t task, int min_qod)
Return number of results in a task.
Definition: manage_sql.c:17738
int copy_permission(const char *comment, const char *permission_id, permission_t *new_permission)
Create a permission from an existing permission.
Definition: manage_sql.c:42681
int create_asset_report(const char *report_id, const char *term)
Create all available assets from a report.
Definition: manage_sql.c:48715
void set_task_start_time_ctime(task_t task, char *time)
Set the start time of a task.
Definition: manage_sql.c:17871
int scan_host_end_time(report_t report, const char *host)
Get the end time of a scanned host.
Definition: manage_sql.c:23670
gchar * manage_clean_filter_remove(const gchar *filter, const gchar *column)
Clean a filter, removing a keyword in the process.
Definition: manage_sql.c:2286
int task_average_scan_duration(task_t task)
Get the average duration of all finished reports of a task.
Definition: manage_sql.c:15201
char * target_exclude_hosts(target_t target)
Return the excluded hosts associated with a target.
Definition: manage_sql.c:32399
char * target_name(target_t target)
Return the name of a target.
Definition: manage_sql.c:32302
int task_writable(task_t task)
Return whether a task is writable.
Definition: manage_sql.c:15171
char * task_owner_name(task_t task)
Return the name of the owner of a task.
Definition: manage_sql.c:17295
int delete_credential(const char *credential_id, int ultimate)
Delete a Credential.
Definition: manage_sql.c:34570
const char * aggregate_iterator_value(iterator_t *iterator)
Get the value of the group column from a statistics iterator.
Definition: manage_sql.c:5650
int task_iterator_total_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15008
task_t override_iterator_task(iterator_t *iterator)
Get the task from a override iterator.
Definition: manage_sql.c:38124
int osp_get_details_from_iterator(iterator_t *iterator, char **desc, GSList **params)
Get an OSP Scanner's get_scanner_details info.
Definition: manage_sql.c:40135
int create_permission(const char *name_arg, const char *comment, const char *resource_type_arg, const char *resource_id_arg, const char *subject_type, const char *subject_id, permission_t *permission)
Create a permission.
Definition: manage_sql.c:42620
int init_result_get_iterator(iterator_t *iterator, const get_data_t *get, report_t report, const char *host, const gchar *extra_order)
Initialise a result iterator.
Definition: manage_sql.c:22302
char * task_hosts_ordering(task_t task)
Return the hosts ordering of a task.
Definition: manage_sql.c:17353
result_t note_iterator_result(iterator_t *iterator)
Get the result from a note iterator.
Definition: manage_sql.c:36849
int copy_target(const char *name, const char *comment, const char *target_id, target_t *new_target)
Create a target from an existing target.
Definition: manage_sql.c:31025
int manage_trash_resource_name(const char *type, const char *uuid, char **name)
Get the name of a trashcan resource.
Definition: manage_sql.c:4703
int result_count(const get_data_t *get, report_t report, const char *host)
Count the number of results.
Definition: manage_sql.c:22398
const char * filter_iterator_type(iterator_t *iterator)
Get the type from a filter iterator.
Definition: manage_sql.c:45464
void set_scan_start_time_ctime(report_t report, const char *timestamp)
Set the start time of a scan.
Definition: manage_sql.c:23571
int manage_decrypt_all_credentials(GSList *log_config, const db_conn_info_t *database)
Decrypt all credentials.
Definition: manage_sql.c:6150
task_status_t task_iterator_run_status(iterator_t *iterator)
Get the run status from a task iterator.
Definition: manage_sql.c:14992
char * target_reverse_lookup_only(target_t target)
Return the reverse_lookup_only value of a target.
Definition: manage_sql.c:32413
int trash_permission_writable(permission_t permission)
Return whether a trashcan permission is writable.
Definition: manage_sql.c:42958
unsigned int task_count(const get_data_t *get)
Return the number of tasks associated with the current user.
Definition: manage_sql.c:17194
time_t task_schedule_next_time_uuid(const gchar *task_id)
Get the next time a scheduled task will be due.
Definition: manage_sql.c:18464
char * credential_uuid(credential_t credential)
Get the UUID of a Credential.
Definition: manage_sql.c:35695
void set_scan_host_end_time_ctime(report_t report, const char *host, const char *timestamp)
Set the end time of a scanned host.
Definition: manage_sql.c:23715
int set_task_observers(task_t task, const gchar *observers)
Set the observers of a task.
Definition: manage_sql.c:18549
char * target_reverse_lookup_unify(target_t target)
Return the reverse_lookup_unify value of a target.
Definition: manage_sql.c:32427
gboolean find_target_with_permission(const char *uuid, target_t *target, const char *permission)
Find a target for a specific permission, given a UUID.
Definition: manage_sql.c:30297
void filter_free(array_t *split)
Free a split filter.
Definition: manage_sql.c:1575
int check_private_key(const char *key_str, const char *key_phrase)
Check that a string represents a valid Private Key.
Definition: manage_sql.c:33532
int asset_os_count(const get_data_t *get)
Count number of oss.
Definition: manage_sql.c:48492
int target_iterator_port_list_trash(iterator_t *iterator)
Get the location of the port list from a target iterator.
Definition: manage_sql.c:32070
gchar * credential_encrypted_value(credential_t credential, const char *value_name)
Get a possibly encrypted credential value in decrypted form.
Definition: manage_sql.c:34952
int scanner_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:39575
int schedule_count(const get_data_t *get)
Count the number of schedules.
Definition: manage_sql.c:40804
int manage_cert_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5930
int cleanup_result_nvts()
Check if the result_nvts are assigned to result.
Definition: manage_sql.c:22996
int request_delete_task_uuid(const char *task_id, int ultimate)
Request deletion of a task.
Definition: manage_sql.c:29427
int report_host_noticeable(report_t report, const gchar *host)
Check if a report host is alive and has at least one result.
Definition: manage_sql.c:28792
const char * result_iterator_nvt_name(iterator_t *iterator)
Get the NVT name from a result iterator.
Definition: manage_sql.c:22925
int create_report(array_t *results, const char *task_id, const char *in_assets, const char *scan_start, const char *scan_end, array_t *host_starts, array_t *host_ends, array_t *details, char **report_id)
Create a report from an array of results.
Definition: manage_sql.c:20334
int target_iterator_ssh_credential(iterator_t *iterator)
Get the SSH LSC credential from a target iterator.
Definition: manage_sql.c:31979
char * scan_end_time_uuid(const char *uuid)
Get the end time of a scan.
Definition: manage_sql.c:23602
int trash_role_in_use(role_t role)
Check whether a trashcan role is in use.
Definition: manage_sql.c:44564
int trash_credential_readable(credential_t credential)
Return whether a trashcan credential is readable.
Definition: manage_sql.c:35767
gboolean find_override_with_permission(const char *uuid, override_t *override, const char *permission)
Find a override for a specific permission, given a UUID.
Definition: manage_sql.c:36945
void init_alert_task_iterator(iterator_t *iterator, alert_t alert, int ascending)
Initialise an alert task iterator.
Definition: manage_sql.c:14463
int credential_in_use(credential_t credential)
Check whether a Credential is in use.
Definition: manage_sql.c:34835
char * credential_iterator_exe(iterator_t *iterator)
Get the exe from a Credential iterator.
Definition: manage_sql.c:35577
int modify_filter(const char *filter_id, const char *name, const char *comment, const char *term, const char *type)
Modify a filter.
Definition: manage_sql.c:45577
const char * credential_iterator_password(iterator_t *iterator)
Get the password from a Credential iterator.
Definition: manage_sql.c:35422
gboolean find_task_with_permission(const char *uuid, task_t *task, const char *permission)
Find a task for a specific permission, given a UUID.
Definition: manage_sql.c:29771
void init_scanner_task_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner task iterator.
Definition: manage_sql.c:39521
void init_filter_alert_iterator(iterator_t *iterator, filter_t filter)
Initialise a filter alert iterator.
Definition: manage_sql.c:45491
int target_iterator_ssh_elevate_trash(iterator_t *iterator)
Get the ELEVATE LSC credential location from a target iterator.
Definition: manage_sql.c:32234
double aggregate_iterator_max(iterator_t *iterator, int data_column_index)
Get the maximum from an aggregate iterator.
Definition: manage_sql.c:5578
void init_task_role_iterator(iterator_t *iterator, task_t task)
Initialise a task role iterator.
Definition: manage_sql.c:6312
int trash_scanner_in_use(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:39603
int keyword_special(keyword_t *keyword)
Get whether a keyword is special (like "and").
Definition: manage_sql.c:1090
int credential_target_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:35855
int task_in_trash_id(const gchar *task_id)
Return whether a task is in the trashcan.
Definition: manage_sql.c:17280
gchar * role_users(role_t role)
Gets users of role as a string.
Definition: manage_sql.c:44504
int report_counts(const char *report_id, int *holes, int *infos, int *logs, int *warnings, int *false_positives, double *severity, int override, int min_qod)
Get the message counts for a report given the UUID.
Definition: manage_sql.c:23938
int create_note(const char *active, const char *nvt, const char *text, const char *hosts, const char *port, const char *severity, const char *threat, task_t task, result_t result, note_t *note)
Create a note.
Definition: manage_sql.c:36007
void init_target_iterator_one(iterator_t *iterator, target_t target)
Initialise a target iterator, given a single target.
Definition: manage_sql.c:31918
int host_iterator_current_port(iterator_t *iterator)
Get the current port from a host iterator.
Definition: manage_sql.c:23207
int delete_permission(const char *permission_id, int ultimate)
Delete a permission.
Definition: manage_sql.c:43385
int alert_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:14535
void host_detail_free(host_detail_t *detail)
Free a host detail.
Definition: manage_sql.c:20245
int permission_iterator_resource_readable(iterator_t *iterator)
Get the readable status of a resource from a permission iterator.
Definition: manage_sql.c:43219
char * trash_credential_uuid(credential_t credential)
Get the UUID of a Credential in the trashcan.
Definition: manage_sql.c:35709
int init_asset_host_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a host iterator.
Definition: manage_sql.c:48168
result_t override_iterator_result(iterator_t *iterator)
Get the result from a override iterator.
Definition: manage_sql.c:38138
char * openvas_default_scanner_host()
Get the default scanner path or host.
Definition: manage_sql.c:39938
int alert_iterator_event(iterator_t *iterator)
Return the event from an alert iterator.
Definition: manage_sql.c:8217
void init_task_group_iterator(iterator_t *iterator, task_t task)
Initialise a task group iterator.
Definition: manage_sql.c:6283
const char * scanner_uuid_default()
Return the UUID of the default scanner.
Definition: manage_sql.c:39696
const char * credential_iterator_privacy_password(iterator_t *iterator)
Get the privacy password from a Credential iterator.
Definition: manage_sql.c:35467
gchar * role_uuid(role_t role)
Gets UUID of role.
Definition: manage_sql.c:44490
gboolean find_note_with_permission(const char *uuid, note_t *note, const char *permission)
Find a note for a specific permission, given a UUID.
Definition: manage_sql.c:35949
int init_aggregate_iterator(iterator_t *iterator, const char *type, const get_data_t *get, int distinct, GArray *data_columns, const char *group_column, const char *subgroup_column, GArray *text_columns, GArray *sort_data, int first_group, int max_groups, const char *extra_tables, const char *given_extra_where)
Initialise a GET_AGGREGATES iterator, including observed resources.
Definition: manage_sql.c:5151
char * credential_name(credential_t credential)
Get the name of an LSC credential.
Definition: manage_sql.c:35724
int init_manage_helper(GSList *log_config, const db_conn_info_t *database, int max_ips_per_target)
Initialize the manage library for a helper program.
Definition: manage_sql.c:16546
double result_iterator_severity_double(iterator_t *iterator)
Get the severity from a result iterator as double.
Definition: manage_sql.c:22678
int scanner_port(scanner_t scanner)
Return the port of a scanner.
Definition: manage_sql.c:39722
char * report_uuid(report_t report)
Return the UUID of a report.
Definition: manage_sql.c:20765
char * schedule_name(schedule_t schedule)
Return the name of a schedule.
Definition: manage_sql.c:40676
int filter_term_apply_overrides(const char *term)
Return the value of the apply_overrides keyword of a filter term.
Definition: manage_sql.c:44917
int verify_scanner(const char *scanner_id, char **version)
Verify a scanner.
Definition: manage_sql.c:40164
int manage_report_host_detail(report_t report, const char *host, const char *xml)
Add a host detail to a report host.
Definition: manage_sql.c:47890
int trash_task_in_use(task_t task)
Return whether a trashcan task is referenced by a task.
Definition: manage_sql.c:15143
int manage_check_alerts(GSList *log_config, const db_conn_info_t *database)
Check if any SecInfo alerts are due.
Definition: manage_sql.c:6419
int result_iterator_may_have_notes(iterator_t *iterator)
Get whether notes may exist from a result iterator.
Definition: manage_sql.c:22783
int host_identifier_iterator_source_orphan(iterator_t *iterator)
Get the source orphan state from a host identifier iterator.
Definition: manage_sql.c:48018
int permission_is_admin(const char *permission_id)
Test whether a permission is the special Admin permission.
Definition: manage_sql.c:42902
int modify_group(const char *group_id, const char *name, const char *comment, const char *users)
Modify a group.
Definition: manage_sql.c:41970
int permission_iterator_subject_in_trash(iterator_t *iterator)
Return the permission subject location.
Definition: manage_sql.c:43286
int filter_count(const get_data_t *get)
Count number of filters.
Definition: manage_sql.c:45418
const char * task_iterator_run_status_name(iterator_t *iterator)
Get the run status name from a task iterator.
Definition: manage_sql.c:15036
const char * task_iterator_first_report(iterator_t *iterator)
Get the first report UUID from a task iterator.
Definition: manage_sql.c:15022
int init_asset_os_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an OS iterator.
Definition: manage_sql.c:48392
void init_task_alert_iterator(iterator_t *iterator, task_t task)
Initialise a task alert iterator.
Definition: manage_sql.c:8497
char * credential_type(credential_t credential)
Get the type of a Credential.
Definition: manage_sql.c:35753
osp_connection_t * osp_connect_with_data(const char *host, int port, const char *ca_pub, const char *key_pub, const char *key_priv)
Create a new connection to an OSP scanner using the scanner data.
Definition: manage_sql.c:40021
char * scan_start_time_uuid(const char *uuid)
Get the start time of a scan.
Definition: manage_sql.c:23541
char * scanner_ca_pub(scanner_t scanner)
Return the CA Certificate of a scanner.
Definition: manage_sql.c:39762
int manage_encrypt_all_credentials(GSList *log_config, const db_conn_info_t *database)
Encrypt or re-encrypt all credentials.
Definition: manage_sql.c:6117
result_t make_result(task_t task, const char *host, const char *hostname, const char *port, const char *nvt, const char *type, const char *description, const char *path)
Make a result.
Definition: manage_sql.c:19336
int task_schedule_next_time(task_t task)
Get next time a scheduled task will run, following schedule timezone.
Definition: manage_sql.c:18445
int credential_scanner_iterator_readable(iterator_t *iterator)
Get the read permission status from a Credential Scanner iterator.
Definition: manage_sql.c:35930
int credential_iterator_allow_insecure(iterator_t *iterator)
Get the login from a Credential iterator.
Definition: manage_sql.c:35356
void report_add_result(report_t report, result_t result)
Add a result to a report.
Definition: manage_sql.c:20989
char * credential_iterator_deb(iterator_t *iterator)
Get the deb from a Credential iterator.
Definition: manage_sql.c:35525
int manage_get_scanners(GSList *log_config, const db_conn_info_t *database)
List scanners.
Definition: manage_sql.c:40209
int create_credential(const char *name, const char *comment, const char *login, const char *given_password, const char *key_private, const char *key_public, const char *certificate, const char *community, const char *auth_algorithm, const char *privacy_password, const char *privacy_algorithm, const char *given_type, const char *allow_insecure, credential_t *credential)
Create a Credential.
Definition: manage_sql.c:33757
int trash_credential_writable(credential_t credential)
Check whether a trashcan Credential is writable.
Definition: manage_sql.c:34918
double aggregate_iterator_mean(iterator_t *iterator, int data_column_index)
Get the mean from an aggregate iterator.
Definition: manage_sql.c:5594
int report_counts_id(report_t report, int *holes, int *infos, int *logs, int *warnings, int *false_positives, double *severity, const get_data_t *get, const char *host)
Get only the filtered message counts for a report.
Definition: manage_sql.c:24298
int delete_asset(const char *asset_id, const char *report_id, int dummy)
Delete an asset.
Definition: manage_sql.c:48992
schedule_t task_schedule_uuid(const gchar *task_id)
Return the schedule of a task.
Definition: manage_sql.c:18362
char * trash_target_uuid(target_t target)
Return the UUID of a trashcan target.
Definition: manage_sql.c:32288
void report_add_results_array(report_t report, GArray *results)
Add results from an array to a report.
Definition: manage_sql.c:21019
void init_config_task_iterator(iterator_t *iterator, config_t config, int ascending)
Initialise a config task iterator.
Definition: manage_sql_configs.c:4037
char * nvt_preference_iterator_config_value(iterator_t *iterator, config_t config)
Get the config value from an NVT preference iterator.
Definition: manage_sql_configs.c:1903
int nvt_selector_nvt_count(const char *selector, const char *family, int growing)
Get the number of NVTs selected by an NVT selector.
Definition: manage_sql_configs.c:615
char * nvt_preference_iterator_id(iterator_t *iterator)
Get the ID from an NVT preference iterator.
Definition: manage_sql_configs.c:1876
char * nvt_preference_iterator_real_name(iterator_t *iterator)
Get the real name from an NVT preference iterator.
Definition: manage_sql_configs.c:1801
int nvt_selector_family_count(const char *quoted_selector, int families_growing)
Get the number of families selected by an NVT selector.
Definition: manage_sql_configs.c:159
int nvt_selector_iterator_type(iterator_t *iterator)
Get the type from an NVT selector.
Definition: manage_sql_configs.c:365
int nvt_preference_count(const char *oid)
Get the number preferences available for an NVT.
Definition: manage_sql_configs.c:1935
char * task_preference_value(task_t task, const char *name)
Get the value of a task preference.
Definition: manage_sql_configs.c:1957
void manage_nvt_preference_add(const char *name, const char *value)
Add/replace an NVT preference.
Definition: manage_sql_configs.c:1701
int modify_task_check_config_scanner(task_t task, const char *config_id, const char *scanner_id)
Check scanner and config values match for a task.
Definition: manage_sql_configs.c:2759
void init_family_iterator(iterator_t *iterator, int all, const char *selector, int ascending)
Initialise an NVT selector family iterator.
Definition: manage_sql_configs.c:383
void init_nvt_selector_iterator(iterator_t *iterator, const char *selector, config_t config, int type)
Initialise an NVT selector iterator.
Definition: manage_sql_configs.c:289
int nvt_selector_family_growing(const char *selector, const char *family, int all)
Get whether an NVT selector family is growing.
Definition: manage_sql_configs.c:555
char * nvt_preference_iterator_oid(iterator_t *iterator)
Get the NVT from an NVT preference iterator.
Definition: manage_sql_configs.c:1851
int create_task_check_scanner_type(scanner_t scanner)
Check if the scanner type is valid for a task.
Definition: manage_sql_configs.c:2732
char * nvt_preference_iterator_type(iterator_t *iterator)
Get the type from an NVT preference iterator.
Definition: manage_sql_configs.c:1826
void init_nvt_preference_iterator(iterator_t *iterator, const char *oid)
Initialise an NVT preference iterator.
Definition: manage_sql_configs.c:1730
int config_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql_configs.c:4096
int set_task_preferences(task_t task, array_t *preferences)
Set the preferences of a task.
Definition: manage_sql_configs.c:1993
int nvt_selector_iterator_include(iterator_t *iterator)
Get whether the selector rule is an include rule.
Definition: manage_sql_configs.c:331
int init_nvt_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an NVT iterator.
Definition: manage_sql_nvts.c:408
double nvt_severity_iterator_score(iterator_t *iterator)
Gets the score from an NVT severity iterator.
Definition: manage_sql_nvts.c:1771
void init_cve_nvt_iterator(iterator_t *iterator, const char *cve, int ascending, const char *sort_field)
Initialise an NVT iterator, for NVTs of a certain CVE.
Definition: manage_sql_nvts.c:828
gboolean find_nvt(const char *oid, nvt_t *nvt)
Find an NVT given an identifier.
Definition: manage_sql_nvts.c:233
time_t nvts_feed_version_epoch()
Return feed version of the plugins as seconds since epoch.
Definition: manage_sql_nvts.c:186
char * manage_nvt_name(nvt_t nvt)
Get the name of an NVT.
Definition: manage_sql_nvts.c:145
char * nvt_name(const char *oid)
Get the name of an NVT given its OID.
Definition: manage_sql_nvts.c:158
int nvt_info_count_after(const get_data_t *get, time_t count_time, gboolean get_modified)
Count number of nvts created or modified after a given time.
Definition: manage_sql_nvts.c:504
void set_nvts_feed_version(const char *feed_version)
Set the feed version of the plugins in the plugin cache.
Definition: manage_sql_nvts.c:212
int nvt_info_count(const get_data_t *get)
Count number of nvt.
Definition: manage_sql_nvts.c:486
int manage_dump_vt_verification(GSList *log_config, const db_conn_info_t *database)
Dump the string used to calculate the VTs verification hash to stdout.
Definition: manage_sql_nvts.c:2240
int manage_rebuild(GSList *log_config, const db_conn_info_t *database)
Rebuild NVT db.
Definition: manage_sql_nvts.c:2171
char * nvt_default_timeout(const char *oid)
Get the default timeout of an NVT.
Definition: manage_sql_nvts.c:1020
void init_nvt_iterator(iterator_t *iterator, nvt_t nvt, config_t config, const char *family, const char *category, int ascending, const char *sort_field)
Initialise an NVT iterator.
Definition: manage_sql_nvts.c:748
int family_nvt_count(const char *family)
Get the number of NVTs in one or all families.
Definition: manage_sql_nvts.c:1055
char * nvts_feed_version()
Return feed version of the plugins in the plugin cache.
Definition: manage_sql_nvts.c:173
void init_nvt_severity_iterator(iterator_t *iterator, const char *oid)
Initialise an NVT severity iterator.
Definition: manage_sql_nvts.c:1722
int nvt_iterator_category(iterator_t *iterator)
Get the category from an NVT iterator.
Definition: manage_sql_nvts.c:884
int cve_info_count(const get_data_t *get)
Count number of cve.
Definition: manage_sql_secinfo.c:684
gchar * cve_cvss_base(const gchar *cve)
Get the CVSS score for a CVE.
Definition: manage_sql_secinfo.c:666
int init_cpe_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise a info iterator.
Definition: manage_sql_secinfo.c:494
void init_nvt_cert_bund_adv_iterator(iterator_t *iterator, const char *oid)
Initialise an CERT-Bund iterator, for advisories relevant to a NVT.
Definition: manage_sql_secinfo.c:974
int cpe_info_count(const get_data_t *get)
Count number of cpe.
Definition: manage_sql_secinfo.c:476
void init_cpe_cve_iterator(iterator_t *iterator, const char *cve, int ascending, const char *sort_field)
Initialise an CVE iterator, for CVEs reported for a certain CPE.
Definition: manage_sql_secinfo.c:619
void init_nvt_dfn_cert_adv_iterator(iterator_t *iterator, const char *oid)
Initialise an DFN-CERT iterator, for advisories relevant to a NVT.
Definition: manage_sql_secinfo.c:1178
void init_cve_cert_bund_adv_iterator(iterator_t *iterator, const char *cve, int ascending, const char *sort_field)
Initialise CVE iterator, for CVEs referenced by a CERT-Bund advisory.
Definition: manage_sql_secinfo.c:945
int cert_bund_adv_info_count(const get_data_t *get)
Count number of cert_bund_adv.
Definition: manage_sql_secinfo.c:879
int dfn_cert_adv_info_count(const get_data_t *get)
Count number of dfn_cert_adv.
Definition: manage_sql_secinfo.c:1087
int init_dfn_cert_adv_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an DFN-CERT advisory (dfn_cert_adv) info iterator.
Definition: manage_sql_secinfo.c:1038
void init_cve_dfn_cert_adv_iterator(iterator_t *iterator, const char *cve, int ascending, const char *sort_field)
Initialise CVE iterator, for CVEs referenced by a DFN-CERT advisory.
Definition: manage_sql_secinfo.c:1149
int init_cve_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise a info iterator.
Definition: manage_sql_secinfo.c:702
int secinfo_count_after(const get_data_t *get, const char *type, time_t count_time, gboolean get_modified)
Count number of SecInfo items created or modified after a given time.
Definition: manage_sql_secinfo.c:1217
int init_cert_bund_adv_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an CERT-Bund advisory (cert_bund_adv) info iterator.
Definition: manage_sql_secinfo.c:830
void parse_ssldetails(const char *ssldetails, time_t *activation_time, time_t *expiration_time, gchar **issuer, gchar **serial)
Extract data from a SSLDetails:[...] host detail value.
Definition: manage_tls_certificates.c:50
const char * tls_certificate_format_str(gnutls_x509_crt_fmt_t certificate_format)
Get a string representation of a certificate format.
Definition: manage_tls_certificates.c:134
static PGconn * conn
Handle on the database.
Definition: sql_pg.c:84
Data about a report sent by an alert.
Definition: manage.h:394
gchar * content_type
The MIME content type of the report.
Definition: manage.h:397
gchar * remote_filename
Path or filename to send to / as.
Definition: manage.h:396
gchar * report_format_name
Name of the report format used.
Definition: manage.h:398
gchar * local_filename
Path to the local report file.
Definition: manage.h:395
A command.
Definition: manage.h:151
gchar * summary
Summary of command.
Definition: manage.h:153
gchar * name
Command name.
Definition: manage.h:152
A CREATE_REPORT result.
Definition: manage.h:1189
char * description
Description of NVT.
Definition: manage.h:1190
char * qod
QoD (quality of detection).
Definition: manage.h:1196
char * port
Port.
Definition: manage.h:1195
char * host
Host.
Definition: manage.h:1191
char * qod_type
QoD type.
Definition: manage.h:1197
char * scan_nvt_version
Version of NVT used at scan time.
Definition: manage.h:1194
char * threat
Threat.
Definition: manage.h:1199
char * hostname
Hostname.
Definition: manage.h:1192
char * severity
Severity score.
Definition: manage.h:1198
char * nvt_oid
OID of NVT.
Definition: manage.h:1193
Data structure for info used to connect to the database.
Definition: manage.h:47
gchar * user
The database user name.
Definition: manage.h:51
gchar * name
The database name.
Definition: manage.h:48
gchar * port
The database port or socket file extension.
Definition: manage.h:50
gchar * host
The database host or socket directory.
Definition: manage.h:49
A detection detail for create_report.
Definition: manage.h:1220
char * source_name
source_name of detection in result.
Definition: manage.h:1222
char * product
product of detection in result.
Definition: manage.h:1221
char * location
location of detection in result.
Definition: manage.h:1224
char * source_oid
source_oid of detection in result.
Definition: manage.h:1223
Command data for a get command.
Definition: manage_get.h:35
A host detail for create_report.
Definition: manage.h:1206
char * name
Detail name.
Definition: manage.h:1208
char * source_type
Source type.
Definition: manage.h:1211
char * source_name
Source name.
Definition: manage.h:1210
char * ip
IP.
Definition: manage.h:1207
char * value
Detail value.
Definition: manage.h:1212
char * source_desc
Source description.
Definition: manage.h:1209
A generic SQL iterator structure.
Definition: iterator.h:50
Keyword.
Definition: manage.h:2983
gchar * column
The column prefix, or NULL.
Definition: manage.h:2984
keyword_relation_t relation
The relation.
Definition: manage.h:2992
gchar * string
The keyword string, outer quotes removed.
Definition: manage.h:2990
int integer_value
Integer value of the keyword.
Definition: manage.h:2987
keyword_type_t type
Type of keyword.
Definition: manage.h:2991
double double_value
Floating point value of the keyword.
Definition: manage.h:2988
int equal
Whether the keyword is like "=example".
Definition: manage.h:2986
int quoted
Whether the keyword was quoted.
Definition: manage.h:2989
int approx
Whether the keyword is like "~example".
Definition: manage.h:2985
Lockfile.
Definition: utils.h:62
Name value pair.
Definition: manage.h:114
gchar * name
Name.
Definition: manage.h:115
gchar * value
Param value.
Definition: manage.h:116
A system report type iterator.
Definition: manage.h:2438
gchar ** start
First type.
Definition: manage.h:2439
gchar ** current
Current type.
Definition: manage.h:2440
Severity data for result count cache.
Definition: manage.h:1010
int * counts
Counts.
Definition: manage.h:1011
int total
Total.
Definition: manage.h:1012
double max
Max.
Definition: manage.h:1013
Sort data for aggregates commands.
Definition: manage.h:3562
int order
The sort order.
Definition: manage.h:3565
gchar * field
The field to sort by.
Definition: manage.h:3563
gchar * stat
The statistic to sort by.
Definition: manage.h:3564
Headers for Greenbone Vulnerability Manager: General utilities.