Greenbone Vulnerability Manager  9.0.1
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 char *
1190 report_finished_hosts_str (report_t);
1191 
1192 gboolean
1193 find_report_with_permission (const char *, report_t *, const char *);
1194 
1195 report_t
1196 make_report (task_t, const char *, task_status_t);
1197 
1198 int
1199 qod_from_type (const char *);
1200 
1201 result_t
1202 make_result (task_t, const char*, const char*, const char*, const char*,
1203  const char*, const char*);
1204 
1205 result_t
1206 make_osp_result (task_t, const char*, const char*, const char*, const char*,
1207  const char *, const char *, const char *, int);
1208 
1209 result_t
1210 make_cve_result (task_t, const char*, const char*, double, const char*);
1211 
1215 typedef struct
1216 {
1217  char *description;
1218  char *host;
1219  char *hostname;
1220  char *nvt_oid;
1222  char *port;
1223  char *qod;
1224  char *qod_type;
1225  char *severity;
1226  char *threat;
1228 
1232 typedef struct
1233 {
1234  char *ip;
1235  char *name;
1236  char *source_desc;
1237  char *source_name;
1238  char *source_type;
1239  char *value;
1240 } host_detail_t;
1241 
1242 void
1244 
1245 void
1246 insert_report_host_detail (report_t, const char *, const char *, const char *,
1247  const char *, const char *, const char *);
1248 
1249 int
1250 manage_report_host_detail (report_t, const char *, const char *);
1251 
1252 void
1253 hosts_set_identifiers (report_t);
1254 
1255 void
1256 hosts_set_max_severity (report_t, int*, int*);
1257 
1258 void
1259 hosts_set_details (report_t report);
1260 
1261 void
1262 clear_duration_schedules (task_t);
1263 
1264 void
1266 
1267 int
1268 create_report (array_t*, const char *, const char *, const char *, const char *,
1269  array_t*, array_t*, array_t*, char **);
1270 
1271 void
1272 report_add_result (report_t, result_t);
1273 
1274 char*
1275 report_uuid (report_t);
1276 
1277 void
1278 report_set_slave_uuid (report_t, const gchar *);
1279 
1280 void
1281 report_set_slave_name (report_t, const gchar *);
1282 
1283 void
1284 report_set_slave_host (report_t, const gchar *);
1285 
1286 void
1287 report_set_slave_port (report_t, int);
1288 
1289 void
1290 report_set_slave_username (report_t, const gchar *);
1291 
1292 void
1293 report_set_slave_password (report_t, const gchar *);
1294 
1295 void
1296 report_set_source_iface (report_t, const gchar *);
1297 
1298 int
1299 task_last_resumable_report (task_t, report_t *);
1300 
1301 gchar*
1303 
1304 gchar*
1305 report_path_task_uuid (gchar*);
1306 
1307 gboolean
1308 report_task (report_t, task_t*);
1309 
1310 void
1311 report_compliance_by_uuid (const char *, int *, int *, int *);
1312 
1313 char *
1314 report_slave_task_uuid (report_t);
1315 
1316 int
1317 report_scan_result_count (report_t, const char*, const char*, int, const char*,
1318  const char*, int, int, int*);
1319 
1320 int
1321 report_counts (const char*, int*, int*, int*, int*, int*, int*, double*,
1322  int, int, int);
1323 
1324 int
1325 report_counts_id (report_t, int*, int*, int*, int*, int*, int*, double*,
1326  const get_data_t*, const char*);
1327 
1328 int
1329 report_counts_id_no_filt (report_t, int*, int*, int*, int*, int*, int*,
1330  double*, const get_data_t*, const char*);
1331 
1332 get_data_t*
1333 report_results_get_data (int, int, int, int, int);
1334 
1335 int
1336 scan_start_time_epoch (report_t);
1337 
1338 char*
1339 scan_start_time_uuid (const char *);
1340 
1341 char*
1342 scan_end_time_uuid (const char *);
1343 
1344 void
1345 set_scan_start_time_ctime (report_t, const char*);
1346 
1347 void
1348 set_scan_start_time_epoch (report_t, time_t);
1349 
1350 void
1351 set_scan_end_time (report_t, const char*);
1352 
1353 void
1354 set_scan_end_time_ctime (report_t, const char*);
1355 
1356 void
1357 set_scan_end_time_epoch (report_t, time_t);
1358 
1359 void
1360 set_scan_host_start_time_ctime (report_t, const char*, const char*);
1361 
1362 int
1363 scan_host_end_time (report_t, const char*);
1364 
1365 void
1366 set_scan_host_end_time (report_t, const char*, const char*);
1367 
1368 void
1369 set_scan_host_end_time_ctime (report_t, const char*, const char*);
1370 
1371 int
1372 report_timestamp (const char*, gchar**);
1373 
1374 int
1375 modify_report (const char*, const char*);
1376 
1377 int
1378 delete_report (const char *, int);
1379 
1380 int
1381 report_count (const get_data_t *);
1382 
1383 int
1385 
1386 void
1388 
1389 void
1391 
1392 const char*
1393 report_iterator_uuid (iterator_t*);
1394 
1395 int
1396 result_count (const get_data_t *, report_t, const char*);
1397 
1398 int
1399 init_result_get_iterator (iterator_t*, const get_data_t *, report_t,
1400  const char*, const gchar *);
1401 
1402 gboolean
1403 next_report (iterator_t*, report_t*);
1404 
1405 result_t
1407 
1408 const char*
1409 result_iterator_host (iterator_t*);
1410 
1411 const char*
1412 result_iterator_port (iterator_t*);
1413 
1414 const char*
1415 result_iterator_nvt_oid (iterator_t*);
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 const char*
1446 
1447 void
1448 result_iterator_nvt_refs_append (GString *, iterator_t *, int *);
1449 
1450 const char*
1452 
1453 const char*
1454 result_iterator_descr (iterator_t*);
1455 
1456 task_t
1458 
1459 report_t
1461 
1462 const char*
1464 
1465 const char*
1467 
1468 const char*
1470 
1471 double
1473 
1474 const char*
1476 
1477 const char*
1479 
1480 const char*
1481 result_iterator_solution_type (iterator_t*);
1482 
1483 const char*
1484 result_iterator_qod (iterator_t*);
1485 
1486 const char*
1487 result_iterator_qod_type (iterator_t*);
1488 
1489 const char*
1490 result_iterator_hostname (iterator_t*);
1491 
1492 const char*
1493 result_iterator_date (iterator_t*);
1494 
1495 const char*
1496 result_iterator_detected_by_oid (iterator_t*);
1497 
1498 const char*
1499 result_iterator_asset_host_id (iterator_t*);
1500 
1501 int
1503 
1504 int
1506 
1507 int
1509 
1510 int
1512 
1513 int
1515 
1516 int
1518 
1519 void
1520 init_report_host_iterator (iterator_t*, report_t, const char *, report_host_t);
1521 
1522 const char*
1523 host_iterator_host (iterator_t*);
1524 
1525 const char*
1526 host_iterator_start_time (iterator_t*);
1527 
1528 const char*
1529 host_iterator_end_time (iterator_t*);
1530 
1531 int
1533 
1534 int
1536 
1537 int
1538 collate_message_type (void* data, int, const void*, int, const void*);
1539 
1540 void
1541 trim_partial_report (report_t);
1542 
1543 int
1544 report_progress (report_t, task_t, gchar **);
1545 
1546 gchar *
1547 manage_report (report_t, report_t, const get_data_t *, report_format_t,
1548  int, int, gsize *, gchar **, gchar **, gchar **, gchar **,
1549  gchar **);
1550 
1551 int
1552 manage_send_report (report_t, report_t, report_format_t, const get_data_t *,
1553  int, int, int, int, int, int,
1554  gboolean (*) (const char *,
1555  int (*) (const char*, void*),
1556  void*),
1557  int (*) (const char *, void*), void *, const char *,
1558  const gchar *);
1559 
1560 
1561 ␌
1562 /* Reports. */
1563 
1564 gchar *
1565 app_location (report_host_t, const gchar *);
1566 
1567 void
1568 init_host_prognosis_iterator (iterator_t*, report_host_t);
1569 
1570 double
1572 
1573 const char*
1574 prognosis_iterator_cpe (iterator_t*);
1575 
1576 const char*
1577 prognosis_iterator_cve (iterator_t*);
1578 
1579 const char*
1580 prognosis_iterator_description (iterator_t*);
1581 
1582 ␌
1583 /* Targets. */
1584 
1590 #define MANAGE_ABSOLUTE_MAX_IPS_PER_TARGET 70000
1591 
1595 #define MANAGE_MAX_HOSTS 4095
1596 
1600 #define MANAGE_USER_MAX_HOSTS 16777216
1601 
1602 int
1603 manage_max_hosts ();
1604 
1605 void
1606 manage_filter_controls (const gchar *, int *, int *, gchar **, int *);
1607 
1608 void
1609 manage_report_filter_controls (const gchar *, int *, int *, gchar **, int *,
1610  int *, gchar **, gchar **, gchar **, gchar **,
1611  int *, int *, int *, int *, int *, gchar **);
1612 
1613 gchar *
1614 manage_clean_filter (const gchar *);
1615 
1616 gchar *
1617 manage_clean_filter_remove (const gchar *, const gchar *);
1618 
1619 int
1620 manage_count_hosts (const char *, const char *);
1621 
1622 gboolean
1623 find_target_with_permission (const char *, target_t *, const char *);
1624 
1625 int
1626 create_target (const char*, const char*, const char*, const char*, const char*,
1627  const char *, const char*, credential_t, const char*,
1628  credential_t, credential_t, credential_t, const char *,
1629  const char *, const char *, target_t*);
1630 
1631 int
1632 copy_target (const char*, const char*, const char *, target_t*);
1633 
1634 int
1635 modify_target (const char*, const char*, const char*, const char*, const char*,
1636  const char*, const char*, const char*, const char*, const char*,
1637  const char*, const char *, const char*, const char*);
1638 
1639 int
1640 delete_target (const char*, int);
1641 
1642 int
1643 target_count (const get_data_t *);
1644 
1645 void
1646 init_user_target_iterator (iterator_t*, target_t);
1647 
1648 void
1650 
1651 int
1653 
1654 const char*
1655 target_iterator_hosts (iterator_t*);
1656 
1657 const char*
1658 target_iterator_exclude_hosts (iterator_t*);
1659 
1660 const char*
1661 target_iterator_reverse_lookup_only (iterator_t*);
1662 
1663 const char*
1664 target_iterator_reverse_lookup_unify (iterator_t*);
1665 
1666 const char*
1667 target_iterator_comment (iterator_t*);
1668 
1669 int
1671 
1672 const char*
1673 target_iterator_ssh_port (iterator_t*);
1674 
1675 int
1677 
1678 int
1680 
1681 int
1683 
1684 int
1686 
1687 int
1689 
1690 int
1692 
1693 int
1695 
1696 const char*
1697 target_iterator_port_list_uuid (iterator_t*);
1698 
1699 const char*
1700 target_iterator_port_list_name (iterator_t*);
1701 
1702 int
1704 
1705 const char*
1707 
1708 char*
1709 target_uuid (target_t);
1710 
1711 char*
1712 trash_target_uuid (target_t);
1713 
1714 char*
1715 target_name (target_t);
1716 
1717 char*
1718 trash_target_name (target_t);
1719 
1720 int
1721 trash_target_readable (target_t);
1722 
1723 char*
1724 target_hosts (target_t);
1725 
1726 char*
1727 target_exclude_hosts (target_t);
1728 
1729 char*
1730 target_reverse_lookup_only (target_t);
1731 
1732 char*
1733 target_reverse_lookup_unify (target_t);
1734 
1735 char*
1736 target_port_range (target_t);
1737 
1738 char*
1739 target_ssh_port (target_t);
1740 
1741 int
1742 target_in_use (target_t);
1743 
1744 int
1745 trash_target_in_use (target_t);
1746 
1747 int
1748 target_writable (target_t);
1749 
1750 int
1751 trash_target_writable (target_t);
1752 
1753 char*
1754 target_ssh_credential_name (const char *);
1755 
1756 void
1758 
1759 const char*
1760 target_task_iterator_name (iterator_t*);
1761 
1762 const char*
1763 target_task_iterator_uuid (iterator_t*);
1764 
1765 int
1767 
1768 credential_t
1769 target_credential (target_t, const char*);
1770 
1771 int
1772 target_login_port (target_t, const char*);
1773 
1774 ␌
1775 /* Configs. */
1776 
1780 typedef struct
1781 {
1782  char *name;
1783  char *id;
1784  char *type;
1785  char *value;
1786  char *nvt_name;
1787  char *nvt_oid;
1788  array_t *alts;
1790  char *hr_name;
1792 } preference_t;
1793 
1797 typedef struct
1798 {
1799  char *name;
1800  char *type;
1801  int include;
1803 } nvt_selector_t;
1804 
1805 int
1806 create_config (const char*, const char*, const array_t*, const array_t*,
1807  const char*, const char*, config_t*, char**);
1808 
1809 int
1810 create_config_from_scanner (const char*, const char *, const char *,
1811  const char *, char **);
1812 
1813 int
1814 copy_config (const char*, const char*, const char *, const char *, config_t*);
1815 
1816 int
1817 delete_config (const char*, int);
1818 
1819 int
1820 sync_config (const char *);
1821 
1822 gboolean
1823 find_config_with_permission (const char*, config_t*, const char *);
1824 
1825 char *
1826 config_uuid (config_t);
1827 
1828 int
1829 config_type (config_t);
1830 
1831 char *
1832 config_nvt_timeout (config_t, const char *);
1833 
1834 void
1835 init_user_config_iterator (iterator_t*, config_t, int, int, const char*);
1836 
1837 int
1839 
1840 const char*
1841 config_iterator_nvt_selector (iterator_t*);
1842 
1843 int
1845 
1846 int
1848 
1849 int
1851 
1852 int
1854 
1855 int
1857 
1858 scanner_t
1860 
1861 int
1863 
1864 const char*
1865 config_iterator_usage_type (iterator_t*);
1866 
1867 char*
1868 config_nvt_selector (config_t);
1869 
1870 int
1871 config_in_use (config_t);
1872 
1873 int
1874 config_writable (config_t);
1875 
1876 int
1877 config_count (const get_data_t *);
1878 
1879 int
1880 trash_config_in_use (config_t);
1881 
1882 int
1883 trash_config_writable (config_t);
1884 
1885 int
1886 trash_config_readable_uuid (const gchar *);
1887 
1888 int
1889 config_families_growing (config_t);
1890 
1891 int
1892 config_nvts_growing (config_t);
1893 
1894 int
1895 create_task_check_config_scanner (config_t, scanner_t);
1896 
1897 int
1898 modify_task_check_config_scanner (task_t, const char *, const char *);
1899 
1900 int
1901 manage_set_config_preference (const gchar *, const char*, const char*,
1902  const char*);
1903 
1904 void
1906 
1907 const char*
1908 config_preference_iterator_name (iterator_t *);
1909 
1910 const char*
1911 config_preference_iterator_value (iterator_t *);
1912 
1913 const char*
1914 config_preference_iterator_type (iterator_t *);
1915 
1916 const char*
1917 config_preference_iterator_default (iterator_t *);
1918 
1919 const char*
1920 config_preference_iterator_hr_name (iterator_t *);
1921 
1922 int
1923 manage_set_config (const gchar *, const char*, const char *, const char *);
1924 
1925 int
1926 manage_set_config_nvts (const gchar *, const char*, GPtrArray*);
1927 
1928 int
1929 manage_set_config_families (const gchar *, GPtrArray*, GPtrArray*, GPtrArray*,
1930  int);
1931 
1932 void
1934 
1935 const char*
1936 config_timeout_iterator_oid (iterator_t *);
1937 
1938 const char*
1939 config_timeout_iterator_nvt_name (iterator_t *);
1940 
1941 const char*
1942 config_timeout_iterator_value (iterator_t *);
1943 
1944 void
1945 update_config_preference (const char *, const char *, const char *,
1946  const char *, gboolean);
1947 
1948 ␌
1949 /* NVT's. */
1950 
1951 char *
1952 manage_nvt_name (nvt_t);
1953 
1954 char *
1955 nvt_name (const char *);
1956 
1957 char*
1959 
1960 time_t
1962 
1963 void
1964 set_nvts_feed_version (const char*);
1965 
1966 gboolean
1967 find_nvt (const char*, nvt_t*);
1968 
1969 int
1970 init_nvt_info_iterator (iterator_t*, get_data_t*, const char*);
1971 
1972 int
1973 nvt_info_count (const get_data_t *);
1974 
1975 void
1976 init_nvt_iterator (iterator_t*, nvt_t, config_t, const char*, const char*, int,
1977  const char*);
1978 
1979 void
1980 init_cve_nvt_iterator (iterator_t*, const char *, int, const char*);
1981 
1982 const char*
1983 nvt_iterator_oid (iterator_t*);
1984 
1985 const char*
1986 nvt_iterator_version (iterator_t*);
1987 
1988 const char*
1989 nvt_iterator_name (iterator_t*);
1990 
1991 const char*
1992 nvt_iterator_summary (iterator_t*);
1993 
1994 const char*
1995 nvt_iterator_insight (iterator_t*);
1996 
1997 const char*
1998 nvt_iterator_affected (iterator_t*);
1999 
2000 const char*
2001 nvt_iterator_impact (iterator_t*);
2002 
2003 const char*
2004 nvt_iterator_description (iterator_t*);
2005 
2006 const char*
2007 nvt_iterator_tag (iterator_t*);
2008 
2009 int
2011 
2012 const char*
2013 nvt_iterator_family (iterator_t*);
2014 
2015 const char*
2016 nvt_iterator_cvss_base (iterator_t*);
2017 
2018 const char*
2019 nvt_iterator_detection (iterator_t*);
2020 
2021 const char*
2022 nvt_iterator_qod (iterator_t*);
2023 
2024 const char*
2025 nvt_iterator_qod_type ( iterator_t *iterator );
2026 
2027 const char*
2028 nvt_iterator_solution (iterator_t*);
2029 
2030 const char*
2031 nvt_iterator_solution_type (iterator_t*);
2032 
2033 char*
2034 nvt_default_timeout (const char *);
2035 
2036 int
2037 family_nvt_count (const char *);
2038 
2039 ␌
2040 /* NVT selectors. */
2041 
2045 #define NVT_SELECTOR_TYPE_ALL 0
2046 
2050 #define NVT_SELECTOR_TYPE_FAMILY 1
2051 
2055 #define NVT_SELECTOR_TYPE_NVT 2
2056 
2060 #define NVT_SELECTOR_TYPE_ANY 999
2061 
2062 void
2063 init_family_iterator (iterator_t*, int, const char*, int);
2064 
2065 const char*
2066 family_iterator_name (iterator_t*);
2067 
2068 int
2069 nvt_selector_family_growing (const char *, const char *, int);
2070 
2071 int
2072 nvt_selector_family_count (const char*, int);
2073 
2074 int
2075 nvt_selector_nvt_count (const char *, const char *, int);
2076 
2077 void
2078 init_nvt_selector_iterator (iterator_t*, const char*, config_t, int);
2079 
2080 const char*
2081 nvt_selector_iterator_nvt (iterator_t*);
2082 
2083 const char*
2084 nvt_selector_iterator_name (iterator_t*);
2085 
2086 int
2088 
2089 int
2091 
2092 ␌
2093 /* NVT preferences. */
2094 
2095 void
2096 manage_nvt_preference_add (const char*, const char*);
2097 
2098 void
2100 
2101 void
2103 
2104 const char*
2105 nvt_preference_iterator_name (iterator_t*);
2106 
2107 const char*
2108 nvt_preference_iterator_value (iterator_t*);
2109 
2110 char*
2112 
2113 char*
2115 
2116 char*
2118 
2119 char*
2121 
2122 char*
2124 
2125 int
2126 nvt_preference_count (const char *);
2127 
2128 void
2129 nvti_refs_append_xml (GString *, const char *, int *);
2130 
2131 gchar*
2132 get_nvti_xml (iterator_t*, int, int, int, const char*, config_t, int);
2133 
2134 char*
2135 task_preference_value (task_t, const char *);
2136 
2137 int
2138 set_task_preferences (task_t, array_t *);
2139 
2140 void
2142 
2143 const char*
2144 task_group_iterator_name (iterator_t*);
2145 
2146 const char*
2147 task_group_iterator_uuid (iterator_t*);
2148 
2149 void
2151 
2152 const char*
2153 task_role_iterator_name (iterator_t*);
2154 
2155 const char*
2156 task_role_iterator_uuid (iterator_t*);
2157 
2158 ␌
2159 /* Credentials. */
2160 
2164 typedef enum
2165 {
2166  CREDENTIAL_FORMAT_NONE = 0,
2167  CREDENTIAL_FORMAT_KEY = 1,
2168  CREDENTIAL_FORMAT_RPM = 2,
2169  CREDENTIAL_FORMAT_DEB = 3,
2170  CREDENTIAL_FORMAT_EXE = 4,
2171  CREDENTIAL_FORMAT_PEM = 5,
2172  CREDENTIAL_FORMAT_ERROR = -1
2173 } credential_format_t;
2174 
2175 gboolean
2176 find_credential_with_permission (const char*, credential_t*, const char*);
2177 
2178 int
2179 create_credential (const char*, const char*, const char*, const char*,
2180  const char*, const char*, const char*, const char*,
2181  const char*, const char*, const char*, const char*,
2182  const char*, credential_t*);
2183 
2184 int
2185 copy_credential (const char*, const char*, const char*,
2186  credential_t*);
2187 
2188 int
2189 modify_credential (const char*, const char*, const char*, const char*,
2190  const char*, const char*, const char*, const char*,
2191  const char*, const char*, const char*, const char*,
2192  const char*);
2193 
2194 int
2195 delete_credential (const char *, int);
2196 
2197 int
2198 credential_count (const get_data_t *);
2199 
2200 void
2201 set_credential_privacy_algorithm (credential_t, const char *);
2202 
2203 void
2204 set_credential_public_key (credential_t, const char *);
2205 
2206 void
2207 init_credential_iterator_one (iterator_t*, credential_t);
2208 
2209 int
2211 
2212 const char*
2213 credential_iterator_login (iterator_t*);
2214 
2215 const char*
2216 credential_iterator_auth_algorithm (iterator_t*);
2217 
2218 const char*
2219 credential_iterator_privacy_algorithm (iterator_t*);
2220 
2221 const char*
2223 
2224 const char*
2226 
2227 const char*
2229 
2230 const char*
2231 credential_iterator_public_key (iterator_t*);
2232 
2233 const char*
2235 
2236 const char*
2237 credential_iterator_type (iterator_t*);
2238 
2239 int
2241 
2242 const char*
2243 credential_full_type (const char*);
2244 
2245 char*
2247 
2248 char*
2250 
2251 char*
2253 
2254 const char*
2255 credential_iterator_certificate (iterator_t*);
2256 
2257 gboolean
2258 credential_iterator_format_available (iterator_t*, credential_format_t);
2259 
2260 gchar *
2262 
2263 char*
2264 credential_uuid (credential_t);
2265 
2266 char*
2267 trash_credential_uuid (credential_t);
2268 
2269 char*
2270 credential_name (credential_t);
2271 
2272 char*
2273 trash_credential_name (credential_t);
2274 
2275 char*
2276 credential_type (credential_t);
2277 
2278 void
2279 init_credential_target_iterator (iterator_t*, credential_t, int);
2280 
2281 const char*
2282 credential_target_iterator_uuid (iterator_t*);
2283 
2284 const char*
2285 credential_target_iterator_name (iterator_t*);
2286 
2287 int
2289 
2290 void
2291 init_credential_scanner_iterator (iterator_t*, credential_t, int);
2292 
2293 const char*
2294 credential_scanner_iterator_uuid (iterator_t*);
2295 
2296 const char*
2297 credential_scanner_iterator_name (iterator_t*);
2298 
2299 int
2301 
2302 int
2303 trash_credential_in_use (credential_t);
2304 
2305 int
2306 credential_in_use (credential_t);
2307 
2308 int
2309 trash_credential_writable (credential_t);
2310 
2311 int
2312 credential_writable (credential_t);
2313 
2314 int
2315 trash_credential_readable (credential_t);
2316 
2317 gchar*
2318 credential_value (credential_t, const char*);
2319 
2320 gchar*
2321 credential_encrypted_value (credential_t, const char*);
2322 
2323 
2324 ␌
2325 /* Agents. */
2326 
2327 int
2328 create_agent (const char*, const char*, const char*, const char*, const char*,
2329  const char*, const char*, agent_t*);
2330 
2331 int
2332 copy_agent (const char*, const char*, const char *, agent_t *);
2333 
2334 int
2335 modify_agent (const char*, const char*, const char*);
2336 
2337 int
2338 delete_agent (const char *, int);
2339 
2340 int
2341 agent_in_use (agent_t);
2342 
2343 int
2344 trash_agent_in_use (agent_t);
2345 
2346 int
2347 trash_agent_writable (agent_t);
2348 
2349 int
2350 agent_writable (agent_t);
2351 
2352 int
2353 verify_agent (const char *);
2354 
2355 char *
2356 agent_uuid (agent_t);
2357 
2358 int
2359 agent_count (const get_data_t *);
2360 
2361 int
2363 
2364 const char*
2365 agent_iterator_installer_64 (iterator_t*);
2366 
2367 const char*
2368 agent_iterator_installer_filename (iterator_t*);
2369 
2370 const char*
2372 
2373 time_t
2375 
2376 const char*
2377 agent_iterator_howto_install (iterator_t*);
2378 
2379 const char*
2380 agent_iterator_howto_use (iterator_t*);
2381 
2382 ␌
2383 /* Assets. */
2384 
2385 char *
2386 result_host_asset_id (const char *, result_t);
2387 
2388 char*
2389 host_uuid (resource_t);
2390 
2391 host_t
2392 host_notice (const char *, const char *, const char *, const char *,
2393  const char *, int, int);
2394 
2395 void
2396 init_host_identifier_iterator (iterator_t*, host_t, int, const char*);
2397 
2398 const char*
2399 host_identifier_iterator_value (iterator_t *);
2400 
2401 const char*
2402 host_identifier_iterator_source_type (iterator_t *);
2403 
2404 const char*
2405 host_identifier_iterator_source_id (iterator_t *);
2406 
2407 const char*
2408 host_identifier_iterator_source_data (iterator_t *);
2409 
2410 int
2411 host_identifier_iterator_source_orphan (iterator_t *);
2412 
2413 const char*
2414 host_identifier_iterator_os_id (iterator_t *);
2415 
2416 const char*
2417 host_identifier_iterator_os_title (iterator_t *);
2418 
2419 int
2420 init_asset_host_iterator (iterator_t *, const get_data_t *);
2421 
2422 int
2423 asset_iterator_writable (iterator_t *);
2424 
2425 int
2426 asset_iterator_in_use (iterator_t *);
2427 
2428 const char*
2429 asset_host_iterator_severity (iterator_t *);
2430 
2431 int
2432 asset_host_count (const get_data_t *);
2433 
2434 int
2435 init_asset_os_iterator (iterator_t *, const get_data_t *);
2436 
2437 const char*
2438 asset_os_iterator_title (iterator_t *);
2439 
2440 int
2441 asset_os_iterator_installs (iterator_t *);
2442 
2443 const char*
2444 asset_os_iterator_latest_severity (iterator_t *);
2445 
2446 const char*
2447 asset_os_iterator_highest_severity (iterator_t *);
2448 
2449 const char*
2450 asset_os_iterator_average_severity (iterator_t *);
2451 
2452 int
2453 asset_os_count (const get_data_t *);
2454 
2455 int
2456 total_asset_count (const get_data_t *);
2457 
2458 void
2459 init_os_host_iterator (iterator_t *, resource_t);
2460 
2461 const char*
2462 os_host_iterator_severity (iterator_t *);
2463 
2464 void
2465 init_host_detail_iterator (iterator_t *, resource_t);
2466 
2467 const char*
2468 host_detail_iterator_name (iterator_t *);
2469 
2470 const char*
2471 host_detail_iterator_value (iterator_t *);
2472 
2473 const char*
2474 host_detail_iterator_source_type (iterator_t *);
2475 
2476 const char*
2477 host_detail_iterator_source_id (iterator_t *);
2478 
2479 int
2480 modify_asset (const char *, const char *);
2481 
2482 int
2483 delete_asset (const char *, const char *, int);
2484 
2485 int
2486 create_asset_report (const char *, const char *);
2487 
2488 int
2489 create_asset_host (const char *, const char *, resource_t* );
2490 
2491 int
2492 add_assets_from_host_in_report (report_t report, const char *host);
2493 
2494 ␌
2495 /* Notes. */
2496 
2497 gboolean
2498 find_note_with_permission (const char*, note_t*, const char *);
2499 
2500 int
2501 create_note (const char*, const char*, const char*, const char*, const char*,
2502  const char*, const char*, task_t, result_t, note_t*);
2503 
2504 int
2505 copy_note (const char*, note_t*);
2506 
2507 int
2508 delete_note (const char *, int);
2509 
2510 int
2511 note_uuid (note_t, char **);
2512 
2513 int
2514 modify_note (const gchar *, const char *, const char *, const char *,
2515  const char *, const char *, const char *, const char *,
2516  const gchar *, const gchar *);
2517 
2518 int
2519 note_count (const get_data_t *, nvt_t, result_t, task_t);
2520 
2521 int
2522 init_note_iterator (iterator_t*, const get_data_t*, nvt_t, result_t, task_t);
2523 
2524 const char*
2525 note_iterator_nvt_oid (iterator_t*);
2526 
2527 time_t
2528 note_iterator_creation_time (iterator_t*);
2529 
2530 time_t
2531 note_iterator_modification_time (iterator_t*);
2532 
2533 const char*
2534 note_iterator_text (iterator_t*);
2535 
2536 const char*
2537 note_iterator_hosts (iterator_t*);
2538 
2539 const char*
2540 note_iterator_port (iterator_t*);
2541 
2542 const char*
2544 
2545 task_t
2547 
2548 result_t
2550 
2551 time_t
2553 
2554 int
2556 
2557 const char*
2558 note_iterator_nvt_name (iterator_t *);
2559 
2560 const char *
2562 
2563 const char*
2564 note_iterator_severity (iterator_t *);
2565 
2566 ␌
2567 /* Overrides. */
2568 
2569 gboolean
2570 find_override_with_permission (const char*, override_t*, const char *);
2571 
2572 int
2573 create_override (const char*, const char*, const char*, const char*,
2574  const char*, const char*, const char*, const char*,
2575  const char*, task_t, result_t, override_t*);
2576 
2577 int
2578 override_uuid (override_t, char **);
2579 
2580 int
2581 copy_override (const char*, override_t*);
2582 
2583 int
2584 delete_override (const char *, int);
2585 
2586 int
2587 modify_override (const gchar *, const char *, const char *, const char *,
2588  const char *, const char *, const char *, const char *,
2589  const char *, const char *, const gchar *, const gchar *);
2590 
2591 int
2592 override_count (const get_data_t *, nvt_t, result_t, task_t);
2593 
2594 int
2595 init_override_iterator (iterator_t*, const get_data_t*, nvt_t, result_t,
2596  task_t);
2597 
2598 const char*
2599 override_iterator_nvt_oid (iterator_t*);
2600 
2601 time_t
2602 override_iterator_creation_time (iterator_t*);
2603 
2604 time_t
2605 override_iterator_modification_time (iterator_t*);
2606 
2607 const char*
2608 override_iterator_text (iterator_t*);
2609 
2610 const char*
2611 override_iterator_hosts (iterator_t*);
2612 
2613 const char*
2614 override_iterator_port (iterator_t*);
2615 
2616 const char*
2618 
2619 const char*
2621 
2622 task_t
2624 
2625 result_t
2627 
2628 time_t
2630 
2631 int
2633 
2634 const char*
2635 override_iterator_nvt_name (iterator_t *);
2636 
2637 const char *
2639 
2640 const char*
2641 override_iterator_severity (iterator_t *);
2642 
2643 const char*
2644 override_iterator_new_severity (iterator_t *);
2645 
2646 ␌
2647 /* System reports. */
2648 
2652 typedef struct
2653 {
2654  gchar **start;
2655  gchar **current;
2657 
2658 int
2660  const char*);
2661 
2662 void
2664 
2665 gboolean
2667 
2668 const char*
2670 
2671 const char*
2673 
2674 int
2675 manage_system_report (const char *, const char *, const char *, const char *,
2676  const char *, char **);
2677 
2678 ␌
2679 /* Scanners. */
2680 
2684 #define SLAVE_COMMIT_SIZE_DEFAULT 0
2685 
2686 int
2687 manage_create_scanner (GSList *, const char *, const char *, const char *,
2688  const char *, const char *, const char *, const char *,
2689  const char *, const char *);
2690 
2691 int
2692 manage_modify_scanner (GSList *, const gchar *, const char *, const char *,
2693  const char *, const char *, const char *, const char *,
2694  const char *, const char *, const char *);
2695 
2696 int
2697 manage_delete_scanner (GSList *, const gchar *, const gchar *);
2698 
2699 int
2700 manage_verify_scanner (GSList *, const gchar *, const gchar *);
2701 
2702 int
2703 manage_get_scanners (GSList *, const gchar *);
2704 
2705 int
2706 create_scanner (const char*, const char *, const char *, const char *,
2707  const char *, scanner_t *, const char *, const char *);
2708 
2709 int
2710 copy_scanner (const char*, const char*, const char *, scanner_t *);
2711 
2712 int
2713 modify_scanner (const char*, const char*, const char*, const char *,
2714  const char *, const char *, const char *, const char *);
2715 
2716 int
2717 delete_scanner (const char *, int);
2718 
2719 gboolean
2720 find_scanner_with_permission (const char *, scanner_t *, const char *);
2721 
2722 int
2723 scanner_in_use (scanner_t);
2724 
2725 int
2726 trash_scanner_readable (scanner_t);
2727 
2728 int
2729 trash_scanner_in_use (scanner_t);
2730 
2731 int
2732 trash_scanner_writable (scanner_t);
2733 
2734 int
2735 scanner_writable (scanner_t);
2736 
2737 const char *
2739 
2740 char *
2741 scanner_host (scanner_t);
2742 
2743 int
2744 scanner_port (scanner_t);
2745 
2746 int
2747 scanner_type (scanner_t);
2748 
2749 char *
2750 scanner_ca_pub (scanner_t);
2751 
2752 char *
2753 scanner_key_pub (scanner_t);
2754 
2755 char *
2756 scanner_key_priv (scanner_t);
2757 
2758 char*
2759 scanner_login (scanner_t);
2760 
2761 char*
2762 scanner_password (scanner_t);
2763 
2764 int
2765 scanner_count (const get_data_t *);
2766 
2767 char *
2769 
2770 int
2772 
2773 const char*
2774 scanner_iterator_host (iterator_t*);
2775 
2776 int
2778 
2779 int
2781 
2782 const char*
2783 scanner_iterator_credential_name (iterator_t *);
2784 
2785 credential_t
2787 
2788 int
2790 
2791 const char*
2792 scanner_iterator_ca_pub (iterator_t *);
2793 
2794 const char*
2795 scanner_iterator_key_pub (iterator_t *);
2796 
2797 const char*
2798 scanner_iterator_credential_type (iterator_t *);
2799 
2800 void
2802 
2803 const char*
2804 scanner_config_iterator_uuid (iterator_t *);
2805 
2806 const char*
2807 scanner_config_iterator_name (iterator_t *);
2808 
2809 int
2811 
2812 void
2814 
2815 const char*
2816 scanner_task_iterator_uuid (iterator_t *);
2817 
2818 const char*
2819 scanner_task_iterator_name (iterator_t *);
2820 
2821 int
2823 
2824 char *
2825 scanner_name (scanner_t);
2826 
2827 char *
2828 scanner_uuid (scanner_t);
2829 
2830 char *
2831 trash_scanner_name (scanner_t);
2832 
2833 char *
2834 trash_scanner_uuid (scanner_t);
2835 
2836 int
2837 osp_get_version_from_iterator (iterator_t *, char **, char **, char **, char **,
2838  char **, char **);
2839 
2840 int
2841 osp_get_details_from_iterator (iterator_t *, char **, GSList **);
2842 
2843 osp_connection_t *
2844 osp_connect_with_data (const char *,
2845  int,
2846  const char *,
2847  const char *,
2848  const char *);
2849 
2850 osp_connection_t *
2851 osp_scanner_connect (scanner_t);
2852 
2853 int
2854 verify_scanner (const char *, char **);
2855 
2856 void
2857 set_slave_commit_size (int);
2858 
2859 const char *
2861 
2862 void
2863 set_relay_mapper_path (const char *);
2864 
2865 int
2867 
2868 void
2870 
2871 gboolean
2872 relay_supports_scanner_type (const char *, int, scanner_type_t);
2873 
2874 int
2875 slave_get_relay (const char *,
2876  int,
2877  const char *,
2878  const char *,
2879  gchar **,
2880  int *,
2881  gchar **);
2882 
2883 int
2884 slave_relay_connection (gvm_connection_t *, gvm_connection_t *);
2885 
2886 /* Scheduling. */
2887 
2891 #define SCHEDULE_PERIOD 10
2892 
2897 #define SCHEDULE_TIMEOUT_MIN_SECS 20
2898 
2902 #define SCHEDULE_TIMEOUT_DEFAULT 60
2903 
2904 gboolean
2905 find_schedule_with_permission (const char*, schedule_t*, const char*);
2906 
2907 int
2908 create_schedule (const char *, const char*, const char *,
2909  time_t, time_t, time_t, const char *, time_t, const char*,
2910  schedule_t *, gchar**);
2911 
2912 int
2913 copy_schedule (const char*, const char*, const char *, schedule_t *);
2914 
2915 int
2916 delete_schedule (const char*, int);
2917 
2918 void
2919 manage_auth_allow_all (int);
2920 
2921 const gchar*
2923 
2924 void
2925 set_scheduled_user_uuid (const gchar* uuid);
2926 
2927 void
2928 manage_sync (sigset_t *, int (*fork_update_nvt_cache) ());
2929 
2930 int
2931 manage_schedule (manage_connection_forker_t,
2932  gboolean,
2933  sigset_t *);
2934 
2935 char *
2936 schedule_uuid (schedule_t);
2937 
2938 char *
2939 trash_schedule_uuid (schedule_t);
2940 
2941 char *
2942 schedule_name (schedule_t);
2943 
2944 char *
2945 trash_schedule_name (schedule_t);
2946 
2947 int
2948 schedule_duration (schedule_t);
2949 
2950 int
2951 schedule_period (schedule_t);
2952 
2953 int
2954 schedule_info (schedule_t, int, time_t *, time_t *, int *, int *, int *,
2955  gchar **, gchar **);
2956 
2957 int
2959 
2960 time_t
2962 
2963 time_t
2965 
2966 time_t
2968 
2969 time_t
2971 
2972 time_t
2974 
2975 int
2976 schedule_iterator_byday (iterator_t *);
2977 
2978 gchar *
2980 
2981 const char*
2982 schedule_iterator_timezone (iterator_t *);
2983 
2984 time_t
2985 schedule_iterator_initial_offset (iterator_t *);
2986 
2987 const char*
2988 schedule_iterator_icalendar (iterator_t *);
2989 
2990 int
2991 trash_schedule_in_use (schedule_t);
2992 
2993 int
2994 schedule_in_use (schedule_t);
2995 
2996 int
2997 trash_schedule_writable (schedule_t);
2998 
2999 int
3000 trash_schedule_readable (schedule_t);
3001 
3002 int
3003 schedule_writable (schedule_t);
3004 
3005 int
3006 schedule_count (const get_data_t *);
3007 
3008 void
3010 
3011 const char*
3012 schedule_task_iterator_uuid (iterator_t *);
3013 
3014 const char*
3015 schedule_task_iterator_name (iterator_t *);
3016 
3017 int
3019 
3020 int
3021 modify_schedule (const char *, const char*, const char *, const char*,
3022  time_t, time_t, time_t,
3023  const char *, time_t, const char *, gchar **);
3024 
3025 int
3027 
3028 void
3029 set_schedule_timeout (int);
3030 
3031 ␌
3032 /* Report Formats. */
3033 
3034 gboolean
3035 find_report_format_with_permission (const char*, report_format_t*,
3036  const char *);
3037 
3041 typedef struct
3042 {
3043  gchar *fallback;
3044  gchar *name;
3045  gchar *type;
3046  gchar *type_max;
3047  gchar *type_min;
3048  gchar *value;
3050 
3051 int
3052 create_report_format (const char *, const char *, const char *, const char *,
3053  const char *, const char *, int, array_t *, array_t *,
3054  array_t *, const char *, report_format_t *);
3055 
3056 int
3057 copy_report_format (const char *, const char *, report_format_t*);
3058 
3059 int
3060 modify_report_format (const char *, const char *, const char *, const char *,
3061  const char *, const char *, const char *);
3062 
3063 int
3064 delete_report_format (const char *, int);
3065 
3066 int
3067 verify_report_format (const char *);
3068 
3069 char *
3070 report_format_uuid (report_format_t);
3071 
3072 char *
3073 report_format_owner_uuid (report_format_t);
3074 
3075 char *
3076 report_format_name (report_format_t);
3077 
3078 char *
3079 report_format_content_type (report_format_t);
3080 
3081 char *
3082 report_format_extension (report_format_t);
3083 
3084 int
3085 report_format_global (report_format_t);
3086 
3087 int
3088 trash_report_format_global (report_format_t);
3089 
3090 int
3091 report_format_predefined (report_format_t);
3092 
3093 int
3094 report_format_active (report_format_t);
3095 
3096 int
3097 report_format_trust (report_format_t);
3098 
3099 int
3100 report_format_in_use (report_format_t);
3101 
3102 int
3103 trash_report_format_in_use (report_format_t);
3104 
3105 int
3106 trash_report_format_writable (report_format_t);
3107 
3108 int
3109 report_format_writable (report_format_t);
3110 
3111 int
3112 report_format_count (const get_data_t *);
3113 
3114 int
3115 init_report_format_iterator (iterator_t*, const get_data_t *);
3116 
3117 const char*
3118 report_format_iterator_extension (iterator_t *);
3119 
3120 const char*
3121 report_format_iterator_content_type (iterator_t *);
3122 
3123 const char*
3124 report_format_iterator_description (iterator_t *);
3125 
3126 int
3127 report_format_iterator_active (iterator_t *);
3128 
3129 const char*
3130 report_format_iterator_signature (iterator_t *);
3131 
3132 const char*
3133 report_format_iterator_trust (iterator_t *);
3134 
3135 const char*
3136 report_format_iterator_summary (iterator_t *);
3137 
3138 time_t
3139 report_format_iterator_trust_time (iterator_t *);
3140 
3141 void
3142 init_report_format_alert_iterator (iterator_t*, report_format_t);
3143 
3144 const char*
3145 report_format_alert_iterator_name (iterator_t*);
3146 
3147 const char*
3148 report_format_alert_iterator_uuid (iterator_t*);
3149 
3150 int
3151 report_format_alert_iterator_readable (iterator_t*);
3152 
3156 typedef struct
3157 {
3158  GPtrArray *start;
3159  gpointer *current;
3160  gchar *dir_name;
3161 } file_iterator_t;
3162 
3163 int
3165 
3166 void
3168 
3169 gboolean
3171 
3172 const char*
3174 
3175 gchar*
3177 
3184 typedef enum
3185 {
3186  REPORT_FORMAT_PARAM_TYPE_BOOLEAN = 0,
3187  REPORT_FORMAT_PARAM_TYPE_INTEGER = 1,
3188  REPORT_FORMAT_PARAM_TYPE_SELECTION = 2,
3189  REPORT_FORMAT_PARAM_TYPE_STRING = 3,
3190  REPORT_FORMAT_PARAM_TYPE_TEXT = 4,
3191  REPORT_FORMAT_PARAM_TYPE_REPORT_FORMAT_LIST = 5,
3192  REPORT_FORMAT_PARAM_TYPE_ERROR = 100
3193 } report_format_param_type_t;
3194 
3195 const char *
3196 report_format_param_type_name (report_format_param_type_t);
3197 
3198 report_format_param_type_t
3199 report_format_param_type_from_name (const char *);
3200 
3201 void
3202 init_report_format_param_iterator (iterator_t*, report_format_t, int,
3203  int, const char*);
3204 
3205 report_format_param_t
3206 report_format_param_iterator_param (iterator_t*);
3207 
3208 const char*
3209 report_format_param_iterator_name (iterator_t *);
3210 
3211 const char*
3212 report_format_param_iterator_value (iterator_t *);
3213 
3214 const char*
3215 report_format_param_iterator_type_name (iterator_t *);
3216 
3217 report_format_param_type_t
3218 report_format_param_iterator_type (iterator_t *);
3219 
3220 long long int
3221 report_format_param_iterator_type_min (iterator_t *);
3222 
3223 long long int
3224 report_format_param_iterator_type_max (iterator_t *);
3225 
3226 const char*
3227 report_format_param_iterator_fallback (iterator_t *);
3228 
3229 void
3230 init_param_option_iterator (iterator_t*, report_format_param_t, int,
3231  const char *);
3232 
3233 const char*
3234 param_option_iterator_value (iterator_t *);
3235 
3236 ␌
3237 /* Groups. */
3238 
3239 int
3240 init_group_iterator (iterator_t *, const get_data_t *);
3241 
3242 int
3243 copy_group (const char *, const char *, const char *, group_t *);
3244 
3245 int
3246 create_group (const char *, const char *, const char *, int, group_t *);
3247 
3248 int
3249 delete_group (const char *, int);
3250 
3251 char*
3252 group_uuid (group_t);
3253 
3254 gchar *
3255 group_users (group_t);
3256 
3257 int
3258 trash_group_in_use (group_t);
3259 
3260 int
3261 group_in_use (group_t);
3262 
3263 int
3264 trash_group_writable (group_t);
3265 
3266 int
3267 group_writable (group_t);
3268 
3269 int
3270 group_count (const get_data_t*);
3271 
3272 int
3273 modify_group (const char *, const char *, const char *, const char *);
3274 
3275 ␌
3276 /* Permissions. */
3277 
3278 int
3279 create_permission (const char *, const char *, const char *, const char *,
3280  const char *, const char *, permission_t *);
3281 
3282 int
3283 copy_permission (const char*, const char *, permission_t *);
3284 
3285 char*
3286 permission_uuid (permission_t);
3287 
3288 int
3289 permission_is_admin (const char *);
3290 
3291 int
3292 permission_in_use (permission_t);
3293 
3294 int
3295 trash_permission_in_use (permission_t);
3296 
3297 int
3298 permission_writable (permission_t);
3299 
3300 int
3301 trash_permission_writable (permission_t);
3302 
3303 int
3304 permission_count (const get_data_t *);
3305 
3306 int
3307 init_permission_iterator (iterator_t*, const get_data_t *);
3308 
3309 const char*
3310 permission_iterator_resource_type (iterator_t*);
3311 
3312 const char*
3313 permission_iterator_resource_uuid (iterator_t*);
3314 
3315 const char*
3316 permission_iterator_resource_name (iterator_t*);
3317 
3318 int
3319 permission_iterator_resource_in_trash (iterator_t*);
3320 
3321 int
3322 permission_iterator_resource_orphan (iterator_t*);
3323 
3324 int
3325 permission_iterator_resource_readable (iterator_t*);
3326 
3327 const char*
3328 permission_iterator_subject_type (iterator_t*);
3329 
3330 const char*
3331 permission_iterator_subject_uuid (iterator_t*);
3332 
3333 const char*
3334 permission_iterator_subject_name (iterator_t*);
3335 
3336 int
3337 permission_iterator_subject_in_trash (iterator_t*);
3338 
3339 int
3340 permission_iterator_subject_readable (iterator_t*);
3341 
3342 int
3343 delete_permission (const char*, int);
3344 
3345 int
3346 modify_permission (const char *, const char *, const char *, const char *,
3347  const char *, const char *, const char *);
3348 
3349 /* Permission caching */
3350 
3351 void
3352 delete_permissions_cache_for_resource (const char*, resource_t);
3353 
3354 void
3355 delete_permissions_cache_for_user (user_t);
3356 
3357 ␌
3358 /* Port lists. */
3359 
3360 gboolean
3361 find_port_list (const char*, port_list_t*);
3362 
3363 gboolean
3364 find_port_list_with_permission (const char *, port_list_t *, const char *);
3365 
3366 gboolean
3367 find_port_range (const char*, port_list_t*);
3368 
3369 int
3370 create_port_list (const char*, const char*, const char*, const char*,
3371  array_t *, port_list_t*);
3372 
3373 int
3374 copy_port_list (const char*, const char*, const char*, port_list_t*);
3375 
3376 int
3377 modify_port_list (const char*, const char*, const char*);
3378 
3379 int
3380 create_port_range (const char *, const char *, const char *, const char *,
3381  const char *, port_range_t *);
3382 
3383 int
3384 delete_port_list (const char*, int);
3385 
3386 int
3387 delete_port_range (const char *, int);
3388 
3389 int
3390 port_list_count (const get_data_t *);
3391 
3392 int
3393 init_port_list_iterator (iterator_t*, const get_data_t *);
3394 
3395 int
3396 port_list_iterator_count_all (iterator_t*);
3397 
3398 int
3399 port_list_iterator_count_tcp (iterator_t*);
3400 
3401 int
3402 port_list_iterator_count_udp (iterator_t*);
3403 
3404 char*
3405 port_list_uuid (port_list_t);
3406 
3407 char*
3408 port_range_uuid (port_range_t);
3409 
3410 int
3411 port_list_in_use (port_list_t);
3412 
3413 int
3414 trash_port_list_in_use (port_list_t);
3415 
3416 int
3417 trash_port_list_writable (port_list_t);
3418 
3419 int
3420 port_list_writable (port_list_t);
3421 
3422 #if 0
3423 int
3424 trash_port_list_in_use (port_list_t);
3425 #endif
3426 
3427 int
3428 trash_port_list_readable_uuid (const gchar *);
3429 
3430 void
3431 init_port_range_iterator (iterator_t*, port_range_t, int, int, const char*);
3432 
3433 const char*
3434 port_range_iterator_uuid (iterator_t*);
3435 
3436 const char*
3437 port_range_iterator_comment (iterator_t*);
3438 
3439 const char*
3440 port_range_iterator_start (iterator_t*);
3441 
3442 const char*
3443 port_range_iterator_end (iterator_t*);
3444 
3445 const char*
3446 port_range_iterator_type (iterator_t*);
3447 
3448 void
3449 init_port_list_target_iterator (iterator_t*, port_list_t, int);
3450 
3451 const char*
3452 port_list_target_iterator_uuid (iterator_t*);
3453 
3454 const char*
3455 port_list_target_iterator_name (iterator_t*);
3456 
3457 int
3458 port_list_target_iterator_readable (iterator_t*);
3459 
3460 ␌
3461 /* Roles. */
3462 
3463 int
3464 init_role_iterator (iterator_t *, const get_data_t *);
3465 
3466 int
3467 copy_role (const char *, const char *, const char *, role_t *);
3468 
3469 int
3470 create_role (const char *, const char *, const char *, role_t *);
3471 
3472 int
3473 delete_role (const char *, int);
3474 
3475 char*
3476 role_uuid (role_t);
3477 
3478 gchar *
3479 role_users (role_t);
3480 
3481 int
3482 trash_role_in_use (role_t);
3483 
3484 int
3485 role_in_use (role_t);
3486 
3487 int
3488 trash_role_writable (role_t);
3489 
3490 int
3491 role_writable (role_t);
3492 
3493 int
3494 role_count (const get_data_t*);
3495 
3496 int
3497 modify_role (const char *, const char *, const char *, const char *);
3498 
3499 ␌
3500 /* Filter Utilities. */
3501 
3505 typedef enum
3506 {
3507  KEYWORD_TYPE_UNKNOWN,
3508  KEYWORD_TYPE_INTEGER,
3509  KEYWORD_TYPE_DOUBLE,
3510  KEYWORD_TYPE_STRING
3511 } keyword_type_t;
3512 
3516 typedef enum
3517 {
3518  KEYWORD_RELATION_APPROX,
3519  KEYWORD_RELATION_COLUMN_ABOVE,
3520  KEYWORD_RELATION_COLUMN_APPROX,
3521  KEYWORD_RELATION_COLUMN_EQUAL,
3522  KEYWORD_RELATION_COLUMN_BELOW,
3523  KEYWORD_RELATION_COLUMN_REGEXP
3524 } keyword_relation_t;
3525 
3529 struct keyword
3530 {
3531  gchar *column;
3532  int approx;
3533  int equal;
3535  double double_value;
3536  int quoted;
3537  gchar *string;
3538  keyword_type_t type;
3539  keyword_relation_t relation;
3540 };
3541 
3545 typedef struct keyword keyword_t;
3546 
3547 int
3549 
3550 const char *
3551 keyword_relation_symbol (keyword_relation_t);
3552 
3553 void
3554 filter_free (array_t*);
3555 
3556 array_t *
3557 split_filter (const gchar*);
3558 
3559 ␌
3560 /* Filters. */
3561 
3562 gboolean
3563 find_filter (const char*, filter_t*);
3564 
3565 gboolean
3566 find_filter_with_permission (const char*, filter_t*, const char*);
3567 
3568 char*
3569 filter_uuid (filter_t);
3570 
3571 char*
3572 filter_name (filter_t);
3573 
3574 gchar*
3575 filter_term (const char *);
3576 
3577 gchar*
3578 filter_term_value (const char *, const char *);
3579 
3580 int
3581 filter_term_apply_overrides (const char *);
3582 
3583 int
3584 filter_term_autofp (const char *);
3585 
3586 int
3587 filter_term_min_qod (const char *);
3588 
3589 int
3590 create_filter (const char*, const char*, const char*, const char*, filter_t*);
3591 
3592 int
3593 copy_filter (const char*, const char*, const char*, filter_t*);
3594 
3595 int
3596 delete_filter (const char *, int);
3597 
3598 int
3599 trash_filter_in_use (filter_t);
3600 
3601 int
3602 filter_in_use (filter_t);
3603 
3604 int
3605 trash_filter_writable (filter_t);
3606 
3607 int
3608 filter_writable (filter_t);
3609 
3610 int
3611 filter_count (const get_data_t*);
3612 
3613 int
3614 init_filter_iterator (iterator_t*, const get_data_t*);
3615 
3616 const char*
3617 filter_iterator_type (iterator_t*);
3618 
3619 const char*
3620 filter_iterator_term (iterator_t*);
3621 
3622 void
3623 init_filter_alert_iterator (iterator_t*, filter_t);
3624 
3625 const char*
3626 filter_alert_iterator_name (iterator_t*);
3627 
3628 const char*
3629 filter_alert_iterator_uuid (iterator_t*);
3630 
3631 int
3632 filter_alert_iterator_readable (iterator_t*);
3633 
3634 int
3635 modify_filter (const char*, const char*, const char*, const char*, const char*);
3636 
3637 ␌
3638 /* Schema. */
3639 
3640 int
3641 manage_schema (gchar *, gchar **, gsize *, gchar **, gchar **);
3642 
3643 ␌
3644 /* Trashcan. */
3645 
3646 int
3647 manage_restore (const char *);
3648 
3649 int
3650 manage_empty_trashcan ();
3651 
3652 ␌
3653 /* SecInfo */
3654 
3655 int
3656 manage_read_info (gchar *, gchar *, gchar *, gchar **);
3657 
3658 int
3659 info_name_count (const gchar *, const gchar *);
3660 
3661 /* SCAP. */
3662 
3663 int
3665 
3666 const char *
3668 
3669 /* CPE. */
3670 
3671 void
3672 init_cpe_cve_iterator (iterator_t *, const char *, int, const char *);
3673 
3674 int
3675 init_cpe_info_iterator (iterator_t*, get_data_t*, const char*);
3676 
3677 int
3678 cpe_info_count (const get_data_t *get);
3679 
3680 const char*
3681 cpe_info_iterator_title (iterator_t*);
3682 
3683 const char*
3684 cpe_info_iterator_status (iterator_t*);
3685 
3686 const char*
3687 cpe_info_iterator_max_cvss (iterator_t*);
3688 
3689 const char*
3690 cpe_info_iterator_deprecated_by_id (iterator_t*);
3691 
3692 const char*
3693 cpe_info_iterator_cve_refs (iterator_t*);
3694 
3695 const char*
3696 cpe_info_iterator_nvd_id (iterator_t*);
3697 
3698 /* CVE. */
3699 
3700 const char*
3701 cve_iterator_name (iterator_t*);
3702 
3703 const char*
3704 cve_iterator_cvss (iterator_t*);
3705 
3706 const char*
3707 cve_info_iterator_cvss (iterator_t*);
3708 
3709 const char*
3710 cve_info_iterator_vector (iterator_t*);
3711 
3712 const char*
3713 cve_info_iterator_complexity (iterator_t*);
3714 
3715 const char*
3716 cve_info_iterator_authentication (iterator_t*);
3717 
3718 const char*
3719 cve_info_iterator_confidentiality_impact (iterator_t*);
3720 
3721 const char*
3722 cve_info_iterator_integrity_impact (iterator_t*);
3723 
3724 const char*
3725 cve_info_iterator_availability_impact (iterator_t*);
3726 
3727 const char*
3728 cve_info_iterator_description (iterator_t*);
3729 
3730 const char*
3731 cve_info_iterator_products (iterator_t*);
3732 
3733 int
3734 init_cve_info_iterator (iterator_t*, get_data_t*, const char*);
3735 
3736 int
3737 cve_info_count (const get_data_t *get);
3738 
3739 gchar *
3740 cve_cvss_base (const gchar *);
3741 
3742 /* OVAL definitions */
3743 int
3745 
3746 int
3747 ovaldef_info_count (const get_data_t *get);
3748 
3749 const char*
3750 ovaldef_info_iterator_version (iterator_t*);
3751 
3752 const char*
3753 ovaldef_info_iterator_deprecated (iterator_t*);
3754 
3755 const char*
3756 ovaldef_info_iterator_class (iterator_t*);
3757 
3758 const char*
3759 ovaldef_info_iterator_title (iterator_t*);
3760 
3761 const char*
3762 ovaldef_info_iterator_description (iterator_t*);
3763 
3764 const char*
3765 ovaldef_info_iterator_file (iterator_t*);
3766 
3767 const char*
3768 ovaldef_info_iterator_status (iterator_t*);
3769 
3770 const char*
3771 ovaldef_info_iterator_max_cvss (iterator_t*);
3772 
3773 const char*
3774 ovaldef_info_iterator_cve_refs (iterator_t*);
3775 
3776 char *
3777 ovaldef_severity (const char *);
3778 
3779 char *
3780 ovaldef_version (const char *);
3781 
3782 char *
3783 ovaldef_uuid (const char *, const char *);
3784 
3785 char *
3786 ovaldef_cves (const char *);
3787 
3788 /* CERT data */
3789 int
3791 
3792 /* CERT-Bund */
3793 
3794 int
3796 
3797 int
3799 
3800 const char*
3801 cert_bund_adv_info_iterator_title (iterator_t*);
3802 
3803 const char*
3804 cert_bund_adv_info_iterator_summary (iterator_t*);
3805 
3806 const char*
3807 cert_bund_adv_info_iterator_cve_refs (iterator_t*);
3808 
3809 const char*
3810 cert_bund_adv_info_iterator_max_cvss (iterator_t*);
3811 
3812 void
3813 init_cve_cert_bund_adv_iterator (iterator_t*, const char*, int, const char*);
3814 
3815 void
3816 init_nvt_cert_bund_adv_iterator (iterator_t*, const char*, int, const char*);
3817 
3818 /* DFN-CERT */
3819 
3820 int
3822 
3823 int
3824 dfn_cert_adv_info_count (const get_data_t *get);
3825 
3826 const char*
3827 dfn_cert_adv_info_iterator_title (iterator_t*);
3828 
3829 const char*
3830 dfn_cert_adv_info_iterator_summary (iterator_t*);
3831 
3832 const char*
3833 dfn_cert_adv_info_iterator_cve_refs (iterator_t*);
3834 
3835 const char*
3836 dfn_cert_adv_info_iterator_max_cvss (iterator_t*);
3837 
3838 void
3839 init_cve_dfn_cert_adv_iterator (iterator_t*, const char*, int, const char*);
3840 
3841 void
3842 init_nvt_dfn_cert_adv_iterator (iterator_t*, const char*, int, const char*);
3843 
3844 /* All SecInfo Data */
3845 
3846 int
3847 all_info_count (const get_data_t *);
3848 
3849 int
3850 total_info_count (const get_data_t *, int);
3851 
3852 int
3853 init_all_info_iterator (iterator_t*, get_data_t*, const char*);
3854 
3855 const char*
3856 all_info_iterator_type (iterator_t*);
3857 
3858 const char*
3859 all_info_iterator_extra (iterator_t*);
3860 
3861 const char*
3862 all_info_iterator_severity (iterator_t*);
3863 
3864 void
3866 
3867 const char*
3868 ovaldi_file_iterator_name (iterator_t*);
3869 
3870 ␌
3871 /* Settings. */
3872 
3873 int
3874 manage_max_rows (int);
3875 
3876 int
3877 setting_count (const char *);
3878 
3879 int
3880 setting_is_default_ca_cert (const gchar *);
3881 
3882 char *
3883 setting_filter (const char *);
3884 
3885 const char *
3886 setting_severity ();
3887 
3888 void
3889 init_setting_iterator (iterator_t *, const char *, const char *, int, int, int,
3890  const char *);
3891 
3892 const char*
3893 setting_iterator_uuid (iterator_t*);
3894 
3895 const char*
3896 setting_iterator_name (iterator_t*);
3897 
3898 const char*
3899 setting_iterator_comment (iterator_t*);
3900 
3901 const char*
3902 setting_iterator_value (iterator_t*);
3903 
3904 int
3905 modify_setting (const gchar *, const gchar *, const gchar *, gchar **);
3906 
3907 int
3908 manage_modify_setting (GSList *, const gchar *, const gchar *, const gchar *, const char *);
3909 
3910 char *
3911 manage_default_ca_cert ();
3912 
3913 int
3914 manage_slave_check_period ();
3915 
3916 ␌
3917 /* Users. */
3918 
3919 gboolean
3920 find_user_by_name_with_permission (const char *, user_t *, const char *);
3921 
3922 int
3923 manage_create_user (GSList *, const gchar *, const gchar *, const gchar *,
3924  const gchar *);
3925 
3926 int
3927 manage_delete_user (GSList *, const gchar *, const gchar *, const gchar *);
3928 
3929 int
3930 manage_get_users (GSList *, const gchar *, const gchar *);
3931 
3932 report_host_t
3933 manage_report_host_add (report_t, const char *, time_t, time_t);
3934 
3935 int
3936 report_host_noticeable (report_t, const gchar *);
3937 
3938 void
3939 report_host_set_end_time (report_host_t, time_t);
3940 
3941 gchar*
3942 host_routes_xml (host_t);
3943 
3944 int
3945 manage_set_password (GSList *, const gchar *, const gchar *, const gchar *);
3946 
3947 gchar *
3948 manage_user_hash (const gchar *);
3949 
3950 gchar *
3951 manage_user_uuid (const gchar *, auth_method_t);
3952 
3953 int
3954 manage_user_exists (const gchar *, auth_method_t);
3955 
3956 int
3957 copy_user (const char*, const char*, const char*, user_t*);
3958 
3959 gchar *
3960 keyfile_to_auth_conf_settings_xml (const gchar *);
3961 
3962 int
3963 init_user_iterator (iterator_t*, const get_data_t*);
3964 
3965 const char*
3966 user_iterator_role (iterator_t*);
3967 
3968 const char*
3969 user_iterator_method (iterator_t*);
3970 
3971 const char*
3972 user_iterator_hosts (iterator_t*);
3973 
3974 int
3975 user_iterator_hosts_allow (iterator_t*);
3976 
3977 const char*
3978 user_iterator_ifaces (iterator_t*);
3979 
3980 int
3981 user_iterator_ifaces_allow (iterator_t*);
3982 
3983 void
3984 init_user_group_iterator (iterator_t *, user_t);
3985 
3986 const char*
3987 user_group_iterator_uuid (iterator_t*);
3988 
3989 const char*
3990 user_group_iterator_name (iterator_t*);
3991 
3992 int
3993 user_group_iterator_readable (iterator_t*);
3994 
3995 void
3996 init_user_role_iterator (iterator_t *, user_t);
3997 
3998 const char*
3999 user_role_iterator_uuid (iterator_t*);
4000 
4001 const char*
4002 user_role_iterator_name (iterator_t*);
4003 
4004 int
4005 user_role_iterator_readable (iterator_t*);
4006 
4007 int
4008 create_user (const gchar *, const gchar *, const gchar *, const gchar *,
4009  int, const gchar *, int, const array_t *, array_t *, gchar **,
4010  array_t *, gchar **, gchar **, user_t *, int);
4011 
4012 int
4013 delete_user (const char *, const char *, int, int, const char*, const char*);
4014 
4015 int
4016 modify_user (const gchar *, gchar **, const gchar *, const gchar *,
4017  const gchar*, const gchar *, int, const gchar *, int,
4018  const array_t *, array_t *, gchar **, array_t *, gchar **,
4019  gchar **);
4020 
4021 int
4022 user_in_use (user_t);
4023 
4024 int
4025 trash_user_in_use (user_t);
4026 
4027 int
4028 user_writable (user_t);
4029 
4030 int
4031 trash_user_writable (user_t);
4032 
4033 int
4034 user_count (const get_data_t*);
4035 
4036 gchar*
4037 user_name (const char *);
4038 
4039 char*
4040 user_uuid (user_t);
4041 
4042 gchar*
4043 user_ifaces (const char *);
4044 
4045 int
4046 user_ifaces_allow (const char *);
4047 
4048 gchar*
4049 user_hosts (const char *);
4050 
4051 int
4052 user_hosts_allow (const char *);
4053 
4054 int
4055 init_vuln_iterator (iterator_t*, const get_data_t*);
4056 
4057 int
4058 vuln_iterator_results (iterator_t*);
4059 
4060 const char*
4061 vuln_iterator_oldest (iterator_t*);
4062 
4063 const char*
4064 vuln_iterator_newest (iterator_t*);
4065 
4066 const char*
4067 vuln_iterator_type (iterator_t*);
4068 
4069 int
4070 vuln_iterator_hosts (iterator_t*);
4071 
4072 double
4073 vuln_iterator_severity (iterator_t*);
4074 
4075 int
4076 vuln_iterator_qod (iterator_t*);
4077 
4078 int
4079 vuln_count (const get_data_t*);
4080 
4081 void
4082 manage_get_ldap_info (int *, gchar **, gchar **, int *, gchar **);
4083 
4084 void
4085 manage_set_ldap_info (int, gchar *, gchar *, int, gchar *);
4086 
4087 void
4088 manage_get_radius_info (int *, char **, char **);
4089 
4090 void
4091 manage_set_radius_info (int, gchar *, gchar *);
4092 
4093 ␌
4094 /* Tags */
4095 
4096 char*
4097 tag_uuid (target_t);
4098 
4099 int
4100 copy_tag (const char*, const char*, const char*, tag_t*);
4101 
4102 int
4103 create_tag (const char *, const char *, const char *, const char *,
4104  array_t *, const char *, const char *, tag_t *, gchar **);
4105 
4106 int
4107 delete_tag (const char *, int);
4108 
4109 int
4110 modify_tag (const char *, const char *, const char *, const char *,
4111  const char *, array_t *, const char *, const char *, const char*,
4112  gchar **);
4113 
4114 int
4115 init_tag_iterator (iterator_t*, const get_data_t*);
4116 
4117 int
4118 tag_count (const get_data_t *get);
4119 
4120 const char*
4121 tag_iterator_resource_type (iterator_t*);
4122 
4123 int
4124 tag_iterator_active (iterator_t*);
4125 
4126 const char*
4127 tag_iterator_value (iterator_t*);
4128 
4129 int
4130 tag_iterator_resources (iterator_t*);
4131 
4132 resource_t
4133 tag_resource_iterator_id (iterator_t*);
4134 
4135 const char*
4136 tag_resource_iterator_uuid (iterator_t*);
4137 
4138 int
4139 tag_resource_iterator_location (iterator_t*);
4140 
4141 const char*
4142 tag_resource_iterator_name (iterator_t*);
4143 
4144 int
4145 tag_resource_iterator_readable (iterator_t*);
4146 
4147 int
4148 init_tag_name_iterator (iterator_t*, const get_data_t*);
4149 
4150 const char*
4151 tag_name_iterator_name (iterator_t*);
4152 
4153 int
4154 init_resource_tag_iterator (iterator_t*, const char*, resource_t, int,
4155  const char*, int);
4156 
4157 const char*
4158 resource_tag_iterator_uuid (iterator_t*);
4159 
4160 const char*
4161 resource_tag_iterator_name (iterator_t*);
4162 
4163 const char*
4164 resource_tag_iterator_value (iterator_t*);
4165 
4166 const char*
4167 resource_tag_iterator_comment (iterator_t*);
4168 
4169 int
4170 resource_tag_exists (const char*, resource_t, int);
4171 
4172 int
4173 resource_tag_count (const char*, resource_t, int);
4174 
4175 int
4176 tag_in_use (tag_t);
4177 
4178 int
4179 trash_tag_in_use (tag_t);
4180 
4181 int
4182 tag_writable (tag_t);
4183 
4184 int
4185 trash_tag_writable (tag_t);
4186 
4187 ␌
4188 /* Resource aggregates */
4189 
4193 typedef struct {
4194  gchar *field;
4195  gchar *stat;
4196  int order;
4197 } sort_data_t;
4198 
4199 void
4200 sort_data_free (sort_data_t*);
4201 
4202 int
4203 init_aggregate_iterator (iterator_t*, const char *, const get_data_t *, int,
4204  GArray *, const char *, const char*, GArray*, GArray*,
4205  int, int, const char *, const char *);
4206 
4207 int
4209 
4210 double
4212 
4213 double
4215 
4216 double
4218 
4219 double
4221 
4222 const char*
4223 aggregate_iterator_text (iterator_t*, int, int);
4224 
4225 const char*
4227 
4228 const char*
4230 
4231 ␌
4232 /* Feeds. */
4233 
4234 #define NVT_FEED 1
4235 #define SCAP_FEED 2
4236 #define CERT_FEED 3
4237 
4238 int
4239 gvm_migrate_secinfo (int);
4240 
4241 gboolean
4242 gvm_sync_script_perform_selftest (const gchar *, gchar **);
4243 
4244 gboolean
4245 gvm_get_sync_script_identification (const gchar *, gchar **, int);
4246 
4247 gboolean
4248 gvm_get_sync_script_description (const gchar *, gchar **);
4249 
4250 gboolean
4251 gvm_get_sync_script_feed_version (const gchar *, gchar **);
4252 
4253 int
4254 manage_update_nvts_osp (const gchar *);
4255 
4256 int
4257 manage_rebuild (GSList *, const gchar *);
4258 
4259 ␌
4260 /* Wizards. */
4261 
4262 int
4263 manage_run_wizard (const gchar *, int (*) (void*, gchar*, gchar**),
4264  void *, array_t *, int, const char*,
4265  gchar **, gchar **, gchar **);
4266 
4267 ␌
4268 /* Helpers. */
4269 
4270 gchar *
4271 xml_escape_text_truncated (const char *, size_t, const char *);
4272 
4273 int
4274 column_is_timestamp (const char*);
4275 
4276 char*
4277 type_columns (const char *);
4278 
4279 char*
4280 type_trash_columns (const char *);
4281 
4282 gboolean
4283 manage_migrate_needs_timezone (GSList *, const gchar *);
4284 
4285 ␌
4286 /* Optimize. */
4287 
4288 int
4289 manage_optimize (GSList *, const gchar *, const gchar *);
4290 
4291 ␌
4292 /* Signal management */
4293 
4294 int
4295 get_termination_signal ();
4296 
4297 int
4298 sql_cancel ();
4299 
4300 /* Extra sensor handling functions */
4301 
4302 
4303 
4304 #endif /* not _GVMD_MANAGE_H */
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:2051
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:2069
void get_data_reset(get_data_t *data)
Reset command data.
Definition: gmp.c:2027
static int fork_update_nvt_cache()
Update the NVT cache in a child process.
Definition: gvmd.c:1139
Headers for Iterators.
long long int resource_t
A resource, like a task or target.
Definition: iterator.h:40
const char * credential_full_type(const char *abbreviation)
Get the written-out name of an LSC Credential type.
Definition: manage.c:6043
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:1275
void cleanup_report_type_iterator(report_type_iterator_t *iterator)
Cleanup a report type iterator.
Definition: manage.c:6436
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:6411
const char * report_type_iterator_name(report_type_iterator_t *iterator)
Return the name from a report type iterator.
Definition: manage.c:6466
gchar * truncate_certificate(const gchar *certificate)
Truncate a certificate, removing extra data.
Definition: manage.c:193
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:7302
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:6746
double severity_data_value(int index)
Convert an index in the counts array to a severity value.
Definition: manage.c:1057
void set_relay_mapper_path(const char *new_path)
Gets the current path of the relay mapper executable.
Definition: manage.c:5258
int init_report_format_file_iterator(file_iterator_t *iterator, report_format_t report_format)
Initialise a report format file iterator.
Definition: manage.c:7661
task_t current_scanner_task
The task currently running on the scanner.
Definition: manage.c:1244
gchar * certificate_iso_time(time_t time)
Converts a certificate time to an ISO time string.
Definition: manage.c:519
int stop_task(const char *task_id)
Initiate stopping a task.
Definition: manage.c:5842
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:629
int get_relay_migrate_sensors()
Gets whether to migrate sensors if relays do not match.
Definition: manage.c:5270
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:1010
int move_task(const char *task_id, const char *slave_id)
Reassign a task to another slave.
Definition: manage.c:5919
const char * alert_method_name(alert_method_t method)
Get the name of an alert method.
Definition: manage.c:1438
const char * get_relay_mapper_path()
Gets the current path of the relay mapper executable.
Definition: manage.c:5247
const char * event_name(event_t event)
Get the name of an alert event.
Definition: manage.c:1323
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:1176
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:7542
void cleanup_file_iterator(file_iterator_t *iterator)
Cleanup a report type iterator.
Definition: manage.c:7707
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:7511
int type_is_scap(const char *type)
Check if a type is a SCAP type.
Definition: manage.c:719
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:5433
int start_task(const char *task_id, char **report_id)
Start a task.
Definition: manage.c:5732
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:1106
void alert_report_data_free(alert_report_data_t *data)
Frees a alert_report_data_t struct, including contained data.
Definition: manage.c:1260
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:8138
int resume_task(const char *task_id, char **report_id)
Resume a task.
Definition: manage.c:5885
gchar * file_iterator_content_64(file_iterator_t *iterator)
Return the file contents from a file iterator.
Definition: manage.c:7751
event_t event_from_name(const char *name)
Get an event from a name.
Definition: manage.c:1489
gchar * truncate_private_key(const gchar *private_key)
Truncate a private key, removing extra data.
Definition: manage.c:258
report_t global_current_report
The report of the current task.
Definition: manage.c:1249
alert_method_t alert_method_from_name(const char *name)
Get an alert method from a name.
Definition: manage.c:1514
void set_relay_migrate_sensors(int new_value)
Sets whether to migrate sensors if relays do not match.
Definition: manage.c:5281
gboolean next_report_type(report_type_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:6451
int severity_in_level(double severity, const char *level)
Check whether a severity falls within a threat level.
Definition: manage.c:828
int get_schedule_timeout()
Get the current schedule timeout.
Definition: manage.c:7481
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:6941
void manage_auth_allow_all(int scheduled)
Ensure that any subsequent authentications succeed.
Definition: manage.c:6918
alert_condition_t alert_condition_from_name(const char *name)
Get an alert condition from a name.
Definition: manage.c:1466
const char * file_iterator_name(file_iterator_t *iterator)
Return the name from a file iterator.
Definition: manage.c:7738
const char * run_status_name(task_status_t status)
Get the name of a run status.
Definition: manage.c:1554
credentials_t current_credentials
Current credentials during any GMP command.
Definition: manage.c:945
const char * manage_scap_update_time()
GET SCAP update time, as a string.
Definition: manage.c:8415
const char * report_type_iterator_title(report_type_iterator_t *iterator)
Return the title from a report type iterator.
Definition: manage.c:6479
const char * severity_to_level(double severity, int mode)
Get the threat level matching a severity score.
Definition: manage.c:880
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:5517
void manage_sync(sigset_t *sigmask_current, int(*fork_update_nvt_cache)())
Perform any syncing that is due.
Definition: manage.c:7280
const gchar * get_scheduled_user_uuid()
Access UUID of user that scheduled the current task.
Definition: manage.c:6929
const gchar * certificate_time_status(time_t activates, time_t expires)
Tests the activation and expiration time of a certificate.
Definition: manage.c:538
gboolean relay_supports_scanner_type(const char *original_host, int original_port, scanner_type_t type)
Gets whether there is a relay supporting the scanner type.
Definition: manage.c:5386
const char * alert_condition_name(alert_condition_t condition)
Get the name of an alert condition.
Definition: manage.c:1296
gchar * alert_condition_description(alert_condition_t condition, alert_t alert)
Get a description of an alert condition.
Definition: manage.c:1346
void cleanup_severity_data(severity_data_t *data)
Clean up a severity data structure.
Definition: manage.c:1094
void set_schedule_timeout(int new_timeout)
Set the schedule timeout.
Definition: manage.c:7492
void init_severity_data(severity_data_t *data)
Initialize a severity data structure.
Definition: manage.c:1077
const char * severity_to_type(double severity)
Get the message type matching a severity score.
Definition: manage.c:919
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:1124
gchar * event_description(event_t event, const void *event_data, const char *task_name)
Get a description of an alert event.
Definition: manage.c:1397
const char * type_name_plural(const char *type)
Return the plural name of a resource type.
Definition: manage.c:661
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:328
gboolean next_file(file_iterator_t *iterator)
Increment a report type iterator.
Definition: manage.c:7723
int manage_read_info(gchar *type, gchar *uid, gchar *name, gchar **result)
Read raw information.
Definition: manage.c:8462
const char * type_name(const char *type)
Return the name of a resource type.
Definition: manage.c:690
int manage_migrate(GSList *log_config, const gchar *database)
Migrate database to version supported by this manager.
Definition: manage_migrators.c:1724
gboolean manage_migrate_needs_timezone(GSList *log_config, const gchar *database)
Check whether the migration needs the real timezone.
Definition: manage_migrators.c:1672
int manage_scap_loaded()
Check whether SCAP is available.
Definition: manage_pg.c:3762
int manage_cert_loaded()
Check whether CERT is available.
Definition: manage_pg.c:3746
void manage_session_set_timezone(const char *zone)
Setup session timezone.
Definition: manage_pg.c:68
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:6992
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:40385
int target_iterator_smb_trash(iterator_t *iterator)
Get the location of the SMB LSC credential from a target iterator.
Definition: manage_sql.c:34951
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:43193
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:32905
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:32182
const char * credential_iterator_community(iterator_t *iterator)
Get the SNMP community from a Credential iterator.
Definition: manage_sql.c:38385
char * target_port_range(target_t target)
Return the port range of a target, in GMP port range list format.
Definition: manage_sql.c:35432
const char * aggregate_iterator_subgroup_value(iterator_t *iterator)
Get the value of the subgroup column from an aggregate iterator.
Definition: manage_sql.c:6105
void init_schedule_task_iterator(iterator_t *iterator, schedule_t schedule)
Initialise a schedule task iterator.
Definition: manage_sql.c:45801
double report_severity(report_t report, int overrides, int min_qod)
Get the maximum severity of a report.
Definition: manage_sql.c:26559
void update_duration_schedule_periods(task_t task)
Update tasks with limited run schedules which have durations.
Definition: manage_sql.c:20870
int task_upload_progress(task_t task)
Return the upload progress of a task.
Definition: manage_sql.c:19958
int delete_target(const char *target_id, int ultimate)
Delete a target.
Definition: manage_sql.c:34083
const char * alert_data_iterator_data(iterator_t *iterator)
Return the data from an alert data iterator.
Definition: manage_sql.c:8978
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:21980
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:20454
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:2373
int scanner_type(scanner_t scanner)
Return the type of a scanner.
Definition: manage_sql.c:44048
int report_count(const get_data_t *get)
Count number of reports.
Definition: manage_sql.c:23369
int trash_task_writable(task_t task)
Return whether a trashcan task is writable.
Definition: manage_sql.c:15600
int result_iterator_has_dfn_certs(iterator_t *iterator)
Get whether DFN-CERTs may exist from a result iterator.
Definition: manage_sql.c:25168
time_t schedule_iterator_period(iterator_t *iterator)
Get the period from a schedule iterator.
Definition: manage_sql.c:45425
task_t note_iterator_task(iterator_t *iterator)
Get the task from a note iterator.
Definition: manage_sql.c:41006
int target_in_use(target_t target)
Return whether a target is in use by a task.
Definition: manage_sql.c:35503
const char * get_iterator_comment(iterator_t *iterator)
Get the comment from a GET iterator.
Definition: manage_sql.c:39721
int delete_schedule(const char *schedule_id, int ultimate)
Delete a schedule.
Definition: manage_sql.c:44984
command_t gmp_commands[]
The GMP command list.
Definition: manage_sql.c:540
void set_task_name(task_t task, const char *name)
Set the name of a task.
Definition: manage_sql.c:32278
const char * result_iterator_original_level(iterator_t *iterator)
Get the original severity/threat level from a result iterator.
Definition: manage_sql.c:24993
char * task_config_uuid(task_t task)
Return the UUID of the config of a task.
Definition: manage_sql.c:19486
void set_db_version(int version)
Set the database version of the actual database.
Definition: manage_sql.c:6503
gchar * manage_clean_filter(const gchar *filter)
Clean a filter.
Definition: manage_sql.c:2727
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:46185
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:18651
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:36526
gboolean next_report(iterator_t *iterator, report_t *report)
Read the next report from an iterator.
Definition: manage_sql.c:23504
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:30961
int agent_in_use(agent_t agent)
Check whether an agent is in use.
Definition: manage_sql.c:39561
int credential_writable(credential_t credential)
Check whether a Credential is writable.
Definition: manage_sql.c:37838
int trash_alert_writable(alert_t alert)
Return whether a trashcan alert is writable.
Definition: manage_sql.c:8719
scanner_t task_iterator_scanner(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15506
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:45278
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:25960
resource_t get_iterator_resource(iterator_t *iterator)
Get the resource from a GET iterator.
Definition: manage_sql.c:39689
int trash_credential_in_use(credential_t credential)
Check whether a trashcan Credential is in use.
Definition: manage_sql.c:37801
int request_delete_task(task_t *task_pointer)
Request deletion of a task.
Definition: manage_sql.c:32456
time_t schedule_iterator_duration(iterator_t *iterator)
Get the duration from a schedule iterator.
Definition: manage_sql.c:45486
int scanner_iterator_port(iterator_t *iterator)
Get the port from an scanner iterator.
Definition: manage_sql.c:43623
void make_task_complete(task_t task)
Complete the creation of a task.
Definition: manage_sql.c:32263
int init_report_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a report iterator, including observed reports.
Definition: manage_sql.c:23406
int init_scanner_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an scanner iterator.
Definition: manage_sql.c:43595
char * alert_iterator_filter_name(iterator_t *iterator)
Return the filter name from an alert iterator.
Definition: manage_sql.c:8847
int scanner_iterator_type(iterator_t *iterator)
Get the type from an scanner iterator.
Definition: manage_sql.c:43639
int trash_target_readable(target_t target)
Return whether a trashcan target is readable.
Definition: manage_sql.c:35231
int trash_schedule_in_use(schedule_t schedule)
Return whether a trashcan schedule is in use by a task.
Definition: manage_sql.c:45119
void set_credential_public_key(credential_t credential, const char *public_key)
Set the public key of a Credential.
Definition: manage_sql.c:38110
void set_task_alterable(task_t task, int alterable)
Set the alterable state of a task.
Definition: manage_sql.c:20288
char * task_name(task_t task)
Return the name of a task.
Definition: manage_sql.c:19388
char * schedule_uuid(schedule_t schedule)
Return the UUID of a schedule.
Definition: manage_sql.c:45186
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:6066
int report_format_active(report_format_t report_format)
Return whether a report format is active.
Definition: manage_sql.c:47793
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:39180
int target_login_port(target_t target, const char *type)
Get a login port from a target.
Definition: manage_sql.c:33735
int manage_check_alerts(GSList *log_config, const gchar *database)
Check if any SecInfo alerts are due.
Definition: manage_sql.c:6960
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:46298
int trash_alert_in_use(alert_t alert)
Return whether a trashcan alert is in use by a task.
Definition: manage_sql.c:8690
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:46913
char * scanner_password(scanner_t scanner)
Return the password associated with a scanner.
Definition: manage_sql.c:44158
scanner_t task_scanner(task_t task)
Return the scanner of a task.
Definition: manage_sql.c:19626
char * scanner_uuid(scanner_t scanner)
Return the UUID of a scanner.
Definition: manage_sql.c:43990
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:40817
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:32320
void set_task_config(task_t task, config_t config)
Set the config of a task.
Definition: manage_sql.c:19538
const char * task_iterator_hosts_ordering(iterator_t *iterator)
Get the hosts ordering value from a task iterator.
Definition: manage_sql.c:15492
char * scanner_key_pub(scanner_t scanner)
Return the Certificate of a scanner.
Definition: manage_sql.c:44081
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:25888
void set_task_target(task_t task, target_t target)
Set the target of a task.
Definition: manage_sql.c:19580
gchar * schedule_iterator_byday_string(iterator_t *iterator)
Get the byday string from a schedule iterator.
Definition: manage_sql.c:45457
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:32953
int task_uuid(task_t task, char **id)
Return the UUID of a task.
Definition: manage_sql.c:19311
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:37150
int init_target_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a target iterator, including observed targets.
Definition: manage_sql.c:34859
gchar * credential_iterator_formats_xml(iterator_t *iterator)
Get XML of available formats for a credential iterator.
Definition: manage_sql.c:38589
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:24760
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:44757
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:37199
char * scanner_key_priv(scanner_t scanner)
Return the private key of a scanner.
Definition: manage_sql.c:44101
char * report_format_uuid(report_format_t report_format)
Return the UUID of a report format.
Definition: manage_sql.c:47591
void init_host_prognosis_iterator(iterator_t *iterator, report_host_t report_host)
Initialise a report host prognosis iterator.
Definition: manage_sql.c:21737
void init_manage_process(const gchar *database)
Initialize the manage library for a process.
Definition: manage_sql.c:15633
int trash_schedule_readable(schedule_t schedule)
Return whether a trashcan schedule is readable.
Definition: manage_sql.c:45161
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:21608
void report_set_slave_host(report_t report, const gchar *host)
Set the host of the slave of a report.
Definition: manage_sql.c:22992
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:21328
int schedule_in_use(schedule_t schedule)
Return whether a schedule is in use by a task.
Definition: manage_sql.c:45105
char * alert_iterator_filter_uuid(iterator_t *iterator)
Return the filter UUID from an alert iterator.
Definition: manage_sql.c:8822
const char * credential_iterator_private_key(iterator_t *iterator)
Get the private_key from a Credential iterator.
Definition: manage_sql.c:38370
time_t schedule_iterator_period_months(iterator_t *iterator)
Get the period months from a schedule iterator.
Definition: manage_sql.c:45441
int task_schedule_periods_uuid(const gchar *task_id)
Set the next time a scheduled task will be due.
Definition: manage_sql.c:20560
char * task_config_name(task_t task)
Return the name of the config of a task.
Definition: manage_sql.c:19505
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:34242
int target_iterator_snmp_credential(iterator_t *iterator)
Get the SNMP LSC credential from a target iterator.
Definition: manage_sql.c:35101
void manage_cleanup_process_error(int signal)
Cleanup as immediately as possible.
Definition: manage_sql.c:18712
void set_task_scanner(task_t task, scanner_t scanner)
Set the scanner of a task.
Definition: manage_sql.c:19651
int report_format_in_use(report_format_t report_format)
Return whether a report format is referenced by an alert.
Definition: manage_sql.c:47677
int note_uuid(note_t note, char **id)
Return the UUID of a note.
Definition: manage_sql.c:40357
int task_schedule_periods(task_t task)
Get the number of times the period schedule should run on the task.
Definition: manage_sql.c:20547
int authenticate(credentials_t *credentials)
Authenticate credentials.
Definition: manage_sql.c:19116
target_t task_target(task_t task)
Return the target of a task.
Definition: manage_sql.c:19554
report_t task_running_report(task_t task)
Return the running report of a task.
Definition: manage_sql.c:19891
report_t make_report(task_t task, const char *uuid, task_status_t status)
Make a report.
Definition: manage_sql.c:22213
const char * override_iterator_new_threat(iterator_t *iterator)
Get the threat from an override iterator.
Definition: manage_sql.c:42305
int manage_verify_scanner(GSList *log_config, const gchar *database, const gchar *uuid)
Verify the given scanner.
Definition: manage_sql.c:42926
int manage_scap_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:6375
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:43049
int schedule_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:45856
int task_in_use(task_t task)
Return whether a task is in use by a task.
Definition: manage_sql.c:15534
schedule_t task_schedule(task_t task)
Return the schedule of a task.
Definition: manage_sql.c:20471
int target_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:35620
char * scanner_login(scanner_t scanner)
Return the login associated with a scanner.
Definition: manage_sql.c:44140
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:22825
osp_connection_t * osp_scanner_connect(scanner_t scanner)
Create a new connection to an OSP scanner.
Definition: manage_sql.c:44365
void set_credential_privacy_algorithm(credential_t credential, const char *algorithm)
Set the privacy_algorithm of a Credential.
Definition: manage_sql.c:38005
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:41146
gboolean report_task(report_t report, task_t *task)
Return the task of a report.
Definition: manage_sql.c:22796
int task_config_in_trash(task_t task)
Return whether the config of a task is in the trashcan.
Definition: manage_sql.c:19524
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:14259
char * trash_scanner_name(scanner_t scanner)
Return the name of a scanner in the trashcan.
Definition: manage_sql.c:44200
int delete_alert(const char *alert_id, int ultimate)
Delete an alert.
Definition: manage_sql.c:8349
gchar * task_second_last_report_id(task_t task)
Get report ID from second most recently completed invocation of task.
Definition: manage_sql.c:20206
int schedule_duration(schedule_t schedule)
Return the duration of a schedule.
Definition: manage_sql.c:45256
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:42116
int manage_resource_name(const char *type, const char *uuid, char **name)
Get the name of a resource.
Definition: manage_sql.c:5140
void set_scan_start_time_epoch(report_t report, time_t timestamp)
Set the start time of a scan.
Definition: manage_sql.c:25755
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:28061
void set_task_end_time(task_t task, char *time)
Set the end time of a task.
Definition: manage_sql.c:25657
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:7712
const char * task_iterator_usage_type(iterator_t *iterator)
Get the UUID of task scanner from a task iterator.
Definition: manage_sql.c:15520
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:44965
int manage_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:6349
void set_scan_end_time_ctime(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:25848
int agent_count(const get_data_t *get)
Count number of agents.
Definition: manage_sql.c:39931
int alert_count(const get_data_t *get)
Count the number of alerts.
Definition: manage_sql.c:8659
int manage_cert_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:6420
time_t note_iterator_end_time(iterator_t *iterator)
Get the end time from an note iterator.
Definition: manage_sql.c:41035
const char * alert_task_iterator_uuid(iterator_t *iterator)
Return the uuid from an alert task iterator.
Definition: manage_sql.c:14934
char * scanner_host(scanner_t scanner)
Return the host of a scanner.
Definition: manage_sql.c:44015
int set_task_schedule(task_t task, schedule_t schedule, int periods)
Set the schedule of a task.
Definition: manage_sql.c:20374
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:32804
int alert_iterator_filter_readable(iterator_t *iterator)
Return the filter readable state from an alert iterator.
Definition: manage_sql.c:8890
task_t make_task(char *name, char *comment, int in_assets, int event)
Make a task.
Definition: manage_sql.c:32213
const char * result_iterator_original_severity(iterator_t *iterator)
Get the original severity from a result iterator.
Definition: manage_sql.c:24920
char * target_uuid(target_t target)
Return the UUID of a target.
Definition: manage_sql.c:35147
char * report_format_extension(report_format_t report_format)
Return the extension of a report format.
Definition: manage_sql.c:47749
int scan_start_time_epoch(report_t report)
Get the start time of a scan, in seconds since the epoch.
Definition: manage_sql.c:25710
void init_credential_iterator_one(iterator_t *iterator, credential_t credential)
Initialise a Credential iterator, given a single Credential.
Definition: manage_sql.c:38176
int task_target_in_trash(task_t task)
Return whether the target of a task is in the trashcan.
Definition: manage_sql.c:19611
char * trash_target_name(target_t target)
Return the name of a trashcan target.
Definition: manage_sql.c:35189
int trash_schedule_writable(schedule_t schedule)
Return whether a trashcan schedule is writable.
Definition: manage_sql.c:45148
int scanner_in_use(scanner_t scanner)
Check whether an scanner is in use.
Definition: manage_sql.c:43889
char * trash_schedule_name(schedule_t schedule)
Return the name of a trash schedule.
Definition: manage_sql.c:45228
const char * keyword_relation_symbol(keyword_relation_t relation)
Get the symbol of a keyword relation.
Definition: manage_sql.c:1391
int scanner_iterator_credential_trash(iterator_t *iterator)
Get the credential location of the scanner from a scanner iterator.
Definition: manage_sql.c:43691
void manage_transaction_start()
Start a new IMMEDIATE transaction.
Definition: manage_sql.c:33484
gchar * manage_user_hash(const gchar *username)
Get user hash.
Definition: manage_sql.c:18750
int alert_writable(alert_t alert)
Return whether a alert is writable.
Definition: manage_sql.c:8706
int init_alert_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an alert iterator, including observed alerts.
Definition: manage_sql.c:8734
char * trash_scanner_uuid(scanner_t scanner)
Return the UUID of a scanner in the trashcan.
Definition: manage_sql.c:44214
char * trash_schedule_uuid(schedule_t schedule)
Return the UUID of a trash schedule.
Definition: manage_sql.c:45200
int host_iterator_max_port(iterator_t *iterator)
Get the max port from a host iterator.
Definition: manage_sql.c:25407
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:24791
char * scanner_name(scanner_t scanner)
Return the name of a scanner.
Definition: manage_sql.c:43976
int scanner_count(const get_data_t *get)
Count number of scanners.
Definition: manage_sql.c:44228
const char * result_iterator_nvt_insight(iterator_t *iterator)
Get the NVT insight from a result iterator.
Definition: manage_sql.c:24615
char * credential_iterator_rpm(iterator_t *iterator)
Get the rpm from a Credential iterator.
Definition: manage_sql.c:38414
void report_set_source_iface(report_t report, const gchar *iface)
Set the source interface of a report.
Definition: manage_sql.c:23023
const char * override_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a override iterator.
Definition: manage_sql.c:42392
int report_format_predefined(report_format_t report_format)
Return whether a report format is predefined.
Definition: manage_sql.c:47780
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:20172
int aggregate_iterator_count(iterator_t *iterator)
Get the count from an aggregate iterator.
Definition: manage_sql.c:5986
int target_iterator_smb_credential(iterator_t *iterator)
Get the SMB LSC credential from a target iterator.
Definition: manage_sql.c:34919
int target_count(const get_data_t *get)
Count number of targets.
Definition: manage_sql.c:34817
int task_scanner_in_trash(task_t task)
Return whether the scanner of a task is in the trashcan.
Definition: manage_sql.c:19667
int verify_agent(const char *agent_id)
Verify an agent.
Definition: manage_sql.c:39949
time_t schedule_iterator_next_time(iterator_t *iterator)
Get the next time a schedule could be schedulable.
Definition: manage_sql.c:45522
int task_schedule_in_trash(task_t task)
Get whether the task schedule is in the trash.
Definition: manage_sql.c:20531
report_t result_iterator_report(iterator_t *iterator)
Get the report from a result iterator.
Definition: manage_sql.c:24882
char * report_format_content_type(report_format_t report_format)
Return the content type of a report format.
Definition: manage_sql.c:47662
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:21060
int delete_report(const char *report_id, int dummy)
Delete a report.
Definition: manage_sql.c:26807
char * trash_credential_name(credential_t credential)
Get the name of an LSC credential in the trashcan.
Definition: manage_sql.c:38671
task_status_t task_run_status(task_t task)
Return the run state of a task.
Definition: manage_sql.c:19700
char * report_format_name(report_format_t report_format)
Return the name of a report format.
Definition: manage_sql.c:47648
int credential_count(const get_data_t *get)
Count number of LSC Credentials.
Definition: manage_sql.c:37751
char * task_observers(task_t task)
Return the observers of a task.
Definition: manage_sql.c:19430
int target_iterator_esxi_credential(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:35069
int target_iterator_snmp_trash(iterator_t *iterator)
Get the SNMP LSC credential location from a target iterator.
Definition: manage_sql.c:35117
char * target_ssh_port(target_t target)
Return the SSH LSC port of a target.
Definition: manage_sql.c:35345
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:7970
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:38545
const char * note_iterator_threat(iterator_t *iterator)
Get the threat from a note iterator.
Definition: manage_sql.c:40989
void manage_transaction_stop(gboolean force_commit)
Commit the current transaction, if any.
Definition: manage_sql.c:33504
void trim_partial_report(report_t report)
Prepare a partial report for resumption of the scan.
Definition: manage_sql.c:26965
void init_report_iterator_task(iterator_t *iterator, task_t task)
Initialise a report iterator.
Definition: manage_sql.c:23465
char * report_finished_hosts_str(report_t report)
Get a list string of finished hosts in a report.
Definition: manage_sql.c:28203
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:41485
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:44411
void set_scan_end_time(report_t report, const char *timestamp)
Set the end time of a scan.
Definition: manage_sql.c:25830
int trash_target_in_use(target_t target)
Return whether a trashcan target is referenced by a task.
Definition: manage_sql.c:35520
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:33377
void set_scan_end_time_epoch(report_t report, time_t timestamp)
Set the end time of a scan.
Definition: manage_sql.c:25816
double prognosis_iterator_cvss_double(iterator_t *iterator)
Get the CVSS from a result iterator as a double.
Definition: manage_sql.c:21770
int trash_report_format_writable(report_format_t report_format)
Return whether a trashcan report_format is writable.
Definition: manage_sql.c:47736
int alert_in_use(alert_t alert)
Return whether a alert is in use by a task.
Definition: manage_sql.c:8676
time_t override_iterator_end_time(iterator_t *iterator)
Get the end time from an override iterator.
Definition: manage_sql.c:42350
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:6265
void init_target_task_iterator(iterator_t *iterator, target_t target)
Initialise a target task iterator.
Definition: manage_sql.c:35563
gboolean find_resource(const char *type, const char *uuid, resource_t *resource)
Find a resource given a UUID.
Definition: manage_sql.c:4580
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:32852
int report_host_count(report_t report)
Count a report's total number of hosts.
Definition: manage_sql.c:28045
config_t task_config(task_t task)
Return the config of a task.
Definition: manage_sql.c:19459
int target_iterator_esxi_trash(iterator_t *iterator)
Get the ESXi LSC credential from a target iterator.
Definition: manage_sql.c:35085
void cleanup_manage_process(gboolean cleanup)
Cleanup the manage library.
Definition: manage_sql.c:18676
void set_task_start_time_epoch(task_t task, int time)
Set the start time of a task.
Definition: manage_sql.c:20004
double aggregate_iterator_sum(iterator_t *iterator, int data_column_index)
Get the sum from a statistics iterator.
Definition: manage_sql.c:6048
int result_iterator_may_have_tickets(iterator_t *iterator)
Get whether tickets may exist from a result iterator.
Definition: manage_sql.c:25140
int trash_scanner_readable(scanner_t scanner)
Return whether a trashcan scanner is readable.
Definition: manage_sql.c:43951
void set_task_hosts_ordering(task_t task, const char *ordering)
Set the hosts ordering of a task.
Definition: manage_sql.c:19595
credential_t scanner_iterator_credential(iterator_t *iterator)
Get the credential of the scanner from a scanner iterator.
Definition: manage_sql.c:43675
int report_timestamp(const char *report_id, gchar **timestamp)
Get the timestamp of a report.
Definition: manage_sql.c:25989
int result_uuid(result_t result, char **id)
Return the UUID of a result.
Definition: manage_sql.c:21585
const char * alert_task_iterator_name(iterator_t *iterator)
Return the name from an alert task iterator.
Definition: manage_sql.c:14918
int scanner_writable(scanner_t scanner)
Check whether a scanner is writable.
Definition: manage_sql.c:43925
void set_task_usage_type(task_t task, const char *usage_type)
Set the usage_type of a task.
Definition: manage_sql.c:19680
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:33792
int copy_note(const char *note_id, note_t *new_note)
Create a note from an existing note.
Definition: manage_sql.c:40257
char * alert_uuid(alert_t alert)
Return the UUID of an alert.
Definition: manage_sql.c:8502
int init_credential_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a Credential iterator.
Definition: manage_sql.c:38203
int alert_iterator_active(iterator_t *iterator)
Return the active state from an alert.
Definition: manage_sql.c:8923
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 *credential_id, const char *key_pub_path, const char *key_priv_path)
Modify the given scanner.
Definition: manage_sql.c:42704
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:21556
int manage_encrypt_all_credentials(GSList *log_config, const gchar *database)
Encrypt or re-encrypt all credentials.
Definition: manage_sql.c:6654
int copy_override(const char *override_id, override_t *new_override)
Create a override from an existing override.
Definition: manage_sql.c:41345
int qod_from_type(const char *qod_type)
Get QoD percentage for a qod_type string.
Definition: manage_sql.c:21201
int manage_test_alert(const char *alert_id, gchar **script_message)
Test an alert.
Definition: manage_sql.c:14359
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:44834
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:20305
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:25258
char * target_hosts(target_t target)
Return the hosts associated with a target.
Definition: manage_sql.c:35257
int result_iterator_may_have_overrides(iterator_t *iterator)
Get whether overrides may exist from a result iterator.
Definition: manage_sql.c:25126
void set_task_run_status(task_t task, task_status_t status)
Set the run state of a task.
Definition: manage_sql.c:19771
int manage_task_remove_file(const gchar *task_id, const char *name)
Remove a file on a task.
Definition: manage_sql.c:33010
char * tag_uuid(tag_t tag)
Return the UUID of a tag.
Definition: manage_sql.c:35133
void init_report_errors_iterator(iterator_t *iterator, report_t report)
Initialise a report errors iterator.
Definition: manage_sql.c:25433
int modify_agent(const char *agent_id, const char *name, const char *comment)
Modify an agent.
Definition: manage_sql.c:39411
void set_task_end_time_epoch(task_t task, time_t time)
Set the end time of a task.
Definition: manage_sql.c:25678
int agent_writable(agent_t agent)
Check whether a agent is writable.
Definition: manage_sql.c:39587
int report_format_writable(report_format_t report_format)
Return whether a report format is writable.
Definition: manage_sql.c:47722
void add_task_alert(task_t task, alert_t alert)
Add an alert to a task.
Definition: manage_sql.c:20222
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:22287
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:32818
int delete_agent(const char *agent_id, int ultimate)
Delete an agent.
Definition: manage_sql.c:39475
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:33116
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:19189
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:18618
char * task_comment(task_t task)
Return the comment of a task.
Definition: manage_sql.c:19402
void manage_reset_currents()
Cleanup as immediately as possible.
Definition: manage_sql.c:18733
int task_iterator_finished_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15478
int alert_iterator_filter_trash(iterator_t *iterator)
Return the location of an alert iterator filter.
Definition: manage_sql.c:8872
int target_iterator_ssh_trash(iterator_t *iterator)
Get the location of the SSH LSC credential from a target iterator.
Definition: manage_sql.c:34935
int delete_override(const char *override_id, int ultimate)
Delete a override.
Definition: manage_sql.c:41362
const char * result_iterator_severity(iterator_t *iterator)
Get the severity from a result iterator.
Definition: manage_sql.c:24943
void clear_duration_schedules(task_t task)
Clear once-off schedules from tasks where the duration has passed.
Definition: manage_sql.c:20825
void init_credential_scanner_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential scanner iterator.
Definition: manage_sql.c:38804
int alert_iterator_condition(iterator_t *iterator)
Return the condition from an alert iterator.
Definition: manage_sql.c:8776
const char * target_iterator_alive_tests(iterator_t *iterator)
Get the alive test description from a target iterator.
Definition: manage_sql.c:35030
int init_schedule_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a schedule iterator.
Definition: manage_sql.c:45383
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:21122
result_t result_iterator_result(iterator_t *iterator)
Get the result from a result iterator.
Definition: manage_sql.c:24535
int manage_scap_db_version()
Return the database version of the actual database.
Definition: manage_sql.c:6386
void report_set_slave_port(report_t report, int port)
Set the port of the slave of a report.
Definition: manage_sql.c:23009
double aggregate_iterator_min(iterator_t *iterator, int data_column_index)
Get the minimum from an aggregate iterator.
Definition: manage_sql.c:6000
const char * task_iterator_last_report(iterator_t *iterator)
Get the last report UUID from a task iterator.
Definition: manage_sql.c:15464
int override_iterator_active(iterator_t *iterator)
Get the active status from an override iterator.
Definition: manage_sql.c:42366
int alert_iterator_method(iterator_t *iterator)
Return the method from an alert iterator.
Definition: manage_sql.c:8792
int note_iterator_active(iterator_t *iterator)
Get the active status from an note iterator.
Definition: manage_sql.c:41051
int trash_target_writable(target_t target)
Return whether a trashcan target is writable.
Definition: manage_sql.c:35549
void reset_task(task_t task)
Reset all running information for a task.
Definition: manage_sql.c:32934
array_t * split_filter(const gchar *given_filter)
Split the filter term into parts.
Definition: manage_sql.c:2003
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:26538
int delete_note(const char *note_id, int ultimate)
Delete a note.
Definition: manage_sql.c:40274
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:42979
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:40687
int schedule_writable(schedule_t schedule)
Return whether a schedule is writable.
Definition: manage_sql.c:45135
const char * alert_data_iterator_name(iterator_t *iterator)
Return the name from an alert data iterator.
Definition: manage_sql.c:8961
const char * note_iterator_nvt_type(iterator_t *iterator)
Get the NVT type from a note iterator.
Definition: manage_sql.c:41077
int result_iterator_has_cert_bunds(iterator_t *iterator)
Get whether CERT-Bunds may exist from a result iterator.
Definition: manage_sql.c:25154
int manage_max_hosts()
Get the maximum allowed number of hosts per target.
Definition: manage_sql.c:33336
int delete_scanner(const char *scanner_id, int ultimate)
Delete a scanner.
Definition: manage_sql.c:43389
credential_t target_credential(target_t target, const char *type)
Get a credential from a target.
Definition: manage_sql.c:33696
void init_credential_target_iterator(iterator_t *iterator, credential_t credential, int ascending)
Initialise a Credential target iterator.
Definition: manage_sql.c:38727
report_t task_iterator_current_report(iterator_t *iterator)
Return the current report of a task.
Definition: manage_sql.c:19914
int report_progress(report_t report, task_t task, gchar **hosts_xml)
Calculate the progress of a report.
Definition: manage_sql.c:28664
const char * agent_iterator_trust(iterator_t *iterator)
Get the trust value from an agent iterator.
Definition: manage_sql.c:39875
gchar * credential_value(credential_t credential, const char *value_name)
Get a value from a credential.
Definition: manage_sql.c:37865
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:8942
const char * result_iterator_level(iterator_t *iterator)
Get the severity/threat level from a result iterator.
Definition: manage_sql.c:25022
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:20075
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:31671
char * manage_port_name(int number, const char *protocol)
Returns associated name for a tcp/ip port.
Definition: manage_sql.c:6446
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:20429
const char * override_iterator_threat(iterator_t *iterator)
Get the threat from a override iterator.
Definition: manage_sql.c:42289
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:41985
char * agent_uuid(agent_t agent)
Return the UUID of an agent.
Definition: manage_sql.c:39613
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:21701
time_t schedule_iterator_first_time(iterator_t *iterator)
Get the first time from a schedule iterator.
Definition: manage_sql.c:45409
int schedule_period(schedule_t schedule)
Return the period of a schedule.
Definition: manage_sql.c:45242
int trash_scanner_writable(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:43938
int override_uuid(override_t override, char **id)
Return the UUID of an override.
Definition: manage_sql.c:41328
task_t result_iterator_task(iterator_t *iterator)
Get the task from a result iterator.
Definition: manage_sql.c:24868
int manage_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:6337
int task_alterable(task_t task)
Return whether a task is an Alterable Task.
Definition: manage_sql.c:15570
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:2188
int manage_get_scanners(GSList *log_config, const gchar *database)
List scanners.
Definition: manage_sql.c:44675
time_t agent_iterator_trust_time(iterator_t *iterator)
Get the installer trust time from a agent iterator.
Definition: manage_sql.c:39895
void init_scanner_config_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner config iterator.
Definition: manage_sql.c:43754
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:47135
int init_task_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a task iterator.
Definition: manage_sql.c:15345
int task_in_trash(task_t task)
Return whether a task is in the trashcan.
Definition: manage_sql.c:19326
int target_writable(target_t target)
Return whether a target is writable.
Definition: manage_sql.c:35536
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:26149
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:24897
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:43163
int delete_task(task_t task, int ultimate)
Complete deletion of a task.
Definition: manage_sql.c:32644
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:8055
int scanner_config_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:43808
const char * result_iterator_nvt_solution_type(iterator_t *iterator)
Get the NVT solution_type from a result iterator.
Definition: manage_sql.c:24688
int task_result_count(task_t task, int min_qod)
Return number of results in a task.
Definition: manage_sql.c:19873
void set_task_start_time_ctime(task_t task, char *time)
Set the start time of a task.
Definition: manage_sql.c:20019
int scan_host_end_time(report_t report, const char *host)
Get the end time of a scanned host.
Definition: manage_sql.c:25867
gchar * manage_clean_filter_remove(const gchar *filter, const gchar *column)
Clean a filter, removing a keyword in the process.
Definition: manage_sql.c:2642
int task_average_scan_duration(task_t task)
Get the average duration of all finished reports of a task.
Definition: manage_sql.c:15615
char * target_exclude_hosts(target_t target)
Return the excluded hosts associated with a target.
Definition: manage_sql.c:35272
char * report_slave_task_uuid(report_t report)
Return the UUID of the task on the slave.
Definition: manage_sql.c:26900
char * target_name(target_t target)
Return the name of a target.
Definition: manage_sql.c:35175
int task_writable(task_t task)
Return whether a task is writable.
Definition: manage_sql.c:15585
int manage_delete_scanner(GSList *log_config, const gchar *database, const gchar *uuid)
Delete the given scanner.
Definition: manage_sql.c:42632
char * task_owner_name(task_t task)
Return the name of the owner of a task.
Definition: manage_sql.c:19358
int delete_credential(const char *credential_id, int ultimate)
Delete a Credential.
Definition: manage_sql.c:37503
const char * aggregate_iterator_value(iterator_t *iterator)
Get the value of the group column from a statistics iterator.
Definition: manage_sql.c:6088
int task_iterator_total_reports(iterator_t *iterator)
Get the number of reports of a task iterator.
Definition: manage_sql.c:15422
task_t override_iterator_task(iterator_t *iterator)
Get the task from a override iterator.
Definition: manage_sql.c:42321
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:44441
void report_set_slave_name(report_t report, const gchar *name)
Set the name of the slave on a report.
Definition: manage_sql.c:22975
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:24408
char * task_hosts_ordering(task_t task)
Return the hosts ordering of a task.
Definition: manage_sql.c:19416
int init_agent_iterator(iterator_t *iterator, const get_data_t *get)
Initialise an agent iterator.
Definition: manage_sql.c:39780
result_t note_iterator_result(iterator_t *iterator)
Get the result from a note iterator.
Definition: manage_sql.c:41020
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:39390
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:34049
int manage_trash_resource_name(const char *type, const char *uuid, char **name)
Get the name of a trashcan resource.
Definition: manage_sql.c:5155
int result_count(const get_data_t *get, report_t report, const char *host)
Count the number of results.
Definition: manage_sql.c:24481
void set_scan_start_time_ctime(report_t report, const char *timestamp)
Set the start time of a scan.
Definition: manage_sql.c:25768
task_status_t task_iterator_run_status(iterator_t *iterator)
Get the run status from a task iterator.
Definition: manage_sql.c:15406
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:47699
char * target_reverse_lookup_only(target_t target)
Return the reverse_lookup_only value of a target.
Definition: manage_sql.c:35286
int manage_decrypt_all_credentials(GSList *log_config, const gchar *database)
Decrypt all credentials.
Definition: manage_sql.c:6686
const char * result_iterator_nvt_family(iterator_t *iterator)
Get the NVT family from a result iterator.
Definition: manage_sql.c:24724
unsigned int task_count(const get_data_t *get)
Return the number of tasks associated with the current user.
Definition: manage_sql.c:19257
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:20600
char * credential_uuid(credential_t credential)
Get the UUID of a Credential.
Definition: manage_sql.c:38628
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:25912
int set_task_observers(task_t task, const gchar *observers)
Set the observers of a task.
Definition: manage_sql.c:20685
char * target_reverse_lookup_unify(target_t target)
Return the reverse_lookup_unify value of a target.
Definition: manage_sql.c:35300
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:33362
int trash_agent_in_use(agent_t agent)
Check whether a trashcan agent is writable.
Definition: manage_sql.c:39574
const char * result_iterator_nvt_affected(iterator_t *iterator)
Get the NVT affected from a result iterator.
Definition: manage_sql.c:24633
void filter_free(array_t *split)
Free a split filter.
Definition: manage_sql.c:1919
int target_iterator_port_list_trash(iterator_t *iterator)
Get the location of the port list from a target iterator.
Definition: manage_sql.c:34985
gchar * credential_encrypted_value(credential_t credential, const char *value_name)
Get a possibly encrypted credential value in decrypted form.
Definition: manage_sql.c:37885
int scanner_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:43875
int schedule_count(const get_data_t *get)
Count the number of schedules.
Definition: manage_sql.c:45364
int manage_cert_db_supported_version()
Return the database version supported by this manager.
Definition: manage_sql.c:6409
int cleanup_result_nvts()
Check if the result_nvts are assigned to result.
Definition: manage_sql.c:25180
int request_delete_task_uuid(const char *task_id, int ultimate)
Request deletion of a task.
Definition: manage_sql.c:32509
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:31898
const char * result_iterator_nvt_name(iterator_t *iterator)
Get the NVT name from a result iterator.
Definition: manage_sql.c:24579
const char * result_iterator_nvt_solution(iterator_t *iterator)
Get the NVT solution from a result iterator.
Definition: manage_sql.c:24669
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:22354
int target_iterator_ssh_credential(iterator_t *iterator)
Get the SSH LSC credential from a target iterator.
Definition: manage_sql.c:34894
char * scan_end_time_uuid(const char *uuid)
Get the end time of a scan.
Definition: manage_sql.c:25799
int trash_credential_readable(credential_t credential)
Return whether a trashcan credential is readable.
Definition: manage_sql.c:38700
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:41119
void init_alert_task_iterator(iterator_t *iterator, alert_t alert, int ascending)
Initialise an alert task iterator.
Definition: manage_sql.c:14878
int credential_in_use(credential_t credential)
Check whether a Credential is in use.
Definition: manage_sql.c:37768
char * credential_iterator_exe(iterator_t *iterator)
Get the exe from a Credential iterator.
Definition: manage_sql.c:38510
int trash_agent_writable(agent_t agent)
Check whether a trashcan agent is writable.
Definition: manage_sql.c:39600
const char * credential_iterator_password(iterator_t *iterator)
Get the password from a Credential iterator.
Definition: manage_sql.c:38355
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:32836
void init_scanner_task_iterator(iterator_t *iterator, scanner_t scanner)
Initialise a scanner task iterator.
Definition: manage_sql.c:43821
double aggregate_iterator_max(iterator_t *iterator, int data_column_index)
Get the maximum from an aggregate iterator.
Definition: manage_sql.c:6016
void init_task_role_iterator(iterator_t *iterator, task_t task)
Initialise a task role iterator.
Definition: manage_sql.c:6847
int trash_scanner_in_use(scanner_t scanner)
Check whether a trashcan scanner is writable.
Definition: manage_sql.c:43905
int keyword_special(keyword_t *keyword)
Get whether a keyword is special (like "and").
Definition: manage_sql.c:1425
int credential_target_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:38788
int task_in_trash_id(const gchar *task_id)
Return whether a task is in the trashcan.
Definition: manage_sql.c:19343
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:40151
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 *credential_id, const char *key_pub_path, const char *key_priv_path)
Create the given scanner.
Definition: manage_sql.c:42450
void init_target_iterator_one(iterator_t *iterator, target_t target)
Initialise a target iterator, given a single target.
Definition: manage_sql.c:34833
int host_iterator_current_port(iterator_t *iterator)
Get the current port from a host iterator.
Definition: manage_sql.c:25391
int alert_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql.c:14950
void host_detail_free(host_detail_t *detail)
Free a host detail.
Definition: manage_sql.c:22265
char * trash_credential_uuid(credential_t credential)
Get the UUID of a Credential in the trashcan.
Definition: manage_sql.c:38642
result_t override_iterator_result(iterator_t *iterator)
Get the result from a override iterator.
Definition: manage_sql.c:42335
char * openvas_default_scanner_host()
Get the default scanner path or host.
Definition: manage_sql.c:44244
gchar * port_name_formatted(const char *field)
Returns formatted port number, protocol and iana name from.
Definition: manage_sql.c:6465
int delete_report_format(const char *report_format_id, int ultimate)
Delete a report format.
Definition: manage_sql.c:47319
int alert_iterator_event(iterator_t *iterator)
Return the event from an alert iterator.
Definition: manage_sql.c:8760
void init_task_group_iterator(iterator_t *iterator, task_t task)
Initialise a task group iterator.
Definition: manage_sql.c:6818
const char * scanner_uuid_default()
Return the UUID of the default scanner.
Definition: manage_sql.c:44002
const char * credential_iterator_privacy_password(iterator_t *iterator)
Get the privacy password from a Credential iterator.
Definition: manage_sql.c:38400
char * report_format_owner_uuid(report_format_t report_format)
Return the UUID of the owner of a report format.
Definition: manage_sql.c:47605
const char * result_iterator_nvt_detection(iterator_t *iterator)
Get the NVT detection from a result iterator.
Definition: manage_sql.c:24706
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:21456
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:40093
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:5587
char * credential_name(credential_t credential)
Get the name of an LSC credential.
Definition: manage_sql.c:38657
const char * result_iterator_nvt_summary(iterator_t *iterator)
Get the NVT summary from a result iterator.
Definition: manage_sql.c:24597
double result_iterator_severity_double(iterator_t *iterator)
Get the severity from a result iterator as double.
Definition: manage_sql.c:24970
int scanner_port(scanner_t scanner)
Return the port of a scanner.
Definition: manage_sql.c:44028
char * report_uuid(report_t report)
Return the UUID of a report.
Definition: manage_sql.c:22781
const char * result_iterator_nvt_cvss_base(iterator_t *iterator)
Get the NVT CVSS base value from a result iterator.
Definition: manage_sql.c:24742
char * schedule_name(schedule_t schedule)
Return the name of a schedule.
Definition: manage_sql.c:45214
int verify_scanner(const char *scanner_id, char **version)
Verify a scanner.
Definition: manage_sql.c:44563
int trash_task_in_use(task_t task)
Return whether a trashcan task is referenced by a task.
Definition: manage_sql.c:15557
int result_iterator_may_have_notes(iterator_t *iterator)
Get whether notes may exist from a result iterator.
Definition: manage_sql.c:25112
const char * task_iterator_run_status_name(iterator_t *iterator)
Get the run status name from a task iterator.
Definition: manage_sql.c:15450
const char * task_iterator_first_report(iterator_t *iterator)
Get the first report UUID from a task iterator.
Definition: manage_sql.c:15436
void init_task_alert_iterator(iterator_t *iterator, task_t task)
Initialise a task alert iterator.
Definition: manage_sql.c:9040
char * credential_type(credential_t credential)
Get the type of a Credential.
Definition: manage_sql.c:38686
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:44327
char * scan_start_time_uuid(const char *uuid)
Get the start time of a scan.
Definition: manage_sql.c:25724
char * scanner_ca_pub(scanner_t scanner)
Return the CA Certificate of a scanner.
Definition: manage_sql.c:44068
const char * result_iterator_nvt_impact(iterator_t *iterator)
Get the NVT affected from a result iterator.
Definition: manage_sql.c:24651
int task_schedule_next_time(task_t task)
Get next time a scheduled task will run, following schedule timezone.
Definition: manage_sql.c:20581
int credential_scanner_iterator_readable(iterator_t *iterator)
Get the read permission status from a Credential Scanner iterator.
Definition: manage_sql.c:38863
int credential_iterator_allow_insecure(iterator_t *iterator)
Get the login from a Credential iterator.
Definition: manage_sql.c:38289
const char * result_iterator_nvt_tag(iterator_t *iterator)
Get the NVT tags from a result iterator.
Definition: manage_sql.c:24806
void report_add_result(report_t report, result_t result)
Add a result to a report.
Definition: manage_sql.c:23172
char * credential_iterator_deb(iterator_t *iterator)
Get the deb from a Credential iterator.
Definition: manage_sql.c:38458
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:36706
int trash_credential_writable(credential_t credential)
Check whether a trashcan Credential is writable.
Definition: manage_sql.c:37851
double aggregate_iterator_mean(iterator_t *iterator, int data_column_index)
Get the mean from an aggregate iterator.
Definition: manage_sql.c:6032
user_t get_iterator_owner(iterator_t *iterator)
Get the owner from a GET iterator.
Definition: manage_sql.c:39764
int modify_report(const char *report_id, const char *comment)
Modify a report.
Definition: manage_sql.c:26749
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:45886
void report_set_slave_uuid(report_t report, const gchar *uuid)
Set the UUID of the slave on a report.
Definition: manage_sql.c:22958
schedule_t task_schedule_uuid(const gchar *task_id)
Return the schedule of a task.
Definition: manage_sql.c:20498
char * trash_target_uuid(target_t target)
Return the UUID of a trashcan target.
Definition: manage_sql.c:35161
void init_config_task_iterator(iterator_t *iterator, config_t config, int ascending)
Initialise a config task iterator.
Definition: manage_sql_configs.c:4186
char * config_uuid(config_t config)
Return the UUID of a config.
Definition: manage_sql_configs.c:2561
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
int config_type(config_t config)
Return the type of a config.
Definition: manage_sql_configs.c:2574
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
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:2475
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:2258
int config_iterator_type(iterator_t *iterator)
Get the type from a config iterator.
Definition: manage_sql_configs.c:3325
int config_in_use(config_t config)
Return whether a config is referenced by a task.
Definition: manage_sql_configs.c:3385
int trash_config_in_use(config_t config)
Return whether a trashcan config is referenced by a task.
Definition: manage_sql_configs.c:3429
int config_iterator_scanner_trash(iterator_t *iterator)
Get whether scanner is in trash from a config iterator.
Definition: manage_sql_configs.c:3357
char * nvt_preference_iterator_id(iterator_t *iterator)
Get the ID from an NVT preference iterator.
Definition: manage_sql_configs.c:1777
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:4317
char * nvt_preference_iterator_real_name(iterator_t *iterator)
Get the real name from an NVT preference iterator.
Definition: manage_sql_configs.c:1702
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
int trash_config_writable(config_t config)
Return whether a trashcan config is writable.
Definition: manage_sql_configs.c:3445
void manage_nvt_preferences_enable()
Enable the NVT preferences.
Definition: manage_sql_configs.c:1615
int config_nvts_growing(config_t config)
Get the NVT growth status of a config.
Definition: manage_sql_configs.c:283
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:2622
int nvt_selector_iterator_type(iterator_t *iterator)
Get the type from an NVT selector.
Definition: manage_sql_configs.c:390
int config_iterator_family_count(iterator_t *iterator)
Get the family count from a config iterator.
Definition: manage_sql_configs.c:3261
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:3643
int nvt_preference_count(const char *oid)
Get the number preferences available for an NVT.
Definition: manage_sql_configs.c:1836
char * task_preference_value(task_t task, const char *name)
Get the value of a task preference.
Definition: manage_sql_configs.c:1858
void manage_nvt_preference_add(const char *name, const char *value)
Add/replace an NVT preference.
Definition: manage_sql_configs.c:1589
int config_writable(config_t config)
Return whether a config can be modified.
Definition: manage_sql_configs.c:3402
int config_iterator_nvt_count(iterator_t *iterator)
Get the nvt count from a config iterator.
Definition: manage_sql_configs.c:3277
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
int trash_config_readable_uuid(const gchar *config_id)
Return whether a trashcan config is readable.
Definition: manage_sql_configs.c:3458
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:2674
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:3913
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
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:3840
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
int config_iterator_families_growing(iterator_t *iterator)
Get the families growing state from a config iterator.
Definition: manage_sql_configs.c:3293
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:2641
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
char * config_nvt_selector(config_t config)
Return the NVT selector associated with a config.
Definition: manage_sql_configs.c:3623
char * nvt_preference_iterator_oid(iterator_t *iterator)
Get the NVT from an NVT preference iterator.
Definition: manage_sql_configs.c:1752
void init_config_preference_iterator(iterator_t *iterator, config_t config)
Initialise a preference iterator.
Definition: manage_sql_configs.c:3477
int sync_config(const char *config_id)
Synchronize a config.
Definition: manage_sql_configs.c:3085
char * nvt_preference_iterator_type(iterator_t *iterator)
Get the type from an NVT preference iterator.
Definition: manage_sql_configs.c:1727
int config_iterator_nvts_growing(iterator_t *iterator)
Get the NVTs growing state from a config iterator.
Definition: manage_sql_configs.c:3309
void init_nvt_preference_iterator(iterator_t *iterator, const char *oid)
Initialise an NVT preference iterator.
Definition: manage_sql_configs.c:1631
int config_task_iterator_readable(iterator_t *iterator)
Get the read permission status from a GET iterator.
Definition: manage_sql_configs.c:4245
void init_config_timeout_iterator(iterator_t *iterator, config_t config)
Initialise a config timeout iterator.
Definition: manage_sql_configs.c:4260
int config_families_growing(config_t config)
Get the family growth status of a config.
Definition: manage_sql_configs.c:298
int delete_config(const char *config_id, int ultimate)
Delete a config.
Definition: manage_sql_configs.c:2849
int init_config_iterator(iterator_t *iterator, const get_data_t *get)
Initialise a scan config iterator.
Definition: manage_sql_configs.c:3220
scanner_t config_iterator_scanner(iterator_t *iterator)
Get the scanner from a config iterator.
Definition: manage_sql_configs.c:3341
int config_count(const get_data_t *get)
Count the number of scan configs.
Definition: manage_sql_configs.c:3147
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:3173
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
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:2758
int set_task_preferences(task_t task, array_t *preferences)
Set the preferences of a task.
Definition: manage_sql_configs.c:1894
int nvt_selector_iterator_include(iterator_t *iterator)
Get whether the selector rule is an include rule.
Definition: manage_sql_configs.c:356
int init_nvt_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an NVT iterator.
Definition: manage_sql_nvts.c:370
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:755
gboolean find_nvt(const char *oid, nvt_t *nvt)
Find an NVT given an identifier.
Definition: manage_sql_nvts.c:231
time_t nvts_feed_version_epoch()
Return feed version of the plugins as seconds since epoch.
Definition: manage_sql_nvts.c:184
char * manage_nvt_name(nvt_t nvt)
Get the name of an NVT.
Definition: manage_sql_nvts.c:143
char * nvt_name(const char *oid)
Get the name of an NVT given its OID.
Definition: manage_sql_nvts.c:156
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:210
int nvt_info_count(const get_data_t *get)
Count number of nvt.
Definition: manage_sql_nvts.c:449
char * nvt_default_timeout(const char *oid)
Get the default timeout of an NVT.
Definition: manage_sql_nvts.c:934
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:675
int manage_rebuild(GSList *log_config, const gchar *database)
Rebuild NVT db.
Definition: manage_sql_nvts.c:1792
int family_nvt_count(const char *family)
Get the number of NVTs in one or all families.
Definition: manage_sql_nvts.c:949
char * nvts_feed_version()
Return feed version of the plugins in the plugin cache.
Definition: manage_sql_nvts.c:171
int nvt_iterator_category(iterator_t *iterator)
Get the category from an NVT iterator.
Definition: manage_sql_nvts.c:808
char * ovaldef_version(const char *id)
Get the version of an OVALDEF using an ID.
Definition: manage_sql_secinfo.c:1008
int cve_info_count(const get_data_t *get)
Count number of cve.
Definition: manage_sql_secinfo.c:624
gchar * cve_cvss_base(const gchar *cve)
Get the short file name for an OVALDEF.
Definition: manage_sql_secinfo.c:606
int ovaldef_info_count(const get_data_t *get)
Count number of ovaldef.
Definition: manage_sql_secinfo.c:833
int init_cpe_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise a info iterator.
Definition: manage_sql_secinfo.c:458
char * ovaldef_severity(const char *id)
Get the severity of an OVALDEF using an ID.
Definition: manage_sql_secinfo.c:987
char * ovaldef_cves(const char *id)
Get the CVE names of an OVALDEF as ", " separated str.
Definition: manage_sql_secinfo.c:1029
int total_info_count(const get_data_t *get, int filtered)
Count number of all SecInfo entries.
Definition: manage_sql_secinfo.c:1444
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:1394
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:785
void init_ovaldi_file_iterator(iterator_t *iterator)
Initialise an ovaldi file iterator.
Definition: manage_sql_secinfo.c:1668
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:963
int cpe_info_count(const get_data_t *get)
Count number of cpe.
Definition: manage_sql_secinfo.c:440
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:559
int all_info_count(const get_data_t *get)
Count number of SecInfo entries.
Definition: manage_sql_secinfo.c:1430
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:1182
int cert_bund_adv_info_count(const get_data_t *get)
Count number of cert_bund_adv.
Definition: manage_sql_secinfo.c:1116
int dfn_cert_adv_info_count(const get_data_t *get)
Count number of dfn_cert_adv.
Definition: manage_sql_secinfo.c:1301
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:1252
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:1363
int init_all_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise an info iterator.
Definition: manage_sql_secinfo.c:1493
int init_cve_info_iterator(iterator_t *iterator, get_data_t *get, const char *name)
Initialise a info iterator.
Definition: manage_sql_secinfo.c:642
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:1213
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:1067
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
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
static PGconn * conn
Handle on the database.
Definition: sql_pg.c:85
Data about a report sent by an alert.
Definition: manage.h:443
gchar * content_type
The MIME content type of the report.
Definition: manage.h:446
gchar * remote_filename
Path or filename to send to / as.
Definition: manage.h:445
gchar * report_format_name
Name of the report format used.
Definition: manage.h:447
gchar * local_filename
Path to the local report file.
Definition: manage.h:444
A command.
Definition: manage.h:141
gchar * summary
Summary of command.
Definition: manage.h:143
gchar * name
Command name.
Definition: manage.h:142
Struct for defining a report format param.
Definition: manage.h:3042
gchar * fallback
Fallback value.
Definition: manage.h:3043
gchar * name
Name.
Definition: manage.h:3044
gchar * type_max
Maximum value for integer type.
Definition: manage.h:3046
gchar * type_min
Minimum value for integer type.
Definition: manage.h:3047
gchar * type
Type (boolean, string, integer, ...).
Definition: manage.h:3045
gchar * value
Value of param.
Definition: manage.h:3048
A CREATE_REPORT result.
Definition: manage.h:1216
char * description
Description of NVT.
Definition: manage.h:1217
char * qod
QoD (quality of detection).
Definition: manage.h:1223
char * port
Port.
Definition: manage.h:1222
char * host
Host.
Definition: manage.h:1218
char * qod_type
QoD type.
Definition: manage.h:1224
char * scan_nvt_version
Version of NVT used at scan time.
Definition: manage.h:1221
char * threat
Threat.
Definition: manage.h:1226
char * hostname
Hostname.
Definition: manage.h:1219
char * severity
Severity score.
Definition: manage.h:1225
char * nvt_oid
OID of NVT.
Definition: manage.h:1220
A report format file iterator.
Definition: manage.h:3157
GPtrArray * start
Array of files.
Definition: manage.h:3158
gpointer * current
Current file.
Definition: manage.h:3159
gchar * dir_name
Dir holding files.
Definition: manage.h:3160
Command data for a get command.
Definition: manage.h:355
int minimal
Whether to respond with minimal information.
Definition: manage.h:367
gchar * subtype
Subtype, or NULL.
Definition: manage.h:364
int ignore_max_rows_per_page
Whether to ignore the Max Rows Per Page setting.
Definition: manage.h:365
char * filter
Filter term.
Definition: manage.h:358
int details
Boolean. Whether to include full details.
Definition: manage.h:356
int trash
Boolean. Whether to return from trashcan.
Definition: manage.h:362
char * filter_replace
Column to replace in filter.
Definition: manage.h:359
char * filter_replacement
Filter term to replace the one in filt_id.
Definition: manage.h:360
GHashTable * extra_params
Hashtable of type-specific extra parameters.
Definition: manage.h:368
int ignore_pagination
Whether to ignore the pagination (first and max).
Definition: manage.h:366
char * filt_id
Filter ID. Overrides "filter".
Definition: manage.h:357
char * id
ID of single item to get.
Definition: manage.h:361
gchar * type
Type of resource.
Definition: manage.h:363
A host detail for create_report.
Definition: manage.h:1233
char * name
Detail name.
Definition: manage.h:1235
char * source_type
Source type.
Definition: manage.h:1238
char * source_name
Source name.
Definition: manage.h:1237
char * ip
IP.
Definition: manage.h:1234
char * value
Detail value.
Definition: manage.h:1239
char * source_desc
Source description.
Definition: manage.h:1236
A generic SQL iterator structure.
Definition: iterator.h:51
Keyword.
Definition: manage.h:3530
gchar * column
The column prefix, or NULL.
Definition: manage.h:3531
keyword_relation_t relation
The relation.
Definition: manage.h:3539
gchar * string
The keyword string, outer quotes removed.
Definition: manage.h:3537
int integer_value
Integer value of the keyword.
Definition: manage.h:3534
keyword_type_t type
Type of keyword.
Definition: manage.h:3538
double double_value
Floating point value of the keyword.
Definition: manage.h:3535
int equal
Whether the keyword is like "=example".
Definition: manage.h:3533
int quoted
Whether the keyword was quoted.
Definition: manage.h:3536
int approx
Whether the keyword is like "~example".
Definition: manage.h:3532
Name value pair.
Definition: manage.h:104
gchar * name
Name.
Definition: manage.h:105
gchar * value
Param value.
Definition: manage.h:106
An NVT selector.
Definition: manage.h:1798
char * name
Name of NVT selector.
Definition: manage.h:1799
char * type
Name of NVT selector.
Definition: manage.h:1800
int include
Whether family/NVT is included or excluded.
Definition: manage.h:1801
char * family_or_nvt
Family or NVT that this selector selects.
Definition: manage.h:1802
An NVT preference.
Definition: manage.h:1781
int free_strings
Whether string fields are freed by preference_free.
Definition: manage.h:1791
char * name
Name of preference.
Definition: manage.h:1782
char * value
Value of preference.
Definition: manage.h:1785
char * nvt_oid
OID of NVT preference affects.
Definition: manage.h:1787
array_t * alts
Array of gchar's. Alternate values for radio type.
Definition: manage.h:1788
char * hr_name
Extended, more human-readable name used by OSP.
Definition: manage.h:1790
char * id
ID of preference.
Definition: manage.h:1783
char * type
Type of preference (radio, password, ...).
Definition: manage.h:1784
char * default_value
Default value of preference.
Definition: manage.h:1789
char * nvt_name
Name of NVT preference affects.
Definition: manage.h:1786
A system report type iterator.
Definition: manage.h:2653
gchar ** start
First type.
Definition: manage.h:2654
gchar ** current
Current type.
Definition: manage.h:2655
Severity data for result count cache.
Definition: manage.h:1059
int * counts
Counts.
Definition: manage.h:1060
int total
Total.
Definition: manage.h:1061
double max
Max.
Definition: manage.h:1062
Sort data for aggregates commands.
Definition: manage.h:4193
int order
The sort order.
Definition: manage.h:4196
gchar * field
The field to sort by.
Definition: manage.h:4194
gchar * stat
The statistic to sort by.
Definition: manage.h:4195