Greenbone Vulnerability Manager  9.0.0
manage.h
1 /* Copyright (C) 2009-2019 Greenbone Networks GmbH
2  *
3  * SPDX-License-Identifier: GPL-2.0-or-later
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version 2
8  * of the 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 General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 /*
21  * @file manage.h
22  * @brief Headers for Greenbone Vulnerability Manager: the Manage library.
23  */
24 
25 #ifndef _GVMD_MANAGE_H
26 #define _GVMD_MANAGE_H
27 
28 #include "iterator.h"
29 
30 #include <stdio.h>
31 #include <glib.h>
32 #include <gnutls/gnutls.h>
33 
34 #include <gvm/base/array.h> /* for array_t */
35 #include <gvm/base/credentials.h> /* for credentials_t */
36 #include <gvm/base/nvti.h> /* for nvti_t */
37 #include <gvm/base/networking.h> /* for port_protocol_t */
38 #include <gvm/util/serverutils.h> /* for gvm_connection_t */
39 #include <gvm/util/authutils.h> /* for auth_method_t */
40 #include <gvm/osp/osp.h> /* for osp_connection_t */
41 
42 
43 
47 #define OID_PING_HOST "1.3.6.1.4.1.25623.1.0.100315"
48 
52 #define OID_SSH_AUTH "1.3.6.1.4.1.25623.1.0.103591"
53 
57 #define OID_SMB_AUTH "1.3.6.1.4.1.25623.1.0.90023"
58 
62 #define OID_ESXI_AUTH "1.3.6.1.4.1.25623.1.0.105058"
63 
67 #define OID_SNMP_AUTH "1.3.6.1.4.1.25623.1.0.105076"
68 
72 #define OID_SERVICES "1.3.6.1.4.1.25623.1.0.10330"
73 
77 #define OID_LOGINS "1.3.6.1.4.1.25623.1.0.10870"
78 
82 #define OID_GLOBAL_SETTINGS "1.3.6.1.4.1.25623.1.0.12288"
83 
87 #define ALL_LOG_LEVELS (G_LOG_LEVEL_MASK \
88  | G_LOG_FLAG_FATAL \
89  | G_LOG_FLAG_RECURSION)
90 
94 #ifndef g_info
95 #define g_info(...) g_log (G_LOG_DOMAIN, \
96  G_LOG_LEVEL_INFO, \
97  __VA_ARGS__)
98 #endif /* g_info not defined */
99 
103 typedef struct
104 {
105  gchar *name;
106  gchar *value;
107 } name_value_t;
108 
112 typedef int (*manage_connection_forker_t) (gvm_connection_t * conn,
113  const gchar* uuid);
114 
115 int
116 init_manage (GSList*, const gchar *, int, int, int, int,
117  manage_connection_forker_t, int);
118 
119 int
120 init_manage_helper (GSList *, const gchar *, int);
121 
122 void
123 init_manage_process (const gchar*);
124 
125 void
126 cleanup_manage_process (gboolean);
127 
128 void
130 
131 void
133 
134 
135 /* Commands. */
136 
140 typedef struct
141 {
142  gchar *name;
143  gchar *summary;
144 } command_t;
145 
149 extern command_t gmp_commands[];
150 
151 
152 /* Certificate and key management. */
153 
154 gchar*
155 truncate_certificate (const gchar*);
156 
157 gchar*
158 truncate_private_key (const gchar*);
159 
160 int
161 get_certificate_info (const gchar *,
162  gssize,
163  time_t *,
164  time_t *,
165  gchar **,
166  gchar **,
167  gchar **,
168  gchar **,
169  gchar **,
170  gnutls_x509_crt_fmt_t *);
171 
172 gchar *
173 certificate_iso_time (time_t);
174 
175 const gchar *
176 certificate_time_status (time_t, time_t);
177 
178 void
179 parse_ssldetails (const char *, time_t *, time_t *, gchar **, gchar **);
180 
181 const char*
182 tls_certificate_format_str (gnutls_x509_crt_fmt_t certificate_format);
183 
184 
185 /* Credentials. */
186 
187 extern credentials_t current_credentials;
188 
189 int
190 authenticate (credentials_t*);
191 
192 
193 /* Database. */
194 
195 int
197 
198 int
200 
201 int
203 
204 int
206 
207 int
209 
210 int
212 
213 char *
214 port_name_formatted (const char *);
215 
216 void
217 set_db_version (int version);
218 
219 char *
220 manage_port_name (int, const char *);
221 
222 int
223 manage_migrate (GSList*, const gchar*);
224 
225 int
226 manage_encrypt_all_credentials (GSList *, const gchar *);
227 
228 int
229 manage_decrypt_all_credentials (GSList *, const gchar *);
230 
231 void
232 manage_session_set_timezone (const char *);
233 
234 void
236 
237 void
238 manage_transaction_stop (gboolean);
239 
240 
241 /* Task structures. */
242 
249 typedef enum
250 {
251  TASK_STATUS_DELETE_REQUESTED = 0,
252  TASK_STATUS_DONE = 1,
253  TASK_STATUS_NEW = 2,
254  TASK_STATUS_REQUESTED = 3,
255  TASK_STATUS_RUNNING = 4,
256  TASK_STATUS_STOP_REQUESTED = 10,
257  TASK_STATUS_STOP_WAITING = 11,
258  TASK_STATUS_STOPPED = 12,
259  TASK_STATUS_INTERRUPTED = 13,
260  TASK_STATUS_DELETE_ULTIMATE_REQUESTED = 14,
261  TASK_STATUS_STOP_REQUESTED_GIVEUP = 15,
262  TASK_STATUS_DELETE_WAITING = 16,
263  TASK_STATUS_DELETE_ULTIMATE_WAITING = 17
264 } task_status_t;
265 
269 #define AUTO_DELETE_KEEP_MIN 2
270 
274 #define AUTO_DELETE_KEEP_MAX 1200
275 
276 
283 typedef enum
284 {
285  ALIVE_TEST_TCP_ACK_SERVICE = 1,
286  ALIVE_TEST_ICMP = 2,
287  ALIVE_TEST_ARP = 4,
288  ALIVE_TEST_CONSIDER_ALIVE = 8,
289  ALIVE_TEST_TCP_SYN_SERVICE = 16
290 } alive_test_t;
291 
298 typedef enum scanner_type
299 {
300  SCANNER_TYPE_NONE = 0,
301  SCANNER_TYPE_OSP,
302  SCANNER_TYPE_OPENVAS,
303  SCANNER_TYPE_CVE,
304  SCANNER_TYPE_GMP,
305  SCANNER_TYPE_OSP_SENSOR,
306  SCANNER_TYPE_MAX,
307 } scanner_type_t;
308 
309 typedef long long int agent_t;
310 typedef long long int config_t;
311 typedef long long int credential_t;
312 typedef long long int alert_t;
313 typedef long long int filter_t;
314 typedef long long int group_t;
315 typedef long long int host_t;
316 typedef long long int tag_t;
317 typedef long long int target_t;
318 typedef long long int task_t;
319 typedef long long int ticket_t;
320 typedef long long int tls_certificate_t;
321 typedef long long int result_t;
322 typedef long long int report_t;
323 typedef long long int report_host_t;
324 typedef long long int report_format_t;
325 typedef long long int report_format_param_t;
326 typedef long long int role_t;
327 typedef long long int note_t;
328 typedef long long int nvt_t;
329 typedef long long int override_t;
330 typedef long long int permission_t;
331 typedef long long int port_list_t;
332 typedef long long int port_range_t;
333 typedef long long int schedule_t;
334 typedef long long int scanner_t;
335 typedef long long int setting_t;
336 typedef long long int user_t;
337 
338 
339 /* GMP GET. */
340 
344 #define FILT_ID_NONE "0"
345 
349 #define FILT_ID_USER_SETTING "-2"
350 
354 typedef struct
355 {
356  int details;
357  char *filt_id;
358  char *filter;
361  char *id;
362  int trash;
363  gchar *type;
364  gchar *subtype;
367  int minimal;
368  GHashTable *extra_params;
369 } get_data_t;
370 
371 void
373 
374 const char *
375 get_data_get_extra (const get_data_t *, const char *);
376 
377 void
378 get_data_set_extra (get_data_t *, const char *, const char *);
379 
382 
383 const char*
384 get_iterator_uuid (iterator_t*);
385 
386 const char*
387 get_iterator_name (iterator_t*);
388 
389 const char*
391 
392 const char*
393 get_iterator_creation_time (iterator_t*);
394 
395 const char*
396 get_iterator_modification_time (iterator_t*);
397 
398 const char*
399 get_iterator_owner_name (iterator_t*);
400 
401 user_t
403 
404 
405 /* Resources. */
406 
407 int
408 manage_resource_name (const char *, const char *, char **);
409 
410 int
411 manage_trash_resource_name (const char *, const char *, char **);
412 
413 int
414 resource_count (const char *, const get_data_t *);
415 
416 int
417 resource_id_exists (const char *, const char *);
418 
419 int
420 trash_id_exists (const char *, const char *);
421 
422 gboolean
423 find_resource (const char*, const char*, resource_t*);
424 
425 const char *
426 type_name_plural (const char*);
427 
428 const char *
429 type_name (const char*);
430 
431 int
432 type_is_scap (const char*);
433 
434 int
435 delete_resource (const char *, const char *, int);
436 
437 
438 /* Events and Alerts. */
439 
443 typedef struct {
444  gchar *local_filename;
446  gchar *content_type;
449 
450 void
452 
453 void
455 
459 #define ALERT_MESSAGE_INCLUDE \
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 apply 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  "$i" \
471  "\n" \
472  "\n" \
473  "Note:\n" \
474  "This email was sent to you as a configured security scan escalation.\n" \
475  "Please contact your local system administrator if you think you\n" \
476  "should not have received it.\n"
477 
481 #define SECINFO_ALERT_MESSAGE_INCLUDE \
482  "Task '$n': $e\n" \
483  "\n" \
484  "After the event $e,\n" \
485  "the following condition was met: $c\n" \
486  "\n" \
487  "This email escalation is configured to apply report format '$r'.\n" \
488  "Full details and other report formats are available on the scan engine.\n" \
489  "\n" \
490  "$t" \
491  "\n" \
492  "$i" \
493  "\n" \
494  "\n" \
495  "Note:\n" \
496  "This email was sent to you as a configured security scan escalation.\n" \
497  "Please contact your local system administrator if you think you\n" \
498  "should not have received it.\n"
499 
503 #define ALERT_MESSAGE_ATTACH \
504  "Task '$n': $e\n" \
505  "\n" \
506  "After the event $e,\n" \
507  "the following condition was met: $c\n" \
508  "\n" \
509  "This email escalation is configured to attach report format '$r'.\n" \
510  "Full details and other report formats are available on the scan engine.\n" \
511  "\n" \
512  "$t" \
513  "\n" \
514  "Note:\n" \
515  "This email was sent to you as a configured security scan escalation.\n" \
516  "Please contact your local system administrator if you think you\n" \
517  "should not have received it.\n"
518 
522 #define SECINFO_ALERT_MESSAGE_ATTACH \
523  "Task '$n': $e\n" \
524  "\n" \
525  "After the event $e,\n" \
526  "the following condition was met: $c\n" \
527  "\n" \
528  "This email escalation is configured to attach report format '$r'.\n" \
529  "Full details and other report formats are available on the scan engine.\n" \
530  "\n" \
531  "$t" \
532  "\n" \
533  "Note:\n" \
534  "This email was sent to you as a configured security scan escalation.\n" \
535  "Please contact your local system administrator if you think you\n" \
536  "should not have received it.\n"
537 
541 #define ALERT_VFIRE_CALL_DESCRIPTION \
542  "GVM Task '$n': $e\n" \
543  "\n" \
544  "After the event $e,\n" \
545  "the following condition was met: $c\n" \
546  "\n" \
547  "This ticket includes reports in the following format(s):\n" \
548  "$r.\n" \
549  "Full details and other report formats are available on the scan engine.\n" \
550  "\n" \
551  "$t" \
552  "\n" \
553  "Note:\n" \
554  "This ticket was created automatically as a security scan escalation.\n" \
555  "Please contact your local system administrator if you think it\n" \
556  "was created or assigned erroneously.\n"
557 
561 typedef enum
562 {
563  EVENT_ERROR,
564  EVENT_TASK_RUN_STATUS_CHANGED,
565  EVENT_NEW_SECINFO,
566  EVENT_UPDATED_SECINFO,
567  EVENT_TICKET_RECEIVED,
568  EVENT_ASSIGNED_TICKET_CHANGED,
569  EVENT_OWNED_TICKET_CHANGED
570 } event_t;
571 
575 typedef enum
576 {
577  ALERT_METHOD_ERROR,
578  ALERT_METHOD_EMAIL,
579  ALERT_METHOD_HTTP_GET,
580  ALERT_METHOD_SOURCEFIRE,
581  ALERT_METHOD_START_TASK,
582  ALERT_METHOD_SYSLOG,
583  ALERT_METHOD_VERINICE,
584  ALERT_METHOD_SEND,
585  ALERT_METHOD_SCP,
586  ALERT_METHOD_SNMP,
587  ALERT_METHOD_SMB,
588  ALERT_METHOD_TIPPINGPOINT,
589  ALERT_METHOD_VFIRE,
590 } alert_method_t;
591 
595 typedef enum
596 {
597  ALERT_CONDITION_ERROR,
598  ALERT_CONDITION_ALWAYS,
599  ALERT_CONDITION_SEVERITY_AT_LEAST,
600  ALERT_CONDITION_SEVERITY_CHANGED,
601  ALERT_CONDITION_FILTER_COUNT_AT_LEAST,
602  ALERT_CONDITION_FILTER_COUNT_CHANGED
603 } alert_condition_t;
604 
605 int
606 manage_check_alerts (GSList *, const gchar *);
607 
608 int
609 create_alert (const char*, const char*, const char*, const char*, event_t,
610  GPtrArray*, alert_condition_t, GPtrArray*, alert_method_t,
611  GPtrArray*, alert_t*);
612 
613 int
614 copy_alert (const char*, const char*, const char*, alert_t*);
615 
616 int
617 modify_alert (const char*, const char*, const char*, const char*,
618  const char*, event_t, GPtrArray*, alert_condition_t, GPtrArray*,
619  alert_method_t, GPtrArray*);
620 
621 int
622 delete_alert (const char *, int);
623 
624 char *
625 alert_uuid (alert_t);
626 
627 gboolean
628 find_alert_with_permission (const char *, alert_t *, const char *);
629 
630 int
631 manage_alert (const char *, const char *, event_t, const void*, gchar **);
632 
633 int
634 manage_test_alert (const char *, gchar **);
635 
636 int
637 alert_in_use (alert_t);
638 
639 int
640 trash_alert_in_use (alert_t);
641 
642 int
643 alert_writable (alert_t);
644 
645 int
646 trash_alert_writable (alert_t);
647 
648 int
649 alert_count (const get_data_t *);
650 
651 int
653 
654 int
656 
657 int
659 
660 int
662 
663 char *
665 
666 char *
668 
669 int
671 
672 int
674 
675 int
677 
678 const char*
679 alert_condition_name (alert_condition_t);
680 
681 gchar*
682 alert_condition_description (alert_condition_t, alert_t);
683 
684 const char*
685 event_name (event_t);
686 
687 gchar*
688 event_description (event_t, const void *, const char *);
689 
690 const char*
691 alert_method_name (alert_method_t);
692 
693 alert_condition_t
694 alert_condition_from_name (const char*);
695 
696 event_t
697 event_from_name (const char*);
698 
699 alert_method_t
700 alert_method_from_name (const char*);
701 
702 void
703 init_alert_data_iterator (iterator_t *, alert_t, int, const char *);
704 
705 const char*
707 
708 const char*
710 
711 void
712 init_alert_task_iterator (iterator_t*, alert_t, int);
713 
714 const char*
716 
717 const char*
719 
720 int
722 
723 void
725 
726 const char*
727 task_alert_iterator_uuid (iterator_t*);
728 
729 const char*
730 task_alert_iterator_name (iterator_t*);
731 
732 
733 /* Task global variables and preprocessor variables. */
734 
738 extern task_t current_scanner_task;
739 
740 extern report_t global_current_report;
741 
742 
743 /* Task code specific to the representation of tasks. */
744 
745 unsigned int
746 task_count (const get_data_t *);
747 
748 int
750 
751 task_status_t
753 
754 const char *
756 
757 int
759 
760 int
762 
763 const char *
765 
766 const char *
768 
769 report_t
771 
772 const char *
774 
775 scanner_t
777 
778 const char *
780 
781 int
782 task_uuid (task_t, char **);
783 
784 int
785 task_in_trash (task_t);
786 
787 int
788 task_in_trash_id (const gchar *);
789 
790 int
791 task_in_use (task_t);
792 
793 int
794 trash_task_in_use (task_t);
795 
796 int
797 task_writable (task_t);
798 
799 int
800 task_alterable (task_t);
801 
802 int
803 trash_task_writable (task_t);
804 
805 int
807 
808 char*
809 task_owner_name (task_t);
810 
811 char*
812 task_name (task_t);
813 
814 char*
815 task_comment (task_t);
816 
817 char*
818 task_hosts_ordering (task_t);
819 
820 scanner_t
821 task_scanner (task_t);
822 
823 int
824 task_scanner_in_trash (task_t);
825 
826 config_t
827 task_config (task_t);
828 
829 char*
830 task_config_uuid (task_t);
831 
832 char*
833 task_config_name (task_t);
834 
835 int
836 task_config_in_trash (task_t);
837 
838 void
839 set_task_config (task_t, config_t);
840 
841 target_t
842 task_target (task_t);
843 
844 int
845 task_target_in_trash (task_t);
846 
847 void
848 set_task_target (task_t, target_t);
849 
850 void
851 set_task_hosts_ordering (task_t, const char *);
852 
853 void
854 set_task_scanner (task_t, scanner_t);
855 
856 void
857 set_task_usage_type (task_t, const char *);
858 
859 char*
860 task_description (task_t);
861 
862 void
863 set_task_description (task_t, char*, gsize);
864 
865 task_status_t
866 task_run_status (task_t);
867 
868 void
869 set_task_run_status (task_t, task_status_t);
870 
871 int
872 task_result_count (task_t, int);
873 
874 report_t
875 task_running_report (task_t);
876 
877 int
878 task_upload_progress (task_t);
879 
880 void
881 set_task_start_time_epoch (task_t, int);
882 
883 void
884 set_task_start_time_ctime (task_t, char*);
885 
886 void
887 set_task_end_time (task_t task, char* time);
888 
889 void
890 set_task_end_time_epoch (task_t, time_t);
891 
892 void
893 add_task_alert (task_t, alert_t);
894 
895 void
896 set_task_alterable (task_t, int);
897 
898 int
899 set_task_groups (task_t, array_t*, gchar**);
900 
901 int
902 set_task_schedule (task_t, schedule_t, int);
903 
904 int
905 set_task_schedule_periods (const gchar *, int);
906 
907 int
908 set_task_schedule_periods_id (task_t, int);
909 
910 unsigned int
911 task_report_count (task_t);
912 
913 int
914 task_last_report (task_t, report_t*);
915 
916 const char *
917 task_iterator_trend_counts (iterator_t *, int, int, int, double, int, int, int,
918  double);
919 
920 int
921 task_schedule_periods (task_t);
922 
923 int
924 task_schedule_periods_uuid (const gchar *);
925 
926 schedule_t
927 task_schedule (task_t);
928 
929 schedule_t
930 task_schedule_uuid (const gchar *);
931 
932 int
933 task_schedule_in_trash (task_t);
934 
935 time_t
936 task_schedule_next_time_uuid (const gchar *);
937 
938 int
939 task_schedule_next_time (task_t);
940 
941 int
942 task_debugs_size (task_t);
943 
944 int
945 task_holes_size (task_t);
946 
947 int
948 task_infos_size (task_t);
949 
950 int
951 task_logs_size (task_t);
952 
953 int
954 task_warnings_size (task_t);
955 
956 int
957 task_false_positive_size (task_t);
958 
959 task_t
960 make_task (char*, char*, int, int);
961 
962 void
963 make_task_complete (task_t);
964 
965 int
966 copy_task (const char*, const char*, const char *, int, task_t*);
967 
968 void
969 set_task_name (task_t, const char *);
970 
971 gboolean
972 find_task_with_permission (const char*, task_t*, const char *);
973 
974 gboolean
975 find_trash_task_with_permission (const char*, task_t*, const char *);
976 
977 void
978 reset_task (task_t);
979 
980 int
981 set_task_parameter (task_t, const char*, char*);
982 
983 char*
984 task_observers (task_t);
985 
986 int
987 set_task_observers (task_t, const gchar *);
988 
989 int
990 request_delete_task_uuid (const char *, int);
991 
992 int
993 request_delete_task (task_t*);
994 
995 int
996 delete_task (task_t, int);
997 
998 void
999 append_to_task_comment (task_t, const char*, int);
1000 
1001 void
1002 add_task_description_line (task_t, const char*, size_t);
1003 
1004 void
1005 set_scan_ports (report_t, const char*, unsigned int, unsigned int);
1006 
1007 void
1008 append_task_open_port (task_t task, const char *, const char*);
1009 
1010 int
1011 manage_task_update_file (const gchar *, const char *, const void *);
1012 
1013 int
1014 manage_task_remove_file (const gchar *, const char *);
1015 
1016 int
1017 modify_task (const gchar *, const gchar *, const gchar *, const gchar *,
1018  const gchar *, const gchar *, const gchar *, array_t *,
1019  const gchar *, array_t *, const gchar *, const gchar *,
1020  array_t *, const gchar *, gchar **, gchar **);
1021 
1022 void
1023 init_config_file_iterator (iterator_t*, const char*, const char*);
1024 
1025 const char*
1026 config_file_iterator_content (iterator_t*);
1027 
1028 int
1029 config_file_iterator_length (iterator_t*);
1030 
1031 void
1032 init_config_task_iterator (iterator_t*, config_t, int);
1033 
1034 const char*
1035 config_task_iterator_name (iterator_t*);
1036 
1037 const char*
1038 config_task_iterator_uuid (iterator_t*);
1039 
1040 int
1042 
1043 
1044 /* General severity related facilities. */
1045 
1046 int
1047 severity_in_level (double, const char *);
1048 
1049 const char*
1050 severity_to_level (double, int);
1051 
1052 const char*
1053 severity_to_type (double);
1054 
1058 typedef struct
1059 {
1060  int* counts;
1061  int total;
1062  double max;
1063 } severity_data_t;
1064 
1065 double
1066 severity_data_value (int);
1067 
1068 void
1070 
1071 void
1073 
1074 void
1076 
1077 void
1079 
1080 void
1081 severity_data_level_counts (const severity_data_t*, const gchar*,
1082  int*, int*, int*, int*, int*, int*, int*);
1083 
1084 
1085 /* General task facilities. */
1086 
1087 const char*
1088 run_status_name (task_status_t);
1089 
1090 int
1091 start_task (const char *, char**);
1092 
1093 int
1094 stop_task (const char *);
1095 
1096 int
1097 resume_task (const char *, char **);
1098 
1099 int
1100 move_task (const char*, const char*);
1101 
1102 
1103 /* Access control. */
1104 
1105 int
1106 user_may (const char *);
1107 
1108 extern int
1109 user_can_everything (const char *);
1110 
1111 extern int
1112 user_can_super_everyone (const char *);
1113 
1114 extern int
1115 user_has_super (const char *, user_t);
1116 
1117 
1118 /* Results. */
1119 
1123 #define LSC_FAMILY_LIST \
1124  "'AIX Local Security Checks'," \
1125  " 'CentOS Local Security Checks'," \
1126  " 'Debian Local Security Checks'," \
1127  " 'Fedora Local Security Checks'," \
1128  " 'FreeBSD Local Security Checks'," \
1129  " 'Gentoo Local Security Checks'," \
1130  " 'HP-UX Local Security Checks'," \
1131  " 'Mac OS X Local Security Checks'," \
1132  " 'Mandrake Local Security Checks'," \
1133  " 'Red Hat Local Security Checks'," \
1134  " 'Solaris Local Security Checks'," \
1135  " 'SuSE Local Security Checks'," \
1136  " 'Ubuntu Local Security Checks'," \
1137  " 'Windows : Microsoft Bulletins'," \
1138  " 'Privilege escalation'"
1139 
1140 gboolean
1141 find_result_with_permission (const char*, result_t*, const char *);
1142 
1143 int
1144 result_uuid (result_t, char **);
1145 
1146 int
1147 result_detection_reference (result_t, report_t, const char *, const char *,
1148  char **, char **, char **, char **);
1149 
1150 /* Reports. */
1151 
1153 #define OVAS_MANAGE_REPORT_ID_LENGTH UUID_LEN_STR
1154 
1158 #define APPLY_OVERRIDES_DEFAULT 0
1159 
1163 #define QOD_DEFAULT 75
1164 
1168 #define MIN_QOD_DEFAULT 70
1169 
1170 void
1171 reports_clear_count_cache (int);
1172 
1173 void
1174 reports_clear_count_cache_for_override (override_t, int);
1175 
1176 void
1177 init_report_counts_build_iterator (iterator_t *, report_t, int, int,
1178  const char*);
1179 
1180 double
1181 report_severity (report_t, int, int);
1182 
1183 int
1184 report_host_count (report_t);
1185 
1186 int
1187 report_result_host_count (report_t, int);
1188 
1189 gboolean
1190 find_report_with_permission (const char *, report_t *, const char *);
1191 
1192 report_t
1193 make_report (task_t, const char *, task_status_t);
1194 
1195 int
1196 qod_from_type (const char *);
1197 
1198 result_t
1199 make_result (task_t, const char*, const char*, const char*, const char*,
1200  const char*, const char*);
1201 
1202 result_t
1203 make_osp_result (task_t, const char*, const char*, const char*, const char*,
1204  const char *, const char *, const char *, int);
1205 
1206 result_t
1207 make_cve_result (task_t, const char*, const char*, double, const char*);
1208 
1212 typedef struct
1213 {
1214  char *description;
1215  char *host;
1216  char *hostname;
1217  char *nvt_oid;
1219  char *port;
1220  char *qod;
1221  char *qod_type;
1222  char *severity;
1223  char *threat;
1225 
1229 typedef struct
1230 {
1231  char *ip;
1232  char *name;
1233  char *source_desc;
1234  char *source_name;
1235  char *source_type;
1236  char *value;
1237 } host_detail_t;
1238 
1239 void
1241 
1242 void
1243 insert_report_host_detail (report_t, const char *, const char *, const char *,
1244  const char *, const char *, const char *);
1245 
1246 int
1247 manage_report_host_detail (report_t, const char *, const char *);
1248 
1249 void
1250 hosts_set_identifiers (report_t);
1251 
1252 void
1253 hosts_set_max_severity (report_t, int*, int*);
1254 
1255 void
1256 hosts_set_details (report_t report);
1257 
1258 void
1259 clear_duration_schedules (task_t);
1260 
1261 void
1263 
1264 int
1265 create_report (array_t*, const char *, const char *, const char *, const char *,
1266  array_t*, array_t*, array_t*, char **);
1267 
1268 void
1269 report_add_result (report_t, result_t);
1270 
1271 char*
1272 report_uuid (report_t);
1273 
1274 void
1275 report_set_slave_uuid (report_t, const gchar *);
1276 
1277 void
1278 report_set_slave_name (report_t, const gchar *);
1279 
1280 void
1281 report_set_slave_host (report_t, const gchar *);
1282 
1283 void
1284 report_set_slave_port (report_t, int);
1285 
1286 void
1287 report_set_slave_username (report_t, const gchar *);
1288 
1289 void
1290 report_set_slave_password (report_t, const gchar *);
1291 
1292 void
1293 report_set_source_iface (report_t, const gchar *);
1294 
1295 int
1296 task_last_resumable_report (task_t, report_t *);
1297 
1298 gchar*
1300 
1301 gchar*
1302 report_path_task_uuid (gchar*);
1303 
1304 gboolean
1305 report_task (report_t, task_t*);
1306 
1307 void
1308 report_compliance_by_uuid (const char *, int *, int *, int *);
1309 
1310 char *
1311 report_slave_task_uuid (report_t);
1312 
1313 int
1314 report_scan_result_count (report_t, const char*, const char*, int, const char*,
1315  const char*, int, int, int*);
1316 
1317 int
1318 report_counts (const char*, int*, int*, int*, int*, int*, int*, double*,
1319  int, int, int);
1320 
1321 int
1322 report_counts_id (report_t, int*, int*, int*, int*, int*, int*, double*,
1323  const get_data_t*, const char*);
1324 
1325 int
1326 report_counts_id_no_filt (report_t, int*, int*, int*, int*, int*, int*,
1327  double*, const get_data_t*, const char*);
1328 
1329 get_data_t*
1330 report_results_get_data (int, int, int, int, int);
1331 
1332 int
1333 scan_start_time_epoch (report_t);
1334 
1335 char*
1336 scan_start_time_uuid (const char *);
1337 
1338 char*
1339 scan_end_time_uuid (const char *);
1340 
1341 void
1342 set_scan_start_time_ctime (report_t, const char*);
1343 
1344 void
1345 set_scan_start_time_epoch (report_t, time_t);
1346 
1347 void
1348 set_scan_end_time (report_t, const char*);
1349 
1350 void
1351 set_scan_end_time_ctime (report_t, const char*);
1352 
1353 void
1354 set_scan_end_time_epoch (report_t, time_t);
1355 
1356 void
1357 set_scan_host_start_time_ctime (report_t, const char*, const char*);
1358 
1359 int
1360 scan_host_end_time (report_t, const char*);
1361 
1362 void
1363 set_scan_host_end_time (report_t, const char*, const char*);
1364 
1365 void
1366 set_scan_host_end_time_ctime (report_t, const char*, const char*);
1367 
1368 int
1369 report_timestamp (const char*, gchar**);
1370 
1371 int
1372 modify_report (const char*, const char*);
1373 
1374 int
1375 delete_report (const char *, int);
1376 
1377 int
1378 report_count (const get_data_t *);
1379 
1380 int
1382 
1383 void
1385 
1386 void
1388 
1389 const char*
1390 report_iterator_uuid (iterator_t*);
1391 
1392 int
1393 result_count (const get_data_t *, report_t, const char*);
1394 
1395 int
1396 init_result_get_iterator (iterator_t*, const get_data_t *, report_t,
1397  const char*, const gchar *);
1398 
1399 gboolean
1400 next_report (iterator_t*, report_t*);
1401 
1402 result_t
1404 
1405 const char*
1406 result_iterator_host (iterator_t*);
1407 
1408 const char*
1409 result_iterator_port (iterator_t*);
1410 
1411 const char*
1412 result_iterator_nvt_oid (iterator_t*);
1413 
1414 const char*
1416 
1417 const char*
1419 
1420 const char*
1422 
1423 const char*
1425 
1426 const char*
1428 
1429 const char*
1431 
1432 const char*
1434 
1435 const char*
1437 
1438 const char*
1440 
1441 const char*
1443 
1444 void
1445 result_iterator_nvt_refs_append (GString *, iterator_t *, int *);
1446 
1447 const char*
1449 
1450 const char*
1451 result_iterator_descr (iterator_t*);
1452 
1453 task_t
1455 
1456 report_t
1458 
1459 const char*
1461 
1462 const char*
1464 
1465 const char*
1467 
1468 double
1470 
1471 const char*
1473 
1474 const char*
1476 
1477 const char*
1478 result_iterator_solution_type (iterator_t*);
1479 
1480 const char*
1481 result_iterator_qod (iterator_t*);
1482 
1483 const char*
1484 result_iterator_qod_type (iterator_t*);
1485 
1486 const char*
1487 result_iterator_hostname (iterator_t*);
1488 
1489 const char*
1490 result_iterator_date (iterator_t*);
1491 
1492 const char*
1493 result_iterator_detected_by_oid (iterator_t*);
1494 
1495 const char*
1496 result_iterator_asset_host_id (iterator_t*);
1497 
1498 int
1500 
1501 int
1503 
1504 int
1506 
1507 int
1509 
1510 int
1512 
1513 void
1514 init_report_host_iterator (iterator_t*, report_t, const char *, report_host_t);
1515 
1516 const char*
1517 host_iterator_host (iterator_t*);
1518 
1519 const char*
1520 host_iterator_start_time (iterator_t*);
1521 
1522 const char*
1523 host_iterator_end_time (iterator_t*);
1524 
1525 int
1527 
1528 int
1530 
1531 int
1532 collate_message_type (void* data, int, const void*, int, const void*);
1533 
1534 void
1535 trim_partial_report (report_t);
1536 
1537 int
1538 report_progress (report_t, task_t, gchar **);
1539 
1540 gchar *
1541 manage_report (report_t, report_t, const get_data_t *, report_format_t,
1542  int, int, gsize *, gchar **, gchar **, gchar **, gchar **,
1543  gchar **);
1544 
1545 int
1546 manage_send_report (report_t, report_t, report_format_t, const get_data_t *,
1547  int, int, int, int, int, int,
1548  gboolean (*) (const char *,
1549  int (*) (const char*, void*),
1550  void*),
1551  int (*) (const char *, void*), void *, const char *,
1552  const gchar *);
1553 
1554 
1555 
1556 /* Reports. */
1557 
1558 gchar *
1559 app_location (report_host_t, const gchar *);
1560 
1561 void
1562 init_host_prognosis_iterator (iterator_t*, report_host_t);
1563 
1564 double
1566 
1567 const char*
1568 prognosis_iterator_cpe (iterator_t*);
1569 
1570 const char*
1571 prognosis_iterator_cve (iterator_t*);
1572 
1573 const char*
1574 prognosis_iterator_description (iterator_t*);
1575 
1576 
1577 /* Targets. */
1578 
1584 #define MANAGE_ABSOLUTE_MAX_IPS_PER_TARGET 70000
1585 
1589 #define MANAGE_MAX_HOSTS 4095
1590 
1594 #define MANAGE_USER_MAX_HOSTS 16777216
1595 
1596 int
1597 manage_max_hosts ();
1598 
1599 void
1600 manage_filter_controls (const gchar *, int *, int *, gchar **, int *);
1601 
1602 void
1603 manage_report_filter_controls (const gchar *, int *, int *, gchar **, int *,
1604  int *, gchar **, gchar **, gchar **, gchar **,
1605  int *, int *, int *, int *, int *, gchar **);
1606 
1607 gchar *
1608 manage_clean_filter (const gchar *);
1609 
1610 gchar *
1611 manage_clean_filter_remove (const gchar *, const gchar *);
1612 
1613 int
1614 manage_count_hosts (const char *, const char *);
1615 
1616 gboolean
1617 find_target_with_permission (const char *, target_t *, const char *);
1618 
1619 int
1620 create_target (const char*, const char*, const char*, const char*, const char*,
1621  const char *, const char*, credential_t, const char*,
1622  credential_t, credential_t, credential_t, const char *,
1623  const char *, const char *, target_t*);
1624 
1625 int
1626 copy_target (const char*, const char*, const char *, target_t*);
1627 
1628 int
1629 modify_target (const char*, const char*, const char*, const char*, const char*,
1630  const char*, const char*, const char*, const char*, const char*,
1631  const char*, const char *, const char*, const char*);
1632 
1633 int
1634 delete_target (const char*, int);
1635 
1636 int
1637 target_count (const get_data_t *);
1638 
1639 void
1640 init_user_target_iterator (iterator_t*, target_t);
1641 
1642 void
1644 
1645 int
1647 
1648 const char*
1649 target_iterator_hosts (iterator_t*);
1650 
1651 const char*
1652 target_iterator_exclude_hosts (iterator_t*);
1653 
1654 const char*
1655 target_iterator_reverse_lookup_only (iterator_t*);
1656 
1657 const char*
1658 target_iterator_reverse_lookup_unify (iterator_t*);
1659 
1660 const char*
1661 target_iterator_comment (iterator_t*);
1662 
1663 int
1665 
1666 const char*
1667 target_iterator_ssh_port (iterator_t*);
1668 
1669 int
1671 
1672 int
1674 
1675 int
1677 
1678 int
1680 
1681 int
1683 
1684 int
1686 
1687 int
1689 
1690 const char*
1691 target_iterator_port_list_uuid (iterator_t*);
1692 
1693 const char*
1694 target_iterator_port_list_name (iterator_t*);
1695 
1696 int
1698 
1699 const char*
1701 
1702 char*
1703 target_uuid (target_t);
1704 
1705 char*
1706 trash_target_uuid (target_t);
1707 
1708 char*
1709 target_name (target_t);
1710 
1711 char*
1712 trash_target_name (target_t);
1713 
1714 int
1715 trash_target_readable (target_t);
1716 
1717 char*
1718 target_hosts (target_t);
1719 
1720 char*
1721 target_exclude_hosts (target_t);
1722 
1723 char*
1724 target_reverse_lookup_only (target_t);
1725 
1726 char*
1727 target_reverse_lookup_unify (target_t);
1728 
1729 char*
1730 target_port_range (target_t);
1731 
1732 char*
1733 target_ssh_port (target_t);
1734 
1735 int
1736 target_in_use (target_t);
1737 
1738 int
1739 trash_target_in_use (target_t);
1740 
1741 int
1742 target_writable (target_t);
1743 
1744 int
1745 trash_target_writable (target_t);
1746 
1747 char*
1748 target_ssh_credential_name (const char *);
1749 
1750 void
1752 
1753 const char*
1754 target_task_iterator_name (iterator_t*);
1755 
1756 const char*
1757 target_task_iterator_uuid (iterator_t*);
1758 
1759 int
1761 
1762 credential_t
1763 target_credential (target_t, const char*);
1764 
1765 int
1766 target_login_port (target_t, const char*);
1767 
1768 
1769 /* Configs. */
1770 
1774 typedef struct
1775 {
1776  char *name;
1777  char *id;
1778  char *type;
1779  char *value;
1780  char *nvt_name;
1781  char *nvt_oid;
1782  array_t *alts;
1784  char *hr_name;
1785 } preference_t;
1786 
1790 typedef struct
1791 {
1792  char *name;
1793  char *type;
1794  int include;
1796 } nvt_selector_t;
1797 
1798 int
1799 create_config (const char*, const char*, const array_t*, const array_t*,
1800  const char*, const char*, config_t*, char**);
1801 
1802 int
1803 create_config_from_scanner (const char*, const char *, const char *,
1804  const char *, char **);
1805 
1806 int
1807 copy_config (const char*, const char*, const char *, const char *, config_t*);
1808 
1809 int
1810 delete_config (const char*, int);
1811 
1812 int
1813 sync_config (const char *);
1814 
1815 gboolean
1816 find_config_with_permission (const char*, config_t*, const char *);
1817 
1818 char *
1819 config_uuid (config_t);
1820 
1821 int
1822 config_type (config_t);
1823 
1824 char *
1825 config_nvt_timeout (config_t, const char *);
1826 
1827 void
1828 init_user_config_iterator (iterator_t*, config_t, int, int, const char*);
1829 
1830 int
1832 
1833 const char*
1834 config_iterator_nvt_selector (iterator_t*);
1835 
1836 int
1838 
1839 int
1841 
1842 int
1844 
1845 int
1847 
1848 int
1850 
1851 scanner_t
1853 
1854 int
1856 
1857 const char*
1858 config_iterator_usage_type (iterator_t*);
1859 
1860 char*
1861 config_nvt_selector (config_t);
1862 
1863 int
1864 config_in_use (config_t);
1865 
1866 int
1867 config_writable (config_t);
1868 
1869 int
1870 config_count (const get_data_t *);
1871 
1872 int
1873 trash_config_in_use (config_t);
1874 
1875 int
1876 trash_config_writable (config_t);
1877 
1878 int
1879 trash_config_readable_uuid (const gchar *);
1880 
1881 int
1882 config_families_growing (config_t);
1883 
1884 int
1885 config_nvts_growing (config_t);
1886 
1887 int
1888 create_task_check_config_scanner (config_t, scanner_t);
1889 
1890 int
1891 modify_task_check_config_scanner (task_t, const char *, const char *);
1892 
1893 int
1894 manage_set_config_preference (const gchar *, const char*, const char*,
1895  const char*);
1896 
1897 void
1899 
1900 const char*
1901 config_preference_iterator_name (iterator_t *);
1902 
1903 const char*
1904 config_preference_iterator_value (iterator_t *);
1905 
1906 const char*
1907 config_preference_iterator_type (iterator_t *);
1908 
1909 const char*
1910 config_preference_iterator_default (iterator_t *);
1911 
1912 const char*
1913 config_preference_iterator_hr_name (iterator_t *);
1914 
1915 int
1916 manage_set_config (const gchar *, const char*, const char *, const char *);
1917 
1918 int
1919 manage_set_config_nvts (const gchar *, const char*, GPtrArray*);
1920 
1921 int
1922 manage_set_config_families (const gchar *, GPtrArray*, GPtrArray*, GPtrArray*,
1923  int);
1924 
1925 void
1927 
1928 const char*
1929 config_timeout_iterator_oid (iterator_t *);
1930 
1931 const char*
1932 config_timeout_iterator_nvt_name (iterator_t *);
1933 
1934 const char*
1935 config_timeout_iterator_value (iterator_t *);
1936 
1937 void
1938 update_config_preference (const char *, const char *, const char *,
1939  const char *, gboolean);
1940 
1941 
1942 /* NVT's. */
1943 
1944 char *
1945 manage_nvt_name (nvt_t);
1946 
1947 char *
1948 nvt_name (const char *);
1949 
1950 char*
1952 
1953 time_t
1955 
1956 void
1957 set_nvts_feed_version (const char*);
1958 
1959 gboolean
1960 find_nvt (const char*, nvt_t*);
1961 
1962 int
1963 init_nvt_info_iterator (iterator_t*, get_data_t*, const char*);
1964 
1965 int
1966 nvt_info_count (const get_data_t *);
1967 
1968 void
1969 init_nvt_iterator (iterator_t*, nvt_t, config_t, const char*, const char*, int,
1970  const char*);
1971 
1972 void
1973 init_cve_nvt_iterator (iterator_t*, const char *, int, const char*);
1974 
1975 const char*
1976 nvt_iterator_oid (iterator_t*);
1977 
1978 const char*
1979 nvt_iterator_version (iterator_t*);
1980 
1981 const char*
1982 nvt_iterator_name (iterator_t*);
1983 
1984 const char*
1985 nvt_iterator_summary (iterator_t*);
1986 
1987 const char*
1988 nvt_iterator_insight (iterator_t*);
1989 
1990 const char*
1991 nvt_iterator_affected (iterator_t*);
1992 
1993 const char*
1994 nvt_iterator_impact (iterator_t*);
1995 
1996 const char*
1997 nvt_iterator_description (iterator_t*);
1998 
1999 const char*
2000 nvt_iterator_tag (iterator_t*);
2001 
2002 int
2004 
2005 const char*
2006 nvt_iterator_family (iterator_t*);
2007 
2008 const char*
2009 nvt_iterator_cvss_base (iterator_t*);
2010 
2011 const char*
2012 nvt_iterator_detection (iterator_t*);
2013 
2014 const char*
2015 nvt_iterator_qod (iterator_t*);
2016 
2017 const char*
2018 nvt_iterator_qod_type ( iterator_t *iterator );
2019 
2020 const char*
2021 nvt_iterator_solution (iterator_t*);
2022 
2023 const char*
2024 nvt_iterator_solution_type (iterator_t*);
2025 
2026 char*
2027 nvt_default_timeout (const char *);
2028 
2029 int
2030 family_nvt_count (const char *);
2031 
2032 
2033 /* NVT selectors. */
2034 
2038 #define NVT_SELECTOR_TYPE_ALL 0
2039 
2043 #define NVT_SELECTOR_TYPE_FAMILY 1
2044 
2048 #define NVT_SELECTOR_TYPE_NVT 2
2049 
2053 #define NVT_SELECTOR_TYPE_ANY 999
2054 
2055 void
2056 init_family_iterator (iterator_t*, int, const char*, int);
2057 
2058 const char*
2059 family_iterator_name (iterator_t*);
2060 
2061 int
2062 nvt_selector_family_growing (const char *, const char *, int);
2063 
2064 int
2065 nvt_selector_family_count (const char*, int);
2066 
2067 int
2068 nvt_selector_nvt_count (const char *, const char *, int);
2069 
2070 void
2071 init_nvt_selector_iterator (iterator_t*, const char*, config_t, int);
2072 
2073 const char*
2074 nvt_selector_iterator_nvt (iterator_t*);
2075 
2076 const char*
2077 nvt_selector_iterator_name (iterator_t*);
2078 
2079 int
2081 
2082 int
2084 
2085 
2086 /* NVT preferences. */
2087 
2088 void
2089 manage_nvt_preference_add (const char*, const char*);
2090 
2091 void
2093 
2094 void
2096 
2097 const char*
2098 nvt_preference_iterator_name (iterator_t*);
2099 
2100 const char*
2101 nvt_preference_iterator_value (iterator_t*);
2102 
2103 char*
2105 
2106 char*
2108 
2109 char*
2111 
2112 char*
2114 
2115 char*
2117 
2118 int
2119 nvt_preference_count (const char *);
2120 
2121 void
2122 nvti_refs_append_xml (GString *, const char *, int *);
2123 
2124 gchar*
2125 get_nvti_xml (iterator_t*, int, int, int, const char*, config_t, int);
2126 
2127 char*
2128 task_preference_value (task_t, const char *);
2129 
2130 int
2131 set_task_preferences (task_t, array_t *);
2132 
2133 void
2135 
2136 const char*
2137 task_group_iterator_name (iterator_t*);
2138 
2139 const char*
2140 task_group_iterator_uuid (iterator_t*);
2141 
2142 void
2144 
2145 const char*
2146 task_role_iterator_name (iterator_t*);
2147 
2148 const char*
2149 task_role_iterator_uuid (iterator_t*);
2150 
2151 
2152 /* Credentials. */
2153 
2157 typedef enum
2158 {
2159  CREDENTIAL_FORMAT_NONE = 0,
2160  CREDENTIAL_FORMAT_KEY = 1,
2161  CREDENTIAL_FORMAT_RPM = 2,
2162  CREDENTIAL_FORMAT_DEB = 3,
2163  CREDENTIAL_FORMAT_EXE = 4,
2164  CREDENTIAL_FORMAT_PEM = 5,
2165  CREDENTIAL_FORMAT_ERROR = -1
2166 } credential_format_t;
2167 
2168 gboolean
2169 find_credential_with_permission (const char*, credential_t*, const char*);
2170 
2171 int
2172 create_credential (const char*, const char*, const char*, const char*,
2173  const char*, const char*, const char*, const char*,
2174  const char*, const char*, const char*, const char*,
2175  const char*, credential_t*);
2176 
2177 int
2178 copy_credential (const char*, const char*, const char*,
2179  credential_t*);
2180 
2181 int
2182 modify_credential (const char*, const char*, const char*, const char*,
2183  const char*, const char*, const char*, const char*,
2184  const char*, const char*, const char*, const char*,
2185  const char*);
2186 
2187 int
2188 delete_credential (const char *, int);
2189 
2190 int
2191 credential_count (const get_data_t *);
2192 
2193 void
2194 set_credential_privacy_algorithm (credential_t, const char *);
2195 
2196 void
2197 set_credential_public_key (credential_t, const char *);
2198 
2199 void
2200 init_credential_iterator_one (iterator_t*, credential_t);
2201 
2202 int
2204 
2205 const char*
2206 credential_iterator_login (iterator_t*);
2207 
2208 const char*
2209 credential_iterator_auth_algorithm (iterator_t*);
2210 
2211 const char*
2212 credential_iterator_privacy_algorithm (iterator_t*);
2213 
2214 const char*
2216 
2217 const char*
2219 
2220 const char*
2222 
2223 const char*
2224 credential_iterator_public_key (iterator_t*);
2225 
2226 const char*
2228 
2229 const char*
2230 credential_iterator_type (iterator_t*);
2231 
2232 int
2234 
2235 const char*
2236 credential_full_type (const char*);
2237 
2238 char*
2240 
2241 char*
2243 
2244 char*
2246 
2247 const char*
2248 credential_iterator_certificate (iterator_t*);
2249 
2250 gboolean
2251 credential_iterator_format_available (iterator_t*, credential_format_t);
2252 
2253 gchar *
2255 
2256 char*
2257 credential_uuid (credential_t);
2258 
2259 char*
2260 trash_credential_uuid (credential_t);
2261 
2262 char*
2263 credential_name (credential_t);
2264 
2265 char*
2266 trash_credential_name (credential_t);
2267 
2268 char*
2269 credential_type (credential_t);
2270 
2271 void
2272 init_credential_target_iterator (iterator_t*, credential_t, int);
2273 
2274 const char*
2275 credential_target_iterator_uuid (iterator_t*);
2276 
2277 const char*
2278 credential_target_iterator_name (iterator_t*);
2279 
2280 int
2282 
2283 void
2284 init_credential_scanner_iterator (iterator_t*, credential_t, int);
2285 
2286 const char*
2287 credential_scanner_iterator_uuid (iterator_t*);
2288 
2289 const char*
2290 credential_scanner_iterator_name (iterator_t*);
2291 
2292 int
2294 
2295 int
2296 trash_credential_in_use (credential_t);
2297 
2298 int
2299 credential_in_use (credential_t);
2300 
2301 int
2302 trash_credential_writable (credential_t);
2303 
2304 int
2305 credential_writable (credential_t);
2306 
2307 int
2308 trash_credential_readable (credential_t);
2309 
2310 gchar*
2311 credential_value (credential_t, const char*);
2312 
2313 gchar*
2314 credential_encrypted_value (credential_t, const char*);
2315 
2316 
2317 
2318 /* Agents. */
2319 
2320 int
2321 create_agent (const char*, const char*, const char*, const char*, const char*,
2322  const char*, const char*, agent_t*);
2323 
2324 int
2325 copy_agent (const char*, const char*, const char *, agent_t *);
2326 
2327 int
2328 modify_agent (const char*, const char*, const char*);
2329 
2330 int
2331 delete_agent (const char *, int);
2332 
2333 int
2334 agent_in_use (agent_t);
2335 
2336 int
2337 trash_agent_in_use (agent_t);
2338 
2339 int
2340 trash_agent_writable (agent_t);
2341 
2342 int
2343 agent_writable (agent_t);
2344 
2345 int
2346 verify_agent (const char *);
2347 
2348 char *
2349 agent_uuid (agent_t);
2350 
2351 int
2352 agent_count (const get_data_t *);
2353 
2354 int
2356 
2357 const char*
2358 agent_iterator_installer_64 (iterator_t*);
2359 
2360 const char*
2361 agent_iterator_installer_filename (iterator_t*);
2362 
2363 const char*
2365 
2366 time_t
2368 
2369 const char*
2370 agent_iterator_howto_install (iterator_t*);
2371 
2372 const char*
2373 agent_iterator_howto_use (iterator_t*);
2374 
2375 
2376 /* Assets. */
2377 
2378 char *
2379 result_host_asset_id (const char *, result_t);
2380 
2381 char*
2382 host_uuid (resource_t);
2383 
2384 host_t
2385 host_notice (const char *, const char *, const char *, const char *,
2386  const char *, int, int);
2387 
2388 void
2389 init_host_identifier_iterator (iterator_t*, host_t, int, const char*);
2390 
2391 const char*
2392 host_identifier_iterator_value (iterator_t *);
2393 
2394 const char*
2395 host_identifier_iterator_source_type (iterator_t *);
2396 
2397 const char*
2398 host_identifier_iterator_source_id (iterator_t *);
2399 
2400 const char*
2401 host_identifier_iterator_source_data (iterator_t *);
2402 
2403 int
2404 host_identifier_iterator_source_orphan (iterator_t *);
2405 
2406 const char*
2407 host_identifier_iterator_os_id (iterator_t *);
2408 
2409 const char*
2410 host_identifier_iterator_os_title (iterator_t *);
2411 
2412 int
2413 init_asset_host_iterator (iterator_t *, const get_data_t *);
2414 
2415 int
2416 asset_iterator_writable (iterator_t *);
2417 
2418 int
2419 asset_iterator_in_use (iterator_t *);
2420 
2421 const char*
2422 asset_host_iterator_severity (iterator_t *);
2423 
2424 int
2425 asset_host_count (const get_data_t *);
2426 
2427 int
2428 init_asset_os_iterator (iterator_t *, const get_data_t *);
2429 
2430 const char*
2431 asset_os_iterator_title (iterator_t *);
2432 
2433 int
2434 asset_os_iterator_installs (iterator_t *);
2435 
2436 const char*
2437 asset_os_iterator_latest_severity (iterator_t *);
2438 
2439 const char*
2440 asset_os_iterator_highest_severity (iterator_t *);
2441 
2442 const char*
2443 asset_os_iterator_average_severity (iterator_t *);
2444 
2445 int
2446 asset_os_count (const get_data_t *);
2447 
2448 int
2449 total_asset_count (const get_data_t *);
2450 
2451 void
2452 init_os_host_iterator (iterator_t *, resource_t);
2453 
2454 const char*
2455 os_host_iterator_severity (iterator_t *);
2456 
2457 void
2458 init_host_detail_iterator (iterator_t *, resource_t);
2459 
2460 const char*
2461 host_detail_iterator_name (iterator_t *);
2462 
2463 const char*
2464 host_detail_iterator_value (iterator_t *);
2465 
2466 const char*
2467 host_detail_iterator_source_type (iterator_t *);
2468 
2469 const char*
2470 host_detail_iterator_source_id (iterator_t *);
2471 
2472 int
2473 modify_asset (const char *, const char *);
2474 
2475 int
2476 delete_asset (const char *, const char *, int);
2477 
2478 int
2479 create_asset_report (const char *, const char *);
2480 
2481 int
2482 create_asset_host (const char *, const char *, resource_t* );
2483 
2484 int
2485 add_assets_from_host_in_report (report_t report, const char *host);
2486 
2487 
2488 /* Notes. */
2489 
2490 gboolean
2491 find_note_with_permission (const char*, note_t*, const char *);
2492 
2493 int
2494 create_note (const char*, const char*, const char*, const char*, const char*,
2495  const char*, const char*, task_t, result_t, note_t*);
2496 
2497 int
2498 copy_note (const char*, note_t*);
2499 
2500 int
2501 delete_note (const char *, int);
2502 
2503 int
2504 note_uuid (note_t, char **);
2505 
2506 int
2507 modify_note (const gchar *, const char *, const char *, const char *,
2508  const char *, const char *, const char *, const char *,
2509  const gchar *, const gchar *);
2510 
2511 int
2512 note_count (const get_data_t *, nvt_t, result_t, task_t);
2513 
2514 int
2515 init_note_iterator (iterator_t*, const get_data_t*, nvt_t, result_t, task_t);
2516 
2517 const char*
2518 note_iterator_nvt_oid (iterator_t*);
2519 
2520 time_t
2521 note_iterator_creation_time (iterator_t*);
2522 
2523 time_t
2524 note_iterator_modification_time (iterator_t*);
2525 
2526 const char*
2527 note_iterator_text (iterator_t*);
2528 
2529 const char*
2530 note_iterator_hosts (iterator_t*);
2531 
2532 const char*
2533 note_iterator_port (iterator_t*);
2534 
2535 const char*
2537 
2538 task_t
2540 
2541 result_t
2543 
2544 time_t
2546 
2547 int
2549 
2550 const char*
2551 note_iterator_nvt_name (iterator_t *);
2552 
2553 const char *
2555 
2556 const char*
2557 note_iterator_severity (iterator_t *);
2558 
2559 
2560 /* Overrides. */
2561 
2562 gboolean
2563 find_override_with_permission (const char*, override_t*, const char *);
2564 
2565 int
2566 create_override (const char*, const char*, const char*, const char*,
2567  const char*, const char*, const char*, const char*,
2568  const char*, task_t, result_t, override_t*);
2569 
2570 int
2571 override_uuid (override_t, char **);
2572 
2573 int
2574 copy_override (const char*, override_t*);
2575 
2576 int
2577 delete_override (const char *, int);
2578 
2579 int
2580 modify_override (const gchar *, const char *, const char *, const char *,
2581  const char *, const char *, const char *, const char *,
2582  const char *, const char *, const gchar *, const gchar *);
2583 
2584 int
2585 override_count (const get_data_t *, nvt_t, result_t, task_t);
2586 
2587 int
2588 init_override_iterator (iterator_t*, const get_data_t*, nvt_t, result_t,
2589  task_t);
2590 
2591 const char*
2592 override_iterator_nvt_oid (iterator_t*);
2593 
2594 time_t
2595 override_iterator_creation_time (iterator_t*);
2596 
2597 time_t
2598 override_iterator_modification_time (iterator_t*);
2599 
2600 const char*
2601 override_iterator_text (iterator_t*);
2602 
2603 const char*
2604 override_iterator_hosts (iterator_t*);
2605 
2606 const char*
2607 override_iterator_port (iterator_t*);
2608 
2609 const char*
2611 
2612 const char*
2614 
2615 task_t
2617 
2618 result_t
2620 
2621 time_t
2623 
2624 int
2626 
2627 const char*
2628 override_iterator_nvt_name (iterator_t *);
2629 
2630 const char *
2632 
2633 const char*
2634 override_iterator_severity (iterator_t *);
2635 
2636 const char*
2637 override_iterator_new_severity (iterator_t *);
2638 
2639 
2640 /* System reports. */
2641 
2645 typedef struct
2646 {
2647  gchar **start;
2648  gchar **current;
2650 
2651 int
2653  const char*);
2654 
2655 void
2657 
2658 gboolean
2660 
2661 const char*
2663 
2664 const char*
2666 
2667 int
2668 manage_system_report (const char *, const char *, const char *, const char *,
2669  const char *, char **);
2670 
2671 
2672 /* Scanners. */
2673 
2677 #define SLAVE_COMMIT_SIZE_DEFAULT 0
2678 
2679 int
2680 manage_create_scanner (GSList *, const char *, const char *, const char *,
2681  const char *, const char *, const char *, const char *,
2682  const char *);
2683 
2684 int
2685 manage_modify_scanner (GSList *, const gchar *, const char *, const char *,
2686  const char *, const char *, const char *, const char *,
2687  const char *, const char *);
2688 
2689 int
2690 manage_delete_scanner (GSList *, const gchar *, const gchar *);
2691 
2692 int
2693 manage_verify_scanner (GSList *, const gchar *, const gchar *);
2694 
2695 int
2696 manage_get_scanners (GSList *, const gchar *);
2697 
2698 int
2699 create_scanner (const char*, const char *, const char *, const char *,
2700  const char *, scanner_t *, const char *, const char *);
2701 
2702 int
2703 copy_scanner (const char*, const char*, const char *, scanner_t *);
2704 
2705 int
2706 modify_scanner (const char*, const char*, const char*, const char *,
2707  const char *, const char *, const char *, const char *);
2708 
2709 int
2710 delete_scanner (const char *, int);
2711 
2712 gboolean
2713 find_scanner_with_permission (const char *, scanner_t *, const char *);
2714 
2715 int
2716 scanner_in_use (scanner_t);
2717 
2718 int
2719 trash_scanner_readable (scanner_t);
2720 
2721 int
2722 trash_scanner_in_use (scanner_t);
2723 
2724 int
2725 trash_scanner_writable (scanner_t);
2726 
2727 int
2728 scanner_writable (scanner_t);
2729 
2730 const char *
2732 
2733 char *
2734 scanner_host (scanner_t);
2735 
2736 int
2737 scanner_port (scanner_t);
2738 
2739 int
2740 scanner_type (scanner_t);
2741 
2742 char *
2743 scanner_ca_pub (scanner_t);
2744 
2745 char *
2746 scanner_key_pub (scanner_t);
2747 
2748 char *
2749 scanner_key_priv (scanner_t);
2750 
2751 char*
2752 scanner_login (scanner_t);
2753 
2754 char*
2755 scanner_password (scanner_t);
2756 
2757 int
2758 scanner_count (const get_data_t *);
2759 
2760 char *
2762 
2763 int
2765 
2766 const char*
2767 scanner_iterator_host (iterator_t*);
2768 
2769 int
2771 
2772 int
2774 
2775 const char*
2776 scanner_iterator_credential_name (iterator_t *);
2777 
2778 credential_t
2780 
2781 int
2783 
2784 const char*
2785 scanner_iterator_ca_pub (iterator_t *);
2786 
2787 const char*
2788 scanner_iterator_key_pub (iterator_t *);
2789 
2790 const char*
2791 scanner_iterator_credential_type (iterator_t *);
2792 
2793 void
2795 
2796 const char*
2797 scanner_config_iterator_uuid (iterator_t *);
2798 
2799 const char*
2800 scanner_config_iterator_name (iterator_t *);
2801 
2802 int
2804 
2805 void
2807 
2808 const char*
2809 scanner_task_iterator_uuid (iterator_t *);
2810 
2811 const char*
2812 scanner_task_iterator_name (iterator_t *);
2813 
2814 int
2816 
2817 char *
2818 scanner_name (scanner_t);
2819 
2820 char *
2821 scanner_uuid (scanner_t);
2822 
2823 char *
2824 trash_scanner_name (scanner_t);
2825 
2826 char *
2827 trash_scanner_uuid (scanner_t);
2828 
2829 int
2830 osp_get_version_from_iterator (iterator_t *, char **, char **, char **, char **,
2831  char **, char **);
2832 
2833 int
2834 osp_get_details_from_iterator (iterator_t *, char **, GSList **);
2835 
2836 osp_connection_t *
2837 osp_connect_with_data (const char *,
2838  int,
2839  const char *,
2840  const char *,
2841  const char *);
2842 
2843 osp_connection_t *
2844 osp_scanner_connect (scanner_t);
2845 
2846 int
2847 verify_scanner (const char *, char **);
2848 
2849 void
2850 set_slave_commit_size (int);
2851 
2852 const char *
2854 
2855 void
2856 set_relay_mapper_path (const char *);
2857 
2858 int
2859 slave_get_relay (const char *,
2860  int,
2861  const char *,
2862  const char *,
2863  gchar **,
2864  int *,
2865  gchar **);
2866 
2867 int
2868 slave_relay_connection (gvm_connection_t *, gvm_connection_t *);
2869 
2870 /* Scheduling. */
2871 
2875 #define SCHEDULE_PERIOD 10
2876 
2881 #define SCHEDULE_TIMEOUT_MIN_SECS 20
2882 
2886 #define SCHEDULE_TIMEOUT_DEFAULT 60
2887 
2888 gboolean
2889 find_schedule_with_permission (const char*, schedule_t*, const char*);
2890 
2891 int
2892 create_schedule (const char *, const char*, const char *,
2893  time_t, time_t, time_t, const char *, time_t, const char*,
2894  schedule_t *, gchar**);
2895 
2896 int
2897 copy_schedule (const char*, const char*, const char *, schedule_t *);
2898 
2899 int
2900 delete_schedule (const char*, int);
2901 
2902 void
2903 manage_auth_allow_all (int);
2904 
2905 const gchar*
2907 
2908 void
2909 set_scheduled_user_uuid (const gchar* uuid);
2910 
2911 void
2912 manage_sync (sigset_t *, int (*fork_update_nvt_cache) ());
2913 
2914 int
2915 manage_schedule (manage_connection_forker_t,
2916  gboolean,
2917  sigset_t *);
2918 
2919 char *
2920 schedule_uuid (schedule_t);
2921 
2922 char *
2923 trash_schedule_uuid (schedule_t);
2924 
2925 char *
2926 schedule_name (schedule_t);
2927 
2928 char *
2929 trash_schedule_name (schedule_t);
2930 
2931 int
2932 schedule_duration (schedule_t);
2933 
2934 int
2935 schedule_period (schedule_t);
2936 
2937 int
2938 schedule_info (schedule_t, int, time_t *, time_t *, int *, int *, int *,
2939  gchar **, gchar **);
2940 
2941 int
2943 
2944 time_t
2946 
2947 time_t
2949 
2950 time_t
2952 
2953 time_t
2955 
2956 time_t
2958 
2959 int
2960 schedule_iterator_byday (iterator_t *);
2961 
2962 gchar *
2964 
2965 const char*
2966 schedule_iterator_timezone (iterator_t *);
2967 
2968 time_t
2969 schedule_iterator_initial_offset (iterator_t *);
2970 
2971 const char*
2972 schedule_iterator_icalendar (iterator_t *);
2973 
2974 int
2975 trash_schedule_in_use (schedule_t);
2976 
2977 int
2978 schedule_in_use (schedule_t);
2979 
2980 int
2981 trash_schedule_writable (schedule_t);
2982 
2983 int
2984 trash_schedule_readable (schedule_t);
2985 
2986 int
2987 schedule_writable (schedule_t);
2988 
2989 int
2990 schedule_count (const get_data_t *);
2991 
2992 void
2994 
2995 const char*
2996 schedule_task_iterator_uuid (iterator_t *);
2997 
2998 const char*
2999 schedule_task_iterator_name (iterator_t *);
3000 
3001 int
3003 
3004 int
3005 modify_schedule (const char *, const char*, const char *, const char*,
3006  time_t, time_t, time_t,
3007  const char *, time_t, const char *, gchar **);
3008 
3009 int
3011 
3012 void
3013 set_schedule_timeout (int);
3014 
3015 
3016 /* Report Formats. */
3017 
3018 gboolean
3019 find_report_format_with_permission (const char*, report_format_t*,
3020  const char *);
3021 
3025 typedef struct
3026 {
3027  gchar *fallback;
3028  gchar *name;
3029  gchar *type;
3030  gchar *type_max;
3031  gchar *type_min;
3032  gchar *value;
3034 
3035 int
3036 create_report_format (const char *, const char *, const char *, const char *,
3037  const char *, const char *, int, array_t *, array_t *,
3038  array_t *, const char *, report_format_t *);
3039 
3040 int
3041 copy_report_format (const char *, const char *, report_format_t*);
3042 
3043 int
3044 modify_report_format (const char *, const char *, const char *, const char *,
3045  const char *, const char *, const char *);
3046 
3047 int
3048 delete_report_format (const char *, int);
3049 
3050 int
3051 verify_report_format (const char *);
3052 
3053 char *
3054 report_format_uuid (report_format_t);
3055 
3056 char *
3057 report_format_owner_uuid (report_format_t);
3058 
3059 char *
3060 report_format_name (report_format_t);
3061 
3062 char *
3063 report_format_content_type (report_format_t);
3064 
3065 char *
3066 report_format_extension (report_format_t);
3067 
3068 int
3069 report_format_global (report_format_t);
3070 
3071 int
3072 trash_report_format_global (report_format_t);
3073 
3074 int
3075 report_format_predefined (report_format_t);
3076 
3077 int
3078 report_format_active (report_format_t);
3079 
3080 int
3081 report_format_trust (report_format_t);
3082 
3083 int
3084 report_format_in_use (report_format_t);
3085 
3086 int
3087 trash_report_format_in_use (report_format_t);
3088 
3089 int
3090 trash_report_format_writable (report_format_t);
3091 
3092 int
3093 report_format_writable (report_format_t);
3094 
3095 int
3096 report_format_count (const get_data_t *);
3097 
3098 int
3099 init_report_format_iterator (iterator_t*, const get_data_t *);
3100 
3101 const char*
3102 report_format_iterator_extension (iterator_t *);
3103 
3104 const char*
3105 report_format_iterator_content_type (iterator_t *);
3106 
3107 const char*
3108 report_format_iterator_description (iterator_t *);
3109 
3110 int
3111 report_format_iterator_active (iterator_t *);
3112 
3113 const char*
3114 report_format_iterator_signature (iterator_t *);
3115 
3116 const char*
3117 report_format_iterator_trust (iterator_t *);
3118 
3119 const char*
3120 report_format_iterator_summary (iterator_t *);
3121 
3122 time_t
3123 report_format_iterator_trust_time (iterator_t *);
3124 
3125 void
3126 init_report_format_alert_iterator (iterator_t*, report_format_t);
3127 
3128 const char*
3129 report_format_alert_iterator_name (iterator_t*);
3130 
3131 const char*
3132 report_format_alert_iterator_uuid (iterator_t*);
3133 
3134 int
3135 report_format_alert_iterator_readable (iterator_t*);
3136 
3140 typedef struct
3141 {
3142  GPtrArray *start;
3143  gpointer *current;
3144  gchar *dir_name;
3145 } file_iterator_t;
3146 
3147 int
3149 
3150 void
3152 
3153 gboolean
3155 
3156 const char*
3158 
3159 gchar*
3161 
3168 typedef enum
3169 {
3170  REPORT_FORMAT_PARAM_TYPE_BOOLEAN = 0,
3171  REPORT_FORMAT_PARAM_TYPE_INTEGER = 1,
3172  REPORT_FORMAT_PARAM_TYPE_SELECTION = 2,
3173  REPORT_FORMAT_PARAM_TYPE_STRING = 3,
3174  REPORT_FORMAT_PARAM_TYPE_TEXT = 4,
3175  REPORT_FORMAT_PARAM_TYPE_REPORT_FORMAT_LIST = 5,
3176  REPORT_FORMAT_PARAM_TYPE_ERROR = 100
3177 } report_format_param_type_t;
3178 
3179 const char *
3180 report_format_param_type_name (report_format_param_type_t);
3181 
3182 report_format_param_type_t
3183 report_format_param_type_from_name (const char *);
3184 
3185 void
3186 init_report_format_param_iterator (iterator_t*, report_format_t, int,
3187  int, const char*);
3188 
3189 report_format_param_t
3190 report_format_param_iterator_param (iterator_t*);
3191 
3192 const char*
3193 report_format_param_iterator_name (iterator_t *);
3194 
3195 const char*
3196 report_format_param_iterator_value (iterator_t *);
3197 
3198 const char*
3199 report_format_param_iterator_type_name (iterator_t *);
3200 
3201 report_format_param_type_t
3202 report_format_param_iterator_type (iterator_t *);
3203 
3204 long long int
3205 report_format_param_iterator_type_min (iterator_t *);
3206 
3207 long long int
3208 report_format_param_iterator_type_max (iterator_t *);
3209 
3210 const char*
3211 report_format_param_iterator_fallback (iterator_t *);
3212 
3213 void
3214 init_param_option_iterator (iterator_t*, report_format_param_t, int,
3215  const char *);
3216 
3217 const char*
3218 param_option_iterator_value (iterator_t *);
3219 
3220 
3221 /* Groups. */
3222 
3223 int
3224 init_group_iterator (iterator_t *, const get_data_t *);
3225 
3226 int
3227 copy_group (const char *, const char *, const char *, group_t *);
3228 
3229 int
3230 create_group (const char *, const char *, const char *, int, group_t *);
3231 
3232 int
3233 delete_group (const char *, int);
3234 
3235 char*
3236 group_uuid (group_t);
3237 
3238 gchar *
3239 group_users (group_t);
3240 
3241 int
3242 trash_group_in_use (group_t);
3243 
3244 int
3245 group_in_use (group_t);
3246 
3247 int
3248 trash_group_writable (group_t);
3249 
3250 int
3251 group_writable (group_t);
3252 
3253 int
3254 group_count (const get_data_t*);
3255 
3256 int
3257 modify_group (const char *, const char *, const char *, const char *);
3258 
3259 
3260 /* Permissions. */
3261 
3262 int
3263 create_permission (const char *, const char *, const char *, const char *,
3264  const char *, const char *, permission_t *);
3265 
3266 int
3267 copy_permission (const char*, const char *, permission_t *);
3268 
3269 char*
3270 permission_uuid (permission_t);
3271 
3272 int
3273 permission_is_admin (const char *);
3274 
3275 int
3276 permission_in_use (permission_t);
3277 
3278 int
3279 trash_permission_in_use (permission_t);
3280 
3281 int
3282 permission_writable (permission_t);
3283 
3284 int
3285 trash_permission_writable (permission_t);
3286 
3287 int
3288 permission_count (const get_data_t *);
3289 
3290 int
3291 init_permission_iterator (iterator_t*, const get_data_t *);
3292 
3293 const char*
3294 permission_iterator_resource_type (iterator_t*);
3295 
3296 const char*
3297 permission_iterator_resource_uuid (iterator_t*);
3298 
3299 const char*
3300 permission_iterator_resource_name (iterator_t*);
3301 
3302 int
3303 permission_iterator_resource_in_trash (iterator_t*);
3304 
3305 int
3306 permission_iterator_resource_orphan (iterator_t*);
3307 
3308 int
3309 permission_iterator_resource_readable (iterator_t*);
3310 
3311 const char*
3312 permission_iterator_subject_type (iterator_t*);
3313 
3314 const char*
3315 permission_iterator_subject_uuid (iterator_t*);
3316 
3317 const char*
3318 permission_iterator_subject_name (iterator_t*);
3319 
3320 int
3321 permission_iterator_subject_in_trash (iterator_t*);
3322 
3323 int
3324 permission_iterator_subject_readable (iterator_t*);
3325 
3326 int
3327 delete_permission (const char*, int);
3328 
3329 int
3330 modify_permission (const char *, const char *, const char *, const char *,
3331  const char *, const char *, const char *);
3332 
3333 /* Permission caching */
3334 
3335 void
3336 delete_permissions_cache_for_resource (const char*, resource_t);
3337 
3338 void
3339 delete_permissions_cache_for_user (user_t);
3340 
3341 
3342 /* Port lists. */
3343 
3344 gboolean
3345 find_port_list (const char*, port_list_t*);
3346 
3347 gboolean
3348 find_port_list_with_permission (const char *, port_list_t *, const char *);
3349 
3350 gboolean
3351 find_port_range (const char*, port_list_t*);
3352 
3353 int
3354 create_port_list (const char*, const char*, const char*, const char*,
3355  array_t *, port_list_t*);
3356 
3357 int
3358 copy_port_list (const char*, const char*, const char*, port_list_t*);
3359 
3360 int
3361 modify_port_list (const char*, const char*, const char*);
3362 
3363 int
3364 create_port_range (const char *, const char *, const char *, const char *,
3365  const char *, port_range_t *);
3366 
3367 int
3368 delete_port_list (const char*, int);
3369 
3370 int
3371 delete_port_range (const char *, int);
3372 
3373 int
3374 port_list_count (const get_data_t *);
3375 
3376 int
3377 init_port_list_iterator (iterator_t*, const get_data_t *);
3378 
3379 int
3380 port_list_iterator_count_all (iterator_t*);
3381 
3382 int
3383 port_list_iterator_count_tcp (iterator_t*);
3384 
3385 int
3386 port_list_iterator_count_udp (iterator_t*);
3387 
3388 char*
3389 port_list_uuid (port_list_t);
3390 
3391 char*
3392 port_range_uuid (port_range_t);
3393 
3394 int
3395 port_list_in_use (port_list_t);
3396 
3397 int
3398 trash_port_list_in_use (port_list_t);
3399 
3400 int
3401 trash_port_list_writable (port_list_t);
3402 
3403 int
3404 port_list_writable (port_list_t);
3405 
3406 #if 0
3407 int
3408 trash_port_list_in_use (port_list_t);
3409 #endif
3410 
3411 int
3412 trash_port_list_readable_uuid (const gchar *);
3413 
3414 void
3415 init_port_range_iterator (iterator_t*, port_range_t, int, int, const char*);
3416 
3417 const char*
3418 port_range_iterator_uuid (iterator_t*);
3419 
3420 const char*
3421 port_range_iterator_comment (iterator_t*);
3422 
3423 const char*
3424 port_range_iterator_start (iterator_t*);
3425 
3426 const char*
3427 port_range_iterator_end (iterator_t*);
3428 
3429 const char*
3430 port_range_iterator_type (iterator_t*);
3431 
3432 void
3433 init_port_list_target_iterator (iterator_t*, port_list_t, int);
3434 
3435 const char*
3436 port_list_target_iterator_uuid (iterator_t*);
3437 
3438 const char*
3439 port_list_target_iterator_name (iterator_t*);
3440 
3441 int
3442 port_list_target_iterator_readable (iterator_t*);
3443 
3444 
3445 /* Roles. */
3446 
3447 int
3448 init_role_iterator (iterator_t *, const get_data_t *);
3449 
3450 int
3451 copy_role (const char *, const char *, const char *, role_t *);
3452 
3453 int
3454 create_role (const char *, const char *, const char *, role_t *);
3455 
3456 int
3457 delete_role (const char *, int);
3458 
3459 char*
3460 role_uuid (role_t);
3461 
3462 gchar *
3463 role_users (role_t);
3464 
3465 int
3466 trash_role_in_use (role_t);
3467 
3468 int
3469 role_in_use (role_t);
3470 
3471 int
3472 trash_role_writable (role_t);
3473 
3474 int
3475 role_writable (role_t);
3476 
3477 int
3478 role_count (const get_data_t*);
3479 
3480 int
3481 modify_role (const char *, const char *, const char *, const char *);
3482 
3483 
3484 /* Filter Utilities. */
3485 
3489 typedef enum
3490 {
3491  KEYWORD_TYPE_UNKNOWN,
3492  KEYWORD_TYPE_INTEGER,
3493  KEYWORD_TYPE_DOUBLE,
3494  KEYWORD_TYPE_STRING
3495 } keyword_type_t;
3496 
3500 typedef enum
3501 {
3502  KEYWORD_RELATION_APPROX,
3503  KEYWORD_RELATION_COLUMN_ABOVE,
3504  KEYWORD_RELATION_COLUMN_APPROX,
3505  KEYWORD_RELATION_COLUMN_EQUAL,
3506  KEYWORD_RELATION_COLUMN_BELOW,
3507  KEYWORD_RELATION_COLUMN_REGEXP
3508 } keyword_relation_t;
3509 
3513 struct keyword
3514 {
3515  gchar *column;
3516  int approx;
3517  int equal;
3519  double double_value;
3520  int quoted;
3521  gchar *string;
3522  keyword_type_t type;
3523  keyword_relation_t relation;
3524 };
3525 
3529 typedef struct keyword keyword_t;
3530 
3531 int
3533 
3534 const char *
3535 keyword_relation_symbol (keyword_relation_t);
3536 
3537 void
3538 filter_free (array_t*);
3539 
3540 array_t *
3541 split_filter (const gchar*);
3542 
3543 
3544 /* Filters. */
3545 
3546 gboolean
3547 find_filter (const char*, filter_t*);
3548 
3549 gboolean
3550 find_filter_with_permission (const char*, filter_t*, const char*);
3551 
3552 char*
3553 filter_uuid (filter_t);
3554 
3555 char*
3556 filter_name (filter_t);
3557 
3558 gchar*
3559 filter_term (const char *);
3560 
3561 gchar*
3562 filter_term_value (const char *, const char *);
3563 
3564 int
3565 filter_term_apply_overrides (const char *);
3566 
3567 int
3568 filter_term_autofp (const char *);
3569 
3570 int
3571 filter_term_min_qod (const char *);
3572 
3573 int
3574 create_filter (const char*, const char*, const char*, const char*, filter_t*);
3575 
3576 int
3577 copy_filter (const char*, const char*, const char*, filter_t*);
3578 
3579 int
3580 delete_filter (const char *, int);
3581 
3582 int
3583 trash_filter_in_use (filter_t);
3584 
3585 int
3586 filter_in_use (filter_t);
3587 
3588 int
3589 trash_filter_writable (filter_t);
3590 
3591 int
3592 filter_writable (filter_t);
3593 
3594 int
3595 filter_count (const get_data_t*);
3596 
3597 int
3598 init_filter_iterator (iterator_t*, const get_data_t*);
3599 
3600 const char*
3601 filter_iterator_type (iterator_t*);
3602 
3603 const char*
3604 filter_iterator_term (iterator_t*);
3605 
3606 void
3607 init_filter_alert_iterator (iterator_t*, filter_t);
3608 
3609 const char*
3610 filter_alert_iterator_name (iterator_t*);
3611 
3612 const char*
3613 filter_alert_iterator_uuid (iterator_t*);
3614 
3615 int
3616 filter_alert_iterator_readable (iterator_t*);
3617 
3618 int
3619 modify_filter (const char*, const char*, const char*, const char*, const char*);
3620 
3621 
3622 /* Schema. */
3623 
3624 int
3625 manage_schema (gchar *, gchar **, gsize *, gchar **, gchar **);
3626 
3627 
3628 /* Trashcan. */
3629 
3630 int
3631 manage_restore (const char *);
3632 
3633 int
3634 manage_empty_trashcan ();
3635 
3636 
3637 /* SecInfo */
3638 
3639 int
3640 manage_read_info (gchar *, gchar *, gchar *, gchar **);
3641 
3642 int
3643 info_name_count (const gchar *, const gchar *);
3644 
3645 /* SCAP. */
3646 
3647 int
3649 
3650 const char *
3652 
3653 /* CPE. */
3654 
3655 void
3656 init_cpe_cve_iterator (iterator_t *, const char *, int, const char *);
3657 
3658 int
3659 init_cpe_info_iterator (iterator_t*, get_data_t*, const char*);
3660 
3661 int
3662 cpe_info_count (const get_data_t *get);
3663 
3664 const char*
3665 cpe_info_iterator_title (iterator_t*);
3666 
3667 const char*
3668 cpe_info_iterator_status (iterator_t*);
3669 
3670 const char*
3671 cpe_info_iterator_max_cvss (iterator_t*);
3672 
3673 const char*
3674 cpe_info_iterator_deprecated_by_id (iterator_t*);
3675 
3676 const char*
3677 cpe_info_iterator_cve_refs (iterator_t*);
3678 
3679 const char*
3680 cpe_info_iterator_nvd_id (iterator_t*);
3681 
3682 /* CVE. */
3683 
3684 const char*
3685 cve_iterator_name (iterator_t*);
3686 
3687 const char*
3688 cve_iterator_cvss (iterator_t*);
3689 
3690 const char*
3691 cve_info_iterator_cvss (iterator_t*);
3692 
3693 const char*
3694 cve_info_iterator_vector (iterator_t*);
3695 
3696 const char*
3697 cve_info_iterator_complexity (iterator_t*);
3698 
3699 const char*
3700 cve_info_iterator_authentication (iterator_t*);
3701 
3702 const char*
3703 cve_info_iterator_confidentiality_impact (iterator_t*);
3704 
3705 const char*
3706 cve_info_iterator_integrity_impact (iterator_t*);
3707 
3708 const char*
3709 cve_info_iterator_availability_impact (iterator_t*);
3710 
3711 const char*
3712 cve_info_iterator_description (iterator_t*);
3713 
3714 const char*
3715 cve_info_iterator_products (iterator_t*);
3716 
3717 int
3718 init_cve_info_iterator (iterator_t*, get_data_t*, const char*);
3719 
3720 int
3721 cve_info_count (const get_data_t *get);
3722 
3723 gchar *
3724 cve_cvss_base (const gchar *);
3725 
3726 /* OVAL definitions */
3727 int
3729 
3730 int
3731 ovaldef_info_count (const get_data_t *get);
3732 
3733 const char*
3734 ovaldef_info_iterator_version (iterator_t*);
3735 
3736 const char*
3737 ovaldef_info_iterator_deprecated (iterator_t*);
3738 
3739 const char*
3740 ovaldef_info_iterator_class (iterator_t*);
3741 
3742 const char*
3743 ovaldef_info_iterator_title (iterator_t*);
3744 
3745 const char*
3746 ovaldef_info_iterator_description (iterator_t*);
3747 
3748 const char*
3749 ovaldef_info_iterator_file (iterator_t*);
3750 
3751 const char*
3752 ovaldef_info_iterator_status (iterator_t*);
3753 
3754 const char*
3755 ovaldef_info_iterator_max_cvss (iterator_t*);
3756 
3757 const char*
3758 ovaldef_info_iterator_cve_refs (iterator_t*);
3759 
3760 char *
3761 ovaldef_severity (const char *);
3762 
3763 char *
3764 ovaldef_version (const char *);
3765 
3766 char *
3767 ovaldef_uuid (const char *, const char *);
3768 
3769 char *
3770 ovaldef_cves (const char *);
3771 
3772 /* CERT data */
3773 int
3775 
3776 /* CERT-Bund */
3777 
3778 int
3780 
3781 int
3783 
3784 const char*
3785 cert_bund_adv_info_iterator_title (iterator_t*);
3786 
3787 const char*
3788 cert_bund_adv_info_iterator_summary (iterator_t*);
3789 
3790 const char*
3791 cert_bund_adv_info_iterator_cve_refs (iterator_t*);
3792 
3793 const char*
3794 cert_bund_adv_info_iterator_max_cvss (iterator_t*);
3795 
3796 void
3797 init_cve_cert_bund_adv_iterator (iterator_t*, const char*, int, const char*);
3798 
3799 void
3800 init_nvt_cert_bund_adv_iterator (iterator_t*, const char*, int, const char*);
3801 
3802 /* DFN-CERT */
3803 
3804 int
3806 
3807 int
3808 dfn_cert_adv_info_count (const get_data_t *get);
3809 
3810 const char*
3811 dfn_cert_adv_info_iterator_title (iterator_t*);
3812 
3813 const char*
3814 dfn_cert_adv_info_iterator_summary (iterator_t*);
3815 
3816 const char*
3817 dfn_cert_adv_info_iterator_cve_refs (iterator_t*);
3818 
3819 const char*
3820 dfn_cert_adv_info_iterator_max_cvss (iterator_t*);
3821 
3822 void
3823 init_cve_dfn_cert_adv_iterator (iterator_t*, const char*, int, const char*);
3824 
3825 void
3826 init_nvt_dfn_cert_adv_iterator (iterator_t*, const char*, int, const char*);
3827 
3828 /* All SecInfo Data */
3829 
3830 int
3831 all_info_count (const get_data_t *);
3832 
3833 int
3834 total_info_count (const get_data_t *, int);
3835 
3836 int
3837 init_all_info_iterator (iterator_t*, get_data_t*, const char*);
3838 
3839 const char*
3840 all_info_iterator_type (iterator_t*);
3841 
3842 const char*
3843 all_info_iterator_extra (iterator_t*);
3844 
3845 const char*
3846 all_info_iterator_severity (iterator_t*);
3847 
3848 void
3850 
3851 const char*
3852 ovaldi_file_iterator_name (iterator_t*);
3853 
3854 
3855 /* Settings. */
3856 
3857 int
3858 manage_max_rows (int);
3859 
3860 int
3861 setting_count (const char *);
3862 
3863 int
3864 setting_is_default_ca_cert (const gchar *);
3865 
3866 char *
3867 setting_filter (const char *);
3868 
3869 const char *
3870 setting_severity ();
3871 
3872 void
3873 init_setting_iterator (iterator_t *, const char *, const char *, int, int, int,
3874  const char *);
3875 
3876 const char*
3877 setting_iterator_uuid (iterator_t*);
3878 
3879 const char*
3880 setting_iterator_name (iterator_t*);
3881 
3882 const char*
3883 setting_iterator_comment (iterator_t*);
3884 
3885 const char*
3886 setting_iterator_value (iterator_t*);
3887 
3888 int
3889 modify_setting (const gchar *, const gchar *, const gchar *, gchar **);
3890 
3891 int
3892 manage_modify_setting (GSList *, const gchar *, const gchar *, const gchar *, const char *);
3893 
3894 char *
3895 manage_default_ca_cert ();
3896 
3897 int
3898 manage_slave_check_period ();
3899 
3900 
3901 /* Users. */
3902 
3903 gboolean
3904 find_user_by_name_with_permission (const char *, user_t *, const char *);
3905 
3906 int
3907 manage_create_user (GSList *, const gchar *, const gchar *, const gchar *,
3908  const gchar *);
3909 
3910 int
3911 manage_delete_user (GSList *, const gchar *, const gchar *, const gchar *);
3912 
3913 int
3914 manage_get_users (GSList *, const gchar *, const gchar *);
3915 
3916 report_host_t
3917 manage_report_host_add (report_t, const char *, time_t, time_t);
3918 
3919 int
3920 report_host_noticeable (report_t, const gchar *);
3921 
3922 void
3923 report_host_set_end_time (report_host_t, time_t);
3924 
3925 gchar*
3926 host_routes_xml (host_t);
3927 
3928 int
3929 manage_set_password (GSList *, const gchar *, const gchar *, const gchar *);
3930 
3931 gchar *
3932 manage_user_hash (const gchar *);
3933 
3934 gchar *
3935 manage_user_uuid (const gchar *, auth_method_t);
3936 
3937 int
3938 manage_user_exists (const gchar *, auth_method_t);
3939 
3940 int
3941 copy_user (const char*, const char*, const char*, user_t*);
3942 
3943 gchar *
3944 keyfile_to_auth_conf_settings_xml (const gchar *);
3945 
3946 int
3947 init_user_iterator (iterator_t*, const get_data_t*);
3948 
3949 const char*
3950 user_iterator_role (iterator_t*);
3951 
3952 const char*
3953 user_iterator_method (iterator_t*);
3954 
3955 const char*
3956 user_iterator_hosts (iterator_t*);
3957 
3958 int
3959 user_iterator_hosts_allow (iterator_t*);
3960 
3961 const char*
3962 user_iterator_ifaces (iterator_t*);
3963 
3964 int
3965 user_iterator_ifaces_allow (iterator_t*);
3966 
3967 void
3968 init_user_group_iterator (iterator_t *, user_t);
3969 
3970 const char*
3971 user_group_iterator_uuid (iterator_t*);
3972 
3973 const char*
3974 user_group_iterator_name (iterator_t*);
3975 
3976 int
3977 user_group_iterator_readable (iterator_t*);
3978 
3979 void
3980 init_user_role_iterator (iterator_t *, user_t);
3981 
3982 const char*
3983 user_role_iterator_uuid (iterator_t*);
3984 
3985 const char*
3986 user_role_iterator_name (iterator_t*);
3987 
3988 int
3989 user_role_iterator_readable (iterator_t*);
3990 
3991 int
3992 create_user (const gchar *, const gchar *, const gchar *, const gchar *,
3993  int, const gchar *, int, const array_t *, array_t *, gchar **,
3994  array_t *, gchar **, gchar **, user_t *, int);
3995 
3996 int
3997 delete_user (const char *, const char *, int, int, const char*, const char*);
3998 
3999 int
4000 modify_user (const gchar *, gchar **, const gchar *, const gchar *,
4001  const gchar*, const gchar *, int, const gchar *, int,
4002  const array_t *, array_t *, gchar **, array_t *, gchar **,
4003  gchar **);
4004 
4005 int
4006 user_in_use (user_t);
4007 
4008 int
4009 trash_user_in_use (user_t);
4010 
4011 int
4012 user_writable (user_t);
4013 
4014 int
4015 trash_user_writable (user_t);
4016 
4017 int
4018 user_count (const get_data_t*);
4019 
4020 gchar*
4021 user_name (const char *);
4022 
4023 char*
4024 user_uuid (user_t);
4025 
4026 gchar*
4027 user_ifaces (const char *);
4028 
4029 int
4030 user_ifaces_allow (const char *);
4031 
4032 gchar*
4033 user_hosts (const char *);
4034 
4035 int
4036 user_hosts_allow (const char *);
4037 
4038 int
4039 init_vuln_iterator (iterator_t*, const get_data_t*);
4040 
4041 int
4042 vuln_iterator_results (iterator_t*);
4043 
4044 const char*
4045 vuln_iterator_oldest (iterator_t*);
4046 
4047 const char*
4048 vuln_iterator_newest (iterator_t*);
4049 
4050 const char*
4051 vuln_iterator_type (iterator_t*);
4052 
4053 int
4054 vuln_iterator_hosts (iterator_t*);
4055 
4056 double
4057 vuln_iterator_severity (iterator_t*);
4058 
4059 int
4060 vuln_iterator_qod (iterator_t*);
4061 
4062 int
4063 vuln_count (const get_data_t*);
4064 
4065 void
4066 manage_get_ldap_info (int *, gchar **, gchar **, int *, gchar **);
4067 
4068 void
4069 manage_set_ldap_info (int, gchar *, gchar *, int, gchar *);
4070 
4071 void
4072 manage_get_radius_info (int *, char **, char **);
4073 
4074 void
4075 manage_set_radius_info (int, gchar *, gchar *);
4076 
4077 
4078 /* Tags */
4079 
4080 char*
4081 tag_uuid (target_t);
4082 
4083 int
4084 copy_tag (const char*, const char*, const char*, tag_t*);
4085 
4086 int
4087 create_tag (const char *, const char *, const char *, const char *,
4088  array_t *, const char *, const char *, tag_t *, gchar **);
4089 
4090 int
4091 delete_tag (const char *, int);
4092 
4093 int
4094 modify_tag (const char *, const char *, const char *, const char *,
4095  const char *, array_t *, const char *, const char *, const char*,
4096  gchar **);
4097 
4098 int
4099 init_tag_iterator (iterator_t*, const get_data_t*);
4100 
4101 int
4102 tag_count (const get_data_t *get);
4103 
4104 const char*
4105 tag_iterator_resource_type (iterator_t*);
4106 
4107 int
4108 tag_iterator_active (iterator_t*);
4109 
4110 const char*
4111 tag_iterator_value (iterator_t*);
4112 
4113 int
4114 tag_iterator_resources (iterator_t*);
4115 
4116 resource_t
4117 tag_resource_iterator_id (iterator_t*);
4118 
4119 const char*
4120 tag_resource_iterator_uuid (iterator_t*);
4121 
4122 int
4123 tag_resource_iterator_location (iterator_t*);
4124 
4125 const char*
4126 tag_resource_iterator_name (iterator_t*);
4127 
4128 int
4129 tag_resource_iterator_readable (iterator_t*);
4130 
4131 int
4132 init_tag_name_iterator (iterator_t*, const get_data_t*);
4133 
4134 const char*
4135 tag_name_iterator_name (iterator_t*);
4136 
4137 int
4138 init_resource_tag_iterator (iterator_t*, const char*, resource_t, int,
4139  const char*, int);
4140 
4141 const char*
4142 resource_tag_iterator_uuid (iterator_t*);
4143 
4144 const char*
4145 resource_tag_iterator_name (iterator_t*);
4146 
4147 const char*
4148 resource_tag_iterator_value (iterator_t*);
4149 
4150 const char*
4151 resource_tag_iterator_comment (iterator_t*);
4152 
4153 int
4154 resource_tag_exists (const char*, resource_t, int);
4155 
4156 int
4157 resource_tag_count (const char*, resource_t, int);
4158 
4159 int
4160 tag_in_use (tag_t);
4161 
4162 int
4163 trash_tag_in_use (tag_t);
4164 
4165 int
4166 tag_writable (tag_t);
4167 
4168 int
4169 trash_tag_writable (tag_t);
4170 
4171 
4172 /* Resource aggregates */
4173 
4177 typedef struct {
4178  gchar *field;
4179  gchar *stat;
4180  int order;
4181 } sort_data_t;
4182 
4183 void
4184 sort_data_free (sort_data_t*);
4185 
4186 int
4187 init_aggregate_iterator (iterator_t*, const char *, const get_data_t *, int,
4188  GArray *, const char *, const char*, GArray*, GArray*,
4189  int, int, const char *, const char *);
4190 
4191 int
4193 
4194 double
4196 
4197 double
4199 
4200 double
4202 
4203 double
4205 
4206 const char*
4207 aggregate_iterator_text (iterator_t*, int, int);
4208 
4209 const char*
4211 
4212 const char*
4214 
4215 
4216 /* Feeds. */
4217 
4218 #define NVT_FEED 1
4219 #define SCAP_FEED 2
4220 #define CERT_FEED 3
4221 
4222 int
4223 gvm_migrate_secinfo (int);
4224 
4225 gboolean
4226 gvm_sync_script_perform_selftest (const gchar *, gchar **);
4227 
4228 gboolean
4229 gvm_get_sync_script_identification (const gchar *, gchar **, int);
4230 
4231 gboolean
4232 gvm_get_sync_script_description (const gchar *, gchar **);
4233 
4234 gboolean
4235 gvm_get_sync_script_feed_version (const gchar *, gchar **);
4236 
4237 int
4238 manage_update_nvts_osp (const gchar *);
4239 
4240 
4241 /* Wizards. */
4242 
4243 int
4244 manage_run_wizard (const gchar *, int (*) (void*, gchar*, gchar**),
4245  void *, array_t *, int, const char*,
4246  gchar **, gchar **, gchar **);
4247 
4248 
4249 /* Helpers. */
4250 
4251 gchar *
4252 xml_escape_text_truncated (const char *, size_t, const char *);
4253 
4254 int
4255 column_is_timestamp (const char*);
4256 
4257 char*
4258 type_columns (const char *);
4259 
4260 char*
4261 type_trash_columns (const char *);
4262 
4263 gboolean
4264 manage_migrate_needs_timezone (GSList *, const gchar *);
4265 
4266 
4267 /* Optimize. */
4268 
4269 int
4270 manage_optimize (GSList *, const gchar *, const gchar *);
4271 
4272 
4273 /* Signal management */
4274 
4275 int
4276 get_termination_signal ();
4277 
4278 int
4279 sql_cancel ();
4280 
4281 /* Extra sensor handling functions */
4282 
4283 
4284 
4285 #endif /* not _GVMD_MANAGE_H */
task_iterator_last_report
const char * task_iterator_last_report(iterator_t *iterator)
Get the last report UUID from a task iterator.
Definition: manage_sql.c:15294
schedule_writable
int schedule_writable(schedule_t schedule)
Return whether a schedule is writable.
Definition: manage_sql.c:44610
create_report_result_t::host
char * host
Host.
Definition: manage.h:1215
scan_start_time_epoch
int scan_start_time_epoch(report_t report)
Get the start time of a scan, in seconds since the epoch.
Definition: manage_sql.c:25339
init_config_timeout_iterator
void init_config_timeout_iterator(iterator_t *iterator, config_t config)
Initialise a config timeout iterator.
Definition: manage_sql_configs.c:4144
set_scan_host_end_time_ctime
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:25541
copy_note
int copy_note(const char *note_id, note_t *new_note)
Create a note from an existing note.
Definition: manage_sql.c:39865
alert_condition_description
gchar * alert_condition_description(alert_condition_t condition, alert_t alert)
Get a description of an alert condition.
Definition: manage.c:1341
keyword::string
gchar * string
The keyword string, outer quotes removed.
Definition: manage.h:3521
preference_t::type
char * type
Type of preference (radio, password, ...).
Definition: manage.h:1778
manage_set_config_nvts
int manage_set_config_nvts(const gchar *config_id, const char *family, GPtrArray *selected_nvts)
Set the NVT's selected for a single family of a config.
Definition: manage_sql_configs.c:3797
manage_delete_scanner
int manage_delete_scanner(GSList *log_config, const gchar *database, const gchar *uuid)
Delete the given scanner.
Definition: manage_sql.c:42215
task_schedule_periods_uuid
int task_schedule_periods_uuid(const gchar *task_id)
Set the next time a scheduled task will be due.
Definition: manage_sql.c:20269
find_resource
gboolean find_resource(const char *type, const char *uuid, resource_t *resource)
Find a resource given a UUID.
Definition: manage_sql.c:4582
alert_report_data_t
Data about a report sent by an alert.
Definition: manage.h:443
init_schedule_iterator
int init_schedule_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a schedule iterator.
Definition: manage_sql.c:44858
override_iterator_result
result_t override_iterator_result(iterator_t *iterator)
Get the result from a override iterator.
Definition: manage_sql.c:41943
result_iterator_nvt_insight
const char * result_iterator_nvt_insight(iterator_t *iterator)
Get the NVT insight from a result iterator.
Definition: manage_sql.c:24319
find_report_with_permission
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:32513
manage_transaction_start
void manage_transaction_start()
Start a new IMMEDIATE transaction.
Definition: manage_sql.c:33092
find_credential_with_permission
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:36134
create_report_result_t::description
char * description
Description of NVT.
Definition: manage.h:1214
aggregate_iterator_sum
double aggregate_iterator_sum(iterator_t *iterator, int data_column_index)
Get the sum from a statistics iterator.
Definition: manage_sql.c:6050
manage_modify_scanner
int manage_modify_scanner(GSList *log_config, const gchar *database, const char *scanner_id, const char *name, const char *host, const char *port, const char *type, const char *ca_pub_path, const char *key_pub_path, const char *key_priv_path)
Modify the given scanner.
Definition: manage_sql.c:42286
severity_to_level
const char * severity_to_level(double severity, int mode)
Get the threat level matching a severity score.
Definition: manage.c:875
set_task_alterable
void set_task_alterable(task_t task, int alterable)
Set the alterable state of a task.
Definition: manage_sql.c:19997
create_config
int create_config(const char *proposed_name, const char *comment, const array_t *selectors, const array_t *preferences, const char *config_type, const char *usage_type, config_t *config, char **name)
Create a config.
Definition: manage_sql_configs.c:2144
modify_task
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:32724
result_iterator_original_severity
const char * result_iterator_original_severity(iterator_t *iterator)
Get the original severity from a result iterator.
Definition: manage_sql.c:24624
report_compliance_by_uuid
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:22539
credential_iterator_formats_xml
gchar * credential_iterator_formats_xml(iterator_t *iterator)
Get XML of available formats for a credential iterator.
Definition: manage_sql.c:38197
init_config_iterator
int init_config_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a scan config iterator.
Definition: manage_sql_configs.c:3105
report_format_content_type
char * report_format_content_type(report_format_t report_format)
Return the content type of a report format.
Definition: manage_sql.c:47137
create_task_check_config_scanner
int create_task_check_config_scanner(config_t config, scanner_t scanner)
Check scanner and config values match for a task.
Definition: manage_sql_configs.c:2527
trash_scanner_readable
int trash_scanner_readable(scanner_t scanner)
Return whether a trashcan scanner is readable.
Definition: manage_sql.c:43507
manage_scap_update_time
const char * manage_scap_update_time()
GET SCAP update time, as a string.
Definition: manage.c:7966
nvt_selector_t
An NVT selector.
Definition: manage.h:1790
keyword::column
gchar * column
The column prefix, or NULL.
Definition: manage.h:3515
modify_task_check_config_scanner
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:2560
alert_report_data_t::remote_filename
gchar * remote_filename
Path or filename to send to / as.
Definition: manage.h:445
report_format_param_type_name
const char * report_format_param_type_name(report_format_param_type_t type)
Get the name of a report format param type.
Definition: manage.c:7062
report_slave_task_uuid
char * report_slave_task_uuid(report_t report)
Return the UUID of the task on the slave.
Definition: manage_sql.c:26529
alert_iterator_event
int alert_iterator_event(iterator_t *iterator)
Return the event from an alert iterator.
Definition: manage_sql.c:8745
aggregate_iterator_max
double aggregate_iterator_max(iterator_t *iterator, int data_column_index)
Get the maximum from an aggregate iterator.
Definition: manage_sql.c:6018
get_data_t::subtype
gchar * subtype
Subtype, or NULL.
Definition: manage.h:364
init_report_host_iterator
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:24887
copy_config
int copy_config(const char *name, const char *comment, const char *config_id, const char *usage_type, config_t *new_config)
Create a config from an existing config.
Definition: manage_sql_configs.c:2644
aggregate_iterator_value
const char * aggregate_iterator_value(iterator_t *iterator)
Get the value of the group column from a statistics iterator.
Definition: manage_sql.c:6090
init_task_iterator
int init_task_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a task iterator.
Definition: manage_sql.c:15175
credential_iterator_private_key
const char * credential_iterator_private_key(iterator_t *iterator)
Get the private_key from a Credential iterator.
Definition: manage_sql.c:37978
manage_nvt_preferences_enable
void manage_nvt_preferences_enable()
Enable the NVT preferences.
Definition: manage_sql_configs.c:1615
get_data_t::extra_params
GHashTable * extra_params
Hashtable of type-specific extra parameters.
Definition: manage.h:368
report_uuid
char * report_uuid(report_t report)
Return the UUID of a report.
Definition: manage_sql.c:22495
init_scanner_task_iterator
void init_scanner_task_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner task iterator.
Definition: manage_sql.c:43377
manage_max_hosts
int manage_max_hosts()
Get the maximum allowed number of hosts per target.
Definition: manage_sql.c:32944
type_name
const char * type_name(const char *type)
Return the name of a resource type.
Definition: manage.c:685
result_iterator_may_have_overrides
int result_iterator_may_have_overrides(iterator_t *iterator)
Get whether overrides may exist from a result iterator.
Definition: manage_sql.c:24830
cleanup_manage_process
void cleanup_manage_process(gboolean cleanup)
Cleanup the manage library.
Definition: manage_sql.c:18386
init_agent_iterator
int init_agent_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an agent iterator.
Definition: manage_sql.c:39388
trash_credential_name
char * trash_credential_name(credential_t credential)
Get the name of an LSC credential in the trashcan.
Definition: manage_sql.c:38279
credential_count
int credential_count(const get_data_t *get)
Count number of LSC Credentials.
Definition: manage_sql.c:37359
alert_task_iterator_readable
int alert_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:14780
init_manage_process
void init_manage_process(const gchar *database)
Initialize the manage library for a process.
Definition: manage_sql.c:15463
delete_schedule
int delete_schedule(const char *schedule_id, int ultimate)
Delete a schedule.
Definition: manage_sql.c:44459
truncate_private_key
gchar * truncate_private_key(const gchar *private_key)
Truncate a private key, removing extra data.
Definition: manage.c:253
host_notice
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:21042
target_port_range
char * target_port_range(target_t target)
Return the port range of a target, in GMP port range list format.
Definition: manage_sql.c:35040
set_scan_end_time_epoch
void set_scan_end_time_epoch(report_t report, time_t timestamp)
Set the end time of a scan.
Definition: manage_sql.c:25445
trash_config_in_use
int trash_config_in_use(config_t config)
Return whether a trashcan config is referenced by a task.
Definition: manage_sql_configs.c:3313
schedule_iterator_byday_string
gchar * schedule_iterator_byday_string(iterator_t *iterator)
Get the byday string from a schedule iterator.
Definition: manage_sql.c:44932
tls_certificate_format_str
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:135
result_iterator_may_have_tickets
int result_iterator_may_have_tickets(iterator_t *iterator)
Get whether tickets may exist from a result iterator.
Definition: manage_sql.c:24844
set_task_config
void set_task_config(task_t task, config_t config)
Set the config of a task.
Definition: manage_sql.c:19247
nvt_preference_iterator_oid
char * nvt_preference_iterator_oid(iterator_t *iterator)
Get the NVT from an NVT preference iterator.
Definition: manage_sql_configs.c:1752
report_timestamp
int report_timestamp(const char *report_id, gchar **timestamp)
Get the timestamp of a report.
Definition: manage_sql.c:25618
trash_scanner_name
char * trash_scanner_name(scanner_t scanner)
Return the name of a scanner in the trashcan.
Definition: manage_sql.c:43756
create_report_format_param_t::type_max
gchar * type_max
Maximum value for integer type.
Definition: manage.h:3030
create_report_format_param_t::name
gchar * name
Name.
Definition: manage.h:3028
init_alert_task_iterator
void init_alert_task_iterator(iterator_t *iterator, alert_t alert, int ascending)
Initialise an alert task iterator.
Definition: manage_sql.c:14708
credential_type
char * credential_type(credential_t credential)
Get the type of a Credential.
Definition: manage_sql.c:38294
manage_encrypt_all_credentials
int manage_encrypt_all_credentials(GSList *log_config, const gchar *database)
Encrypt or re-encrypt all credentials.
Definition: manage_sql.c:6639
copy_scanner
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:42719
result_iterator_nvt_affected
const char * result_iterator_nvt_affected(iterator_t *iterator)
Get the NVT affected from a result iterator.
Definition: manage_sql.c:24337
get_data_t::filter
char * filter
Filter term.
Definition: manage.h:358
credential_iterator_deb
char * credential_iterator_deb(iterator_t *iterator)
Get the deb from a Credential iterator.
Definition: manage_sql.c:38066
nvt_preference_count
int nvt_preference_count(const char *oid)
Get the number preferences available for an NVT.
Definition: manage_sql_configs.c:1836
init_user_config_iterator
void init_user_config_iterator(iterator_t *iterator, config_t config, int trash, int ascending, const char *sort_field)
Initialise a config iterator, limited to user's configs.
Definition: manage_sql_configs.c:3058
schedule_duration
int schedule_duration(schedule_t schedule)
Return the duration of a schedule.
Definition: manage_sql.c:44731
scanner_ca_pub
char * scanner_ca_pub(scanner_t scanner)
Return the CA Certificate of a scanner.
Definition: manage_sql.c:43624
manage_schedule
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:6853
manage_auth_allow_all
void manage_auth_allow_all(int scheduled)
Ensure that any subsequent authentications succeed.
Definition: manage.c:6469
target_iterator_snmp_trash
int target_iterator_snmp_trash(iterator_t *iterator)
Get the SNMP LSC credential location from a target iterator.
Definition: manage_sql.c:34725
task_running_report
report_t task_running_report(task_t task)
Return the running report of a task.
Definition: manage_sql.c:19600
copy_report_format
int copy_report_format(const char *name, const char *source_uuid, report_format_t *new_report_format)
Create Report Format from an existing Report Format.
Definition: manage_sql.c:46388
nvts_feed_version_epoch
time_t nvts_feed_version_epoch()
Return feed version of the plugins as seconds since epoch.
Definition: manage_sql_nvts.c:170
host_iterator_current_port
int host_iterator_current_port(iterator_t *iterator)
Get the current port from a host iterator.
Definition: manage_sql.c:25020
report_format_owner_uuid
char * report_format_owner_uuid(report_format_t report_format)
Return the UUID of the owner of a report format.
Definition: manage_sql.c:47080
certificate_iso_time
gchar * certificate_iso_time(time_t time)
Converts a certificate time to an ISO time string.
Definition: manage.c:514
result_iterator_nvt_solution_type
const char * result_iterator_nvt_solution_type(iterator_t *iterator)
Get the NVT solution_type from a result iterator.
Definition: manage_sql.c:24392
manage_nvt_preference_add
void manage_nvt_preference_add(const char *name, const char *value)
Add/replace an NVT preference.
Definition: manage_sql_configs.c:1589
trash_config_writable
int trash_config_writable(config_t config)
Return whether a trashcan config is writable.
Definition: manage_sql_configs.c:3329
scanner_iterator_type
int scanner_iterator_type(iterator_t *iterator)
Get the type from an scanner iterator.
Definition: manage_sql.c:43195
config_nvt_selector
char * config_nvt_selector(config_t config)
Return the NVT selector associated with a config.
Definition: manage_sql_configs.c:3507
target_iterator_smb_credential
int target_iterator_smb_credential(iterator_t *iterator)
Get the SMB LSC credential from a target iterator.
Definition: manage_sql.c:34527
trash_schedule_writable
int trash_schedule_writable(schedule_t schedule)
Return whether a trashcan schedule is writable.
Definition: manage_sql.c:44623
severity_data_add
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:1101
target_iterator_esxi_trash
int target_iterator_esxi_trash(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:34693
target_reverse_lookup_unify
char * target_reverse_lookup_unify(target_t target)
Return the reverse_lookup_unify value of a target.
Definition: manage_sql.c:34908
port_name_formatted
gchar * port_name_formatted(const char *field)
Returns formatted port number, protocol and iana name from.
Definition: manage_sql.c:6450
find_override_with_permission
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:40727
report_counts
int report_counts(const char *report_id, int *debugs, int *holes, int *infos, int *logs, int *warnings, int *false_positives, double *severity, int override, int autofp, int min_qod)
Get the message counts for a report given the UUID.
Definition: manage_sql.c:25778
modify_scanner
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:42749
report_format_name
char * report_format_name(report_format_t report_format)
Return the name of a report format.
Definition: manage_sql.c:47123
prognosis_iterator_cvss_double
double prognosis_iterator_cvss_double(iterator_t *iterator)
Get the CVSS from a result iterator as a double.
Definition: manage_sql.c:21484
override_iterator_end_time
time_t override_iterator_end_time(iterator_t *iterator)
Get the end time from an override iterator.
Definition: manage_sql.c:41958
set_task_preferences
int set_task_preferences(task_t task, array_t *preferences)
Set the preferences of a task.
Definition: manage_sql_configs.c:1894
make_cve_result
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:21270
task_result_count
int task_result_count(task_t task, int min_qod)
Return number of results in a task.
Definition: manage_sql.c:19582
get_data_t::ignore_max_rows_per_page
int ignore_max_rows_per_page
Whether to ignore the Max Rows Per Page setting.
Definition: manage.h:365
task_comment
char * task_comment(task_t task)
Return the comment of a task.
Definition: manage_sql.c:19111
find_config_with_permission
gboolean find_config_with_permission(const char *uuid, config_t *config, const char *permission)
Find a config for a set of permissions, given a UUID.
Definition: manage_sql_configs.c:1982
scan_start_time_uuid
char * scan_start_time_uuid(const char *uuid)
Get the start time of a scan.
Definition: manage_sql.c:25353
set_task_scanner
void set_task_scanner(task_t task, scanner_t scanner)
Set the scanner of a task.
Definition: manage_sql.c:19360
set_task_usage_type
void set_task_usage_type(task_t task, const char *usage_type)
Set the usage_type of a task.
Definition: manage_sql.c:19389
agent_in_use
int agent_in_use(agent_t agent)
Check whether an agent is in use.
Definition: manage_sql.c:39169
target_task_iterator_readable
int target_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:35228
get_nvti_xml
gchar * get_nvti_xml(iterator_t *nvts, int details, int pref_count, int preferences, const char *timeout, config_t config, int close_tag)
Create and return XML description for an NVT.
Definition: manage.c:7689
manage_sync
void manage_sync(sigset_t *sigmask_current, int(*fork_update_nvt_cache)())
Perform any syncing that is due.
Definition: manage.c:6831
nvt_selector_nvt_count
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:536
alert_data_iterator_data
const char * alert_data_iterator_data(iterator_t *iterator)
Return the data from an alert data iterator.
Definition: manage_sql.c:8963
file_iterator_t
A report format file iterator.
Definition: manage.h:3140
trash_alert_in_use
int trash_alert_in_use(alert_t alert)
Return whether a trashcan alert is in use by a task.
Definition: manage_sql.c:8675
init_credential_iterator_one
void init_credential_iterator_one(iterator_t *iterator, credential_t credential)
Initialise a Credential iterator, given a single Credential.
Definition: manage_sql.c:37784
init_family_iterator
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:408
trash_agent_writable
int trash_agent_writable(agent_t agent)
Check whether a trashcan agent is writable.
Definition: manage_sql.c:39208
task_alterable
int task_alterable(task_t task)
Return whether a task is an Alterable Task.
Definition: manage_sql.c:15400
set_task_schedule_periods
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:20138
target_exclude_hosts
char * target_exclude_hosts(target_t target)
Return the excluded hosts associated with a target.
Definition: manage_sql.c:34880
severity_data_t::total
int total
Total.
Definition: manage.h:1061
init_ovaldef_info_iterator
int init_ovaldef_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an OVAL definition (ovaldef) info iterator.
Definition: manage_sql_secinfo.c:480
init_all_info_iterator
int init_all_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an info iterator.
Definition: manage_sql_secinfo.c:1188
find_report_format_with_permission
gboolean find_report_format_with_permission(const char *uuid, report_format_t *report_format, const char *permission)
Find a reportformat for a specific permission, given a UUID.
Definition: manage_sql.c:45660
task_target_in_trash
int task_target_in_trash(task_t task)
Return whether the target of a task is in the trashcan.
Definition: manage_sql.c:19320
current_scanner_task
task_t current_scanner_task
The task currently running on the scanner.
Definition: manage.c:1239
find_result_with_permission
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:20769
keyword::quoted
int quoted
Whether the keyword was quoted.
Definition: manage.h:3520
init_ovaldi_file_iterator
void init_ovaldi_file_iterator(iterator_t *iterator)
Initialise an ovaldi file iterator.
Definition: manage_sql_secinfo.c:1363
target_ssh_port
char * target_ssh_port(target_t target)
Return the SSH LSC port of a target.
Definition: manage_sql.c:34953
get_data_set_extra
void get_data_set_extra(get_data_t *data, const char *name, const char *value)
Sets a type-specific extra parameter in a get_data_t.
Definition: gmp.c:2062
family_nvt_count
int family_nvt_count(const char *family)
Get the number of NVTs in one or all families.
Definition: manage_sql_nvts.c:935
task_in_trash_id
int task_in_trash_id(const gchar *task_id)
Return whether a task is in the trashcan.
Definition: manage_sql.c:19052
task_uuid
int task_uuid(task_t task, char **id)
Return the UUID of a task.
Definition: manage_sql.c:19020
keyword::approx
int approx
Whether the keyword is like "~example".
Definition: manage.h:3516
report_set_slave_name
void report_set_slave_name(report_t report, const gchar *name)
Set the name of the slave on a report.
Definition: manage_sql.c:22689
result_iterator_original_level
const char * result_iterator_original_level(iterator_t *iterator)
Get the original severity/threat level from a result iterator.
Definition: manage_sql.c:24697
keyword::equal
int equal
Whether the keyword is like "=example".
Definition: manage.h:3517
report_result_host_count
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:27690
tag_uuid
char * tag_uuid(tag_t tag)
Return the UUID of a tag.
Definition: manage_sql.c:34741
sort_data_t::field
gchar * field
The field to sort by.
Definition: manage.h:4178
get_data_t::id
char * id
ID of single item to get.
Definition: manage.h:361
type_is_scap
int type_is_scap(const char *type)
Check if a type is a SCAP type.
Definition: manage.c:714
keyword::integer_value
int integer_value
Integer value of the keyword.
Definition: manage.h:3518
name_value_t::name
gchar * name
Name.
Definition: manage.h:105
schedule_iterator_period_months
time_t schedule_iterator_period_months(iterator_t *iterator)
Get the period months from a schedule iterator.
Definition: manage_sql.c:44916
create_agent
int create_agent(const char *name, const char *comment, const char *installer_64, const char *installer_filename, const char *installer_signature_64, const char *howto_install, const char *howto_use, agent_t *agent)
Create an agent entry.
Definition: manage_sql.c:38788
ovaldef_version
char * ovaldef_version(const char *id)
Get the version of an OVALDEF using an ID.
Definition: manage_sql_secinfo.c:703
override_iterator_task
task_t override_iterator_task(iterator_t *iterator)
Get the task from a override iterator.
Definition: manage_sql.c:41929
task_config
config_t task_config(task_t task)
Return the config of a task.
Definition: manage_sql.c:19168
init_cve_info_iterator
int init_cve_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise a info iterator.
Definition: manage_sql_secinfo.c:337
ovaldef_cves
char * ovaldef_cves(const char *id)
Get the CVE names of an OVALDEF as ", " separated str.
Definition: manage_sql_secinfo.c:724
report_set_slave_uuid
void report_set_slave_uuid(report_t report, const gchar *uuid)
Set the UUID of the slave on a report.
Definition: manage_sql.c:22672
event_name
const char * event_name(event_t event)
Get the name of an alert event.
Definition: manage.c:1318
agent_writable
int agent_writable(agent_t agent)
Check whether a agent is writable.
Definition: manage_sql.c:39195
task_schedule_next_time_uuid
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:20309
resource_t
long long int resource_t
A resource, like a task or target.
Definition: iterator.h:40
manage_cleanup_process_error
void manage_cleanup_process_error(int signal)
Cleanup as immediately as possible.
Definition: manage_sql.c:18422
trash_agent_in_use
int trash_agent_in_use(agent_t agent)
Check whether a trashcan agent is writable.
Definition: manage_sql.c:39182
trash_task_writable
int trash_task_writable(task_t task)
Return whether a trashcan task is writable.
Definition: manage_sql.c:15430
result_iterator_may_have_notes
int result_iterator_may_have_notes(iterator_t *iterator)
Get whether notes may exist from a result iterator.
Definition: manage_sql.c:24816
result_iterator_nvt_cvss_base
const char * result_iterator_nvt_cvss_base(iterator_t *iterator)
Get the NVT CVSS base value from a result iterator.
Definition: manage_sql.c:24446
delete_agent
int delete_agent(const char *agent_id, int ultimate)
Delete an agent.
Definition: manage_sql.c:39083
set_credential_privacy_algorithm
void set_credential_privacy_algorithm(credential_t credential, const char *algorithm)
Set the privacy_algorithm of a Credential.
Definition: manage_sql.c:37613
set_task_start_time_ctime
void set_task_start_time_ctime(task_t task, char *time)
Set the start time of a task.
Definition: manage_sql.c:19728
create_credential
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:36314
delete_credential
int delete_credential(const char *credential_id, int ultimate)
Delete a Credential.
Definition: manage_sql.c:37111
nvt_selector_iterator_include
int nvt_selector_iterator_include(iterator_t *iterator)
Get whether the selector rule is an include rule.
Definition: manage_sql_configs.c:356
trash_target_uuid
char * trash_target_uuid(target_t target)
Return the UUID of a trashcan target.
Definition: manage_sql.c:34769
split_filter
array_t * split_filter(const gchar *given_filter)
Split the filter term into parts.
Definition: manage_sql.c:2007
delete_target
int delete_target(const char *target_id, int ultimate)
Delete a target.
Definition: manage_sql.c:33691
nvt_selector_family_count
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:173
xml_escape_text_truncated
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:624
init_report_format_file_iterator
int init_report_format_file_iterator(file_iterator_t *iterator, report_format_t report_format)
Initialise a report format file iterator.
Definition: manage.c:7212
report_set_slave_port
void report_set_slave_port(report_t report, int port)
Set the port of the slave of a report.
Definition: manage_sql.c:22723
schedule_iterator_next_time
time_t schedule_iterator_next_time(iterator_t *iterator)
Get the next time a schedule could be schedulable.
Definition: manage_sql.c:44997
manage_check_alerts
int manage_check_alerts(GSList *log_config, const gchar *database)
Check if any SecInfo alerts are due.
Definition: manage_sql.c:6945
manage_nvt_name
char * manage_nvt_name(nvt_t nvt)
Get the name of an NVT.
Definition: manage_sql_nvts.c:129
truncate_certificate
gchar * truncate_certificate(const gchar *certificate)
Truncate a certificate, removing extra data.
Definition: manage.c:188
create_config_from_scanner
int create_config_from_scanner(const char *scanner_id, const char *name, const char *comment, const char *usage_type, char **uuid)
Create a config from an OSP scanner.
Definition: manage_sql_configs.c:2361
trash_schedule_readable
int trash_schedule_readable(schedule_t schedule)
Return whether a trashcan schedule is readable.
Definition: manage_sql.c:44636
init_result_get_iterator
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:24121
create_alert
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:7697
copy_schedule
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:44440
credential_iterator_privacy_password
const char * credential_iterator_privacy_password(iterator_t *iterator)
Get the privacy password from a Credential iterator.
Definition: manage_sql.c:38008
nvt_info_count
int nvt_info_count(const get_data_t *get)
Count number of nvt.
Definition: manage_sql_nvts.c:435
agent_iterator_trust
const char * agent_iterator_trust(iterator_t *iterator)
Get the trust value from an agent iterator.
Definition: manage_sql.c:39483
nvt_preference_iterator_config_value
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:1804
set_schedule_timeout
void set_schedule_timeout(int new_timeout)
Set the schedule timeout.
Definition: manage.c:7043
task_second_last_report_id
gchar * task_second_last_report_id(task_t task)
Get report ID from second most recently completed invocation of task.
Definition: manage_sql.c:19915
create_report_result_t::nvt_oid
char * nvt_oid
OID of NVT.
Definition: manage.h:1217
init_scanner_iterator
int init_scanner_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an scanner iterator.
Definition: manage_sql.c:43151
resource_count
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:18899
task_iterator_total_reports
int task_iterator_total_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15252
aggregate_iterator_mean
double aggregate_iterator_mean(iterator_t *iterator, int data_column_index)
Get the mean from an aggregate iterator.
Definition: manage_sql.c:6034
command_t::name
gchar * name
Command name.
Definition: manage.h:142
create_report_result_t::severity
char * severity
Severity score.
Definition: manage.h:1222
result_iterator_nvt_refs_append
void result_iterator_nvt_refs_append(GString *xml, iterator_t *iterator, int *first)
Get the NVT's references in XML format from a result iterator.
Definition: manage_sql.c:24495
nvti_refs_append_xml
void nvti_refs_append_xml(GString *xml, const char *oid, int *first)
Get the NVT's references in XML format from a nvti object via oid.
Definition: manage_sql.c:24464
manage_db_version
int manage_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:6334
report_host_count
int report_host_count(report_t report)
Count a report's total number of hosts.
Definition: manage_sql.c:27674
target_login_port
int target_login_port(target_t target, const char *type)
Get a login port from a target.
Definition: manage_sql.c:33343
alert_method_name
const char * alert_method_name(alert_method_t method)
Get the name of an alert method.
Definition: manage.c:1433
init_host_prognosis_iterator
void init_host_prognosis_iterator(iterator_t *iterator, report_host_t report_host)
Initialise a report host prognosis iterator.
Definition: manage_sql.c:21451
scanner_port
int scanner_port(scanner_t scanner)
Return the port of a scanner.
Definition: manage_sql.c:43584
schedule_iterator_period
time_t schedule_iterator_period(iterator_t *iterator)
Get the period from a schedule iterator.
Definition: manage_sql.c:44900
result_iterator_has_dfn_certs
int result_iterator_has_dfn_certs(iterator_t *iterator)
Get whether DFN-CERTs may exist from a result iterator.
Definition: manage_sql.c:24872
cve_info_count
int cve_info_count(const get_data_t *get)
Count number of cve.
Definition: manage_sql_secinfo.c:319
schedule_iterator_first_time
time_t schedule_iterator_first_time(iterator_t *iterator)
Get the first time from a schedule iterator.
Definition: manage_sql.c:44884
get_data_t::type
gchar * type
Type of resource.
Definition: manage.h:363
alert_report_data_free
void alert_report_data_free(alert_report_data_t *data)
Frees a alert_report_data_t struct, including contained data.
Definition: manage.c:1255
file_iterator_content_64
gchar * file_iterator_content_64(file_iterator_t *iterator)
Return the file contents from a file iterator.
Definition: manage.c:7302
alert_task_iterator_uuid
const char * alert_task_iterator_uuid(iterator_t *iterator)
Return the uuid from an alert task iterator.
Definition: manage_sql.c:14764
cert_bund_adv_info_count
int cert_bund_adv_info_count(const get_data_t *get)
Count number of cert_bund_adv.
Definition: manage_sql_secinfo.c:811
task_iterator_run_status_name
const char * task_iterator_run_status_name(iterator_t *iterator)
Get the run status name from a task iterator.
Definition: manage_sql.c:15280
command_t::summary
gchar * summary
Summary of command.
Definition: manage.h:143
target_iterator_alive_tests
const char * target_iterator_alive_tests(iterator_t *iterator)
Get the alive test description from a target iterator.
Definition: manage_sql.c:34638
config_nvt_timeout
char * config_nvt_timeout(config_t config, const char *oid)
Get the timeout value for an NVT in a config.
Definition: manage_sql_configs.c:2508
copy_target
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:33657
config_count
int config_count(const get_data_t *get)
Count the number of scan configs.
Definition: manage_sql_configs.c:3032
manage_cert_db_version
int manage_cert_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:6405
create_report_format_param_t
Struct for defining a report format param.
Definition: manage.h:3025
credential_value
gchar * credential_value(credential_t credential, const char *value_name)
Get a value from a credential.
Definition: manage_sql.c:37473
task_in_trash
int task_in_trash(task_t task)
Return whether a task is in the trashcan.
Definition: manage_sql.c:19035
task_schedule
schedule_t task_schedule(task_t task)
Return the schedule of a task.
Definition: manage_sql.c:20180
task_schedule_in_trash
int task_schedule_in_trash(task_t task)
Get whether the task schedule is in the trash.
Definition: manage_sql.c:20240
schedule_uuid
char * schedule_uuid(schedule_t schedule)
Return the UUID of a schedule.
Definition: manage_sql.c:44661
credential_iterator_password
const char * credential_iterator_password(iterator_t *iterator)
Get the password from a Credential iterator.
Definition: manage_sql.c:37963
manage_user_hash
gchar * manage_user_hash(const gchar *username)
Get user hash.
Definition: manage_sql.c:18460
trash_schedule_uuid
char * trash_schedule_uuid(schedule_t schedule)
Return the UUID of a trash schedule.
Definition: manage_sql.c:44675
keyword
Keyword.
Definition: manage.h:3513
sort_data_t::stat
gchar * stat
The statistic to sort by.
Definition: manage.h:4179
delete_alert
int delete_alert(const char *alert_id, int ultimate)
Delete an alert.
Definition: manage_sql.c:8334
credential_writable
int credential_writable(credential_t credential)
Check whether a Credential is writable.
Definition: manage_sql.c:37446
trash_credential_readable
int trash_credential_readable(credential_t credential)
Return whether a trashcan credential is readable.
Definition: manage_sql.c:38308
trash_scanner_uuid
char * trash_scanner_uuid(scanner_t scanner)
Return the UUID of a scanner in the trashcan.
Definition: manage_sql.c:43770
get_data_t::details
int details
Boolean. Whether to include full details.
Definition: manage.h:356
find_note_with_permission
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:39701
trash_schedule_name
char * trash_schedule_name(schedule_t schedule)
Return the name of a trash schedule.
Definition: manage_sql.c:44703
aggregate_iterator_text
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:6068
manage_clean_filter
gchar * manage_clean_filter(const gchar *filter)
Clean a filter.
Definition: manage_sql.c:2731
init_system_report_type_iterator
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:5962
schedule_count
int schedule_count(const get_data_t *get)
Count the number of schedules.
Definition: manage_sql.c:44839
get_data_t::minimal
int minimal
Whether to respond with minimal information.
Definition: manage.h:367
init_nvt_info_iterator
int init_nvt_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an NVT iterator.
Definition: manage_sql_nvts.c:356
agent_uuid
char * agent_uuid(agent_t agent)
Return the UUID of an agent.
Definition: manage_sql.c:39221
host_detail_t::source_name
char * source_name
Source name.
Definition: manage.h:1234
iterator
A generic SQL iterator structure.
Definition: iterator.h:50
all_info_count
int all_info_count(const get_data_t *get)
Count number of SecInfo entries.
Definition: manage_sql_secinfo.c:1125
target_iterator_esxi_credential
int target_iterator_esxi_credential(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:34677
init_note_iterator
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:40425
report_format_param_type_from_name
report_format_param_type_t report_format_param_type_from_name(const char *name)
Get a report format param type from a name.
Definition: manage.c:7093
config_iterator_type
int config_iterator_type(iterator_t *iterator)
Get the type from a config iterator.
Definition: manage_sql_configs.c:3210
config_iterator_scanner
scanner_t config_iterator_scanner(iterator_t *iterator)
Get the scanner from a config iterator.
Definition: manage_sql_configs.c:3226
modify_report
int modify_report(const char *report_id, const char *comment)
Modify a report.
Definition: manage_sql.c:26378
trash_target_readable
int trash_target_readable(target_t target)
Return whether a trashcan target is readable.
Definition: manage_sql.c:34839
host_detail_t::value
char * value
Detail value.
Definition: manage.h:1236
target_uuid
char * target_uuid(target_t target)
Return the UUID of a target.
Definition: manage_sql.c:34755
aggregate_iterator_min
double aggregate_iterator_min(iterator_t *iterator, int data_column_index)
Get the minimum from an aggregate iterator.
Definition: manage_sql.c:6002
set_task_end_time_epoch
void set_task_end_time_epoch(task_t task, time_t time)
Set the end time of a task.
Definition: manage_sql.c:25307
certificate_time_status
const gchar * certificate_time_status(time_t activates, time_t expires)
Tests the activation and expiration time of a certificate.
Definition: manage.c:533
override_iterator_active
int override_iterator_active(iterator_t *iterator)
Get the active status from an override iterator.
Definition: manage_sql.c:41974
manage_clean_filter_remove
gchar * manage_clean_filter_remove(const gchar *filter, const gchar *column)
Clean a filter, removing a keyword in the process.
Definition: manage_sql.c:2646
manage_alert
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:14089
set_task_schedule_periods_id
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:20163
task_scanner
scanner_t task_scanner(task_t task)
Return the scanner of a task.
Definition: manage_sql.c:19335
nvt_selector_t::type
char * type
Name of NVT selector.
Definition: manage.h:1793
set_scan_host_start_time_ctime
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:25589
note_iterator_threat
const char * note_iterator_threat(iterator_t *iterator)
Get the threat from a note iterator.
Definition: manage_sql.c:40597
get_data_get_extra
const char * get_data_get_extra(const get_data_t *data, const char *name)
Retrieves a type-specific extra parameter from a get_data_t.
Definition: gmp.c:2044
type_name_plural
const char * type_name_plural(const char *type)
Return the plural name of a resource type.
Definition: manage.c:656
scanner_count
int scanner_count(const get_data_t *get)
Count number of scanners.
Definition: manage_sql.c:43784
create_report_format_param_t::value
gchar * value
Value of param.
Definition: manage.h:3032
manage_cert_db_supported_version
int manage_cert_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:6394
result_iterator_nvt_tag
const char * result_iterator_nvt_tag(iterator_t *iterator)
Get the NVT tags from a result iterator.
Definition: manage_sql.c:24510
manage_transaction_stop
void manage_transaction_stop(gboolean force_commit)
Commit the current transaction, if any.
Definition: manage_sql.c:33112
get_data_t::filter_replacement
char * filter_replacement
Filter term to replace the one in filt_id.
Definition: manage.h:360
osp_get_details_from_iterator
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:43997
modify_alert
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:8040
init_cpe_info_iterator
int init_cpe_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise a info iterator.
Definition: manage_sql_secinfo.c:153
init_cve_cert_bund_adv_iterator
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:877
find_schedule_with_permission
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:44232
manage_migrate_needs_timezone
gboolean manage_migrate_needs_timezone(GSList *log_config, const gchar *database)
Check whether the migration needs the real timezone.
Definition: manage_migrators.c:1606
agent_iterator_trust_time
time_t agent_iterator_trust_time(iterator_t *iterator)
Get the installer trust time from a agent iterator.
Definition: manage_sql.c:39503
credential_iterator_rpm
char * credential_iterator_rpm(iterator_t *iterator)
Get the rpm from a Credential iterator.
Definition: manage_sql.c:38022
total_info_count
int total_info_count(const get_data_t *get, int filtered)
Count number of all SecInfo entries.
Definition: manage_sql_secinfo.c:1139
init_schedule_task_iterator
void init_schedule_task_iterator(iterator_t *iterator, schedule_t schedule)
Initialise a schedule task iterator.
Definition: manage_sql.c:45276
init_nvt_preference_iterator
void init_nvt_preference_iterator(iterator_t *iterator, const char *oid)
Initialise an NVT preference iterator.
Definition: manage_sql_configs.c:1631
task_average_scan_duration
int task_average_scan_duration(task_t task)
Get the average duration of all finished reports of a task.
Definition: manage_sql.c:15445
init_credential_iterator
int init_credential_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a Credential iterator.
Definition: manage_sql.c:37811
task_target
target_t task_target(task_t task)
Return the target of a task.
Definition: manage_sql.c:19263
insert_report_host_detail
void insert_report_host_detail(report_t report, const char *host, const char *s_type, const char *s_name, const char *s_desc, const char *name, const char *value)
Insert a host detail into a report.
Definition: manage_sql.c:22001
init_manage_helper
int init_manage_helper(GSList *log_config, const gchar *database, int max_ips_per_target)
Initialize the manage library for a helper program.
Definition: manage_sql.c:18361
create_schedule
int create_schedule(const char *name, const char *comment, const char *ical_string, time_t first_time, time_t period, time_t period_months, const char *byday, time_t duration, const char *zone, schedule_t *schedule, gchar **error_out)
Create a schedule.
Definition: manage_sql.c:44309
report_format_uuid
char * report_format_uuid(report_format_t report_format)
Return the UUID of a report format.
Definition: manage_sql.c:47066
task_iterator_first_report
const char * task_iterator_first_report(iterator_t *iterator)
Get the first report UUID from a task iterator.
Definition: manage_sql.c:15266
manage_create_scanner
int manage_create_scanner(GSList *log_config, const gchar *database, const char *name, const char *host, const char *port, const char *type, const char *ca_pub_path, const char *key_pub_path, const char *key_priv_path)
Create the given scanner.
Definition: manage_sql.c:42057
init_config_preference_iterator
void init_config_preference_iterator(iterator_t *iterator, config_t config)
Initialise a preference iterator.
Definition: manage_sql_configs.c:3361
set_scan_end_time_ctime
void set_scan_end_time_ctime(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:25477
manage_task_remove_file
int manage_task_remove_file(const gchar *task_id, const char *name)
Remove a file on a task.
Definition: manage_sql.c:32618
find_trash_task_with_permission
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:32460
trash_schedule_in_use
int trash_schedule_in_use(schedule_t schedule)
Return whether a trashcan schedule is in use by a task.
Definition: manage_sql.c:44594
osp_connect_with_data
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:43883
manage_test_alert
int manage_test_alert(const char *alert_id, gchar **script_message)
Test an alert.
Definition: manage_sql.c:14189
find_task_with_permission
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:32444
manage_scap_db_supported_version
int manage_scap_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:6360
config_iterator_families_growing
int config_iterator_families_growing(iterator_t *iterator)
Get the families growing state from a config iterator.
Definition: manage_sql_configs.c:3178
schedule_info
int schedule_info(schedule_t schedule, int trash, time_t *first_time, time_t *next_time, int *period, int *period_months, int *duration, gchar **icalendar, gchar **zone)
Return info about a schedule.
Definition: manage_sql.c:44753
credential_iterator_allow_insecure
int credential_iterator_allow_insecure(iterator_t *iterator)
Get the login from a Credential iterator.
Definition: manage_sql.c:37897
trash_target_writable
int trash_target_writable(target_t target)
Return whether a trashcan target is writable.
Definition: manage_sql.c:35157
severity_data_t::counts
int * counts
Counts.
Definition: manage.h:1060
create_report_result_t::qod_type
char * qod_type
QoD type.
Definition: manage.h:1221
result_iterator_task
task_t result_iterator_task(iterator_t *iterator)
Get the task from a result iterator.
Definition: manage_sql.c:24572
task_last_resumable_report
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:19881
scanner_writable
int scanner_writable(scanner_t scanner)
Check whether a scanner is writable.
Definition: manage_sql.c:43481
task_owner_name
char * task_owner_name(task_t task)
Return the name of the owner of a task.
Definition: manage_sql.c:19067
task_last_report
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:19784
config_type
int config_type(config_t config)
Return the type of a config.
Definition: manage_sql_configs.c:2460
modify_credential
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:36807
command_t
A command.
Definition: manage.h:140
set_task_run_status
void set_task_run_status(task_t task, task_status_t status)
Set the run state of a task.
Definition: manage_sql.c:19480
authenticate
int authenticate(credentials_t *credentials)
Authenticate credentials.
Definition: manage_sql.c:18826
scanner_in_use
int scanner_in_use(scanner_t scanner)
Check whether an scanner is in use.
Definition: manage_sql.c:43445
severity_data_level_counts
void severity_data_level_counts(const severity_data_t *severity_data, const gchar *severity_class, int *errors, int *debugs, int *false_positives, int *logs, int *lows, int *mediums, int *highs)
Count the occurrences of severities in the levels.
Definition: manage.c:1171
alert_method_from_name
alert_method_t alert_method_from_name(const char *name)
Get an alert method from a name.
Definition: manage.c:1509
info_name_count
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:6250
scanner_name
char * scanner_name(scanner_t scanner)
Return the name of a scanner.
Definition: manage_sql.c:43532
credential_iterator_exe
char * credential_iterator_exe(iterator_t *iterator)
Get the exe from a Credential iterator.
Definition: manage_sql.c:38118
trash_credential_uuid
char * trash_credential_uuid(credential_t credential)
Get the UUID of a Credential in the trashcan.
Definition: manage_sql.c:38250
manage_filter_controls
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:2192
get_data_t::filt_id
char * filt_id
Filter ID. Overrides "filter".
Definition: manage.h:357
copy_task
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:31928
scanner_key_priv
char * scanner_key_priv(scanner_t scanner)
Return the private key of a scanner.
Definition: manage_sql.c:43657
target_iterator_ssh_trash
int target_iterator_ssh_trash(iterator_t *iterator)
Get the location of the SSH LSC credential from a target iterator.
Definition: manage_sql.c:34543
scanner_key_pub
char * scanner_key_pub(scanner_t scanner)
Return the Certificate of a scanner.
Definition: manage_sql.c:43637
make_report
report_t make_report(task_t task, const char *uuid, task_status_t status)
Make a report.
Definition: manage_sql.c:21927
scanner_iterator_credential_trash
int scanner_iterator_credential_trash(iterator_t *iterator)
Get the credential location of the scanner from a scanner iterator.
Definition: manage_sql.c:43247
manage_cert_loaded
int manage_cert_loaded()
Check whether CERT is available.
Definition: manage_pg.c:3742
report_format_extension
char * report_format_extension(report_format_t report_format)
Return the extension of a report format.
Definition: manage_sql.c:47224
delete_note
int delete_note(const char *note_id, int ultimate)
Delete a note.
Definition: manage_sql.c:39882
scanner_type
int scanner_type(scanner_t scanner)
Return the type of a scanner.
Definition: manage_sql.c:43604
event_description
gchar * event_description(event_t event, const void *event_data, const char *task_name)
Get a description of an alert event.
Definition: manage.c:1392
manage_count_hosts
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:32985
trash_credential_writable
int trash_credential_writable(credential_t credential)
Check whether a trashcan Credential is writable.
Definition: manage_sql.c:37459
create_report_format_param_t::type_min
gchar * type_min
Minimum value for integer type.
Definition: manage.h:3031
alert_report_data_t::content_type
gchar * content_type
The MIME content type of the report.
Definition: manage.h:446
task_config_in_trash
int task_config_in_trash(task_t task)
Return whether the config of a task is in the trashcan.
Definition: manage_sql.c:19233
keyword::type
keyword_type_t type
Type of keyword.
Definition: manage.h:3522
credential_target_iterator_readable
int credential_target_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:38396
task_config_uuid
char * task_config_uuid(task_t task)
Return the UUID of the config of a task.
Definition: manage_sql.c:19195
manage_port_name
char * manage_port_name(int number, const char *protocol)
Returns associated name for a tcp/ip port.
Definition: manage_sql.c:6431
gmp_commands
command_t gmp_commands[]
The GMP command list.
Definition: manage_sql.c:537
update_duration_schedule_periods
void update_duration_schedule_periods(task_t task)
Update tasks with limited run schedules which have durations.
Definition: manage_sql.c:20579
get_data_t
Command data for a get command.
Definition: manage.h:354
create_report_result_t::port
char * port
Port.
Definition: manage.h:1219
find_target_with_permission
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:32970
get_iterator_resource
resource_t get_iterator_resource(iterator_t *iterator)
Get the resource from a GET iterator.
Definition: manage_sql.c:39297
alert_condition_name
const char * alert_condition_name(alert_condition_t condition)
Get the name of an alert condition.
Definition: manage.c:1291
init_nvt_dfn_cert_adv_iterator
void init_nvt_dfn_cert_adv_iterator(iterator_t *iterator, const char *oid, int ascending, const char *sort_field)
Initialise an DFN-CERT iterator, for advisories relevant to a NVT.
Definition: manage_sql_secinfo.c:1089
alert_iterator_active
int alert_iterator_active(iterator_t *iterator)
Return the active state from an alert.
Definition: manage_sql.c:8908
verify_scanner
int verify_scanner(const char *scanner_id, char **version)
Verify a scanner.
Definition: manage_sql.c:44119
config_in_use
int config_in_use(config_t config)
Return whether a config is referenced by a task.
Definition: manage_sql_configs.c:3270
set_relay_mapper_path
void set_relay_mapper_path(const char *new_path)
Gets the current path of the relay mapper executable.
Definition: manage.c:4904
config_writable
int config_writable(config_t config)
Return whether a config can be modified.
Definition: manage_sql_configs.c:3287
init_nvt_selector_iterator
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:314
trash_report_format_in_use
int trash_report_format_in_use(report_format_t report_format)
Return whether a report format in trash is referenced by an alert.
Definition: manage_sql.c:47174
result_iterator_severity_double
double result_iterator_severity_double(iterator_t *iterator)
Get the severity from a result iterator as double.
Definition: manage_sql.c:24674
note_iterator_nvt_type
const char * note_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a note iterator.
Definition: manage_sql.c:40685
create_report_format
int create_report_format(const char *uuid, const char *name, const char *content_type, const char *extension, const char *summary, const char *description, int global, array_t *files, array_t *params, array_t *params_options, const char *signature, report_format_t *report_format)
Create a report format.
Definition: manage_sql.c:45773
report_type_iterator_name
const char * report_type_iterator_name(report_type_iterator_t *iterator)
Return the name from a report type iterator.
Definition: manage.c:6017
reset_task
void reset_task(task_t task)
Reset all running information for a task.
Definition: manage_sql.c:32542
delete_task
int delete_task(task_t task, int ultimate)
Complete deletion of a task.
Definition: manage_sql.c:32252
preference_t::name
char * name
Name of preference.
Definition: manage.h:1776
update_config_preference
void update_config_preference(const char *config_id, const char *type, const char *preference_name, const char *new_value, gboolean insert)
Update or optionally insert a NVT preference.
Definition: manage_sql_configs.c:4201
manage_session_set_timezone
void manage_session_set_timezone(const char *zone)
Setup session timezone.
Definition: manage_pg.c:68
qod_from_type
int qod_from_type(const char *qod_type)
Get QoD percentage for a qod_type string.
Definition: manage_sql.c:20915
make_osp_result
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)
Make an OSP result.
Definition: manage_sql.c:20839
iterator.h
Headers for Iterators.
copy_credential
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:36758
override_iterator_nvt_type
const char * override_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a override iterator.
Definition: manage_sql.c:42000
target_in_use
int target_in_use(target_t target)
Return whether a target is in use by a task.
Definition: manage_sql.c:35111
target_iterator_ssh_credential
int target_iterator_ssh_credential(iterator_t *iterator)
Get the SSH LSC credential from a target iterator.
Definition: manage_sql.c:34502
scanner_login
char * scanner_login(scanner_t scanner)
Return the login associated with a scanner.
Definition: manage_sql.c:43696
sort_data_t::order
int order
The sort order.
Definition: manage.h:4180
global_current_report
report_t global_current_report
The report of the current task.
Definition: manage.c:1244
scanner_task_iterator_readable
int scanner_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:43431
report_count
int report_count(const get_data_t *get)
Count number of reports.
Definition: manage_sql.c:23083
modify_note
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:39993
find_nvt
gboolean find_nvt(const char *oid, nvt_t *nvt)
Find an NVT given an identifier.
Definition: manage_sql_nvts.c:217
report_type_iterator_t::start
gchar ** start
First type.
Definition: manage.h:2647
alert_count
int alert_count(const get_data_t *get)
Count the number of alerts.
Definition: manage_sql.c:8644
get_iterator_comment
const char * get_iterator_comment(iterator_t *iterator)
Get the comment from a GET iterator.
Definition: manage_sql.c:39329
init_cve_dfn_cert_adv_iterator
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:1058
credential_full_type
const char * credential_full_type(const char *abbreviation)
Get the written-out name of an LSC Credential type.
Definition: manage.c:5594
trash_target_name
char * trash_target_name(target_t target)
Return the name of a trashcan target.
Definition: manage_sql.c:34797
target_iterator_port_list_trash
int target_iterator_port_list_trash(iterator_t *iterator)
Get the location of the port list from a target iterator.
Definition: manage_sql.c:34593
get_schedule_timeout
int get_schedule_timeout()
Get the current schedule timeout.
Definition: manage.c:7032
manage_scap_loaded
int manage_scap_loaded()
Check whether SCAP is available.
Definition: manage_pg.c:3758
keyword_relation_symbol
const char * keyword_relation_symbol(keyword_relation_t relation)
Get the symbol of a keyword relation.
Definition: manage_sql.c:1388
init_cert_bund_adv_info_iterator
int init_cert_bund_adv_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an CERT-Bund advisory (cert_bund_adv) info iterator.
Definition: manage_sql_secinfo.c:762
modify_report_format
int modify_report_format(const char *report_format_id, const char *name, const char *summary, const char *active, const char *param_name, const char *param_value, const char *predefined)
Modify a report format.
Definition: manage_sql.c:46610
init_report_errors_iterator
void init_report_errors_iterator(iterator_t *iterator, report_t report)
Initialise a report errors iterator.
Definition: manage_sql.c:25062
config_uuid
char * config_uuid(config_t config)
Return the UUID of a config.
Definition: manage_sql_configs.c:2447
next_file
gboolean next_file(file_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:7274
config_nvts_growing
int config_nvts_growing(config_t config)
Get the NVT growth status of a config.
Definition: manage_sql_configs.c:283
cpe_info_count
int cpe_info_count(const get_data_t *get)
Count number of cpe.
Definition: manage_sql_secinfo.c:135
config_iterator_nvts_growing
int config_iterator_nvts_growing(iterator_t *iterator)
Get the NVTs growing state from a config iterator.
Definition: manage_sql_configs.c:3194
result_count
int result_count(const get_data_t *get, report_t report, const char *host)
Count the number of results.
Definition: manage_sql.c:24188
report_type_iterator_title
const char * report_type_iterator_title(report_type_iterator_t *iterator)
Return the title from a report type iterator.
Definition: manage.c:6030
filter_free
void filter_free(array_t *split)
Free a split filter.
Definition: manage_sql.c:1916
set_scan_ports
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:32426
schedule_period
int schedule_period(schedule_t schedule)
Return the period of a schedule.
Definition: manage_sql.c:44717
modify_schedule
int modify_schedule(const char *schedule_id, const char *name, const char *comment, const char *ical_string, time_t first_time, time_t period, time_t period_months, const char *byday, time_t duration, const char *zone, gchar **error_out)
Modify a schedule.
Definition: manage_sql.c:45361
next_report
gboolean next_report(iterator_t *iterator, report_t *report)
Read the next report from an iterator.
Definition: manage_sql.c:23217
task_iterator_hosts_ordering
const char * task_iterator_hosts_ordering(iterator_t *iterator)
Get the hosts ordering value from a task iterator.
Definition: manage_sql.c:15322
delete_config
int delete_config(const char *config_id, int ultimate)
Delete a config.
Definition: manage_sql_configs.c:2735
target_credential
credential_t target_credential(target_t target, const char *type)
Get a credential from a target.
Definition: manage_sql.c:33304
copy_agent
int copy_agent(const char *name, const char *comment, const char *agent_id, agent_t *new_agent)
Create an agent from an existing agent.
Definition: manage_sql.c:38998
init_task_role_iterator
void init_task_role_iterator(iterator_t *iterator, task_t task)
Initialise a task role iterator.
Definition: manage_sql.c:6832
ovaldef_severity
char * ovaldef_severity(const char *id)
Get the severity of an OVALDEF using an ID.
Definition: manage_sql_secinfo.c:682
nvt_name
char * nvt_name(const char *oid)
Get the name of an NVT given its OID.
Definition: manage_sql_nvts.c:142
get_data_t::trash
int trash
Boolean. Whether to return from trashcan.
Definition: manage.h:362
result_iterator_nvt_impact
const char * result_iterator_nvt_impact(iterator_t *iterator)
Get the NVT affected from a result iterator.
Definition: manage_sql.c:24355
target_reverse_lookup_only
char * target_reverse_lookup_only(target_t target)
Return the reverse_lookup_only value of a target.
Definition: manage_sql.c:34894
init_aggregate_iterator
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:5589
credential_scanner_iterator_readable
int credential_scanner_iterator_readable(iterator_t *iterator)
Get the read permission status from a Credential Scanner iterator.
Definition: manage_sql.c:38471
alert_iterator_filter_readable
int alert_iterator_filter_readable(iterator_t *iterator)
Return the filter readable state from an alert iterator.
Definition: manage_sql.c:8875
init_credential_scanner_iterator
void init_credential_scanner_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential scanner iterator.
Definition: manage_sql.c:38412
set_task_target
void set_task_target(task_t task, target_t target)
Set the target of a task.
Definition: manage_sql.c:19289
override_iterator_threat
const char * override_iterator_threat(iterator_t *iterator)
Get the threat from a override iterator.
Definition: manage_sql.c:41897
init_config_task_iterator
void init_config_task_iterator(iterator_t *iterator, config_t config, int ascending)
Initialise a config task iterator.
Definition: manage_sql_configs.c:4070
parse_ssldetails
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:51
alert_in_use
int alert_in_use(alert_t alert)
Return whether a alert is in use by a task.
Definition: manage_sql.c:8661
manage_reset_currents
void manage_reset_currents()
Cleanup as immediately as possible.
Definition: manage_sql.c:18443
task_hosts_ordering
char * task_hosts_ordering(task_t task)
Return the hosts ordering of a task.
Definition: manage_sql.c:19125
init_scanner_config_iterator
void init_scanner_config_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner config iterator.
Definition: manage_sql.c:43310
preference_t::value
char * value
Value of preference.
Definition: manage.h:1779
report_results_get_data
get_data_t * report_results_get_data(int first, int rows, int apply_overrides, int autofp, int min_qod)
Create a new basic get_data_t struct to get report results.
Definition: manage.c:1005
task_run_status
task_status_t task_run_status(task_t task)
Return the run state of a task.
Definition: manage_sql.c:19409
make_task
task_t make_task(char *name, char *comment, int in_assets, int event)
Make a task.
Definition: manage_sql.c:31821
alert_report_data_t::local_filename
gchar * local_filename
Path to the local report file.
Definition: manage.h:444
init_credential_target_iterator
void init_credential_target_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential target iterator.
Definition: manage_sql.c:38335
task_upload_progress
int task_upload_progress(task_t task)
Return the upload progress of a task.
Definition: manage_sql.c:19667
task_preference_value
char * task_preference_value(task_t task, const char *name)
Get the value of a task preference.
Definition: manage_sql_configs.c:1858
config_iterator_family_count
int config_iterator_family_count(iterator_t *iterator)
Get the family count from a config iterator.
Definition: manage_sql_configs.c:3146
request_delete_task_uuid
int request_delete_task_uuid(const char *task_id, int ultimate)
Request deletion of a task.
Definition: manage_sql.c:32117
note_iterator_end_time
time_t note_iterator_end_time(iterator_t *iterator)
Get the end time from an note iterator.
Definition: manage_sql.c:40643
modify_target
int modify_target(const char *target_id, const char *name, const char *hosts, const char *exclude_hosts, const char *comment, const char *port_list_id, const char *ssh_credential_id, const char *ssh_port, const char *smb_credential_id, const char *esxi_credential_id, const char *snmp_credential_id, const char *reverse_lookup_only, const char *reverse_lookup_unify, const char *alive_tests)
Modify a target.
Definition: manage_sql.c:33850
task_schedule_uuid
schedule_t task_schedule_uuid(const gchar *task_id)
Return the schedule of a task.
Definition: manage_sql.c:20207
result_detection_reference
int result_detection_reference(result_t result, report_t report, const gchar *host, const char *oid, char **ref, char **product, char **location, char **name)
Get product detection results corresponding to a given vulnerability detection result.
Definition: manage_sql.c:21322
next_report_type
gboolean next_report_type(report_type_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:6002
manage_verify_scanner
int manage_verify_scanner(GSList *log_config, const gchar *database, const gchar *uuid)
Verify the given scanner.
Definition: manage_sql.c:42486
trash_task_in_use
int trash_task_in_use(task_t task)
Return whether a trashcan task is referenced by a task.
Definition: manage_sql.c:15387
cleanup_file_iterator
void cleanup_file_iterator(file_iterator_t *iterator)
Cleanup a report type iterator.
Definition: manage.c:7258
run_status_name
const char * run_status_name(task_status_t status)
Get the name of a run status.
Definition: manage.c:1549
credential_iterator_community
const char * credential_iterator_community(iterator_t *iterator)
Get the SNMP community from a Credential iterator.
Definition: manage_sql.c:37993
scanner_iterator_credential
credential_t scanner_iterator_credential(iterator_t *iterator)
Get the credential of the scanner from a scanner iterator.
Definition: manage_sql.c:43231
set_scan_start_time_ctime
void set_scan_start_time_ctime(report_t report, const char *timestamp)
Set the start time of a scan.
Definition: manage_sql.c:25397
report_host_noticeable
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:31506
host_iterator_max_port
int host_iterator_max_port(iterator_t *iterator)
Get the max port from a host iterator.
Definition: manage_sql.c:25036
host_detail_t::source_type
char * source_type
Source type.
Definition: manage.h:1235
config_families_growing
int config_families_growing(config_t config)
Get the family growth status of a config.
Definition: manage_sql_configs.c:298
config_iterator_nvt_count
int config_iterator_nvt_count(iterator_t *iterator)
Get the nvt count from a config iterator.
Definition: manage_sql_configs.c:3162
override_count
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:41593
severity_data_t::max
double max
Max.
Definition: manage.h:1062
nvt_default_timeout
char * nvt_default_timeout(const char *oid)
Get the default timeout of an NVT.
Definition: manage_sql_nvts.c:920
nvt_preference_iterator_id
char * nvt_preference_iterator_id(iterator_t *iterator)
Get the ID from an NVT preference iterator.
Definition: manage_sql_configs.c:1777
sort_data_t
Sort data for aggregates commands.
Definition: manage.h:4177
get_relay_mapper_path
const char * get_relay_mapper_path()
Gets the current path of the relay mapper executable.
Definition: manage.c:4893
scanner_uuid_default
const char * scanner_uuid_default()
Return the UUID of the default scanner.
Definition: manage_sql.c:43558
preference_t::default_value
char * default_value
Default value of preference.
Definition: manage.h:1783
task_iterator_run_status
task_status_t task_iterator_run_status(iterator_t *iterator)
Get the run status from a task iterator.
Definition: manage_sql.c:15236
set_scan_start_time_epoch
void set_scan_start_time_epoch(report_t report, time_t timestamp)
Set the start time of a scan.
Definition: manage_sql.c:25384
trim_partial_report
void trim_partial_report(report_t report)
Prepare a partial report for resumption of the scan.
Definition: manage_sql.c:26594
report_counts_id
int report_counts_id(report_t report, int *debugs, int *holes, int *infos, int *logs, int *warnings, int *false_positives, double *severity, const get_data_t *get, const char *host)
Get only the filtered message counts for a report.
Definition: manage_sql.c:26167
alert_iterator_filter_trash
int alert_iterator_filter_trash(iterator_t *iterator)
Return the location of an alert iterator filter.
Definition: manage_sql.c:8857
init_target_task_iterator
void init_target_task_iterator(iterator_t *iterator, target_t target)
Initialise a target task iterator.
Definition: manage_sql.c:35171
report_format_active
int report_format_active(report_format_t report_format)
Return whether a report format is active.
Definition: manage_sql.c:47268
result_iterator_nvt_summary
const char * result_iterator_nvt_summary(iterator_t *iterator)
Get the NVT summary from a result iterator.
Definition: manage_sql.c:24301
scanner_host
char * scanner_host(scanner_t scanner)
Return the host of a scanner.
Definition: manage_sql.c:43571
delete_report
int delete_report(const char *report_id, int dummy)
Delete a report.
Definition: manage_sql.c:26436
cleanup_severity_data
void cleanup_severity_data(severity_data_t *data)
Clean up a severity data structure.
Definition: manage.c:1089
manage_db_supported_version
int manage_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:6322
target_count
int target_count(const get_data_t *get)
Count number of targets.
Definition: manage_sql.c:34425
set_db_version
void set_db_version(int version)
Set the database version of the actual database.
Definition: manage_sql.c:6488
init_manage
int init_manage(GSList *log_config, const gchar *database, int max_ips_per_target, int max_email_attachment_size, int max_email_include_size, int max_email_message_size, manage_connection_forker_t fork_connection, int skip_db_check)
Initialize the manage library.
Definition: manage_sql.c:18328
trash_alert_writable
int trash_alert_writable(alert_t alert)
Return whether a trashcan alert is writable.
Definition: manage_sql.c:8704
aggregate_iterator_subgroup_value
const char * aggregate_iterator_subgroup_value(iterator_t *iterator)
Get the value of the subgroup column from an aggregate iterator.
Definition: manage_sql.c:6107
task_iterator_current_report
report_t task_iterator_current_report(iterator_t *iterator)
Return the current report of a task.
Definition: manage_sql.c:19623
trash_config_readable_uuid
int trash_config_readable_uuid(const gchar *config_id)
Return whether a trashcan config is readable.
Definition: manage_sql_configs.c:3342
add_task_alert
void add_task_alert(task_t task, alert_t alert)
Add an alert to a task.
Definition: manage_sql.c:19931
note_iterator_active
int note_iterator_active(iterator_t *iterator)
Get the active status from an note iterator.
Definition: manage_sql.c:40659
init_report_iterator
int init_report_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a report iterator, including observed reports.
Definition: manage_sql.c:23119
manage_migrate
int manage_migrate(GSList *log_config, const gchar *database)
Migrate database to version supported by this manager.
Definition: manage_migrators.c:1658
init_override_iterator
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:41724
target_name
char * target_name(target_t target)
Return the name of a target.
Definition: manage_sql.c:34783
alert_iterator_method
int alert_iterator_method(iterator_t *iterator)
Return the method from an alert iterator.
Definition: manage_sql.c:8777
slave_relay_connection
int slave_relay_connection(gvm_connection_t *old_conn, gvm_connection_t *new_conn)
Sets up modified connection data to connect to a sensors list host.
Definition: manage.c:5069
result_iterator_report
report_t result_iterator_report(iterator_t *iterator)
Get the report from a result iterator.
Definition: manage_sql.c:24586
task_iterator_finished_reports
int task_iterator_finished_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15308
task_count
unsigned int task_count(const get_data_t *get)
Return the number of tasks associated with the current user.
Definition: manage_sql.c:18967
init_alert_iterator
int init_alert_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an alert iterator, including observed alerts.
Definition: manage_sql.c:8719
nvt_preference_iterator_type
char * nvt_preference_iterator_type(iterator_t *iterator)
Get the type from an NVT preference iterator.
Definition: manage_sql_configs.c:1727
manage_trash_resource_name
int manage_trash_resource_name(const char *type, const char *uuid, char **name)
Get the name of a trashcan resource.
Definition: manage_sql.c:5157
manage_resource_name
int manage_resource_name(const char *type, const char *uuid, char **name)
Get the name of a resource.
Definition: manage_sql.c:5142
manage_set_config_families
int manage_set_config_families(const gchar *config_id, GPtrArray *growing_all_families, GPtrArray *static_all_families, GPtrArray *growing_families, int grow_families)
Refresh NVT selection of a config from given families.
Definition: manage_sql_configs.c:806
report_progress
int report_progress(report_t report, task_t task, gchar **hosts_xml)
Calculate the progress of a report.
Definition: manage_sql.c:28272
target_iterator_smb_trash
int target_iterator_smb_trash(iterator_t *iterator)
Get the location of the SMB LSC credential from a target iterator.
Definition: manage_sql.c:34559
init_target_iterator_one
void init_target_iterator_one(iterator_t *iterator, target_t target)
Initialise a target iterator, given a single target.
Definition: manage_sql.c:34441
alert_data_iterator_name
const char * alert_data_iterator_name(iterator_t *iterator)
Return the name from an alert data iterator.
Definition: manage_sql.c:8946
set_task_name
void set_task_name(task_t task, const char *name)
Set the name of a task.
Definition: manage_sql.c:31886
note_count
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:40295
scanner_iterator_port
int scanner_iterator_port(iterator_t *iterator)
Get the port from an scanner iterator.
Definition: manage_sql.c:43179
create_report_format_param_t::type
gchar * type
Type (boolean, string, integer, ...).
Definition: manage.h:3029
find_alert_with_permission
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:6977
trash_report_format_writable
int trash_report_format_writable(report_format_t report_format)
Return whether a trashcan report_format is writable.
Definition: manage_sql.c:47211
modify_agent
int modify_agent(const char *agent_id, const char *name, const char *comment)
Modify an agent.
Definition: manage_sql.c:39019
manage_scap_db_version
int manage_scap_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:6371
init_dfn_cert_adv_info_iterator
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:947
manage_read_info
int manage_read_info(gchar *type, gchar *uid, gchar *name, gchar **result)
Read raw information.
Definition: manage.c:8013
preference_t::alts
array_t * alts
Array of gchar's. Alternate values for radio type.
Definition: manage.h:1782
trash_scanner_in_use
int trash_scanner_in_use(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:43461
scanner_config_iterator_readable
int scanner_config_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:43364
dfn_cert_adv_info_count
int dfn_cert_adv_info_count(const get_data_t *get)
Count number of dfn_cert_adv.
Definition: manage_sql_secinfo.c:996
report_format_writable
int report_format_writable(report_format_t report_format)
Return whether a report format is writable.
Definition: manage_sql.c:47197
nvt_selector_t::include
int include
Whether family/NVT is included or excluded.
Definition: manage.h:1794
result_iterator_has_cert_bunds
int result_iterator_has_cert_bunds(iterator_t *iterator)
Get whether CERT-Bunds may exist from a result iterator.
Definition: manage_sql.c:24858
copy_override
int copy_override(const char *override_id, override_t *new_override)
Create a override from an existing override.
Definition: manage_sql.c:40953
file_iterator_name
const char * file_iterator_name(file_iterator_t *iterator)
Return the name from a file iterator.
Definition: manage.c:7289
alert_task_iterator_name
const char * alert_task_iterator_name(iterator_t *iterator)
Return the name from an alert task iterator.
Definition: manage_sql.c:14748
trash_scanner_writable
int trash_scanner_writable(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:43494
set_task_observers
int set_task_observers(task_t task, const gchar *observers)
Set the observers of a task.
Definition: manage_sql.c:20394
report_type_iterator_t
A system report type iterator.
Definition: manage.h:2645
config_task_iterator_readable
int config_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql_configs.c:4129
schedule_in_use
int schedule_in_use(schedule_t schedule)
Return whether a schedule is in use by a task.
Definition: manage_sql.c:44580
preference_t
An NVT preference.
Definition: manage.h:1774
task_writable
int task_writable(task_t task)
Return whether a task is writable.
Definition: manage_sql.c:15415
set_credential_public_key
void set_credential_public_key(credential_t credential, const char *public_key)
Set the public key of a Credential.
Definition: manage_sql.c:37718
result_iterator_severity
const char * result_iterator_severity(iterator_t *iterator)
Get the severity from a result iterator.
Definition: manage_sql.c:24647
task_in_use
int task_in_use(task_t task)
Return whether a task is in use by a task.
Definition: manage_sql.c:15364
result_iterator_scan_nvt_version
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:24601
file_iterator_t::current
gpointer * current
Current file.
Definition: manage.h:3143
alert_report_data_t::report_format_name
gchar * report_format_name
Name of the report format used.
Definition: manage.h:447
alert_uuid
char * alert_uuid(alert_t alert)
Return the UUID of an alert.
Definition: manage_sql.c:8487
get_scheduled_user_uuid
const gchar * get_scheduled_user_uuid()
Access UUID of user that scheduled the current task.
Definition: manage.c:6480
agent_count
int agent_count(const get_data_t *get)
Count number of agents.
Definition: manage_sql.c:39539
task_iterator_usage_type
const char * task_iterator_usage_type(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15350
alert_writable
int alert_writable(alert_t alert)
Return whether a alert is writable.
Definition: manage_sql.c:8691
event_from_name
event_t event_from_name(const char *name)
Get an event from a name.
Definition: manage.c:1484
append_to_task_comment
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:32412
scan_end_time_uuid
char * scan_end_time_uuid(const char *uuid)
Get the end time of a scan.
Definition: manage_sql.c:25428
make_result
result_t make_result(task_t task, const char *host, const char *hostname, const char *port, const char *nvt, const char *type, const char *description)
Make a result.
Definition: manage_sql.c:21170
create_report
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:22068
severity_data_add_count
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:1119
scanner_password
char * scanner_password(scanner_t scanner)
Return the password associated with a scanner.
Definition: manage_sql.c:43714
credential_uuid
char * credential_uuid(credential_t credential)
Get the UUID of a Credential.
Definition: manage_sql.c:38236
keyword::double_value
double double_value
Floating point value of the keyword.
Definition: manage.h:3519
create_note
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:39759
alert_iterator_filter_uuid
char * alert_iterator_filter_uuid(iterator_t *iterator)
Return the filter UUID from an alert iterator.
Definition: manage_sql.c:8807
host_detail_t::name
char * name
Detail name.
Definition: manage.h:1232
create_scanner
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:42605
manage_task_update_file
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:32561
get_iterator_owner
user_t get_iterator_owner(iterator_t *iterator)
Get the owner from a GET iterator.
Definition: manage_sql.c:39372
severity_data_value
double severity_data_value(int index)
Convert an index in the counts array to a severity value.
Definition: manage.c:1052
task_iterator_scanner
scanner_t task_iterator_scanner(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15336
alert_iterator_condition
int alert_iterator_condition(iterator_t *iterator)
Return the condition from an alert iterator.
Definition: manage_sql.c:8761
osp_get_version_from_iterator
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:43967
credential_in_use
int credential_in_use(credential_t credential)
Check whether a Credential is in use.
Definition: manage_sql.c:37376
app_location
gchar * app_location(report_host_t report_host, const gchar *app)
Get the location of an App for a report's host.
Definition: manage_sql.c:21415
init_task_alert_iterator
void init_task_alert_iterator(iterator_t *iterator, task_t task)
Initialise a task alert iterator.
Definition: manage_sql.c:9025
note_uuid
int note_uuid(note_t note, char **id)
Return the UUID of a note.
Definition: manage_sql.c:39965
nvt_selector_t::name
char * name
Name of NVT selector.
Definition: manage.h:1792
alert_report_data_reset
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:1270
note_iterator_result
result_t note_iterator_result(iterator_t *iterator)
Get the result from a note iterator.
Definition: manage_sql.c:40628
keyword_special
int keyword_special(keyword_t *keyword)
Get whether a keyword is special (like "and").
Definition: manage_sql.c:1422
override_iterator_new_threat
const char * override_iterator_new_threat(iterator_t *iterator)
Get the threat from an override iterator.
Definition: manage_sql.c:41913
set_task_end_time
void set_task_end_time(task_t task, char *time)
Set the end time of a task.
Definition: manage_sql.c:25286
manage_decrypt_all_credentials
int manage_decrypt_all_credentials(GSList *log_config, const gchar *database)
Decrypt all credentials.
Definition: manage_sql.c:6671
set_scheduled_user_uuid
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:6492
result_iterator_result
result_t result_iterator_result(iterator_t *iterator)
Get the result from a result iterator.
Definition: manage_sql.c:24239
manage_report_filter_controls
void manage_report_filter_controls(const gchar *filter, int *first, int *max, gchar **sort_field, int *sort_order, int *result_hosts_only, gchar **min_qod, gchar **levels, gchar **delta_states, gchar **search_phrase, int *search_phrase_exact, int *autofp, int *notes, int *overrides, int *apply_overrides, gchar **zone)
Get info from a filter for report.
Definition: manage_sql.c:2377
target_hosts
char * target_hosts(target_t target)
Return the hosts associated with a target.
Definition: manage_sql.c:34865
file_iterator_t::dir_name
gchar * dir_name
Dir holding files.
Definition: manage.h:3144
result_iterator_level
const char * result_iterator_level(iterator_t *iterator)
Get the severity/threat level from a result iterator.
Definition: manage_sql.c:24726
report_set_slave_host
void report_set_slave_host(report_t report, const gchar *host)
Set the host of the slave of a report.
Definition: manage_sql.c:22706
schedule_task_iterator_readable
int schedule_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:45331
host_detail_t
A host detail for create_report.
Definition: manage.h:1229
delete_scanner
int delete_scanner(const char *scanner_id, int ultimate)
Delete a scanner.
Definition: manage_sql.c:42945
task_scanner_in_trash
int task_scanner_in_trash(task_t task)
Return whether the scanner of a task is in the trashcan.
Definition: manage_sql.c:19376
create_report_result_t::scan_nvt_version
char * scan_nvt_version
Version of NVT used at scan time.
Definition: manage.h:1218
trash_target_in_use
int trash_target_in_use(target_t target)
Return whether a trashcan target is referenced by a task.
Definition: manage_sql.c:35128
preference_t::id
char * id
ID of preference.
Definition: manage.h:1777
nvt_selector_family_growing
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:476
result_iterator_nvt_name
const char * result_iterator_nvt_name(iterator_t *iterator)
Get the NVT name from a result iterator.
Definition: manage_sql.c:24283
aggregate_iterator_count
int aggregate_iterator_count(iterator_t *iterator)
Get the count from an aggregate iterator.
Definition: manage_sql.c:5988
manage_send_report
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:31279
host_detail_t::source_desc
char * source_desc
Source description.
Definition: manage.h:1233
credential_iterator_format_available
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:38153
set_task_start_time_epoch
void set_task_start_time_epoch(task_t task, int time)
Set the start time of a task.
Definition: manage_sql.c:19713
get_data_reset
void get_data_reset(get_data_t *data)
Reset command data.
Definition: gmp.c:2020
manage_system_report
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:6297
credential_name
char * credential_name(credential_t credential)
Get the name of an LSC credential.
Definition: manage_sql.c:38265
create_report_result_t::qod
char * qod
QoD (quality of detection).
Definition: manage.h:1220
report_add_result
void report_add_result(report_t report, result_t result)
Add a result to a report.
Definition: manage_sql.c:22886
preference_t::nvt_oid
char * nvt_oid
OID of NVT preference affects.
Definition: manage.h:1781
osp_scanner_connect
osp_connection_t * osp_scanner_connect(scanner_t scanner)
Create a new connection to an OSP scanner.
Definition: manage_sql.c:43921
init_report_counts_build_iterator
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:21694
conn
static PGconn * conn
Handle on the database.
Definition: sql_pg.c:85
create_override
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:40754
nvt_preference_iterator_real_name
char * nvt_preference_iterator_real_name(iterator_t *iterator)
Get the real name from an NVT preference iterator.
Definition: manage_sql_configs.c:1702
make_task_complete
void make_task_complete(task_t task)
Complete the creation of a task.
Definition: manage_sql.c:31871
target_writable
int target_writable(target_t target)
Return whether a target is writable.
Definition: manage_sql.c:35144
create_target
int create_target(const char *name, const char *asset_hosts_filter, const char *hosts, const char *exclude_hosts, const char *comment, const char *port_list_id, const char *port_range, credential_t ssh_credential, const char *ssh_port, credential_t smb_credential, credential_t esxi_credential, credential_t snmp_credential, const char *reverse_lookup_only, const char *reverse_lookup_unify, const char *alive_tests, target_t *target)
Create a target.
Definition: manage_sql.c:33400
create_report_format_param_t::fallback
gchar * fallback
Fallback value.
Definition: manage.h:3027
result_iterator_nvt_family
const char * result_iterator_nvt_family(iterator_t *iterator)
Get the NVT family from a result iterator.
Definition: manage_sql.c:24428
init_cpe_cve_iterator
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:254
set_task_groups
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:20014
move_task
int move_task(const char *task_id, const char *slave_id)
Reassign a task to another slave.
Definition: manage.c:5470
ovaldef_info_count
int ovaldef_info_count(const get_data_t *get)
Count number of ovaldef.
Definition: manage_sql_secinfo.c:528
result_iterator_nvt_detection
const char * result_iterator_nvt_detection(iterator_t *iterator)
Get the NVT detection from a result iterator.
Definition: manage_sql.c:24410
modify_override
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:41093
name_value_t::value
gchar * value
Param value.
Definition: manage.h:106
keyword::relation
keyword_relation_t relation
The relation.
Definition: manage.h:3523
credential_encrypted_value
gchar * credential_encrypted_value(credential_t credential, const char *value_name)
Get a possibly encrypted credential value in decrypted form.
Definition: manage_sql.c:37493
schedule_name
char * schedule_name(schedule_t schedule)
Return the name of a schedule.
Definition: manage_sql.c:44689
init_report_iterator_task
void init_report_iterator_task(iterator_t *iterator, task_t task)
Initialise a report iterator.
Definition: manage_sql.c:23178
alert_iterator_filter_name
char * alert_iterator_filter_name(iterator_t *iterator)
Return the filter name from an alert iterator.
Definition: manage_sql.c:8832
init_nvt_iterator
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:661
severity_data_t
Severity data for result count cache.
Definition: manage.h:1058
get_data_t::ignore_pagination
int ignore_pagination
Whether to ignore the pagination (first and max).
Definition: manage.h:366
report_set_source_iface
void report_set_source_iface(report_t report, const gchar *iface)
Set the source interface of a report.
Definition: manage_sql.c:22737
cleanup_report_type_iterator
void cleanup_report_type_iterator(report_type_iterator_t *iterator)
Cleanup a report type iterator.
Definition: manage.c:5987
host_detail_t::ip
char * ip
IP.
Definition: manage.h:1231
sync_config
int sync_config(const char *config_id)
Synchronize a config.
Definition: manage_sql_configs.c:2970
fork_update_nvt_cache
static int fork_update_nvt_cache()
Update the NVT cache in a child process.
Definition: gvmd.c:1139
manage_report
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:30569
openvas_default_scanner_host
char * openvas_default_scanner_host()
Get the default scanner path or host.
Definition: manage_sql.c:43800
create_report_result_t::threat
char * threat
Threat.
Definition: manage.h:1223
get_certificate_info
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:323
report_severity
double report_severity(report_t report, int overrides, int min_qod)
Get the maximum severity of a report.
Definition: manage_sql.c:26188
init_alert_data_iterator
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:8927
delete_report_format
int delete_report_format(const char *report_format_id, int ultimate)
Delete a report format.
Definition: manage_sql.c:46794
task_name
char * task_name(task_t task)
Return the name of a task.
Definition: manage_sql.c:19097
set_task_hosts_ordering
void set_task_hosts_ordering(task_t task, const char *ordering)
Set the hosts ordering of a task.
Definition: manage_sql.c:19304
set_scan_host_end_time
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:25517
delete_override
int delete_override(const char *override_id, int ultimate)
Delete a override.
Definition: manage_sql.c:40970
override_uuid
int override_uuid(override_t override, char **id)
Return the UUID of an override.
Definition: manage_sql.c:40936
result_iterator_nvt_solution
const char * result_iterator_nvt_solution(iterator_t *iterator)
Get the NVT solution from a result iterator.
Definition: manage_sql.c:24373
target_iterator_snmp_credential
int target_iterator_snmp_credential(iterator_t *iterator)
Get the SNMP LSC credential from a target iterator.
Definition: manage_sql.c:34709
nvt_selector_iterator_type
int nvt_selector_iterator_type(iterator_t *iterator)
Get the type from an NVT selector.
Definition: manage_sql_configs.c:390
task_observers
char * task_observers(task_t task)
Return the observers of a task.
Definition: manage_sql.c:19139
host_detail_free
void host_detail_free(host_detail_t *detail)
Free a host detail.
Definition: manage_sql.c:21979
schedule_iterator_duration
time_t schedule_iterator_duration(iterator_t *iterator)
Get the duration from a schedule iterator.
Definition: manage_sql.c:44961
report_format_in_use
int report_format_in_use(report_format_t report_format)
Return whether a report format is referenced by an alert.
Definition: manage_sql.c:47152
task_schedule_next_time
int task_schedule_next_time(task_t task)
Get next time a scheduled task will run, following schedule timezone.
Definition: manage_sql.c:20290
init_nvt_cert_bund_adv_iterator
void init_nvt_cert_bund_adv_iterator(iterator_t *iterator, const char *oid, int ascending, const char *sort_field)
Initialise an CERT-Bund iterator, for advisories relevant to a NVT.
Definition: manage_sql_secinfo.c:908
scan_host_end_time
int scan_host_end_time(report_t report, const char *host)
Get the end time of a scanned host.
Definition: manage_sql.c:25496
manage_set_config
int manage_set_config(const gchar *config_id, const char *name, const char *comment, const char *scanner_id)
Set the name, comment and scanner of a config.
Definition: manage_sql_configs.c:3724
request_delete_task
int request_delete_task(task_t *task_pointer)
Request deletion of a task.
Definition: manage_sql.c:32064
trash_credential_in_use
int trash_credential_in_use(credential_t credential)
Check whether a trashcan Credential is in use.
Definition: manage_sql.c:37409
stop_task
int stop_task(const char *task_id)
Initiate stopping a task.
Definition: manage.c:5394
init_target_iterator
int init_target_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a target iterator, including observed targets.
Definition: manage_sql.c:34467
slave_get_relay
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:4927
set_scan_end_time
void set_scan_end_time(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:25459
severity_to_type
const char * severity_to_type(double severity)
Get the message type matching a severity score.
Definition: manage.c:914
set_task_schedule
int set_task_schedule(task_t task, schedule_t schedule, int periods)
Set the schedule of a task.
Definition: manage_sql.c:20083
verify_agent
int verify_agent(const char *agent_id)
Verify an agent.
Definition: manage_sql.c:39557
create_report_result_t
A CREATE_REPORT result.
Definition: manage.h:1212
manage_get_scanners
int manage_get_scanners(GSList *log_config, const gchar *database)
List scanners.
Definition: manage_sql.c:44196
start_task
int start_task(const char *task_id, char **report_id)
Start a task.
Definition: manage.c:5284
task_schedule_periods
int task_schedule_periods(task_t task)
Get the number of times the period schedule should run on the task.
Definition: manage_sql.c:20256
note_iterator_task
task_t note_iterator_task(iterator_t *iterator)
Get the task from a note iterator.
Definition: manage_sql.c:40614
ovaldef_uuid
char * ovaldef_uuid(const char *name, const char *fname)
Get the uuid for an OVALDEF from a name and file name.
Definition: manage_sql_secinfo.c:658
create_report_result_t::hostname
char * hostname
Hostname.
Definition: manage.h:1216
set_nvts_feed_version
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:196
init_cve_nvt_iterator
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:741
preference_t::hr_name
char * hr_name
Extended, more human-readable name used by OSP.
Definition: manage.h:1784
result_uuid
int result_uuid(result_t result, char **id)
Return the UUID of a result.
Definition: manage_sql.c:21299
report_type_iterator_t::current
gchar ** current
Current type.
Definition: manage.h:2648
file_iterator_t::start
GPtrArray * start
Array of files.
Definition: manage.h:3142
nvts_feed_version
char * nvts_feed_version()
Return feed version of the plugins in the plugin cache.
Definition: manage_sql_nvts.c:157
cve_cvss_base
gchar * cve_cvss_base(const gchar *cve)
Get the short file name for an OVALDEF.
Definition: manage_sql_secinfo.c:301
current_credentials
credentials_t current_credentials
Current credentials during any GMP command.
Definition: manage.c:940
report_task
gboolean report_task(report_t report, task_t *task)
Return the task of a report.
Definition: manage_sql.c:22510
nvt_selector_t::family_or_nvt
char * family_or_nvt
Family or NVT that this selector selects.
Definition: manage.h:1795
report_format_predefined
int report_format_predefined(report_format_t report_format)
Return whether a report format is predefined.
Definition: manage_sql.c:47255
preference_t::nvt_name
char * nvt_name
Name of NVT preference affects.
Definition: manage.h:1780
resume_task
int resume_task(const char *task_id, char **report_id)
Resume a task.
Definition: manage.c:5436
scanner_uuid
char * scanner_uuid(scanner_t scanner)
Return the UUID of a scanner.
Definition: manage_sql.c:43546
clear_duration_schedules
void clear_duration_schedules(task_t task)
Clear once-off schedules from tasks where the duration has passed.
Definition: manage_sql.c:20534
name_value_t
Name value pair.
Definition: manage.h:103
alert_condition_from_name
alert_condition_t alert_condition_from_name(const char *name)
Get an alert condition from a name.
Definition: manage.c:1461
manage_set_config_preference
int manage_set_config_preference(const gchar *config_id, const char *nvt, const char *name, const char *value_64)
Set a preference of a config.
Definition: manage_sql_configs.c:3527
config_iterator_scanner_trash
int config_iterator_scanner_trash(iterator_t *iterator)
Get whether scanner is in trash from a config iterator.
Definition: manage_sql_configs.c:3242
init_severity_data
void init_severity_data(severity_data_t *data)
Initialize a severity data structure.
Definition: manage.c:1072
init_task_group_iterator
void init_task_group_iterator(iterator_t *iterator, task_t task)
Initialise a task group iterator.
Definition: manage_sql.c:6803
copy_alert
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:7955
get_data_t::filter_replace
char * filter_replace
Column to replace in filter.
Definition: manage.h:359
task_config_name
char * task_config_name(task_t task)
Return the name of the config of a task.
Definition: manage_sql.c:19214
severity_in_level
int severity_in_level(double severity, const char *level)
Check whether a severity falls within a threat level.
Definition: manage.c:823
nvt_iterator_category
int nvt_iterator_category(iterator_t *iterator)
Get the category from an NVT iterator.
Definition: manage_sql_nvts.c:794
task_iterator_trend_counts
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:31790
find_scanner_with_permission
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:42535