Greenbone Vulnerability Manager  22.5.2
manage.h
1 /* Copyright (C) 2009-2022 Greenbone AG
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 void
203 logout_user ();
204 ␌
205 /* Database. */
206 
207 int
209 
210 int
212 
213 int
215 
216 int
218 
219 int
221 
222 int
224 
225 void
226 set_db_version (int version);
227 
228 int
229 manage_migrate (GSList*, const db_conn_info_t*);
230 
231 int
233 
234 int
236 
237 void
238 manage_session_set_timezone (const char *);
239 
240 void
242 
243 void
244 manage_transaction_stop (gboolean);
245 
246 ␌
247 /* Task structures. */
248 
255 typedef enum
256 {
257  TASK_STATUS_DELETE_REQUESTED = 0,
258  TASK_STATUS_DONE = 1,
259  TASK_STATUS_NEW = 2,
260  TASK_STATUS_REQUESTED = 3,
261  TASK_STATUS_RUNNING = 4,
262  TASK_STATUS_STOP_REQUESTED = 10,
263  TASK_STATUS_STOP_WAITING = 11,
264  TASK_STATUS_STOPPED = 12,
265  TASK_STATUS_INTERRUPTED = 13,
266  TASK_STATUS_DELETE_ULTIMATE_REQUESTED = 14,
267  /* 15 was removed (TASK_STATUS_STOP_REQUESTED_GIVEUP). */
268  TASK_STATUS_DELETE_WAITING = 16,
269  TASK_STATUS_DELETE_ULTIMATE_WAITING = 17,
270  TASK_STATUS_QUEUED = 18
271 } task_status_t;
272 
276 #define AUTO_DELETE_KEEP_MIN 2
277 
281 #define AUTO_DELETE_KEEP_MAX 1200
282 
283 
290 typedef enum
291 {
292  ALIVE_TEST_TCP_ACK_SERVICE = 1,
293  ALIVE_TEST_ICMP = 2,
294  ALIVE_TEST_ARP = 4,
295  ALIVE_TEST_CONSIDER_ALIVE = 8,
296  ALIVE_TEST_TCP_SYN_SERVICE = 16
297 } alive_test_t;
298 
305 typedef enum scanner_type
306 {
307  SCANNER_TYPE_NONE = 0,
308  /* 1 was removed (SCANNER_TYPE_OSP). */
309  SCANNER_TYPE_OPENVAS = 2,
310  SCANNER_TYPE_CVE = 3,
311  /* 4 was removed (SCANNER_TYPE_GMP). */
312  SCANNER_TYPE_OSP_SENSOR = 5,
313  SCANNER_TYPE_MAX = 6,
314 } scanner_type_t;
315 
316 int
317 scanner_type_valid (scanner_type_t);
318 
319 typedef resource_t credential_t;
320 typedef resource_t alert_t;
321 typedef resource_t filter_t;
322 typedef resource_t group_t;
323 typedef resource_t host_t;
324 typedef resource_t tag_t;
325 typedef resource_t target_t;
326 typedef resource_t task_t;
327 typedef resource_t ticket_t;
328 typedef resource_t tls_certificate_t;
329 typedef resource_t result_t;
330 typedef resource_t report_t;
331 typedef resource_t report_host_t;
332 typedef resource_t report_format_t;
333 typedef resource_t report_format_param_t;
334 typedef resource_t role_t;
335 typedef resource_t note_t;
336 typedef resource_t nvt_t;
337 typedef resource_t override_t;
338 typedef resource_t permission_t;
339 typedef resource_t port_list_t;
340 typedef resource_t port_range_t;
341 typedef resource_t schedule_t;
342 typedef resource_t scanner_t;
343 typedef resource_t setting_t;
344 typedef resource_t user_t;
345 
346 ␌
347 /* GMP GET support.
348  *
349  * The standalone parts of the GET support are in manage_get.h. */
350 
353 
354 user_t
356 
357 ␌
358 /* Resources. */
359 
360 int
361 manage_resource_name (const char *, const char *, char **);
362 
363 int
364 manage_trash_resource_name (const char *, const char *, char **);
365 
366 int
367 resource_count (const char *, const get_data_t *);
368 
369 int
370 resource_id_exists (const char *, const char *);
371 
372 int
373 trash_id_exists (const char *, const char *);
374 
375 gboolean
376 find_resource (const char*, const char*, resource_t*);
377 
378 gboolean
379 find_resource_no_acl (const char*, const char*, resource_t*);
380 
381 const char *
382 type_name_plural (const char*);
383 
384 const char *
385 type_name (const char*);
386 
387 int
388 type_is_scap (const char*);
389 
390 int
391 delete_resource (const char *, const char *, int);
392 
393 ␌
394 /* Events and Alerts. */
395 
399 typedef struct {
400  gchar *local_filename;
402  gchar *content_type;
405 
406 void
408 
409 void
411 
415 #define ALERT_MESSAGE_INCLUDE \
416  "Task '$n': $e\n" \
417  "\n" \
418  "After the event $e,\n" \
419  "the following condition was met: $c\n" \
420  "\n" \
421  "This email escalation is configured to apply report format '$r'.\n" \
422  "Full details and other report formats are available on the scan engine.\n" \
423  "\n" \
424  "$t" \
425  "\n" \
426  "$i" \
427  "\n" \
428  "\n" \
429  "Note:\n" \
430  "This email was sent to you as a configured security scan escalation.\n" \
431  "Please contact your local system administrator if you think you\n" \
432  "should not have received it.\n"
433 
437 #define SECINFO_ALERT_MESSAGE_INCLUDE \
438  "Task '$n': $e\n" \
439  "\n" \
440  "After the event $e,\n" \
441  "the following condition was met: $c\n" \
442  "\n" \
443  "This email escalation is configured to apply report format '$r'.\n" \
444  "Full details and other report formats are available on the scan engine.\n" \
445  "\n" \
446  "$t" \
447  "\n" \
448  "$i" \
449  "\n" \
450  "\n" \
451  "Note:\n" \
452  "This email was sent to you as a configured security scan escalation.\n" \
453  "Please contact your local system administrator if you think you\n" \
454  "should not have received it.\n"
455 
459 #define ALERT_MESSAGE_ATTACH \
460  "Task '$n': $e\n" \
461  "\n" \
462  "After the event $e,\n" \
463  "the following condition was met: $c\n" \
464  "\n" \
465  "This email escalation is configured to attach report format '$r'.\n" \
466  "Full details and other report formats are available on the scan engine.\n" \
467  "\n" \
468  "$t" \
469  "\n" \
470  "Note:\n" \
471  "This email was sent to you as a configured security scan escalation.\n" \
472  "Please contact your local system administrator if you think you\n" \
473  "should not have received it.\n"
474 
478 #define SECINFO_ALERT_MESSAGE_ATTACH \
479  "Task '$n': $e\n" \
480  "\n" \
481  "After the event $e,\n" \
482  "the following condition was met: $c\n" \
483  "\n" \
484  "This email escalation is configured to attach report format '$r'.\n" \
485  "Full details and other report formats are available on the scan engine.\n" \
486  "\n" \
487  "$t" \
488  "\n" \
489  "Note:\n" \
490  "This email was sent to you as a configured security scan escalation.\n" \
491  "Please contact your local system administrator if you think you\n" \
492  "should not have received it.\n"
493 
497 #define ALERT_VFIRE_CALL_DESCRIPTION \
498  "GVM Task '$n': $e\n" \
499  "\n" \
500  "After the event $e,\n" \
501  "the following condition was met: $c\n" \
502  "\n" \
503  "This ticket includes reports in the following format(s):\n" \
504  "$r.\n" \
505  "Full details and other report formats are available on the scan engine.\n" \
506  "\n" \
507  "$t" \
508  "\n" \
509  "Note:\n" \
510  "This ticket was created automatically as a security scan escalation.\n" \
511  "Please contact your local system administrator if you think it\n" \
512  "was created or assigned erroneously.\n"
513 
517 typedef enum
518 {
519  EVENT_ERROR,
520  EVENT_TASK_RUN_STATUS_CHANGED,
521  EVENT_NEW_SECINFO,
522  EVENT_UPDATED_SECINFO,
523  EVENT_TICKET_RECEIVED,
524  EVENT_ASSIGNED_TICKET_CHANGED,
525  EVENT_OWNED_TICKET_CHANGED
526 } event_t;
527 
531 typedef enum
532 {
533  ALERT_METHOD_ERROR,
534  ALERT_METHOD_EMAIL,
535  ALERT_METHOD_HTTP_GET,
536  ALERT_METHOD_SOURCEFIRE,
537  ALERT_METHOD_START_TASK,
538  ALERT_METHOD_SYSLOG,
539  ALERT_METHOD_VERINICE,
540  ALERT_METHOD_SEND,
541  ALERT_METHOD_SCP,
542  ALERT_METHOD_SNMP,
543  ALERT_METHOD_SMB,
544  ALERT_METHOD_TIPPINGPOINT,
545  ALERT_METHOD_VFIRE,
546 } alert_method_t;
547 
551 typedef enum
552 {
553  ALERT_CONDITION_ERROR,
554  ALERT_CONDITION_ALWAYS,
555  ALERT_CONDITION_SEVERITY_AT_LEAST,
556  ALERT_CONDITION_SEVERITY_CHANGED,
557  ALERT_CONDITION_FILTER_COUNT_AT_LEAST,
558  ALERT_CONDITION_FILTER_COUNT_CHANGED
559 } alert_condition_t;
560 
561 int
562 manage_check_alerts (GSList *, const db_conn_info_t *);
563 
564 int
565 create_alert (const char*, const char*, const char*, const char*, event_t,
566  GPtrArray*, alert_condition_t, GPtrArray*, alert_method_t,
567  GPtrArray*, alert_t*);
568 
569 int
570 copy_alert (const char*, const char*, const char*, alert_t*);
571 
572 int
573 modify_alert (const char*, const char*, const char*, const char*,
574  const char*, event_t, GPtrArray*, alert_condition_t, GPtrArray*,
575  alert_method_t, GPtrArray*);
576 
577 int
578 delete_alert (const char *, int);
579 
580 char *
581 alert_uuid (alert_t);
582 
583 gboolean
584 find_alert_with_permission (const char *, alert_t *, const char *);
585 
586 int
587 manage_alert (const char *, const char *, event_t, const void*, gchar **);
588 
589 int
590 manage_test_alert (const char *, gchar **);
591 
592 int
593 alert_in_use (alert_t);
594 
595 int
596 trash_alert_in_use (alert_t);
597 
598 int
599 alert_writable (alert_t);
600 
601 int
602 trash_alert_writable (alert_t);
603 
604 int
605 alert_count (const get_data_t *);
606 
607 int
609 
610 int
612 
613 int
615 
616 int
618 
619 char *
621 
622 char *
624 
625 int
627 
628 int
630 
631 int
633 
634 const char*
635 alert_condition_name (alert_condition_t);
636 
637 gchar*
638 alert_condition_description (alert_condition_t, alert_t);
639 
640 const char*
641 event_name (event_t);
642 
643 gchar*
644 event_description (event_t, const void *, const char *);
645 
646 alert_method_t
647 alert_method (alert_t alert);
648 
649 const char*
650 alert_method_name (alert_method_t);
651 
652 alert_condition_t
653 alert_condition_from_name (const char*);
654 
655 event_t
656 event_from_name (const char*);
657 
658 alert_method_t
659 alert_method_from_name (const char*);
660 
661 void
662 init_alert_data_iterator (iterator_t *, alert_t, int, const char *);
663 
664 const char*
666 
667 const char*
669 
670 void
671 init_alert_task_iterator (iterator_t*, alert_t, int);
672 
673 const char*
675 
676 const char*
678 
679 int
681 
682 void
684 
685 const char*
686 task_alert_iterator_uuid (iterator_t*);
687 
688 const char*
689 task_alert_iterator_name (iterator_t*);
690 
691 ␌
692 /* Task global variables and preprocessor variables. */
693 
697 extern task_t current_scanner_task;
698 
699 extern report_t global_current_report;
700 
701 ␌
702 /* Task code specific to the representation of tasks. */
703 
704 unsigned int
705 task_count (const get_data_t *);
706 
707 int
709 
710 task_status_t
712 
713 const char *
715 
716 int
718 
719 int
721 
722 const char *
724 
725 const char *
727 
728 report_t
730 
731 const char *
733 
734 scanner_t
736 
737 const char *
739 
740 int
741 task_uuid (task_t, char **);
742 
743 int
744 task_in_trash (task_t);
745 
746 int
747 task_in_trash_id (const gchar *);
748 
749 int
750 task_in_use (task_t);
751 
752 int
753 trash_task_in_use (task_t);
754 
755 int
756 task_writable (task_t);
757 
758 int
759 task_alterable (task_t);
760 
761 int
762 trash_task_writable (task_t);
763 
764 int
766 
767 char*
768 task_owner_name (task_t);
769 
770 char*
771 task_name (task_t);
772 
773 char*
774 task_comment (task_t);
775 
776 char*
777 task_hosts_ordering (task_t);
778 
779 scanner_t
780 task_scanner (task_t);
781 
782 int
783 task_scanner_in_trash (task_t);
784 
785 config_t
786 task_config (task_t);
787 
788 char*
789 task_config_uuid (task_t);
790 
791 char*
792 task_config_name (task_t);
793 
794 int
795 task_config_in_trash (task_t);
796 
797 void
798 set_task_config (task_t, config_t);
799 
800 target_t
801 task_target (task_t);
802 
803 int
804 task_target_in_trash (task_t);
805 
806 void
807 set_task_target (task_t, target_t);
808 
809 void
810 set_task_hosts_ordering (task_t, const char *);
811 
812 void
813 set_task_scanner (task_t, scanner_t);
814 
815 void
816 set_task_usage_type (task_t, const char *);
817 
818 char*
819 task_description (task_t);
820 
821 void
822 set_task_description (task_t, char*, gsize);
823 
824 task_status_t
825 task_run_status (task_t);
826 
827 void
828 set_task_run_status (task_t, task_status_t);
829 
830 int
831 task_result_count (task_t, int);
832 
833 report_t
834 task_running_report (task_t);
835 
836 int
837 task_upload_progress (task_t);
838 
839 void
840 set_task_start_time_epoch (task_t, int);
841 
842 void
843 set_task_start_time_ctime (task_t, char*);
844 
845 void
846 set_task_end_time (task_t task, char* time);
847 
848 void
849 set_task_end_time_epoch (task_t, time_t);
850 
851 void
852 add_task_alert (task_t, alert_t);
853 
854 void
855 set_task_alterable (task_t, int);
856 
857 int
858 set_task_groups (task_t, array_t*, gchar**);
859 
860 int
861 set_task_schedule (task_t, schedule_t, int);
862 
863 int
864 set_task_schedule_periods (const gchar *, int);
865 
866 int
867 set_task_schedule_periods_id (task_t, int);
868 
869 unsigned int
870 task_report_count (task_t);
871 
872 int
873 task_last_report (task_t, report_t*);
874 
875 const char *
876 task_iterator_trend_counts (iterator_t *, int, int, int, double, int, int, int,
877  double);
878 
879 int
880 task_schedule_periods (task_t);
881 
882 int
883 task_schedule_periods_uuid (const gchar *);
884 
885 schedule_t
886 task_schedule (task_t);
887 
888 schedule_t
889 task_schedule_uuid (const gchar *);
890 
891 int
892 task_schedule_in_trash (task_t);
893 
894 time_t
895 task_schedule_next_time_uuid (const gchar *);
896 
897 int
898 task_schedule_next_time (task_t);
899 
900 int
901 task_debugs_size (task_t);
902 
903 int
904 task_holes_size (task_t);
905 
906 int
907 task_infos_size (task_t);
908 
909 int
910 task_logs_size (task_t);
911 
912 int
913 task_warnings_size (task_t);
914 
915 int
916 task_false_positive_size (task_t);
917 
918 task_t
919 make_task (char*, char*, int, int);
920 
921 void
922 make_task_complete (task_t);
923 
924 int
925 copy_task (const char*, const char*, const char *, int, task_t*);
926 
927 void
928 set_task_name (task_t, const char *);
929 
930 gboolean
931 find_task_with_permission (const char*, task_t*, const char *);
932 
933 gboolean
934 find_trash_task_with_permission (const char*, task_t*, const char *);
935 
936 void
937 reset_task (task_t);
938 
939 int
940 set_task_parameter (task_t, const char*, char*);
941 
942 char*
943 task_observers (task_t);
944 
945 int
946 set_task_observers (task_t, const gchar *);
947 
948 int
949 request_delete_task_uuid (const char *, int);
950 
951 int
952 request_delete_task (task_t*);
953 
954 int
955 delete_task (task_t, int);
956 
957 void
958 append_to_task_comment (task_t, const char*, int);
959 
960 void
961 add_task_description_line (task_t, const char*, size_t);
962 
963 void
964 set_scan_ports (report_t, const char*, unsigned int, unsigned int);
965 
966 void
967 append_task_open_port (task_t task, const char *, const char*);
968 
969 int
970 manage_task_update_file (const gchar *, const char *, const void *);
971 
972 int
973 manage_task_remove_file (const gchar *, const char *);
974 
975 int
976 modify_task (const gchar *, const gchar *, const gchar *, const gchar *,
977  const gchar *, const gchar *, const gchar *, array_t *,
978  const gchar *, array_t *, const gchar *, const gchar *,
979  array_t *, const gchar *, gchar **, gchar **);
980 
981 void
982 init_config_file_iterator (iterator_t*, const char*, const char*);
983 
984 const char*
985 config_file_iterator_content (iterator_t*);
986 
987 int
988 config_file_iterator_length (iterator_t*);
989 
990 void
991 init_config_task_iterator (iterator_t*, config_t, int);
992 
993 const char*
994 config_task_iterator_name (iterator_t*);
995 
996 const char*
997 config_task_iterator_uuid (iterator_t*);
998 
999 int
1001 
1002 ␌
1003 /* General severity related facilities. */
1004 
1005 int
1006 severity_in_level (double, const char *);
1007 
1008 const char*
1009 severity_to_level (double, int);
1010 
1011 const char*
1012 severity_to_type (double);
1013 
1017 typedef struct
1018 {
1019  int* counts;
1020  int total;
1021  double max;
1022 } severity_data_t;
1023 
1024 double
1025 severity_data_value (int);
1026 
1027 void
1029 
1030 void
1032 
1033 void
1035 
1036 void
1038 
1039 void
1041  int*, int*, int*, int*, int*, int*);
1042 
1043 ␌
1044 /* General task facilities. */
1045 
1046 const char*
1047 run_status_name (task_status_t);
1048 
1049 int
1050 start_task (const char *, char**);
1051 
1052 int
1053 stop_task (const char *);
1054 
1055 int
1056 resume_task (const char *, char **);
1057 
1058 int
1059 move_task (const char*, const char*);
1060 
1061 ␌
1062 /* Access control. */
1063 
1064 int
1065 user_may (const char *);
1066 
1067 extern int
1068 user_can_everything (const char *);
1069 
1070 extern int
1071 user_can_super_everyone (const char *);
1072 
1073 extern int
1074 user_has_super (const char *, user_t);
1075 
1076 ␌
1077 /* Results. */
1078 
1082 #define LSC_FAMILY_LIST \
1083  "'AIX Local Security Checks'," \
1084  " 'Amazon Linux Local Security Checks'," \
1085  " 'CentOS Local Security Checks'," \
1086  " 'Citrix Xenserver Local Security Checks'," \
1087  " 'Debian Local Security Checks'," \
1088  " 'F5 Local Security Checks'," \
1089  " 'Fedora Local Security Checks'," \
1090  " 'FortiOS Local Security Checks'," \
1091  " 'FreeBSD Local Security Checks'," \
1092  " 'Gentoo Local Security Checks'," \
1093  " 'HP-UX Local Security Checks'," \
1094  " 'Huawei EulerOS Local Security Checks'," \
1095  " 'JunOS Local Security Checks'," \
1096  " 'Mac OS X Local Security Checks'," \
1097  " 'Mageia Linux Local Security Checks'," \
1098  " 'Mandrake Local Security Checks'," \
1099  " 'Oracle Linux Local Security Checks'," \
1100  " 'Palo Alto PAN-OS Local Security Checks'," \
1101  " 'Red Hat Local Security Checks'," \
1102  " 'Slackware Local Security Checks'," \
1103  " 'Solaris Local Security Checks'," \
1104  " 'SuSE Local Security Checks'," \
1105  " 'VMware Local Security Checks'," \
1106  " 'Ubuntu Local Security Checks'," \
1107  " 'Windows : Microsoft Bulletins'"
1108 
1112 #define FAMILIES_WHOLE_ONLY \
1113  { "CentOS Local Security Checks", \
1114  "Debian Local Security Checks", \
1115  "Fedora Local Security Checks", \
1116  "Huawei EulerOS Local Security Checks", \
1117  "Oracle Linux Local Security Checks", \
1118  "Red Hat Local Security Checks", \
1119  "SuSE Local Security Checks", \
1120  "Ubuntu Local Security Checks", \
1121  NULL }
1122 
1123 gboolean
1124 find_result_with_permission (const char*, result_t*, const char *);
1125 
1126 int
1127 result_uuid (result_t, char **);
1128 
1129 int
1130 result_detection_reference (result_t, report_t, const char *, const char *,
1131  const char *, char **, char **, char **, char **,
1132  char **);
1133 
1134 /* Reports. */
1135 
1137 #define OVAS_MANAGE_REPORT_ID_LENGTH UUID_LEN_STR
1138 
1142 #define APPLY_OVERRIDES_DEFAULT 0
1143 
1147 #define QOD_DEFAULT 75
1148 
1152 #define MIN_QOD_DEFAULT 70
1153 
1154 void
1155 reports_clear_count_cache_for_override (override_t, int);
1156 
1157 void
1158 init_report_counts_build_iterator (iterator_t *, report_t, int, int,
1159  const char*);
1160 
1161 double
1162 report_severity (report_t, int, int);
1163 
1164 int
1165 report_host_count (report_t);
1166 
1167 int
1168 report_result_host_count (report_t, int);
1169 
1170 char *
1171 report_finished_hosts_str (report_t);
1172 
1173 gboolean
1174 find_report_with_permission (const char *, report_t *, const char *);
1175 
1176 report_t
1177 make_report (task_t, const char *, task_status_t);
1178 
1179 int
1180 qod_from_type (const char *);
1181 
1182 result_t
1183 make_result (task_t, const char*, const char*, const char*, const char*,
1184  const char*, const char*, const char*);
1185 
1186 result_t
1187 make_osp_result (task_t, const char*, const char*, const char*, const char*,
1188  const char *, const char *, const char *, int, const char*,
1189  const char *);
1190 
1191 result_t
1192 make_cve_result (task_t, const char*, const char*, double, const char*);
1193 
1197 typedef struct
1198 {
1199  char *description;
1200  char *host;
1201  char *hostname;
1202  char *nvt_oid;
1204  char *port;
1205  char *qod;
1206  char *qod_type;
1207  char *severity;
1208  char *threat;
1210 
1214 typedef struct
1215 {
1216  char *ip;
1217  char *name;
1218  char *source_desc;
1219  char *source_name;
1220  char *source_type;
1221  char *value;
1222 } host_detail_t;
1223 
1224 
1228 typedef struct
1229 {
1230  char *product;
1231  char *source_name;
1232  char *source_oid;
1233  char *location;
1235 
1236 void
1238 
1239 void
1240 insert_report_host_detail (report_t, const char *, const char *, const char *,
1241  const char *, const char *, const char *,
1242  const char *);
1243 
1244 int
1245 manage_report_host_detail (report_t, const char *, const char *);
1246 
1247 void
1248 hosts_set_identifiers (report_t);
1249 
1250 void
1251 hosts_set_max_severity (report_t, int*, int*);
1252 
1253 void
1254 hosts_set_details (report_t report);
1255 
1256 void
1257 clear_duration_schedules (task_t);
1258 
1259 void
1261 
1262 int
1263 create_report (array_t*, const char *, const char *, const char *, const char *,
1264  array_t*, array_t*, array_t*, char **);
1265 
1266 void
1267 report_add_result (report_t, result_t);
1268 
1269 void
1270 report_add_results_array (report_t, GArray *);
1271 
1272 char*
1273 report_uuid (report_t);
1274 
1275 int
1276 task_last_resumable_report (task_t, report_t *);
1277 
1278 gchar*
1280 
1281 gchar*
1282 report_path_task_uuid (gchar*);
1283 
1284 gboolean
1285 report_task (report_t, task_t*);
1286 
1287 void
1288 report_compliance_by_uuid (const char *, int *, int *, int *);
1289 
1290 int
1291 report_scan_result_count (report_t, const char*, const char*, int, const char*,
1292  const char*, int, int, int*);
1293 
1294 int
1295 report_counts (const char*, int*, int*, int*, int*, int*, double*,
1296  int, int);
1297 
1298 int
1299 report_counts_id (report_t, int*, int*, int*, int*, int*, double*,
1300  const get_data_t*, const char*);
1301 
1302 int
1303 report_counts_id_no_filt (report_t, int*, int*, int*, int*, int*, int*,
1304  double*, const get_data_t*, const char*);
1305 
1306 get_data_t*
1307 report_results_get_data (int, int, int, int);
1308 
1309 int
1310 scan_start_time_epoch (report_t);
1311 
1312 char*
1313 scan_start_time_uuid (const char *);
1314 
1315 char*
1316 scan_end_time_uuid (const char *);
1317 
1318 void
1319 set_scan_start_time_ctime (report_t, const char*);
1320 
1321 void
1322 set_scan_start_time_epoch (report_t, time_t);
1323 
1324 void
1325 set_scan_end_time (report_t, const char*);
1326 
1327 void
1328 set_scan_end_time_ctime (report_t, const char*);
1329 
1330 void
1331 set_scan_end_time_epoch (report_t, time_t);
1332 
1333 void
1334 set_scan_host_start_time_ctime (report_t, const char*, const char*);
1335 
1336 int
1337 scan_host_end_time (report_t, const char*);
1338 
1339 void
1340 set_scan_host_end_time (report_t, const char*, const char*);
1341 
1342 void
1343 set_scan_host_end_time_ctime (report_t, const char*, const char*);
1344 
1345 int
1346 report_timestamp (const char*, gchar**);
1347 
1348 int
1349 delete_report (const char *, int);
1350 
1351 int
1352 report_count (const get_data_t *);
1353 
1354 int
1356 
1357 void
1359 
1360 void
1362 
1363 const char*
1364 report_iterator_uuid (iterator_t*);
1365 
1366 int
1367 result_count (const get_data_t *, report_t, const char*);
1368 
1369 int
1370 init_result_get_iterator (iterator_t*, const get_data_t *, report_t,
1371  const char*, const gchar *);
1372 
1373 gboolean
1374 next_report (iterator_t*, report_t*);
1375 
1376 result_t
1378 
1379 const char*
1380 result_iterator_host (iterator_t*);
1381 
1382 const char*
1383 result_iterator_port (iterator_t*);
1384 
1385 const char*
1386 result_iterator_nvt_oid (iterator_t*);
1387 
1388 const char*
1390 
1391 const char*
1392 result_iterator_nvt_summary (iterator_t *);
1393 
1394 const char*
1395 result_iterator_nvt_insight (iterator_t *);
1396 
1397 const char*
1398 result_iterator_nvt_affected (iterator_t *);
1399 
1400 const char*
1401 result_iterator_nvt_impact (iterator_t *);
1402 
1403 const char*
1404 result_iterator_nvt_solution (iterator_t *);
1405 
1406 const char*
1408 
1409 const char*
1411 
1412 const char*
1413 result_iterator_nvt_detection (iterator_t *);
1414 
1415 const char*
1416 result_iterator_nvt_family (iterator_t *);
1417 
1418 const char*
1419 result_iterator_nvt_cvss_base (iterator_t *);
1420 
1421 const char*
1422 result_iterator_nvt_tag (iterator_t *);
1423 
1424 const char*
1425 result_iterator_descr (iterator_t*);
1426 
1427 task_t
1429 
1430 report_t
1432 
1433 const char*
1435 
1436 const char*
1438 
1439 const char*
1441 
1442 double
1444 
1445 const char*
1447 
1448 const char*
1450 
1451 const char*
1452 result_iterator_solution_type (iterator_t*);
1453 
1454 const char*
1455 result_iterator_qod (iterator_t*);
1456 
1457 const char*
1458 result_iterator_qod_type (iterator_t*);
1459 
1460 const char*
1461 result_iterator_hostname (iterator_t*);
1462 
1463 const char*
1464 result_iterator_date (iterator_t*);
1465 
1466 const char*
1467 result_iterator_path (iterator_t*);
1468 
1469 const char*
1470 result_iterator_asset_host_id (iterator_t*);
1471 
1472 int
1474 
1475 int
1477 
1478 int
1480 
1481 gchar **
1483 
1484 gchar **
1486 
1487 int
1489 
1490 void
1491 init_report_host_iterator (iterator_t*, report_t, const char *, report_host_t);
1492 
1493 const char*
1494 host_iterator_host (iterator_t*);
1495 
1496 const char*
1497 host_iterator_start_time (iterator_t*);
1498 
1499 const char*
1500 host_iterator_end_time (iterator_t*);
1501 
1502 int
1504 
1505 int
1507 
1508 int
1509 collate_message_type (void* data, int, const void*, int, const void*);
1510 
1511 void
1512 trim_partial_report (report_t);
1513 
1514 int
1515 report_progress (report_t);
1516 
1517 gchar *
1518 manage_report (report_t, report_t, const get_data_t *, report_format_t,
1519  int, int, gsize *, gchar **, gchar **, gchar **, gchar **,
1520  gchar **);
1521 
1522 int
1523 manage_send_report (report_t, report_t, report_format_t, const get_data_t *,
1524  int, int, int, int, int, int,
1525  gboolean (*) (const char *,
1526  int (*) (const char*, void*),
1527  void*),
1528  int (*) (const char *, void*), void *, const char *,
1529  const gchar *);
1530 
1531 
1532 ␌
1533 /* Reports. */
1534 
1535 void
1536 init_app_locations_iterator (iterator_t*, report_host_t, const gchar *);
1537 
1538 const char *
1540 
1541 void
1542 init_host_prognosis_iterator (iterator_t*, report_host_t);
1543 
1544 double
1546 
1547 const char*
1548 prognosis_iterator_cpe (iterator_t*);
1549 
1550 const char*
1551 prognosis_iterator_cve (iterator_t*);
1552 
1553 const char*
1554 prognosis_iterator_description (iterator_t*);
1555 
1556 ␌
1557 /* Targets. */
1558 
1564 #define MANAGE_ABSOLUTE_MAX_IPS_PER_TARGET 70000
1565 
1569 #define MANAGE_MAX_HOSTS 4095
1570 
1574 #define MANAGE_USER_MAX_HOSTS 16777216
1575 
1576 int
1577 manage_max_hosts ();
1578 
1579 void
1580 manage_filter_controls (const gchar *, int *, int *, gchar **, int *);
1581 
1582 void
1583 manage_report_filter_controls (const gchar *, int *, int *, gchar **, int *,
1584  int *, gchar **, gchar **, gchar **, gchar **,
1585  int *, int *, int *, int *, gchar **);
1586 
1587 gchar *
1588 manage_clean_filter (const gchar *);
1589 
1590 gchar *
1591 manage_clean_filter_remove (const gchar *, const gchar *);
1592 
1593 int
1594 manage_count_hosts (const char *, const char *);
1595 
1596 gboolean
1597 find_target_with_permission (const char *, target_t *, const char *);
1598 
1599 int
1600 create_target (const char*, const char*, const char*, const char*, const char*,
1601  const char *, const char*, credential_t, credential_t,
1602  const char *, credential_t, credential_t, credential_t,
1603  const char *, const char *, const char *, const char *,
1604  target_t*);
1605 
1606 int
1607 copy_target (const char*, const char*, const char *, target_t*);
1608 
1609 int
1610 modify_target (const char*, const char*, const char*, const char*, const char*,
1611  const char*, const char*, const char*, const char*, const char*,
1612  const char*, const char*, const char*, const char*, const char*,
1613  const char*);
1614 
1615 int
1616 delete_target (const char*, int);
1617 
1618 int
1619 target_count (const get_data_t *);
1620 
1621 void
1622 init_user_target_iterator (iterator_t*, target_t);
1623 
1624 void
1626 
1627 int
1629 
1630 const char*
1631 target_iterator_hosts (iterator_t*);
1632 
1633 const char*
1634 target_iterator_exclude_hosts (iterator_t*);
1635 
1636 const char*
1637 target_iterator_reverse_lookup_only (iterator_t*);
1638 
1639 const char*
1640 target_iterator_reverse_lookup_unify (iterator_t*);
1641 
1642 const char*
1643 target_iterator_comment (iterator_t*);
1644 
1645 int
1647 
1648 const char*
1649 target_iterator_ssh_port (iterator_t*);
1650 
1651 int
1653 
1654 int
1656 
1657 int
1659 
1660 int
1662 
1663 int
1665 
1666 int
1668 
1669 int
1671 
1672 int
1674 
1675 int
1677 
1678 const char*
1679 target_iterator_allow_simultaneous_ips (iterator_t*);
1680 
1681 const char*
1682 target_iterator_port_list_uuid (iterator_t*);
1683 
1684 const char*
1685 target_iterator_port_list_name (iterator_t*);
1686 
1687 int
1689 
1690 const char*
1692 
1693 char*
1694 target_uuid (target_t);
1695 
1696 char*
1697 trash_target_uuid (target_t);
1698 
1699 char*
1700 target_name (target_t);
1701 
1702 char*
1703 trash_target_name (target_t);
1704 
1705 int
1706 trash_target_readable (target_t);
1707 
1708 char*
1709 target_hosts (target_t);
1710 
1711 char*
1712 target_exclude_hosts (target_t);
1713 
1714 char*
1715 target_reverse_lookup_only (target_t);
1716 
1717 char*
1718 target_reverse_lookup_unify (target_t);
1719 
1720 char*
1722 
1723 char*
1724 target_port_range (target_t);
1725 
1726 char*
1727 target_ssh_port (target_t);
1728 
1729 int
1730 target_in_use (target_t);
1731 
1732 int
1733 trash_target_in_use (target_t);
1734 
1735 int
1736 target_writable (target_t);
1737 
1738 int
1739 trash_target_writable (target_t);
1740 
1741 char*
1742 target_ssh_credential_name (const char *);
1743 
1744 void
1746 
1747 const char*
1748 target_task_iterator_name (iterator_t*);
1749 
1750 const char*
1751 target_task_iterator_uuid (iterator_t*);
1752 
1753 int
1755 
1756 credential_t
1757 target_credential (target_t, const char*);
1758 
1759 int
1760 target_login_port (target_t, const char*);
1761 
1762 ␌
1763 /* Configs.
1764  *
1765  * These are here because they need definitions that are still in manage.h. */
1766 
1767 int
1768 create_task_check_scanner_type (scanner_t);
1769 
1770 int
1771 modify_task_check_config_scanner (task_t, const char *, const char *);
1772 
1773 ␌
1774 /* NVT's. */
1775 
1776 char *
1777 manage_nvt_name (nvt_t);
1778 
1779 char *
1780 nvt_name (const char *);
1781 
1782 char*
1784 
1785 time_t
1787 
1788 void
1789 set_nvts_feed_version (const char*);
1790 
1791 gboolean
1792 find_nvt (const char*, nvt_t*);
1793 
1794 int
1795 init_nvt_info_iterator (iterator_t*, get_data_t*, const char*);
1796 
1797 int
1798 nvt_info_count (const get_data_t *);
1799 
1800 int
1801 nvt_info_count_after (const get_data_t *, time_t, gboolean);
1802 
1803 void
1804 init_nvt_iterator (iterator_t*, nvt_t, config_t, const char*, const char*, int,
1805  const char*);
1806 
1807 void
1808 init_cve_nvt_iterator (iterator_t*, const char *, int, const char*);
1809 
1810 const char*
1811 nvt_iterator_oid (iterator_t*);
1812 
1813 const char*
1814 nvt_iterator_version (iterator_t*);
1815 
1816 const char*
1817 nvt_iterator_name (iterator_t*);
1818 
1819 const char*
1820 nvt_iterator_summary (iterator_t*);
1821 
1822 const char*
1823 nvt_iterator_insight (iterator_t*);
1824 
1825 const char*
1826 nvt_iterator_affected (iterator_t*);
1827 
1828 const char*
1829 nvt_iterator_impact (iterator_t*);
1830 
1831 const char*
1832 nvt_iterator_description (iterator_t*);
1833 
1834 const char*
1835 nvt_iterator_tag (iterator_t*);
1836 
1837 int
1839 
1840 const char*
1841 nvt_iterator_family (iterator_t*);
1842 
1843 const char*
1844 nvt_iterator_cvss_base (iterator_t*);
1845 
1846 const char*
1847 nvt_iterator_detection (iterator_t*);
1848 
1849 const char*
1850 nvt_iterator_qod (iterator_t*);
1851 
1852 const char*
1853 nvt_iterator_qod_type ( iterator_t *iterator );
1854 
1855 const char*
1856 nvt_iterator_solution (iterator_t*);
1857 
1858 const char*
1859 nvt_iterator_solution_type (iterator_t*);
1860 
1861 const char*
1862 nvt_iterator_solution_method (iterator_t*);
1863 
1864 char*
1865 nvt_default_timeout (const char *);
1866 
1867 int
1868 family_nvt_count (const char *);
1869 
1870 ␌
1871 /* NVT selectors. */
1872 
1876 #define NVT_SELECTOR_TYPE_ALL 0
1877 
1881 #define NVT_SELECTOR_TYPE_FAMILY 1
1882 
1886 #define NVT_SELECTOR_TYPE_NVT 2
1887 
1891 #define NVT_SELECTOR_TYPE_ANY 999
1892 
1893 void
1894 init_family_iterator (iterator_t*, int, const char*, int);
1895 
1896 const char*
1897 family_iterator_name (iterator_t*);
1898 
1899 int
1900 nvt_selector_family_growing (const char *, const char *, int);
1901 
1902 int
1903 nvt_selector_family_count (const char*, int);
1904 
1905 int
1906 nvt_selector_nvt_count (const char *, const char *, int);
1907 
1908 void
1909 init_nvt_selector_iterator (iterator_t*, const char*, config_t, int);
1910 
1911 const char*
1912 nvt_selector_iterator_nvt (iterator_t*);
1913 
1914 const char*
1915 nvt_selector_iterator_name (iterator_t*);
1916 
1917 int
1919 
1920 int
1922 
1923 ␌
1924 /* NVT preferences. */
1925 
1926 void
1927 manage_nvt_preference_add (const char*, const char*, const char*, const char*,
1928  const char*, const char*, int);
1929 
1930 void
1931 manage_nvt_preferences_enable ();
1932 
1933 void
1935 
1936 const char*
1937 nvt_preference_iterator_name (iterator_t*);
1938 
1939 const char*
1940 nvt_preference_iterator_value (iterator_t*);
1941 
1942 char*
1944 
1945 char*
1947 
1948 char*
1950 
1951 char*
1953 
1954 char*
1956 
1957 int
1958 nvt_preference_count (const char *);
1959 
1960 void
1961 xml_append_nvt_refs (GString *, const char *, int *);
1962 
1963 gchar*
1964 get_nvt_xml (iterator_t*, int, int, int, const char*, config_t, int, int);
1965 
1966 char*
1967 task_preference_value (task_t, const char *);
1968 
1969 int
1970 set_task_preferences (task_t, array_t *);
1971 
1972 void
1974 
1975 const char*
1976 task_group_iterator_name (iterator_t*);
1977 
1978 const char*
1979 task_group_iterator_uuid (iterator_t*);
1980 
1981 void
1983 
1984 const char*
1985 task_role_iterator_name (iterator_t*);
1986 
1987 const char*
1988 task_role_iterator_uuid (iterator_t*);
1989 
1990 /* NVT severities */
1991 void
1992 init_nvt_severity_iterator (iterator_t *, const char *);
1993 
1994 const char *
1995 nvt_severity_iterator_type (iterator_t *);
1996 
1997 const char *
1998 nvt_severity_iterator_origin (iterator_t *);
1999 
2000 const char *
2001 nvt_severity_iterator_date (iterator_t *);
2002 
2003 double
2005 
2006 const char *
2007 nvt_severity_iterator_value (iterator_t *);
2008 
2009 ␌
2010 /* Credentials. */
2011 
2015 typedef enum
2016 {
2017  CREDENTIAL_FORMAT_NONE = 0,
2018  CREDENTIAL_FORMAT_KEY = 1,
2019  CREDENTIAL_FORMAT_RPM = 2,
2020  CREDENTIAL_FORMAT_DEB = 3,
2021  CREDENTIAL_FORMAT_EXE = 4,
2022  CREDENTIAL_FORMAT_PEM = 5,
2023  CREDENTIAL_FORMAT_ERROR = -1
2024 } credential_format_t;
2025 
2026 int
2027 check_private_key (const char *, const char *);
2028 
2029 gboolean
2030 find_credential_with_permission (const char*, credential_t*, const char*);
2031 
2032 int
2033 create_credential (const char*, const char*, const char*, const char*,
2034  const char*, const char*, const char*, const char*,
2035  const char*, const char*, const char*, const char*,
2036  const char*, credential_t*);
2037 
2038 int
2039 copy_credential (const char*, const char*, const char*,
2040  credential_t*);
2041 
2042 int
2043 modify_credential (const char*, const char*, const char*, const char*,
2044  const char*, const char*, const char*, const char*,
2045  const char*, const char*, const char*, const char*,
2046  const char*);
2047 
2048 int
2049 delete_credential (const char *, int);
2050 
2051 int
2052 credential_count (const get_data_t *);
2053 
2054 void
2055 set_credential_privacy_algorithm (credential_t, const char *);
2056 
2057 void
2058 set_credential_public_key (credential_t, const char *);
2059 
2060 void
2061 init_credential_iterator_one (iterator_t*, credential_t);
2062 
2063 int
2065 
2066 const char*
2067 credential_iterator_login (iterator_t*);
2068 
2069 const char*
2070 credential_iterator_auth_algorithm (iterator_t*);
2071 
2072 const char*
2073 credential_iterator_privacy_algorithm (iterator_t*);
2074 
2075 const char*
2077 
2078 const char*
2080 
2081 const char*
2083 
2084 const char*
2085 credential_iterator_public_key (iterator_t*);
2086 
2087 const char*
2089 
2090 const char*
2091 credential_iterator_type (iterator_t*);
2092 
2093 int
2095 
2096 const char*
2097 credential_full_type (const char*);
2098 
2099 char*
2101 
2102 char*
2104 
2105 char*
2107 
2108 const char*
2109 credential_iterator_certificate (iterator_t*);
2110 
2111 gboolean
2112 credential_iterator_format_available (iterator_t*, credential_format_t);
2113 
2114 gchar *
2116 
2117 char*
2118 credential_uuid (credential_t);
2119 
2120 char*
2121 trash_credential_uuid (credential_t);
2122 
2123 char*
2124 credential_name (credential_t);
2125 
2126 char*
2127 trash_credential_name (credential_t);
2128 
2129 char*
2130 credential_type (credential_t);
2131 
2132 void
2133 init_credential_target_iterator (iterator_t*, credential_t, int);
2134 
2135 const char*
2136 credential_target_iterator_uuid (iterator_t*);
2137 
2138 const char*
2139 credential_target_iterator_name (iterator_t*);
2140 
2141 int
2143 
2144 void
2145 init_credential_scanner_iterator (iterator_t*, credential_t, int);
2146 
2147 const char*
2148 credential_scanner_iterator_uuid (iterator_t*);
2149 
2150 const char*
2151 credential_scanner_iterator_name (iterator_t*);
2152 
2153 int
2155 
2156 int
2157 trash_credential_in_use (credential_t);
2158 
2159 int
2160 credential_in_use (credential_t);
2161 
2162 int
2163 trash_credential_writable (credential_t);
2164 
2165 int
2166 credential_writable (credential_t);
2167 
2168 int
2169 trash_credential_readable (credential_t);
2170 
2171 gchar*
2172 credential_value (credential_t, const char*);
2173 
2174 gchar*
2175 credential_encrypted_value (credential_t, const char*);
2176 
2177 
2178 ␌
2179 /* Assets. */
2180 
2181 char *
2182 result_host_asset_id (const char *, result_t);
2183 
2184 char*
2186 
2187 host_t
2188 host_notice (const char *, const char *, const char *, const char *,
2189  const char *, int, int);
2190 
2191 void
2192 init_host_identifier_iterator (iterator_t*, host_t, int, const char*);
2193 
2194 const char*
2195 host_identifier_iterator_value (iterator_t *);
2196 
2197 const char*
2198 host_identifier_iterator_source_type (iterator_t *);
2199 
2200 const char*
2201 host_identifier_iterator_source_id (iterator_t *);
2202 
2203 const char*
2204 host_identifier_iterator_source_data (iterator_t *);
2205 
2206 int
2208 
2209 const char*
2210 host_identifier_iterator_os_id (iterator_t *);
2211 
2212 const char*
2213 host_identifier_iterator_os_title (iterator_t *);
2214 
2215 int
2217 
2218 int
2220 
2221 int
2223 
2224 const char*
2225 asset_host_iterator_severity (iterator_t *);
2226 
2227 int
2228 asset_host_count (const get_data_t *);
2229 
2230 int
2232 
2233 const char*
2234 asset_os_iterator_title (iterator_t *);
2235 
2236 int
2238 
2239 const char*
2240 asset_os_iterator_latest_severity (iterator_t *);
2241 
2242 const char*
2243 asset_os_iterator_highest_severity (iterator_t *);
2244 
2245 const char*
2246 asset_os_iterator_average_severity (iterator_t *);
2247 
2248 int
2250 
2251 int
2252 asset_os_count (const get_data_t *);
2253 
2254 int
2255 total_asset_count (const get_data_t *);
2256 
2257 void
2259 
2260 const char*
2261 os_host_iterator_severity (iterator_t *);
2262 
2263 void
2265 
2266 const char*
2267 host_detail_iterator_name (iterator_t *);
2268 
2269 const char*
2270 host_detail_iterator_value (iterator_t *);
2271 
2272 const char*
2273 host_detail_iterator_source_type (iterator_t *);
2274 
2275 const char*
2276 host_detail_iterator_source_id (iterator_t *);
2277 
2278 int
2279 modify_asset (const char *, const char *);
2280 
2281 int
2282 delete_asset (const char *, const char *, int);
2283 
2284 int
2285 create_asset_report (const char *, const char *);
2286 
2287 int
2288 create_asset_host (const char *, const char *, resource_t* );
2289 
2290 int
2291 add_assets_from_host_in_report (report_t report, const char *host);
2292 
2293 ␌
2294 /* Notes. */
2295 
2296 gboolean
2297 find_note_with_permission (const char*, note_t*, const char *);
2298 
2299 int
2300 create_note (const char*, const char*, const char*, const char*, const char*,
2301  const char*, const char*, task_t, result_t, note_t*);
2302 
2303 int
2304 copy_note (const char*, note_t*);
2305 
2306 int
2307 delete_note (const char *, int);
2308 
2309 int
2310 note_uuid (note_t, char **);
2311 
2312 int
2313 modify_note (const gchar *, const char *, const char *, const char *,
2314  const char *, const char *, const char *, const char *,
2315  const gchar *, const gchar *);
2316 
2317 int
2318 note_count (const get_data_t *, nvt_t, result_t, task_t);
2319 
2320 int
2321 init_note_iterator (iterator_t*, const get_data_t*, nvt_t, result_t, task_t);
2322 
2323 const char*
2324 note_iterator_nvt_oid (iterator_t*);
2325 
2326 time_t
2327 note_iterator_creation_time (iterator_t*);
2328 
2329 time_t
2330 note_iterator_modification_time (iterator_t*);
2331 
2332 const char*
2333 note_iterator_text (iterator_t*);
2334 
2335 const char*
2336 note_iterator_hosts (iterator_t*);
2337 
2338 const char*
2339 note_iterator_port (iterator_t*);
2340 
2341 const char*
2342 note_iterator_threat (iterator_t*);
2343 
2344 task_t
2346 
2347 result_t
2349 
2350 time_t
2352 
2353 int
2355 
2356 const char*
2357 note_iterator_nvt_name (iterator_t *);
2358 
2359 const char *
2361 
2362 const char*
2363 note_iterator_severity (iterator_t *);
2364 
2365 ␌
2366 /* Overrides. */
2367 
2368 gboolean
2369 find_override_with_permission (const char*, override_t*, const char *);
2370 
2371 int
2372 create_override (const char*, const char*, const char*, const char*,
2373  const char*, const char*, const char*, const char*,
2374  const char*, task_t, result_t, override_t*);
2375 
2376 int
2377 override_uuid (override_t, char **);
2378 
2379 int
2380 copy_override (const char*, override_t*);
2381 
2382 int
2383 delete_override (const char *, int);
2384 
2385 int
2386 modify_override (const gchar *, const char *, const char *, const char *,
2387  const char *, const char *, const char *, const char *,
2388  const char *, const char *, const gchar *, const gchar *);
2389 
2390 int
2391 override_count (const get_data_t *, nvt_t, result_t, task_t);
2392 
2393 int
2394 init_override_iterator (iterator_t*, const get_data_t*, nvt_t, result_t,
2395  task_t);
2396 
2397 const char*
2398 override_iterator_nvt_oid (iterator_t*);
2399 
2400 time_t
2401 override_iterator_creation_time (iterator_t*);
2402 
2403 time_t
2404 override_iterator_modification_time (iterator_t*);
2405 
2406 const char*
2407 override_iterator_text (iterator_t*);
2408 
2409 const char*
2410 override_iterator_hosts (iterator_t*);
2411 
2412 const char*
2413 override_iterator_port (iterator_t*);
2414 
2415 const char*
2417 
2418 const char*
2420 
2421 task_t
2423 
2424 result_t
2426 
2427 time_t
2429 
2430 int
2432 
2433 const char*
2434 override_iterator_nvt_name (iterator_t *);
2435 
2436 const char *
2438 
2439 const char*
2440 override_iterator_severity (iterator_t *);
2441 
2442 const char*
2443 override_iterator_new_severity (iterator_t *);
2444 
2445 ␌
2446 /* System reports. */
2447 
2451 typedef struct
2452 {
2453  gchar **start;
2454  gchar **current;
2456 
2457 int
2459  const char*);
2460 
2461 void
2463 
2464 gboolean
2466 
2467 const char*
2469 
2470 const char*
2472 
2473 int
2474 manage_system_report (const char *, const char *, const char *, const char *,
2475  const char *, char **);
2476 
2477 ␌
2478 /* Scanners. */
2479 
2483 #define SCANNER_CONNECTION_RETRY_DEFAULT 3
2484 
2485 int
2486 manage_create_scanner (GSList *, const db_conn_info_t *, const char *,
2487  const char *, const char *, const char *, const char *,
2488  const char *, const char *, const char *);
2489 
2490 int
2491 manage_modify_scanner (GSList *, const db_conn_info_t *, const char *,
2492  const char *, const char *, const char *, const char *,
2493  const char *, const char *, const char *, const char *);
2494 
2495 int
2496 manage_delete_scanner (GSList *, const db_conn_info_t *, const gchar *);
2497 
2498 int
2499 manage_verify_scanner (GSList *, const db_conn_info_t *, const gchar *);
2500 
2501 int
2502 manage_get_scanners (GSList *, const db_conn_info_t *);
2503 
2504 int
2505 create_scanner (const char*, const char *, const char *, const char *,
2506  const char *, scanner_t *, const char *, const char *);
2507 
2508 int
2509 copy_scanner (const char*, const char*, const char *, scanner_t *);
2510 
2511 int
2512 modify_scanner (const char*, const char*, const char*, const char *,
2513  const char *, const char *, const char *, const char *);
2514 
2515 int
2516 delete_scanner (const char *, int);
2517 
2518 gboolean
2519 find_scanner_with_permission (const char *, scanner_t *, const char *);
2520 
2521 int
2522 scanner_in_use (scanner_t);
2523 
2524 int
2525 trash_scanner_readable (scanner_t);
2526 
2527 int
2528 trash_scanner_in_use (scanner_t);
2529 
2530 int
2531 trash_scanner_writable (scanner_t);
2532 
2533 int
2534 scanner_writable (scanner_t);
2535 
2536 const char *
2538 
2539 char *
2540 scanner_host (scanner_t);
2541 
2542 int
2543 scanner_port (scanner_t);
2544 
2545 int
2546 scanner_type (scanner_t);
2547 
2548 char *
2549 scanner_ca_pub (scanner_t);
2550 
2551 char *
2552 scanner_key_pub (scanner_t);
2553 
2554 char *
2555 scanner_key_priv (scanner_t);
2556 
2557 char*
2558 scanner_login (scanner_t);
2559 
2560 char*
2561 scanner_password (scanner_t);
2562 
2563 int
2564 scanner_count (const get_data_t *);
2565 
2566 char *
2568 
2569 int
2571 
2572 const char*
2573 scanner_iterator_host (iterator_t*);
2574 
2575 int
2577 
2578 int
2580 
2581 const char*
2582 scanner_iterator_credential_name (iterator_t *);
2583 
2584 credential_t
2586 
2587 int
2589 
2590 const char*
2591 scanner_iterator_ca_pub (iterator_t *);
2592 
2593 const char*
2594 scanner_iterator_key_pub (iterator_t *);
2595 
2596 const char*
2597 scanner_iterator_credential_type (iterator_t *);
2598 
2599 int
2601 
2602 void
2604 
2605 const char*
2606 scanner_task_iterator_uuid (iterator_t *);
2607 
2608 const char*
2609 scanner_task_iterator_name (iterator_t *);
2610 
2611 int
2613 
2614 char *
2615 scanner_name (scanner_t);
2616 
2617 char *
2618 scanner_uuid (scanner_t);
2619 
2620 char *
2621 trash_scanner_name (scanner_t);
2622 
2623 char *
2624 trash_scanner_uuid (scanner_t);
2625 
2626 int
2627 osp_get_version_from_iterator (iterator_t *, char **, char **, char **, char **,
2628  char **, char **);
2629 
2630 int
2631 osp_get_details_from_iterator (iterator_t *, char **, GSList **);
2632 
2633 osp_connection_t *
2634 osp_connect_with_data (const char *,
2635  int,
2636  const char *,
2637  const char *,
2638  const char *);
2639 
2640 osp_connection_t *
2641 osp_scanner_connect (scanner_t);
2642 
2643 int
2645 
2646 void
2648 
2649 int
2650 verify_scanner (const char *, char **);
2651 
2652 const char *
2654 
2655 void
2656 set_relay_mapper_path (const char *);
2657 
2658 int
2660 
2661 void
2663 
2664 gboolean
2665 relay_supports_scanner_type (const char *, int, scanner_type_t);
2666 
2667 int
2668 slave_get_relay (const char *,
2669  int,
2670  const char *,
2671  const char *,
2672  gchar **,
2673  int *,
2674  gchar **);
2675 
2676 int
2677 slave_relay_connection (gvm_connection_t *, gvm_connection_t *);
2678 
2679 /* Scheduling. */
2680 
2684 #define SCHEDULE_PERIOD 10
2685 
2690 #define SCHEDULE_TIMEOUT_MIN_SECS 20
2691 
2695 #define SCHEDULE_TIMEOUT_DEFAULT 60
2696 
2697 gboolean
2698 find_schedule_with_permission (const char*, schedule_t*, const char*);
2699 
2700 int
2701 create_schedule (const char *, const char*, const char *,
2702  const char*, schedule_t *, gchar**);
2703 
2704 int
2705 copy_schedule (const char*, const char*, const char *, schedule_t *);
2706 
2707 int
2708 delete_schedule (const char*, int);
2709 
2710 void
2711 manage_auth_allow_all (int);
2712 
2713 const gchar*
2715 
2716 void
2717 set_scheduled_user_uuid (const gchar* uuid);
2718 
2719 void
2720 manage_sync (sigset_t *, int (*fork_update_nvt_cache) (), gboolean);
2721 
2722 int
2724  GSList *,
2725  const db_conn_info_t *,
2726  gchar **);
2727 
2728 int
2729 manage_schedule (manage_connection_forker_t,
2730  gboolean,
2731  sigset_t *);
2732 
2733 char *
2734 schedule_uuid (schedule_t);
2735 
2736 char *
2737 trash_schedule_uuid (schedule_t);
2738 
2739 char *
2740 schedule_name (schedule_t);
2741 
2742 char *
2743 trash_schedule_name (schedule_t);
2744 
2745 int
2746 schedule_duration (schedule_t);
2747 
2748 int
2749 schedule_period (schedule_t);
2750 
2751 int
2752 schedule_info (schedule_t, int, gchar **, gchar **);
2753 
2754 int
2756 
2757 const char*
2758 schedule_iterator_timezone (iterator_t *);
2759 
2760 const char*
2761 schedule_iterator_icalendar (iterator_t *);
2762 
2763 int
2764 trash_schedule_in_use (schedule_t);
2765 
2766 int
2767 schedule_in_use (schedule_t);
2768 
2769 int
2770 trash_schedule_writable (schedule_t);
2771 
2772 int
2773 trash_schedule_readable (schedule_t);
2774 
2775 int
2776 schedule_writable (schedule_t);
2777 
2778 int
2779 schedule_count (const get_data_t *);
2780 
2781 void
2783 
2784 const char*
2785 schedule_task_iterator_uuid (iterator_t *);
2786 
2787 const char*
2788 schedule_task_iterator_name (iterator_t *);
2789 
2790 int
2792 
2793 int
2794 modify_schedule (const char *, const char *, const char *, const char*,
2795  const char *, gchar **);
2796 
2797 int
2799 
2800 void
2801 set_schedule_timeout (int);
2802 
2803 ␌
2804 /* Groups. */
2805 
2806 int
2808 
2809 int
2810 copy_group (const char *, const char *, const char *, group_t *);
2811 
2812 int
2813 create_group (const char *, const char *, const char *, int, group_t *);
2814 
2815 int
2816 delete_group (const char *, int);
2817 
2818 char*
2819 group_uuid (group_t);
2820 
2821 gchar *
2822 group_users (group_t);
2823 
2824 int
2825 trash_group_in_use (group_t);
2826 
2827 int
2828 group_in_use (group_t);
2829 
2830 int
2831 trash_group_writable (group_t);
2832 
2833 int
2834 group_writable (group_t);
2835 
2836 int
2837 group_count (const get_data_t*);
2838 
2839 int
2840 modify_group (const char *, const char *, const char *, const char *);
2841 
2842 ␌
2843 /* Permissions. */
2844 
2845 int
2846 create_permission (const char *, const char *, const char *, const char *,
2847  const char *, const char *, permission_t *);
2848 
2849 int
2850 copy_permission (const char*, const char *, permission_t *);
2851 
2852 char*
2853 permission_uuid (permission_t);
2854 
2855 int
2856 permission_is_admin (const char *);
2857 
2858 int
2859 permission_in_use (permission_t);
2860 
2861 int
2862 trash_permission_in_use (permission_t);
2863 
2864 int
2865 permission_writable (permission_t);
2866 
2867 int
2868 trash_permission_writable (permission_t);
2869 
2870 int
2871 permission_count (const get_data_t *);
2872 
2873 int
2875 
2876 const char*
2877 permission_iterator_resource_type (iterator_t*);
2878 
2879 const char*
2880 permission_iterator_resource_uuid (iterator_t*);
2881 
2882 const char*
2883 permission_iterator_resource_name (iterator_t*);
2884 
2885 int
2887 
2888 int
2890 
2891 int
2893 
2894 const char*
2895 permission_iterator_subject_type (iterator_t*);
2896 
2897 const char*
2898 permission_iterator_subject_uuid (iterator_t*);
2899 
2900 const char*
2901 permission_iterator_subject_name (iterator_t*);
2902 
2903 int
2905 
2906 int
2908 
2909 int
2910 delete_permission (const char*, int);
2911 
2912 int
2913 modify_permission (const char *, const char *, const char *, const char *,
2914  const char *, const char *, const char *);
2915 
2916 /* Permission caching */
2917 
2918 void
2919 delete_permissions_cache_for_resource (const char*, resource_t);
2920 
2921 void
2922 delete_permissions_cache_for_user (user_t);
2923 
2924 ␌
2925 /* Roles. */
2926 
2927 int
2928 manage_get_roles (GSList *, const db_conn_info_t *, int);
2929 
2930 int
2932 
2933 int
2934 copy_role (const char *, const char *, const char *, role_t *);
2935 
2936 int
2937 create_role (const char *, const char *, const char *, role_t *);
2938 
2939 int
2940 delete_role (const char *, int);
2941 
2942 char*
2943 role_uuid (role_t);
2944 
2945 gchar *
2946 role_users (role_t);
2947 
2948 int
2949 trash_role_in_use (role_t);
2950 
2951 int
2952 role_in_use (role_t);
2953 
2954 int
2955 trash_role_writable (role_t);
2956 
2957 int
2958 role_writable (role_t);
2959 
2960 int
2961 role_count (const get_data_t*);
2962 
2963 int
2964 modify_role (const char *, const char *, const char *, const char *);
2965 
2966 ␌
2967 /* Filter Utilities. */
2968 
2972 typedef enum
2973 {
2974  KEYWORD_TYPE_UNKNOWN,
2975  KEYWORD_TYPE_INTEGER,
2976  KEYWORD_TYPE_DOUBLE,
2977  KEYWORD_TYPE_STRING
2978 } keyword_type_t;
2979 
2983 typedef enum
2984 {
2985  KEYWORD_RELATION_APPROX,
2986  KEYWORD_RELATION_COLUMN_ABOVE,
2987  KEYWORD_RELATION_COLUMN_APPROX,
2988  KEYWORD_RELATION_COLUMN_EQUAL,
2989  KEYWORD_RELATION_COLUMN_BELOW,
2990  KEYWORD_RELATION_COLUMN_REGEXP
2991 } keyword_relation_t;
2992 
2996 struct keyword
2997 {
2998  gchar *column;
2999  int approx;
3000  int equal;
3002  double double_value;
3003  int quoted;
3004  gchar *string;
3005  keyword_type_t type;
3006  keyword_relation_t relation;
3007 };
3008 
3012 typedef struct keyword keyword_t;
3013 
3014 int
3016 
3017 const char *
3018 keyword_relation_symbol (keyword_relation_t);
3019 
3020 void
3021 filter_free (array_t*);
3022 
3023 array_t *
3024 split_filter (const gchar*);
3025 
3026 ␌
3027 /* Filters. */
3028 
3032 #define FILT_ID_NONE "0"
3033 
3037 #define FILT_ID_USER_SETTING "-2"
3038 
3039 gboolean
3040 find_filter (const char*, filter_t*);
3041 
3042 gboolean
3043 find_filter_with_permission (const char*, filter_t*, const char*);
3044 
3045 char*
3046 filter_uuid (filter_t);
3047 
3048 char*
3049 filter_name (filter_t);
3050 
3051 gchar*
3052 filter_term (const char *);
3053 
3054 gchar*
3055 filter_term_value (const char *, const char *);
3056 
3057 int
3058 filter_term_apply_overrides (const char *);
3059 
3060 int
3061 filter_term_min_qod (const char *);
3062 
3063 int
3064 create_filter (const char*, const char*, const char*, const char*, filter_t*);
3065 
3066 int
3067 copy_filter (const char*, const char*, const char*, filter_t*);
3068 
3069 int
3070 delete_filter (const char *, int);
3071 
3072 int
3073 trash_filter_in_use (filter_t);
3074 
3075 int
3076 filter_in_use (filter_t);
3077 
3078 int
3079 trash_filter_writable (filter_t);
3080 
3081 int
3082 filter_writable (filter_t);
3083 
3084 int
3085 filter_count (const get_data_t*);
3086 
3087 int
3089 
3090 const char*
3092 
3093 const char*
3094 filter_iterator_term (iterator_t*);
3095 
3096 void
3098 
3099 const char*
3100 filter_alert_iterator_name (iterator_t*);
3101 
3102 const char*
3103 filter_alert_iterator_uuid (iterator_t*);
3104 
3105 int
3107 
3108 int
3109 modify_filter (const char*, const char*, const char*, const char*, const char*);
3110 
3111 ␌
3112 /* Schema. */
3113 
3114 int
3115 manage_schema (gchar *, gchar **, gsize *, gchar **, gchar **);
3116 
3117 ␌
3118 /* Trashcan. */
3119 
3120 int
3121 manage_restore (const char *);
3122 
3123 int
3125 
3126 ␌
3127 /* SecInfo */
3128 
3129 int
3130 manage_read_info (gchar *, gchar *, gchar *, gchar **);
3131 
3132 int
3133 info_name_count (const gchar *, const gchar *);
3134 
3135 /* SCAP. */
3136 
3137 int
3139 
3140 const char *
3142 
3143 /* CPE. */
3144 
3145 void
3146 init_cpe_cve_iterator (iterator_t *, const char *, int, const char *);
3147 
3148 int
3149 init_cpe_info_iterator (iterator_t*, get_data_t*, const char*);
3150 
3151 int
3152 cpe_info_count (const get_data_t *get);
3153 
3154 const char*
3155 cpe_info_iterator_title (iterator_t*);
3156 
3157 const char*
3158 cpe_info_iterator_status (iterator_t*);
3159 
3160 const char *
3161 cpe_info_iterator_severity (iterator_t*);
3162 
3163 const char*
3164 cpe_info_iterator_deprecated_by_id (iterator_t*);
3165 
3166 const char*
3167 cpe_info_iterator_cve_refs (iterator_t*);
3168 
3169 const char*
3170 cpe_info_iterator_nvd_id (iterator_t*);
3171 
3172 gchar *
3173 cpe_details_xml (const char*);
3174 
3175 /* CVE. */
3176 
3177 const char*
3178 cve_iterator_name (iterator_t*);
3179 
3180 const char*
3181 cve_iterator_cvss_score (iterator_t*);
3182 
3183 const char*
3184 cve_info_iterator_severity (iterator_t*);
3185 
3186 const char*
3187 cve_info_iterator_vector (iterator_t*);
3188 
3189 const char*
3190 cve_info_iterator_description (iterator_t*);
3191 
3192 const char*
3193 cve_info_iterator_products (iterator_t*);
3194 
3195 int
3196 init_cve_info_iterator (iterator_t*, get_data_t*, const char*);
3197 
3198 int
3199 cve_info_count (const get_data_t *get);
3200 
3201 gchar *
3202 cve_cvss_base (const gchar *);
3203 
3204 /* CERT data */
3205 int
3207 
3208 /* CERT-Bund */
3209 
3210 int
3212 
3213 int
3215 
3216 const char*
3217 cert_bund_adv_info_iterator_title (iterator_t*);
3218 
3219 const char*
3220 cert_bund_adv_info_iterator_summary (iterator_t*);
3221 
3222 const char*
3223 cert_bund_adv_info_iterator_cve_refs (iterator_t*);
3224 
3225 const char*
3226 cert_bund_adv_info_iterator_severity (iterator_t*);
3227 
3228 void
3229 init_cve_cert_bund_adv_iterator (iterator_t*, const char*, int, const char*);
3230 
3231 void
3233 
3234 const char*
3235 nvt_cert_bund_adv_iterator_name (iterator_t*);
3236 
3237 /* DFN-CERT */
3238 
3239 int
3241 
3242 int
3243 dfn_cert_adv_info_count (const get_data_t *get);
3244 
3245 const char*
3246 dfn_cert_adv_info_iterator_title (iterator_t*);
3247 
3248 const char*
3249 dfn_cert_adv_info_iterator_summary (iterator_t*);
3250 
3251 const char*
3252 dfn_cert_adv_info_iterator_cve_refs (iterator_t*);
3253 
3254 const char*
3255 dfn_cert_adv_info_iterator_severity (iterator_t*);
3256 
3257 void
3258 init_cve_dfn_cert_adv_iterator (iterator_t*, const char*, int, const char*);
3259 
3260 void
3262 
3263 const char*
3264 nvt_dfn_cert_adv_iterator_name (iterator_t*);
3265 
3266 /* All SecInfo Data */
3267 
3268 int
3269 secinfo_count_after (const get_data_t *, const char *, time_t, gboolean);
3270 
3271 ␌
3272 /* Settings. */
3273 
3274 int
3275 manage_max_rows (int);
3276 
3277 int
3278 setting_count (const char *);
3279 
3280 int
3281 setting_is_default_ca_cert (const gchar *);
3282 
3283 char *
3284 setting_filter (const char *);
3285 
3286 void
3287 init_setting_iterator (iterator_t *, const char *, const char *, int, int, int,
3288  const char *);
3289 
3290 const char*
3291 setting_iterator_uuid (iterator_t*);
3292 
3293 const char*
3294 setting_iterator_name (iterator_t*);
3295 
3296 const char*
3297 setting_iterator_comment (iterator_t*);
3298 
3299 const char*
3300 setting_iterator_value (iterator_t*);
3301 
3302 int
3303 modify_setting (const gchar *, const gchar *, const gchar *, gchar **);
3304 
3305 int
3306 manage_modify_setting (GSList *, const db_conn_info_t *, const gchar *,
3307  const gchar *, const char *);
3308 
3309 char *
3310 manage_default_ca_cert ();
3311 
3312 ␌
3313 /* Users. */
3314 
3315 gboolean
3316 find_user_by_name_with_permission (const char *, user_t *, const char *);
3317 
3318 int
3319 manage_create_user (GSList *, const db_conn_info_t *, const gchar *,
3320  const gchar *, const gchar *);
3321 
3322 int
3323 manage_delete_user (GSList *, const db_conn_info_t *, const gchar *,
3324  const gchar *);
3325 
3326 int
3327 manage_get_users (GSList *, const db_conn_info_t *, const gchar *, int);
3328 
3329 report_host_t
3330 manage_report_host_add (report_t, const char *, time_t, time_t);
3331 
3332 int
3333 report_host_noticeable (report_t, const gchar *);
3334 
3335 void
3336 report_host_set_end_time (report_host_t, time_t);
3337 
3338 gchar*
3339 host_routes_xml (host_t);
3340 
3341 int
3342 manage_set_password (GSList *, const db_conn_info_t *, const gchar *,
3343  const gchar *);
3344 
3345 gchar *
3346 manage_user_hash (const gchar *);
3347 
3348 gchar *
3349 manage_user_uuid (const gchar *, auth_method_t);
3350 
3351 int
3352 manage_user_exists (const gchar *, auth_method_t);
3353 
3354 int
3355 copy_user (const char*, const char*, const char*, user_t*);
3356 
3357 gchar *
3358 keyfile_to_auth_conf_settings_xml (const gchar *);
3359 
3360 int
3361 init_user_iterator (iterator_t*, const get_data_t*);
3362 
3363 const char*
3364 user_iterator_role (iterator_t*);
3365 
3366 const char*
3367 user_iterator_method (iterator_t*);
3368 
3369 const char*
3370 user_iterator_hosts (iterator_t*);
3371 
3372 int
3373 user_iterator_hosts_allow (iterator_t*);
3374 
3375 void
3376 init_user_group_iterator (iterator_t *, user_t);
3377 
3378 const char*
3379 user_group_iterator_uuid (iterator_t*);
3380 
3381 const char*
3382 user_group_iterator_name (iterator_t*);
3383 
3384 int
3385 user_group_iterator_readable (iterator_t*);
3386 
3387 void
3388 init_user_role_iterator (iterator_t *, user_t);
3389 
3390 const char*
3391 user_role_iterator_uuid (iterator_t*);
3392 
3393 const char*
3394 user_role_iterator_name (iterator_t*);
3395 
3396 int
3397 user_role_iterator_readable (iterator_t*);
3398 
3399 int
3400 create_user (const gchar *, const gchar *, const gchar *, const gchar *,
3401  int, const array_t *, array_t *, gchar **,
3402  array_t *, gchar **, gchar **, user_t *, int);
3403 
3404 int
3405 delete_user (const char *, const char *, int, int, const char*, const char*);
3406 
3407 int
3408 modify_user (const gchar *, gchar **, const gchar *, const gchar *,
3409  const gchar*, const gchar *, int,
3410  const array_t *, array_t *, gchar **, array_t *, gchar **,
3411  gchar **);
3412 
3413 int
3414 user_in_use (user_t);
3415 
3416 int
3417 trash_user_in_use (user_t);
3418 
3419 int
3420 user_writable (user_t);
3421 
3422 int
3423 trash_user_writable (user_t);
3424 
3425 int
3426 user_count (const get_data_t*);
3427 
3428 gchar*
3429 user_name (const char *);
3430 
3431 char*
3432 user_uuid (user_t);
3433 
3434 gchar*
3435 user_hosts (const char *);
3436 
3437 int
3438 user_hosts_allow (const char *);
3439 
3440 int
3441 init_vuln_iterator (iterator_t*, const get_data_t*);
3442 
3443 int
3444 vuln_iterator_results (iterator_t*);
3445 
3446 time_t
3447 vuln_iterator_oldest (iterator_t*);
3448 
3449 time_t
3450 vuln_iterator_newest (iterator_t*);
3451 
3452 const char*
3453 vuln_iterator_type (iterator_t*);
3454 
3455 int
3456 vuln_iterator_hosts (iterator_t*);
3457 
3458 double
3459 vuln_iterator_severity (iterator_t*);
3460 
3461 int
3462 vuln_iterator_qod (iterator_t*);
3463 
3464 int
3465 vuln_count (const get_data_t*);
3466 
3467 void
3468 manage_get_ldap_info (int *, gchar **, gchar **, int *, gchar **, int *);
3469 
3470 void
3471 manage_set_ldap_info (int, gchar *, gchar *, int, gchar *, int);
3472 
3473 void
3474 manage_get_radius_info (int *, char **, char **);
3475 
3476 void
3477 manage_set_radius_info (int, gchar *, gchar *);
3478 
3479 ␌
3480 /* Tags */
3481 
3482 char*
3483 tag_uuid (target_t);
3484 
3485 int
3486 copy_tag (const char*, const char*, const char*, tag_t*);
3487 
3488 int
3489 create_tag (const char *, const char *, const char *, const char *,
3490  array_t *, const char *, const char *, tag_t *, gchar **);
3491 
3492 int
3493 delete_tag (const char *, int);
3494 
3495 int
3496 modify_tag (const char *, const char *, const char *, const char *,
3497  const char *, array_t *, const char *, const char *, const char*,
3498  gchar **);
3499 
3500 int
3501 init_tag_iterator (iterator_t*, const get_data_t*);
3502 
3503 int
3504 tag_count (const get_data_t *get);
3505 
3506 const char*
3507 tag_iterator_resource_type (iterator_t*);
3508 
3509 int
3510 tag_iterator_active (iterator_t*);
3511 
3512 const char*
3513 tag_iterator_value (iterator_t*);
3514 
3515 int
3516 tag_iterator_resources (iterator_t*);
3517 
3518 resource_t
3519 tag_resource_iterator_id (iterator_t*);
3520 
3521 const char*
3522 tag_resource_iterator_uuid (iterator_t*);
3523 
3524 int
3525 tag_resource_iterator_location (iterator_t*);
3526 
3527 const char*
3528 tag_resource_iterator_name (iterator_t*);
3529 
3530 int
3531 tag_resource_iterator_readable (iterator_t*);
3532 
3533 int
3534 init_tag_name_iterator (iterator_t*, const get_data_t*);
3535 
3536 const char*
3537 tag_name_iterator_name (iterator_t*);
3538 
3539 int
3540 init_resource_tag_iterator (iterator_t*, const char*, resource_t, int,
3541  const char*, int);
3542 
3543 const char*
3544 resource_tag_iterator_uuid (iterator_t*);
3545 
3546 const char*
3547 resource_tag_iterator_name (iterator_t*);
3548 
3549 const char*
3550 resource_tag_iterator_value (iterator_t*);
3551 
3552 const char*
3553 resource_tag_iterator_comment (iterator_t*);
3554 
3555 int
3556 resource_tag_exists (const char*, resource_t, int);
3557 
3558 int
3559 resource_tag_count (const char*, resource_t, int);
3560 
3561 int
3562 tag_in_use (tag_t);
3563 
3564 int
3565 trash_tag_in_use (tag_t);
3566 
3567 int
3568 tag_writable (tag_t);
3569 
3570 int
3571 trash_tag_writable (tag_t);
3572 
3573 ␌
3574 /* Resource aggregates */
3575 
3579 typedef struct {
3580  gchar *field;
3581  gchar *stat;
3582  int order;
3583 } sort_data_t;
3584 
3585 void
3586 sort_data_free (sort_data_t*);
3587 
3588 int
3589 init_aggregate_iterator (iterator_t*, const char *, const get_data_t *, int,
3590  GArray *, const char *, const char*, GArray*, GArray*,
3591  int, int, const char *, const char *);
3592 
3593 int
3595 
3596 double
3598 
3599 double
3601 
3602 double
3604 
3605 double
3607 
3608 const char*
3609 aggregate_iterator_text (iterator_t*, int, int);
3610 
3611 const char*
3613 
3614 const char*
3616 
3617 ␌
3618 /* Feeds. */
3619 
3620 #define NVT_FEED 1
3621 #define SCAP_FEED 2
3622 #define CERT_FEED 3
3623 #define GVMD_DATA_FEED 4
3624 
3625 gboolean
3626 manage_gvmd_data_feed_dir_exists (const char *);
3627 
3628 gboolean
3629 manage_gvmd_data_feed_dirs_exist ();
3630 
3631 int
3632 get_auth_timeout ();
3633 
3634 void
3635 set_auth_timeout (int);
3636 
3637 const gchar *
3638 get_broker_address ();
3639 
3640 void
3641 set_broker_address (const char *);
3642 
3643 const gchar *
3644 get_feed_lock_path ();
3645 
3646 void
3647 set_feed_lock_path (const char *);
3648 
3649 int
3650 get_feed_lock_timeout ();
3651 
3652 void
3653 set_feed_lock_timeout (int);
3654 
3655 void
3656 write_sync_start (int);
3657 
3658 int
3659 feed_lockfile_lock (lockfile_t *);
3660 
3661 int
3662 feed_lockfile_lock_timeout (lockfile_t*);
3663 
3664 int
3665 feed_lockfile_unlock (lockfile_t *);
3666 
3667 int
3668 gvm_migrate_secinfo (int);
3669 
3670 gboolean
3671 gvm_sync_script_perform_selftest (const gchar *, gchar **);
3672 
3673 gboolean
3674 gvm_get_sync_script_identification (const gchar *, gchar **, int);
3675 
3676 gboolean
3677 gvm_get_sync_script_description (const gchar *, gchar **);
3678 
3679 gboolean
3680 gvm_get_sync_script_feed_version (const gchar *, gchar **);
3681 
3682 int
3683 nvts_feed_info (gchar **, gchar **, gchar **, gchar **);
3684 
3685 int
3686 nvts_check_feed (int *, int *, gchar **);
3687 
3688 int
3689 manage_update_nvts_osp (const gchar *);
3690 
3691 int
3692 manage_rebuild (GSList *, const db_conn_info_t *);
3693 
3694 int
3695 manage_dump_vt_verification (GSList *, const db_conn_info_t *);
3696 
3697 ␌
3698 /* Wizards. */
3699 
3700 int
3701 manage_run_wizard (const gchar *, int (*) (void*, gchar*, gchar**),
3702  void *, array_t *, int, const char*,
3703  gchar **, gchar **, gchar **);
3704 
3705 ␌
3706 /* Helpers. */
3707 
3708 gchar *
3709 xml_escape_text_truncated (const char *, size_t, const char *);
3710 
3711 int
3712 column_is_timestamp (const char*);
3713 
3714 char*
3715 type_columns (const char *);
3716 
3717 char*
3718 type_trash_columns (const char *);
3719 
3720 gboolean
3721 manage_migrate_needs_timezone (GSList *, const db_conn_info_t *);
3722 
3723 ␌
3724 /* Optimize. */
3725 
3726 int
3727 manage_optimize (GSList *, const db_conn_info_t *, const gchar *);
3728 
3729 ␌
3730 /* Signal management */
3731 
3732 int
3733 sql_cancel ();
3734 
3735 ␌
3736 /* General settings */
3737 const char *
3738 get_vt_verification_collation ();
3739 
3740 void
3741 set_vt_verification_collation (const char *);
3742 
3743 #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:3858
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:1243
void cleanup_report_type_iterator(report_type_iterator_t *iterator)
Cleanup a report type iterator.
Definition: manage.c:4182
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:4157
const char * report_type_iterator_name(report_type_iterator_t *iterator)
Return the name from a report type iterator.
Definition: manage.c:4212
gchar * truncate_certificate(const gchar *certificate)
Truncate a certificate, removing extra data.
Definition: manage.c:218
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:5144
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:4349
double severity_data_value(int index)
Convert an index in the counts array to a severity value.
Definition: manage.c:1048
void set_relay_mapper_path(const char *new_path)
Gets the current path of the relay mapper executable.
Definition: manage.c:3217
task_t current_scanner_task
The task currently running on the scanner.
Definition: manage.c:1212
gchar * certificate_iso_time(time_t time)
Converts a certificate time to an ISO time string.
Definition: manage.c:562
int stop_task(const char *task_id)
Initiate stopping a task.
Definition: manage.c:3662
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:675
int get_relay_migrate_sensors()
Gets whether to migrate sensors if relays do not match.
Definition: manage.c:3229
int move_task(const char *task_id, const char *slave_id)
Reassign a task to another slave.
Definition: manage.c:3738
const char * alert_method_name(alert_method_t method)
Get the name of an alert method.
Definition: manage.c:1406
const char * get_relay_mapper_path()
Gets the current path of the relay mapper executable.
Definition: manage.c:3206
const char * event_name(event_t event)
Get the name of an alert event.
Definition: manage.c:1291
int scanner_type_valid(scanner_type_t scanner_type)
Check if a scanner type is valid.
Definition: manage.c:809
gchar * get_nvt_xml(iterator_t *nvts, int details, int pref_count, int preferences, const char *timeout, config_t config, int close_tag, int skip_cert_refs)
Create and return XML description for an NVT.
Definition: manage.c:5537
int type_is_scap(const char *type)
Check if a type is a SCAP type.
Definition: manage.c:761
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:3390
int start_task(const char *task_id, char **report_id)
Start a task.
Definition: manage.c:3551
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:1097
void alert_report_data_free(alert_report_data_t *data)
Frees a alert_report_data_t struct, including contained data.
Definition: manage.c:1228
int resume_task(const char *task_id, char **report_id)
Resume a task.
Definition: manage.c:3704
event_t event_from_name(const char *name)
Get an event from a name.
Definition: manage.c:1457
gchar * truncate_private_key(const gchar *private_key)
Truncate a private key, removing extra data.
Definition: manage.c:283
report_t global_current_report
The report of the current task.
Definition: manage.c:1217
alert_method_t alert_method_from_name(const char *name)
Get an alert method from a name.
Definition: manage.c:1482
void set_relay_migrate_sensors(int new_value)
Sets whether to migrate sensors if relays do not match.
Definition: manage.c:3240
gboolean next_report_type(report_type_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:4197
int severity_in_level(double severity, const char *level)
Check whether a severity falls within a threat level.
Definition: manage.c:856
int get_schedule_timeout()
Get the current schedule timeout.
Definition: manage.c:5323
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:4532
void manage_auth_allow_all(int scheduled)
Ensure that any subsequent authentications succeed.
Definition: manage.c:4509
alert_condition_t alert_condition_from_name(const char *name)
Get an alert condition from a name.
Definition: manage.c:1434
const char * run_status_name(task_status_t status)
Get the name of a run status.
Definition: manage.c:1522
credentials_t current_credentials
Current credentials during any GMP command.
Definition: manage.c:940
int get_scanner_connection_retry()
Get the number of retries on a scanner connection lost.
Definition: manage.c:2841
const char * manage_scap_update_time()
GET SCAP update time, as a string.
Definition: manage.c:5849
const char * report_type_iterator_title(report_type_iterator_t *iterator)
Return the title from a report type iterator.
Definition: manage.c:4225
const char * severity_to_level(double severity, int mode)
Get the threat level matching a severity score.
Definition: manage.c:879
const gchar * get_scheduled_user_uuid()
Access UUID of user that scheduled the current task.
Definition: manage.c:4520
const gchar * certificate_time_status(time_t activates, time_t expires)
Tests the activation and expiration time of a certificate.
Definition: manage.c:581
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:3345
const char * alert_condition_name(alert_condition_t condition)
Get the name of an alert condition.
Definition: manage.c:1264
gchar * alert_condition_description(alert_condition_t condition, alert_t alert)
Get a description of an alert condition.
Definition: manage.c:1314
void cleanup_severity_data(severity_data_t *data)
Clean up a severity data structure.
Definition: manage.c:1085
void set_schedule_timeout(int new_timeout)
Set the schedule timeout.
Definition: manage.c:5334
void set_scanner_connection_retry(int new_retry)
Set the number of retries on a scanner connection lost.
Definition: manage.c:2852
void init_severity_data(severity_data_t *data)
Initialize a severity data structure.
Definition: manage.c:1068
const char * severity_to_type(double severity)
Get the message type matching a severity score.
Definition: manage.c:916
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:4938
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:1115
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:1165
gchar * event_description(event_t event, const void *event_data, const char *task_name)
Get a description of an alert event.
Definition: manage.c:1365
const char * type_name_plural(const char *type)
Return the plural name of a resource type.
Definition: manage.c:707
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:1002
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:367
int manage_read_info(gchar *type, gchar *uid, gchar *name, gchar **result)
Read raw information.
Definition: manage.c:5900
const char * type_name(const char *type)
Return the name of a resource type.
Definition: manage.c:734
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:5022
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:3305
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:3252
int manage_scap_loaded()
Check whether SCAP is available.
Definition: manage_pg.c:3436
int manage_cert_loaded()
Check whether CERT is available.
Definition: manage_pg.c:3420
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:6491
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:36631
int target_iterator_smb_trash(iterator_t *iterator)
Get the location of the SMB LSC credential from a target iterator.
Definition: manage_sql.c:32429
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:39369
const char * app_locations_iterator_location(iterator_t *iterator)
Get a location from an app locations iterator.
Definition: manage_sql.c:19816
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:30218
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:29467
const char * credential_iterator_community(iterator_t *iterator)
Get the SNMP community from a Credential iterator.
Definition: manage_sql.c:35845
char * target_port_range(target_t target)
Return the port range of a target, in GMP port range list format.
Definition: manage_sql.c:32948
int create_role(const char *role_name, const char *comment, const char *users, role_t *role)
Create a role.
Definition: manage_sql.c:44636
int manage_get_roles(GSList *log_config, const db_conn_info_t *database, int verbose)
List roles.
Definition: manage_sql.c:44540
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:49756
const char * aggregate_iterator_subgroup_value(iterator_t *iterator)
Get the value of the subgroup column from an aggregate iterator.
Definition: manage_sql.c:5707
void init_schedule_task_iterator(iterator_t *iterator, schedule_t schedule)
Initialise a schedule task iterator.
Definition: manage_sql.c:41527
double report_severity(report_t report, int overrides, int min_qod)
Get the maximum severity of a report.
Definition: manage_sql.c:24465
int init_group_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a group iterator, including observed groups.
Definition: manage_sql.c:42332
void update_duration_schedule_periods(task_t task)
Update tasks with limited run schedules which have durations.
Definition: manage_sql.c:18869
gchar * group_users(group_t group)
Gets users of group as a string.
Definition: manage_sql.c:42218
int task_upload_progress(task_t task)
Return the upload progress of a task.
Definition: manage_sql.c:17961
int delete_target(const char *target_id, int ultimate)
Delete a target.
Definition: manage_sql.c:31438
const char * alert_data_iterator_data(iterator_t *iterator)
Return the data from an alert data iterator.
Definition: manage_sql.c:8475
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:20103
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:18453
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:47555
void init_os_host_iterator(iterator_t *iterator, resource_t os)
Initialise an OS host iterator.
Definition: manage_sql.c:49064
int scanner_type(scanner_t scanner)
Return the type of a scanner.
Definition: manage_sql.c:40135
int report_count(const get_data_t *get)
Count number of reports.
Definition: manage_sql.c:21388
int role_writable(role_t role)
Check whether a role is writable.
Definition: manage_sql.c:44965
int trash_task_writable(task_t task)
Return whether a trashcan task is writable.
Definition: manage_sql.c:15265
int trash_group_in_use(group_t group)
Check whether a trashcan group is in use.
Definition: manage_sql.c:42276
task_t note_iterator_task(iterator_t *iterator)
Get the task from a note iterator.
Definition: manage_sql.c:37228
int target_in_use(target_t target)
Return whether a target is in use by a task.
Definition: manage_sql.c:33019
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:45418
int delete_schedule(const char *schedule_id, int ultimate)
Delete a schedule.
Definition: manage_sql.c:40839
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:29563
const char * result_iterator_original_level(iterator_t *iterator)
Get the original severity/threat level from a result iterator.
Definition: manage_sql.c:22772
char * task_config_uuid(task_t task)
Return the UUID of the config of a task.
Definition: manage_sql.c:17556
void set_db_version(int version)
Set the database version of the actual database.
Definition: manage_sql.c:6006
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:33970
gboolean next_report(iterator_t *iterator, report_t *report)
Read the next report from an iterator.
Definition: manage_sql.c:21512
int init_filter_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a filter iterator, including observed filters.
Definition: manage_sql.c:45879
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:28528
void hosts_set_details(report_t report)
Store certain host details in the assets after a scan.
Definition: manage_sql.c:48016
int credential_writable(credential_t credential)
Check whether a Credential is writable.
Definition: manage_sql.c:35298
int trash_alert_writable(alert_t alert)
Return whether a trashcan alert is writable.
Definition: manage_sql.c:8216
scanner_t task_iterator_scanner(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15171
int trash_permission_in_use(permission_t permission)
Return whether a trashcan permission is referenced by a task.
Definition: manage_sql.c:43372
int create_asset_host(const char *host_name, const char *comment, resource_t *host_return)
Create a host asset.
Definition: manage_sql.c:49198
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:23885
int trash_credential_in_use(credential_t credential)
Check whether a trashcan Credential is in use.
Definition: manage_sql.c:35261
int request_delete_task(task_t *task_pointer)
Request deletion of a task.
Definition: manage_sql.c:29752
int scanner_iterator_port(iterator_t *iterator)
Get the port from an scanner iterator.
Definition: manage_sql.c:39769
void make_task_complete(task_t task)
Complete the creation of a task.
Definition: manage_sql.c:29548
int init_report_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a report iterator, including observed reports.
Definition: manage_sql.c:21425
int init_scanner_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an scanner iterator.
Definition: manage_sql.c:39741
char * alert_iterator_filter_name(iterator_t *iterator)
Return the filter name from an alert iterator.
Definition: manage_sql.c:8344
int scanner_iterator_type(iterator_t *iterator)
Get the type from an scanner iterator.
Definition: manage_sql.c:39785
char * setting_filter(const char *resource)
Return the uuid of a resource filter from settings.
Definition: manage_sql.c:49876
int trash_target_readable(target_t target)
Return whether a trashcan target is readable.
Definition: manage_sql.c:32751
int asset_iterator_in_use(iterator_t *iterator)
Get the "in use" status from an asset iterator.
Definition: manage_sql.c:48748
int trash_schedule_in_use(schedule_t schedule)
Return whether a trashcan schedule is in use by a task.
Definition: manage_sql.c:40974
void set_credential_public_key(credential_t credential, const char *public_key)
Set the public key of a Credential.
Definition: manage_sql.c:35570
void set_task_alterable(task_t task, int alterable)
Set the alterable state of a task.
Definition: manage_sql.c:18275
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:38643
char * task_name(task_t task)
Return the name of a task.
Definition: manage_sql.c:17458
char * schedule_uuid(schedule_t schedule)
Return the UUID of a schedule.
Definition: manage_sql.c:41041
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:5668
int target_login_port(target_t target, const char *type)
Get a login port from a target.
Definition: manage_sql.c:31054
int trash_alert_in_use(alert_t alert)
Return whether a trashcan alert is in use by a task.
Definition: manage_sql.c:8187
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:43988
char * scanner_password(scanner_t scanner)
Return the password associated with a scanner.
Definition: manage_sql.c:40245
scanner_t task_scanner(task_t task)
Return the scanner of a task.
Definition: manage_sql.c:17696
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:19632
char * scanner_uuid(scanner_t scanner)
Return the UUID of a scanner.
Definition: manage_sql.c:40077
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:37056
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:29606
void set_task_config(task_t task, config_t config)
Set the config of a task.
Definition: manage_sql.c:17608
const char * task_iterator_hosts_ordering(iterator_t *iterator)
Get the hosts ordering value from a task iterator.
Definition: manage_sql.c:15157
char * scanner_key_pub(scanner_t scanner)
Return the Certificate of a scanner.
Definition: manage_sql.c:40168
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:23837
void set_task_target(task_t task, target_t target)
Set the target of a task.
Definition: manage_sql.c:17650
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:30266
int task_uuid(task_t task, char **id)
Return the UUID of a task.
Definition: manage_sql.c:17381
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:34596
int init_target_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a target iterator, including observed targets.
Definition: manage_sql.c:32337
gchar * credential_iterator_formats_xml(iterator_t *iterator)
Get XML of available formats for a credential iterator.
Definition: manage_sql.c:36049
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:31115
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:40678
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:45321
int target_iterator_ssh_elevate_credential(iterator_t *iterator)
Get the ELEVATE LSC credential from a target iterator.
Definition: manage_sql.c:32611
int manage_empty_trashcan()
Empty the trashcan.
Definition: manage_sql.c:47302
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, const char *hash_value)
Make an OSP result.
Definition: manage_sql.c:19121
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:34645
char * scanner_key_priv(scanner_t scanner)
Return the private key of a scanner.
Definition: manage_sql.c:40188
int delete_role(const char *role_id, int ultimate)
Delete a role.
Definition: manage_sql.c:44737
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:19778
int report_progress(report_t report)
Calculate the progress of a report.
Definition: manage_sql.c:26365
void init_host_prognosis_iterator(iterator_t *iterator, report_host_t report_host)
Initialise a report host prognosis iterator.
Definition: manage_sql.c:19829
int trash_schedule_readable(schedule_t schedule)
Return whether a trashcan schedule is readable.
Definition: manage_sql.c:41016
int group_in_use(group_t group)
Check whether a group is in use.
Definition: manage_sql.c:42263
int permission_iterator_resource_orphan(iterator_t *iterator)
Check if the permission resource has been deleted.
Definition: manage_sql.c:43647
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:19351
int group_count(const get_data_t *get)
Count number of groups.
Definition: manage_sql.c:42313
int schedule_in_use(schedule_t schedule)
Return whether a schedule is in use by a task.
Definition: manage_sql.c:40960
char * alert_iterator_filter_uuid(iterator_t *iterator)
Return the filter UUID from an alert iterator.
Definition: manage_sql.c:8319
const char * credential_iterator_private_key(iterator_t *iterator)
Get the private_key from a Credential iterator.
Definition: manage_sql.c:35830
int schedule_info(schedule_t schedule, int trash, gchar **icalendar, gchar **zone)
Return info about a schedule.
Definition: manage_sql.c:41128
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:23113
char * permission_uuid(permission_t permission)
Return the UUID of a permission.
Definition: manage_sql.c:43199
int task_schedule_periods_uuid(const gchar *task_id)
Set the next time a scheduled task will be due.
Definition: manage_sql.c:18559
char * task_config_name(task_t task)
Return the name of the config of a task.
Definition: manage_sql.c:17575
int asset_iterator_writable(iterator_t *iterator)
Get the writable status from an asset iterator.
Definition: manage_sql.c:48734
int target_iterator_snmp_credential(iterator_t *iterator)
Get the SNMP LSC credential from a target iterator.
Definition: manage_sql.c:32579
void manage_cleanup_process_error(int signal)
Cleanup as immediately as possible.
Definition: manage_sql.c:16693
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:16592
int asset_os_iterator_installs(iterator_t *iterator)
Get the number of installs from an asset OS iterator.
Definition: manage_sql.c:48984
void set_task_scanner(task_t task, scanner_t scanner)
Set the scanner of a task.
Definition: manage_sql.c:17721
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:50148
int note_uuid(note_t note, char **id)
Return the UUID of a note.
Definition: manage_sql.c:36603
int task_schedule_periods(task_t task)
Get the number of times the period schedule should run on the task.
Definition: manage_sql.c:18546
int authenticate(credentials_t *credentials)
Authenticate credentials.
Definition: manage_sql.c:17174
int filter_writable(filter_t filter)
Check whether a filter is writable.
Definition: manage_sql.c:45806
target_t task_target(task_t task)
Return the target of a task.
Definition: manage_sql.c:17624
report_t task_running_report(task_t task)
Return the running report of a task.
Definition: manage_sql.c:17889
report_t make_report(task_t task, const char *uuid, task_status_t status)
Make a report.
Definition: manage_sql.c:20336
const char * override_iterator_new_threat(iterator_t *iterator)
Get the threat from an override iterator.
Definition: manage_sql.c:38501
int manage_scap_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5936
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:39244
int schedule_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:41582
int task_in_use(task_t task)
Return whether a task is in use by a task.
Definition: manage_sql.c:15199
void init_host_detail_iterator(iterator_t *iterator, resource_t host)
Initialise an asset host detail iterator.
Definition: manage_sql.c:49100
schedule_t task_schedule(task_t task)
Return the schedule of a task.
Definition: manage_sql.c:18470
int target_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:33136
char * scanner_login(scanner_t scanner)
Return the login associated with a scanner.
Definition: manage_sql.c:40227
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:20955
int trash_filter_in_use(filter_t filter)
Check whether a trashcan filter is in use.
Definition: manage_sql.c:45778
osp_connection_t * osp_scanner_connect(scanner_t scanner)
Create a new connection to an OSP scanner.
Definition: manage_sql.c:40452
void set_credential_privacy_algorithm(credential_t credential, const char *algorithm)
Set the privacy_algorithm of a Credential.
Definition: manage_sql.c:35465
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:37365
gboolean report_task(report_t report, task_t *task)
Return the task of a report.
Definition: manage_sql.c:20926
int task_config_in_trash(task_t task)
Return whether the config of a task is in the trashcan.
Definition: manage_sql.c:17594
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:13849
char * trash_scanner_name(scanner_t scanner)
Return the name of a scanner in the trashcan.
Definition: manage_sql.c:40287
int delete_alert(const char *alert_id, int ultimate)
Delete an alert.
Definition: manage_sql.c:7846
char * target_allow_simultaneous_ips(target_t target)
Return the allow_simultaneous_ips value of a target.
Definition: manage_sql.c:32834
gchar * task_second_last_report_id(task_t task)
Get report ID from second most recently completed invocation of task.
Definition: manage_sql.c:18193
int schedule_duration(schedule_t schedule)
Return the duration of a schedule.
Definition: manage_sql.c:41111
int group_writable(group_t group)
Check whether a group is writable.
Definition: manage_sql.c:42237
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:38312
int manage_resource_name(const char *type, const char *uuid, char **name)
Get the name of a resource.
Definition: manage_sql.c:4728
void set_scan_start_time_epoch(report_t report, time_t timestamp)
Set the start time of a scan.
Definition: manage_sql.c:23704
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:25862
void set_task_end_time(task_t task, char *time)
Set the end time of a task.
Definition: manage_sql.c:23620
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:7209
const char * task_iterator_usage_type(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15185
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:40820
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:44578
int manage_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5910
void set_scan_end_time_ctime(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23797
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:8156
int manage_cert_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5981
time_t note_iterator_end_time(iterator_t *iterator)
Get the end time from an note iterator.
Definition: manage_sql.c:37257
const char * alert_task_iterator_uuid(iterator_t *iterator)
Return the uuid from an alert task iterator.
Definition: manage_sql.c:14581
char * scanner_host(scanner_t scanner)
Return the host of a scanner.
Definition: manage_sql.c:40102
int set_task_schedule(task_t task, schedule_t schedule, int periods)
Set the schedule of a task.
Definition: manage_sql.c:18361
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:31604
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:30117
gchar ** result_iterator_dfn_certs(iterator_t *iterator)
Get DFN-CERTs from a result iterator.
Definition: manage_sql.c:23057
int alert_iterator_filter_readable(iterator_t *iterator)
Return the filter readable state from an alert iterator.
Definition: manage_sql.c:8387
task_t make_task(char *name, char *comment, int in_assets, int event)
Make a task.
Definition: manage_sql.c:29498
const char * result_iterator_original_severity(iterator_t *iterator)
Get the original severity from a result iterator.
Definition: manage_sql.c:22749
char * target_uuid(target_t target)
Return the UUID of a target.
Definition: manage_sql.c:32667
char * filter_uuid(filter_t filter)
Return the UUID of a filter.
Definition: manage_sql.c:45246
int scan_start_time_epoch(report_t report)
Get the start time of a scan, in seconds since the epoch.
Definition: manage_sql.c:23673
void init_credential_iterator_one(iterator_t *iterator, credential_t credential)
Initialise a Credential iterator, given a single Credential.
Definition: manage_sql.c:35636
int task_target_in_trash(task_t task)
Return whether the target of a task is in the trashcan.
Definition: manage_sql.c:17681
char * trash_target_name(target_t target)
Return the name of a trashcan target.
Definition: manage_sql.c:32709
int trash_schedule_writable(schedule_t schedule)
Return whether a trashcan schedule is writable.
Definition: manage_sql.c:41003
int scanner_in_use(scanner_t scanner)
Check whether an scanner is in use.
Definition: manage_sql.c:39982
char * trash_schedule_name(schedule_t schedule)
Return the name of a trash schedule.
Definition: manage_sql.c:41083
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:39837
void manage_transaction_start()
Start a new IMMEDIATE transaction.
Definition: manage_sql.c:30797
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:48378
gchar * manage_user_hash(const gchar *username)
Get user hash.
Definition: manage_sql.c:16733
int alert_writable(alert_t alert)
Return whether a alert is writable.
Definition: manage_sql.c:8203
int manage_delete_scanner(GSList *log_config, const db_conn_info_t *database, const gchar *uuid)
Delete the given scanner.
Definition: manage_sql.c:38825
int init_alert_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an alert iterator, including observed alerts.
Definition: manage_sql.c:8231
char * trash_scanner_uuid(scanner_t scanner)
Return the UUID of a scanner in the trashcan.
Definition: manage_sql.c:40301
char * trash_schedule_uuid(schedule_t schedule)
Return the UUID of a trash schedule.
Definition: manage_sql.c:41055
int host_iterator_max_port(iterator_t *iterator)
Get the max port from a host iterator.
Definition: manage_sql.c:23369
int role_count(const get_data_t *get)
Count number of roles.
Definition: manage_sql.c:45181
char * scanner_name(scanner_t scanner)
Return the name of a scanner.
Definition: manage_sql.c:40063
int trash_group_writable(group_t group)
Check whether a trashcan group is writable.
Definition: manage_sql.c:42250
int scanner_count(const get_data_t *get)
Count number of scanners.
Definition: manage_sql.c:40315
char * credential_iterator_rpm(iterator_t *iterator)
Get the rpm from a Credential iterator.
Definition: manage_sql.c:35874
const char * override_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a override iterator.
Definition: manage_sql.c:38588
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:18159
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:47506
int permission_writable(permission_t permission)
Return whether a permission is writable.
Definition: manage_sql.c:43385
int aggregate_iterator_count(iterator_t *iterator)
Get the count from an aggregate iterator.
Definition: manage_sql.c:5588
int target_iterator_smb_credential(iterator_t *iterator)
Get the SMB LSC credential from a target iterator.
Definition: manage_sql.c:32397
int target_count(const get_data_t *get)
Count number of targets.
Definition: manage_sql.c:32295
int task_scanner_in_trash(task_t task)
Return whether the scanner of a task is in the trashcan.
Definition: manage_sql.c:17737
int modify_asset(const char *asset_id, const char *comment)
Modify an asset.
Definition: manage_sql.c:49386
int task_schedule_in_trash(task_t task)
Get whether the task schedule is in the trash.
Definition: manage_sql.c:18530
report_t result_iterator_report(iterator_t *iterator)
Get the report from a result iterator.
Definition: manage_sql.c:22702
gchar * filter_term(const char *uuid)
Return the term of a filter.
Definition: manage_sql.c:45302
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:19059
int delete_report(const char *report_id, int dummy)
Delete a report.
Definition: manage_sql.c:24614
int trash_filter_writable(filter_t filter)
Check whether a trashcan filter is writable.
Definition: manage_sql.c:45819
char * trash_credential_name(credential_t credential)
Get the name of an LSC credential in the trashcan.
Definition: manage_sql.c:36131
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:38897
char * group_uuid(group_t group)
Return the UUID of a group.
Definition: manage_sql.c:42204
task_status_t task_run_status(task_t task)
Return the run state of a task.
Definition: manage_sql.c:17770
int credential_count(const get_data_t *get)
Count number of LSC Credentials.
Definition: manage_sql.c:35211
int permission_iterator_resource_in_trash(iterator_t *iterator)
Return the permission resource location.
Definition: manage_sql.c:43633
char * task_observers(task_t task)
Return the observers of a task.
Definition: manage_sql.c:17500
int target_iterator_esxi_credential(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:32547
int target_iterator_snmp_trash(iterator_t *iterator)
Get the SNMP LSC credential location from a target iterator.
Definition: manage_sql.c:32595
char * target_ssh_port(target_t target)
Return the SSH LSC port of a target.
Definition: manage_sql.c:32848
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:7467
int delete_group(const char *group_id, int ultimate)
Delete a group.
Definition: manage_sql.c:42044
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:47941
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:36005
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:41970
void manage_transaction_stop(gboolean force_commit)
Commit the current transaction, if any.
Definition: manage_sql.c:30817
void trim_partial_report(report_t report)
Prepare a partial report for resumption of the scan.
Definition: manage_sql.c:24748
void init_report_iterator_task(iterator_t *iterator, task_t task)
Initialise a report iterator.
Definition: manage_sql.c:21485
char * report_finished_hosts_str(report_t report)
Get a list string of finished hosts in a report.
Definition: manage_sql.c:26004
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:37699
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:40498
void set_scan_end_time(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23779
int trash_target_in_use(target_t target)
Return whether a trashcan target is referenced by a task.
Definition: manage_sql.c:33036
int setting_count(const char *filter)
Count number of settings.
Definition: manage_sql.c:49836
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:30690
void set_scan_end_time_epoch(report_t report, time_t timestamp)
Set the end time of a scan.
Definition: manage_sql.c:23765
double prognosis_iterator_cvss_double(iterator_t *iterator)
Get the CVSS from a result iterator as a double.
Definition: manage_sql.c:19863
int alert_in_use(alert_t alert)
Return whether a alert is in use by a task.
Definition: manage_sql.c:8173
int manage_verify_scanner(GSList *log_config, const db_conn_info_t *database, const gchar *uuid)
Verify the given scanner.
Definition: manage_sql.c:39121
time_t override_iterator_end_time(iterator_t *iterator)
Get the end time from an override iterator.
Definition: manage_sql.c:38546
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:5872
void init_target_task_iterator(iterator_t *iterator, target_t target)
Initialise a target task iterator.
Definition: manage_sql.c:33079
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:30165
int report_host_count(report_t report)
Count a report's total number of hosts.
Definition: manage_sql.c:25846
config_t task_config(task_t task)
Return the config of a task.
Definition: manage_sql.c:17529
int target_iterator_esxi_trash(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:32563
void cleanup_manage_process(gboolean cleanup)
Cleanup the manage library.
Definition: manage_sql.c:16656
void set_task_start_time_epoch(task_t task, int time)
Set the start time of a task.
Definition: manage_sql.c:17991
double aggregate_iterator_sum(iterator_t *iterator, int data_column_index)
Get the sum from a statistics iterator.
Definition: manage_sql.c:5650
int result_iterator_may_have_tickets(iterator_t *iterator)
Get whether tickets may exist from a result iterator.
Definition: manage_sql.c:22957
int trash_scanner_readable(scanner_t scanner)
Return whether a trashcan scanner is readable.
Definition: manage_sql.c:40038
void set_task_hosts_ordering(task_t task, const char *ordering)
Set the hosts ordering of a task.
Definition: manage_sql.c:17665
int init_role_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a role iterator, including observed roles.
Definition: manage_sql.c:45200
int filter_term_min_qod(const char *term)
Return the value of the min_qod keyword of a filter term.
Definition: manage_sql.c:45386
credential_t scanner_iterator_credential(iterator_t *iterator)
Get the credential of the scanner from a scanner iterator.
Definition: manage_sql.c:39821
int report_timestamp(const char *report_id, gchar **timestamp)
Get the timestamp of a report.
Definition: manage_sql.c:23914
int result_uuid(result_t result, char **id)
Return the UUID of a result.
Definition: manage_sql.c:19607
const char * alert_task_iterator_name(iterator_t *iterator)
Return the name from an alert task iterator.
Definition: manage_sql.c:14565
char * filter_name(filter_t filter)
Return the name of a filter.
Definition: manage_sql.c:45274
int scanner_writable(scanner_t scanner)
Check whether a scanner is writable.
Definition: manage_sql.c:40012
void set_task_usage_type(task_t task, const char *usage_type)
Set the usage_type of a task.
Definition: manage_sql.c:17750
gchar ** result_iterator_cert_bunds(iterator_t *iterator)
Get CERT-BUNDs from a result iterator.
Definition: manage_sql.c:23043
int copy_note(const char *note_id, note_t *new_note)
Create a note from an existing note.
Definition: manage_sql.c:36503
char * alert_uuid(alert_t alert)
Return the UUID of an alert.
Definition: manage_sql.c:7999
int modify_role(const char *role_id, const char *name, const char *comment, const char *users)
Modify a role.
Definition: manage_sql.c:45024
int init_credential_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a Credential iterator.
Definition: manage_sql.c:35663
int alert_iterator_active(iterator_t *iterator)
Return the active state from an alert.
Definition: manage_sql.c:8420
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:19576
int copy_override(const char *override_id, override_t *new_override)
Create a override from an existing override.
Definition: manage_sql.c:37557
int qod_from_type(const char *qod_type)
Get QoD percentage for a qod_type string.
Definition: manage_sql.c:19203
int manage_test_alert(const char *alert_id, gchar **script_message)
Test an alert.
Definition: manage_sql.c:13941
int delete_filter(const char *filter_id, int ultimate)
Delete a filter.
Definition: manage_sql.c:45523
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:18292
int asset_host_count(const get_data_t *get)
Count number of hosts.
Definition: manage_sql.c:48772
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:23220
char * target_hosts(target_t target)
Return the hosts associated with a target.
Definition: manage_sql.c:32777
int result_iterator_may_have_overrides(iterator_t *iterator)
Get whether overrides may exist from a result iterator.
Definition: manage_sql.c:22943
void set_task_run_status(task_t task, task_status_t status)
Set the run state of a task.
Definition: manage_sql.c:17841
int manage_task_remove_file(const gchar *task_id, const char *name)
Remove a file on a task.
Definition: manage_sql.c:30323
char * tag_uuid(tag_t tag)
Return the UUID of a tag.
Definition: manage_sql.c:32653
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, const char *hash_value)
Insert a host detail into a report.
Definition: manage_sql.c:20410
const char * result_iterator_nvt_solution_method(iterator_t *iterator)
Get the NVT solution_method from a result iterator.
Definition: manage_sql.c:23099
void init_report_errors_iterator(iterator_t *iterator, report_t report)
Initialise a report errors iterator.
Definition: manage_sql.c:23395
void set_task_end_time_epoch(task_t task, time_t time)
Set the end time of a task.
Definition: manage_sql.c:23641
void add_task_alert(task_t task, alert_t alert)
Add an alert to a task.
Definition: manage_sql.c:18209
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:45232
int manage_restore(const char *id)
Restore a resource from the trashcan.
Definition: manage_sql.c:46339
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:30131
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:30429
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:17259
char * task_comment(task_t task)
Return the comment of a task.
Definition: manage_sql.c:17472
void manage_reset_currents()
Cleanup as immediately as possible.
Definition: manage_sql.c:16714
int task_iterator_finished_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15143
int alert_iterator_filter_trash(iterator_t *iterator)
Return the location of an alert iterator filter.
Definition: manage_sql.c:8369
int target_iterator_ssh_trash(iterator_t *iterator)
Get the location of the SSH LSC credential from a target iterator.
Definition: manage_sql.c:32413
int init_permission_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a permission iterator.
Definition: manage_sql.c:43580
int permission_count(const get_data_t *get)
Count number of permissions.
Definition: manage_sql.c:43560
gchar * host_routes_xml(host_t host)
Get XML of a detailed host route.
Definition: manage_sql.c:48069
int delete_override(const char *override_id, int ultimate)
Delete a override.
Definition: manage_sql.c:37574
int role_in_use(role_t role)
Check whether a role is in use.
Definition: manage_sql.c:44993
const char * result_iterator_severity(iterator_t *iterator)
Get the severity from a result iterator.
Definition: manage_sql.c:22801
void clear_duration_schedules(task_t task)
Clear once-off schedules from tasks where the duration has passed.
Definition: manage_sql.c:18824
void init_credential_scanner_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential scanner iterator.
Definition: manage_sql.c:36264
int alert_iterator_condition(iterator_t *iterator)
Return the condition from an alert iterator.
Definition: manage_sql.c:8273
const char * target_iterator_alive_tests(iterator_t *iterator)
Get the alive test description from a target iterator.
Definition: manage_sql.c:32508
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:40699
int init_schedule_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a schedule iterator.
Definition: manage_sql.c:41216
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:45506
result_t result_iterator_result(iterator_t *iterator)
Get the result from a result iterator.
Definition: manage_sql.c:22603
int manage_scap_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:5947
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:49938
double aggregate_iterator_min(iterator_t *iterator, int data_column_index)
Get the minimum from an aggregate iterator.
Definition: manage_sql.c:5602
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:47612
const char * task_iterator_last_report(iterator_t *iterator)
Get the last report UUID from a task iterator.
Definition: manage_sql.c:15129
int override_iterator_active(iterator_t *iterator)
Get the active status from an override iterator.
Definition: manage_sql.c:38562
int alert_iterator_method(iterator_t *iterator)
Return the method from an alert iterator.
Definition: manage_sql.c:8289
int filter_alert_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:45998
int note_iterator_active(iterator_t *iterator)
Get the active status from an note iterator.
Definition: manage_sql.c:37273
int trash_target_writable(target_t target)
Return whether a trashcan target is writable.
Definition: manage_sql.c:33065
void reset_task(task_t task)
Reset all running information for a task.
Definition: manage_sql.c:30247
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:46129
int permission_iterator_subject_readable(iterator_t *iterator)
Get the readable status of a subject from a permission iterator.
Definition: manage_sql.c:43742
int delete_note(const char *note_id, int ultimate)
Delete a note.
Definition: manage_sql.c:36520
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:39174
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:36926
int permission_in_use(permission_t permission)
Return whether a permission is in use.
Definition: manage_sql.c:43359
int schedule_writable(schedule_t schedule)
Return whether a schedule is writable.
Definition: manage_sql.c:40990
const char * alert_data_iterator_name(iterator_t *iterator)
Return the name from an alert data iterator.
Definition: manage_sql.c:8458
void init_manage_process(const db_conn_info_t *database)
Initialize the manage library for a process.
Definition: manage_sql.c:15349
const char * note_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a note iterator.
Definition: manage_sql.c:37299
int manage_max_hosts()
Get the maximum allowed number of hosts per target.
Definition: manage_sql.c:30649
int delete_scanner(const char *scanner_id, int ultimate)
Delete a scanner.
Definition: manage_sql.c:39551
credential_t target_credential(target_t target, const char *type)
Get a credential from a target.
Definition: manage_sql.c:31015
void init_credential_target_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential target iterator.
Definition: manage_sql.c:36187
report_t task_iterator_current_report(iterator_t *iterator)
Return the current report of a task.
Definition: manage_sql.c:17917
void hosts_set_identifiers(report_t report)
Setup hosts and their identifiers after a scan, from host details.
Definition: manage_sql.c:47670
int filter_in_use(filter_t filter)
Check whether a filter is in use.
Definition: manage_sql.c:45688
gchar * credential_value(credential_t credential, const char *value_name)
Get a value from a credential.
Definition: manage_sql.c:35325
void logout_user()
Perform actions necessary at user logout.
Definition: manage_sql.c:17244
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:8439
const char * result_iterator_level(iterator_t *iterator)
Get the severity/threat level from a result iterator.
Definition: manage_sql.c:22843
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:18062
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:28702
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:18428
int trash_role_writable(role_t role)
Check whether a trashcan role is writable.
Definition: manage_sql.c:44980
const char * override_iterator_threat(iterator_t *iterator)
Get the threat from a override iterator.
Definition: manage_sql.c:38485
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:38181
int schedule_period(schedule_t schedule)
Return the period of a schedule.
Definition: manage_sql.c:41097
int trash_scanner_writable(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:40025
int override_uuid(override_t override, char **id)
Return the UUID of an override.
Definition: manage_sql.c:37540
task_t result_iterator_task(iterator_t *iterator)
Get the task from a result iterator.
Definition: manage_sql.c:22688
int manage_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5898
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:41786
int task_alterable(task_t task)
Return whether a task is an Alterable Task.
Definition: manage_sql.c:15235
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:15009
int task_in_trash(task_t task)
Return whether a task is in the trashcan.
Definition: manage_sql.c:17396
int target_writable(target_t target)
Return whether a target is writable.
Definition: manage_sql.c:33052
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:22726
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:39339
int delete_task(task_t task, int ultimate)
Complete deletion of a task.
Definition: manage_sql.c:29955
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:7552
int scanner_config_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:39901
char * host_uuid(resource_t host)
Return the UUID of a host.
Definition: manage_sql.c:47538
const char * result_iterator_nvt_solution_type(iterator_t *iterator)
Get the NVT solution_type from a result iterator.
Definition: manage_sql.c:23085
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:41605
int task_result_count(task_t task, int min_qod)
Return number of results in a task.
Definition: manage_sql.c:17871
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:43123
int create_asset_report(const char *report_id, const char *term)
Create all available assets from a report.
Definition: manage_sql.c:49267
void set_task_start_time_ctime(task_t task, char *time)
Set the start time of a task.
Definition: manage_sql.c:18006
int scan_host_end_time(report_t report, const char *host)
Get the end time of a scanned host.
Definition: manage_sql.c:23816
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:15280
char * target_exclude_hosts(target_t target)
Return the excluded hosts associated with a target.
Definition: manage_sql.c:32792
char * target_name(target_t target)
Return the name of a target.
Definition: manage_sql.c:32695
int asset_os_iterator_all_installs(iterator_t *iterator)
Get the number of all installs from an asset OS iterator.
Definition: manage_sql.c:49030
int task_writable(task_t task)
Return whether a task is writable.
Definition: manage_sql.c:15250
char * task_owner_name(task_t task)
Return the name of the owner of a task.
Definition: manage_sql.c:17428
int delete_credential(const char *credential_id, int ultimate)
Delete a Credential.
Definition: manage_sql.c:34963
const char * aggregate_iterator_value(iterator_t *iterator)
Get the value of the group column from a statistics iterator.
Definition: manage_sql.c:5690
int task_iterator_total_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15087
task_t override_iterator_task(iterator_t *iterator)
Get the task from a override iterator.
Definition: manage_sql.c:38517
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:40528
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:43062
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:22448
char * task_hosts_ordering(task_t task)
Return the hosts ordering of a task.
Definition: manage_sql.c:17486
result_t note_iterator_result(iterator_t *iterator)
Get the result from a note iterator.
Definition: manage_sql.c:37242
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:31403
int manage_trash_resource_name(const char *type, const char *uuid, char **name)
Get the name of a trashcan resource.
Definition: manage_sql.c:4743
int result_count(const get_data_t *get, report_t report, const char *host)
Count the number of results.
Definition: manage_sql.c:22544
const char * filter_iterator_type(iterator_t *iterator)
Get the type from a filter iterator.
Definition: manage_sql.c:45906
void set_scan_start_time_ctime(report_t report, const char *timestamp)
Set the start time of a scan.
Definition: manage_sql.c:23717
int manage_decrypt_all_credentials(GSList *log_config, const db_conn_info_t *database)
Decrypt all credentials.
Definition: manage_sql.c:6190
task_status_t task_iterator_run_status(iterator_t *iterator)
Get the run status from a task iterator.
Definition: manage_sql.c:15071
char * target_reverse_lookup_only(target_t target)
Return the reverse_lookup_only value of a target.
Definition: manage_sql.c:32806
int trash_permission_writable(permission_t permission)
Return whether a trashcan permission is writable.
Definition: manage_sql.c:43400
unsigned int task_count(const get_data_t *get)
Return the number of tasks associated with the current user.
Definition: manage_sql.c:17327
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:18599
char * credential_uuid(credential_t credential)
Get the UUID of a Credential.
Definition: manage_sql.c:36088
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:23861
int set_task_observers(task_t task, const gchar *observers)
Set the observers of a task.
Definition: manage_sql.c:18684
char * target_reverse_lookup_unify(target_t target)
Return the reverse_lookup_unify value of a target.
Definition: manage_sql.c:32820
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:30675
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:33925
int asset_os_count(const get_data_t *get)
Count number of oss.
Definition: manage_sql.c:49044
int target_iterator_port_list_trash(iterator_t *iterator)
Get the location of the port list from a target iterator.
Definition: manage_sql.c:32463
gchar * credential_encrypted_value(credential_t credential, const char *value_name)
Get a possibly encrypted credential value in decrypted form.
Definition: manage_sql.c:35345
int scanner_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:39968
int schedule_count(const get_data_t *get)
Count the number of schedules.
Definition: manage_sql.c:41197
int manage_cert_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:5970
int cleanup_result_nvts()
Check if the result_nvts are assigned to result.
Definition: manage_sql.c:23142
int request_delete_task_uuid(const char *task_id, int ultimate)
Request deletion of a task.
Definition: manage_sql.c:29805
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:28995
const char * result_iterator_nvt_name(iterator_t *iterator)
Get the NVT name from a result iterator.
Definition: manage_sql.c:23071
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:20480
int target_iterator_ssh_credential(iterator_t *iterator)
Get the SSH LSC credential from a target iterator.
Definition: manage_sql.c:32372
char * scan_end_time_uuid(const char *uuid)
Get the end time of a scan.
Definition: manage_sql.c:23748
int trash_role_in_use(role_t role)
Check whether a trashcan role is in use.
Definition: manage_sql.c:45006
int trash_credential_readable(credential_t credential)
Return whether a trashcan credential is readable.
Definition: manage_sql.c:36160
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:37338
void init_alert_task_iterator(iterator_t *iterator, alert_t alert, int ascending)
Initialise an alert task iterator.
Definition: manage_sql.c:14525
int credential_in_use(credential_t credential)
Check whether a Credential is in use.
Definition: manage_sql.c:35228
char * credential_iterator_exe(iterator_t *iterator)
Get the exe from a Credential iterator.
Definition: manage_sql.c:35970
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:46019
const char * credential_iterator_password(iterator_t *iterator)
Get the password from a Credential iterator.
Definition: manage_sql.c:35815
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:30149
void init_scanner_task_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner task iterator.
Definition: manage_sql.c:39914
void init_filter_alert_iterator(iterator_t *iterator, filter_t filter)
Initialise a filter alert iterator.
Definition: manage_sql.c:45933
int target_iterator_ssh_elevate_trash(iterator_t *iterator)
Get the ELEVATE LSC credential location from a target iterator.
Definition: manage_sql.c:32627
double aggregate_iterator_max(iterator_t *iterator, int data_column_index)
Get the maximum from an aggregate iterator.
Definition: manage_sql.c:5618
void init_task_role_iterator(iterator_t *iterator, task_t task)
Initialise a task role iterator.
Definition: manage_sql.c:6352
int trash_scanner_in_use(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:39996
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:36248
gboolean find_resource_no_acl(const char *type, const char *uuid, resource_t *resource)
Find a resource given a UUID.
Definition: manage_sql.c:4172
int task_in_trash_id(const gchar *task_id)
Return whether a task is in the trashcan.
Definition: manage_sql.c:17413
gchar * role_users(role_t role)
Gets users of role as a string.
Definition: manage_sql.c:44946
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:24084
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:36400
void init_target_iterator_one(iterator_t *iterator, target_t target)
Initialise a target iterator, given a single target.
Definition: manage_sql.c:32311
int host_iterator_current_port(iterator_t *iterator)
Get the current port from a host iterator.
Definition: manage_sql.c:23353
int delete_permission(const char *permission_id, int ultimate)
Delete a permission.
Definition: manage_sql.c:43827
int alert_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:14597
void host_detail_free(host_detail_t *detail)
Free a host detail.
Definition: manage_sql.c:20388
int permission_iterator_resource_readable(iterator_t *iterator)
Get the readable status of a resource from a permission iterator.
Definition: manage_sql.c:43661
char * trash_credential_uuid(credential_t credential)
Get the UUID of a Credential in the trashcan.
Definition: manage_sql.c:36102
int init_asset_host_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a host iterator.
Definition: manage_sql.c:48672
result_t override_iterator_result(iterator_t *iterator)
Get the result from a override iterator.
Definition: manage_sql.c:38531
char * openvas_default_scanner_host()
Get the default scanner path or host.
Definition: manage_sql.c:40331
int alert_iterator_event(iterator_t *iterator)
Return the event from an alert iterator.
Definition: manage_sql.c:8257
void init_task_group_iterator(iterator_t *iterator, task_t task)
Initialise a task group iterator.
Definition: manage_sql.c:6323
const char * scanner_uuid_default()
Return the UUID of the default scanner.
Definition: manage_sql.c:40089
const char * credential_iterator_privacy_password(iterator_t *iterator)
Get the privacy password from a Credential iterator.
Definition: manage_sql.c:35860
gchar * role_uuid(role_t role)
Gets UUID of role.
Definition: manage_sql.c:44932
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:36342
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:5191
char * credential_name(credential_t credential)
Get the name of an LSC credential.
Definition: manage_sql.c:36117
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:16625
double result_iterator_severity_double(iterator_t *iterator)
Get the severity from a result iterator as double.
Definition: manage_sql.c:22824
int scanner_port(scanner_t scanner)
Return the port of a scanner.
Definition: manage_sql.c:40115
char * report_uuid(report_t report)
Return the UUID of a report.
Definition: manage_sql.c:20911
char * schedule_name(schedule_t schedule)
Return the name of a schedule.
Definition: manage_sql.c:41069
int filter_term_apply_overrides(const char *term)
Return the value of the apply_overrides keyword of a filter term.
Definition: manage_sql.c:45359
int verify_scanner(const char *scanner_id, char **version)
Verify a scanner.
Definition: manage_sql.c:40557
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:48352
int trash_task_in_use(task_t task)
Return whether a trashcan task is referenced by a task.
Definition: manage_sql.c:15222
int manage_check_alerts(GSList *log_config, const db_conn_info_t *database)
Check if any SecInfo alerts are due.
Definition: manage_sql.c:6459
int result_iterator_may_have_notes(iterator_t *iterator)
Get whether notes may exist from a result iterator.
Definition: manage_sql.c:22929
int host_identifier_iterator_source_orphan(iterator_t *iterator)
Get the source orphan state from a host identifier iterator.
Definition: manage_sql.c:48480
int permission_is_admin(const char *permission_id)
Test whether a permission is the special Admin permission.
Definition: manage_sql.c:43344
int modify_group(const char *group_id, const char *name, const char *comment, const char *users)
Modify a group.
Definition: manage_sql.c:42363
int permission_iterator_subject_in_trash(iterator_t *iterator)
Return the permission subject location.
Definition: manage_sql.c:43728
int filter_count(const get_data_t *get)
Count number of filters.
Definition: manage_sql.c:45860
const char * task_iterator_run_status_name(iterator_t *iterator)
Get the run status name from a task iterator.
Definition: manage_sql.c:15115
const char * task_iterator_first_report(iterator_t *iterator)
Get the first report UUID from a task iterator.
Definition: manage_sql.c:15101
int init_asset_os_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an OS iterator.
Definition: manage_sql.c:48928
void init_task_alert_iterator(iterator_t *iterator, task_t task)
Initialise a task alert iterator.
Definition: manage_sql.c:8537
char * credential_type(credential_t credential)
Get the type of a Credential.
Definition: manage_sql.c:36146
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:40414
char * scan_start_time_uuid(const char *uuid)
Get the start time of a scan.
Definition: manage_sql.c:23687
alert_method_t alert_method(alert_t alert)
Return the method associated with an alert.
Definition: manage_sql.c:8091
char * scanner_ca_pub(scanner_t scanner)
Return the CA Certificate of a scanner.
Definition: manage_sql.c:40155
int manage_encrypt_all_credentials(GSList *log_config, const db_conn_info_t *database)
Encrypt or re-encrypt all credentials.
Definition: manage_sql.c:6157
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:19479
int task_schedule_next_time(task_t task)
Get next time a scheduled task will run, following schedule timezone.
Definition: manage_sql.c:18580
int credential_scanner_iterator_readable(iterator_t *iterator)
Get the read permission status from a Credential Scanner iterator.
Definition: manage_sql.c:36323
int credential_iterator_allow_insecure(iterator_t *iterator)
Get the login from a Credential iterator.
Definition: manage_sql.c:35749
void report_add_result(report_t report, result_t result)
Add a result to a report.
Definition: manage_sql.c:21135
char * credential_iterator_deb(iterator_t *iterator)
Get the deb from a Credential iterator.
Definition: manage_sql.c:35918
int manage_get_scanners(GSList *log_config, const db_conn_info_t *database)
List scanners.
Definition: manage_sql.c:40602
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:34150
int trash_credential_writable(credential_t credential)
Check whether a trashcan Credential is writable.
Definition: manage_sql.c:35311
double aggregate_iterator_mean(iterator_t *iterator, int data_column_index)
Get the mean from an aggregate iterator.
Definition: manage_sql.c:5634
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:24444
int delete_asset(const char *asset_id, const char *report_id, int dummy)
Delete an asset.
Definition: manage_sql.c:49544
schedule_t task_schedule_uuid(const gchar *task_id)
Return the schedule of a task.
Definition: manage_sql.c:18497
char * trash_target_uuid(target_t target)
Return the UUID of a trashcan target.
Definition: manage_sql.c:32681
void report_add_results_array(report_t report, GArray *results)
Add results from an array to a report.
Definition: manage_sql.c:21165
void init_config_task_iterator(iterator_t *iterator, config_t config, int ascending)
Initialise a config task iterator.
Definition: manage_sql_configs.c:4080
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:1921
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:1894
char * nvt_preference_iterator_real_name(iterator_t *iterator)
Get the real name from an NVT preference iterator.
Definition: manage_sql_configs.c:1819
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:1953
char * task_preference_value(task_t task, const char *name)
Get the value of a task preference.
Definition: manage_sql_configs.c:1973
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:2781
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:1869
int create_task_check_scanner_type(scanner_t scanner)
Check if the scanner type is valid for a task.
Definition: manage_sql_configs.c:2754
char * nvt_preference_iterator_type(iterator_t *iterator)
Get the type from an NVT preference iterator.
Definition: manage_sql_configs.c:1844
void init_nvt_preference_iterator(iterator_t *iterator, const char *oid)
Initialise an NVT preference iterator.
Definition: manage_sql_configs.c:1748
void manage_nvt_preference_add(const char *name, const char *value, const char *oid, const char *id, const char *type, const char *pref_name, int rebuild)
Add/replace an NVT preference.
Definition: manage_sql_configs.c:1702
int config_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql_configs.c:4139
int set_task_preferences(task_t task, array_t *preferences)
Set the preferences of a task.
Definition: manage_sql_configs.c:2009
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:598
double nvt_severity_iterator_score(iterator_t *iterator)
Gets the score from an NVT severity iterator.
Definition: manage_sql_nvts.c:2046
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:1018
gboolean find_nvt(const char *oid, nvt_t *nvt)
Find an NVT given an identifier.
Definition: manage_sql_nvts.c:277
time_t nvts_feed_version_epoch()
Return feed version of the plugins as seconds since epoch.
Definition: manage_sql_nvts.c:230
char * manage_nvt_name(nvt_t nvt)
Get the name of an NVT.
Definition: manage_sql_nvts.c:189
char * nvt_name(const char *oid)
Get the name of an NVT given its OID.
Definition: manage_sql_nvts.c:202
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:694
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:256
int nvt_info_count(const get_data_t *get)
Count number of nvt.
Definition: manage_sql_nvts.c:676
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:2528
int manage_rebuild(GSList *log_config, const db_conn_info_t *database)
Rebuild NVT db.
Definition: manage_sql_nvts.c:2459
char * nvt_default_timeout(const char *oid)
Get the default timeout of an NVT.
Definition: manage_sql_nvts.c:1210
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:938
int family_nvt_count(const char *family)
Get the number of NVTs in one or all families.
Definition: manage_sql_nvts.c:1245
char * nvts_feed_version()
Return feed version of the plugins in the plugin cache.
Definition: manage_sql_nvts.c:217
void init_nvt_severity_iterator(iterator_t *iterator, const char *oid)
Initialise an NVT severity iterator.
Definition: manage_sql_nvts.c:1997
int nvt_iterator_category(iterator_t *iterator)
Get the category from an NVT iterator.
Definition: manage_sql_nvts.c:1074
int cve_info_count(const get_data_t *get)
Count number of cve.
Definition: manage_sql_secinfo.c:703
gchar * cve_cvss_base(const gchar *cve)
Get the CVSS score for a CVE.
Definition: manage_sql_secinfo.c:685
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:993
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:638
char * cpe_details_xml(const char *cpe_id)
Get the XML details / raw data for a given CPE ID.
Definition: manage_sql_secinfo.c:591
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:1197
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:964
int cert_bund_adv_info_count(const get_data_t *get)
Count number of cert_bund_adv.
Definition: manage_sql_secinfo.c:898
int dfn_cert_adv_info_count(const get_data_t *get)
Count number of dfn_cert_adv.
Definition: manage_sql_secinfo.c:1106
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:1057
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:1168
int init_cve_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise a info iterator.
Definition: manage_sql_secinfo.c:721
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:1236
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:849
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:399
gchar * content_type
The MIME content type of the report.
Definition: manage.h:402
gchar * remote_filename
Path or filename to send to / as.
Definition: manage.h:401
gchar * report_format_name
Name of the report format used.
Definition: manage.h:403
gchar * local_filename
Path to the local report file.
Definition: manage.h:400
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:1198
char * description
Description of NVT.
Definition: manage.h:1199
char * qod
QoD (quality of detection).
Definition: manage.h:1205
char * port
Port.
Definition: manage.h:1204
char * host
Host.
Definition: manage.h:1200
char * qod_type
QoD type.
Definition: manage.h:1206
char * scan_nvt_version
Version of NVT used at scan time.
Definition: manage.h:1203
char * threat
Threat.
Definition: manage.h:1208
char * hostname
Hostname.
Definition: manage.h:1201
char * severity
Severity score.
Definition: manage.h:1207
char * nvt_oid
OID of NVT.
Definition: manage.h:1202
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:1229
char * source_name
source_name of detection in result.
Definition: manage.h:1231
char * product
product of detection in result.
Definition: manage.h:1230
char * location
location of detection in result.
Definition: manage.h:1233
char * source_oid
source_oid of detection in result.
Definition: manage.h:1232
Command data for a get command.
Definition: manage_get.h:35
A host detail for create_report.
Definition: manage.h:1215
char * name
Detail name.
Definition: manage.h:1217
char * source_type
Source type.
Definition: manage.h:1220
char * source_name
Source name.
Definition: manage.h:1219
char * ip
IP.
Definition: manage.h:1216
char * value
Detail value.
Definition: manage.h:1221
char * source_desc
Source description.
Definition: manage.h:1218
A generic SQL iterator structure.
Definition: iterator.h:50
Keyword.
Definition: manage.h:2997
gchar * column
The column prefix, or NULL.
Definition: manage.h:2998
keyword_relation_t relation
The relation.
Definition: manage.h:3006
gchar * string
The keyword string, outer quotes removed.
Definition: manage.h:3004
int integer_value
Integer value of the keyword.
Definition: manage.h:3001
keyword_type_t type
Type of keyword.
Definition: manage.h:3005
double double_value
Floating point value of the keyword.
Definition: manage.h:3002
int equal
Whether the keyword is like "=example".
Definition: manage.h:3000
int quoted
Whether the keyword was quoted.
Definition: manage.h:3003
int approx
Whether the keyword is like "~example".
Definition: manage.h:2999
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:2452
gchar ** start
First type.
Definition: manage.h:2453
gchar ** current
Current type.
Definition: manage.h:2454
Severity data for result count cache.
Definition: manage.h:1018
int * counts
Counts.
Definition: manage.h:1019
int total
Total.
Definition: manage.h:1020
double max
Max.
Definition: manage.h:1021
Sort data for aggregates commands.
Definition: manage.h:3579
int order
The sort order.
Definition: manage.h:3582
gchar * field
The field to sort by.
Definition: manage.h:3580
gchar * stat
The statistic to sort by.
Definition: manage.h:3581
Headers for Greenbone Vulnerability Manager: General utilities.