Greenbone Vulnerability Manager
9.0.1
|
26 #ifndef _GVMD_MANAGE_SQL_SECINFO_H
27 #define _GVMD_MANAGE_SQL_SECINFO_H
32 #define SECINFO_SQL_RESULT_HAS_CERT_BUNDS \
33 "(SELECT EXISTS (SELECT * FROM cert_bund_cves" \
34 " WHERE cve_name IN (SELECT ref_id" \
36 " WHERE vt_oid = results.nvt" \
37 " AND type = 'cve')))"
42 #define SECINFO_SQL_RESULT_HAS_DFN_CERTS \
43 "(SELECT EXISTS (SELECT * FROM dfn_cert_cves" \
44 " WHERE cve_name IN (SELECT ref_id" \
46 " WHERE vt_oid = results.nvt" \
47 " AND type = 'cve')))"
52 #define CVE_INFO_ITERATOR_FILTER_COLUMNS \
53 { GET_ITERATOR_FILTER_COLUMNS, "vector", \
54 "complexity", "authentication", "confidentiality_impact", \
55 "integrity_impact", "availability_impact", "products", \
56 "cvss", "description", "severity", "published", NULL }
61 #define CVE_INFO_ITERATOR_COLUMNS \
63 GET_ITERATOR_COLUMNS_PREFIX (""), \
64 { "''", "_owner", KEYWORD_TYPE_STRING }, \
65 { "0", NULL, KEYWORD_TYPE_INTEGER }, \
66 { "vector", NULL, KEYWORD_TYPE_STRING }, \
67 { "complexity", NULL, KEYWORD_TYPE_STRING }, \
68 { "authentication", NULL, KEYWORD_TYPE_STRING }, \
69 { "confidentiality_impact", NULL, KEYWORD_TYPE_STRING }, \
70 { "integrity_impact", NULL, KEYWORD_TYPE_STRING }, \
71 { "availability_impact", NULL, KEYWORD_TYPE_STRING }, \
72 { "products", NULL, KEYWORD_TYPE_STRING }, \
73 { "cvss", NULL, KEYWORD_TYPE_DOUBLE }, \
74 { "description", NULL, KEYWORD_TYPE_STRING }, \
75 { "cvss", "severity", KEYWORD_TYPE_DOUBLE }, \
76 { "creation_time", "published", KEYWORD_TYPE_INTEGER }, \
77 { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \
83 #define CPE_INFO_ITERATOR_FILTER_COLUMNS \
84 { GET_ITERATOR_FILTER_COLUMNS, "title", "status", \
85 "deprecated_by_id", "max_cvss", "cves", "nvd_id", \
91 #define CPE_INFO_ITERATOR_COLUMNS \
93 GET_ITERATOR_COLUMNS_PREFIX (""), \
94 { "''", "_owner", KEYWORD_TYPE_STRING }, \
95 { "0", NULL, KEYWORD_TYPE_INTEGER }, \
96 { "title", NULL, KEYWORD_TYPE_STRING }, \
97 { "status", NULL, KEYWORD_TYPE_STRING }, \
98 { "deprecated_by_id", NULL, KEYWORD_TYPE_INTEGER }, \
99 { "max_cvss", NULL, KEYWORD_TYPE_DOUBLE }, \
100 { "cve_refs", "cves", KEYWORD_TYPE_INTEGER }, \
101 { "nvd_id", NULL, KEYWORD_TYPE_INTEGER }, \
102 { "max_cvss", "severity", KEYWORD_TYPE_DOUBLE }, \
103 { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \
109 #define OVALDEF_INFO_ITERATOR_FILTER_COLUMNS \
110 { GET_ITERATOR_FILTER_COLUMNS, "version", "deprecated", \
111 "class", "title", "description", "file", \
112 "status", "max_cvss", "cves", "severity", NULL }
117 #define OVALDEF_INFO_ITERATOR_COLUMNS \
119 GET_ITERATOR_COLUMNS_PREFIX (""), \
120 { "''", "_owner", KEYWORD_TYPE_STRING }, \
121 { "0", NULL, KEYWORD_TYPE_INTEGER }, \
122 { "version", NULL, KEYWORD_TYPE_INTEGER }, \
123 { "deprecated", NULL, KEYWORD_TYPE_INTEGER }, \
124 { "def_class", "class", KEYWORD_TYPE_STRING }, \
125 { "title", NULL, KEYWORD_TYPE_STRING }, \
126 { "description", NULL, KEYWORD_TYPE_STRING }, \
127 { "xml_file", "file", KEYWORD_TYPE_STRING }, \
128 { "status", NULL, KEYWORD_TYPE_STRING }, \
129 { "max_cvss", NULL, KEYWORD_TYPE_DOUBLE }, \
130 { "cve_refs", "cves", KEYWORD_TYPE_INTEGER }, \
131 { "max_cvss", "severity", KEYWORD_TYPE_DOUBLE }, \
132 { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \
138 #define CERT_BUND_ADV_INFO_ITERATOR_FILTER_COLUMNS \
139 { GET_ITERATOR_FILTER_COLUMNS, "title", "summary", \
140 "cves", "max_cvss", "severity", NULL }
145 #define CERT_BUND_ADV_INFO_ITERATOR_COLUMNS \
147 GET_ITERATOR_COLUMNS_PREFIX (""), \
148 { "''", "_owner", KEYWORD_TYPE_STRING }, \
149 { "0", NULL, KEYWORD_TYPE_INTEGER }, \
150 { "title", NULL, KEYWORD_TYPE_STRING }, \
151 { "summary", NULL, KEYWORD_TYPE_STRING }, \
152 { "cve_refs", "cves", KEYWORD_TYPE_INTEGER }, \
153 { "max_cvss", NULL, KEYWORD_TYPE_DOUBLE }, \
154 { "max_cvss", "severity", KEYWORD_TYPE_DOUBLE }, \
155 { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \
161 #define DFN_CERT_ADV_INFO_ITERATOR_FILTER_COLUMNS \
162 { GET_ITERATOR_FILTER_COLUMNS, "title", "summary", \
163 "cves", "max_cvss", "severity", NULL }
168 #define DFN_CERT_ADV_INFO_ITERATOR_COLUMNS \
170 GET_ITERATOR_COLUMNS_PREFIX (""), \
171 { "''", "_owner", KEYWORD_TYPE_STRING }, \
172 { "0", NULL, KEYWORD_TYPE_INTEGER }, \
173 { "title", NULL, KEYWORD_TYPE_STRING }, \
174 { "summary", NULL, KEYWORD_TYPE_STRING }, \
175 { "cve_refs", "cves", KEYWORD_TYPE_INTEGER }, \
176 { "max_cvss", NULL, KEYWORD_TYPE_DOUBLE }, \
177 { "max_cvss", "severity", KEYWORD_TYPE_DOUBLE }, \
178 { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \
184 #define ALL_INFO_ITERATOR_FILTER_COLUMNS \
185 { GET_ITERATOR_FILTER_COLUMNS, "type", "extra", "severity", NULL }
190 #define ALL_INFO_ITERATOR_COLUMNS \
192 { "id", NULL, KEYWORD_TYPE_INTEGER }, \
193 { "uuid", NULL, KEYWORD_TYPE_STRING }, \
194 { "name", NULL, KEYWORD_TYPE_STRING }, \
195 { "comment", NULL, KEYWORD_TYPE_STRING }, \
196 { "iso_time (created)", NULL, KEYWORD_TYPE_STRING }, \
197 { "iso_time (modified)", NULL, KEYWORD_TYPE_STRING }, \
198 { "created", NULL, KEYWORD_TYPE_INTEGER }, \
199 { "modified", NULL, KEYWORD_TYPE_INTEGER }, \
200 { "''", "_owner", KEYWORD_TYPE_STRING }, \
201 { "0", NULL, KEYWORD_TYPE_INTEGER }, \
202 { "type", NULL, KEYWORD_TYPE_STRING }, \
203 { "extra", NULL, KEYWORD_TYPE_STRING }, \
204 { "severity", NULL, KEYWORD_TYPE_DOUBLE }, \
205 { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \
211 #define ALL_INFO_ITERATOR_COLUMNS_ARGS(type, extra, severity) \
213 { "id", NULL, KEYWORD_TYPE_INTEGER }, \
214 { "uuid", NULL, KEYWORD_TYPE_STRING }, \
215 { "name", NULL, KEYWORD_TYPE_STRING }, \
216 { "comment", NULL, KEYWORD_TYPE_STRING }, \
217 { "iso_time (created)", NULL, KEYWORD_TYPE_STRING }, \
218 { "iso_time (modified)", NULL, KEYWORD_TYPE_STRING }, \
219 { "created", NULL, KEYWORD_TYPE_INTEGER }, \
220 { "modified", NULL, KEYWORD_TYPE_INTEGER }, \
221 { "''", "_owner", KEYWORD_TYPE_STRING }, \
222 { "0", NULL, KEYWORD_TYPE_INTEGER }, \
223 { type, "type", KEYWORD_TYPE_STRING }, \
224 { extra, "extra", KEYWORD_TYPE_STRING }, \
225 { severity, "severity", KEYWORD_TYPE_DOUBLE }, \
226 { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \
232 #define ALL_INFO_UNION_COLUMNS \
233 "(SELECT " GET_ITERATOR_COLUMNS_STRING ", '' AS _owner, 'cve' AS type," \
234 " description AS extra, cvss AS severity" \
236 " UNION ALL SELECT " GET_ITERATOR_COLUMNS_STRING ", '' AS _owner," \
237 " 'cpe' AS type, title AS extra, max_cvss AS severity" \
239 " UNION ALL SELECT " GET_ITERATOR_COLUMNS_STRING ", '' AS _owner," \
240 " 'nvt' AS type, tag AS extra," \
241 " CAST (cvss_base AS float) AS severity" \
243 " UNION ALL SELECT " GET_ITERATOR_COLUMNS_STRING ", '' AS _owner," \
244 " 'cert_bund_adv' AS type, title AS extra," \
245 " max_cvss AS severity" \
246 " FROM cert_bund_advs" \
247 " UNION ALL SELECT " GET_ITERATOR_COLUMNS_STRING ", '' AS _owner," \
248 " 'dfn_cert_adv' AS type, title AS extra," \
249 " max_cvss AS severity" \
250 " FROM dfn_cert_advs" \
251 " UNION ALL SELECT " GET_ITERATOR_COLUMNS_STRING ", '' AS _owner," \
252 " 'ovaldef' AS type, title AS extra, max_cvss AS severity" \
259 #define ALL_INFO_UNION_COLUMNS_LIMIT \
260 "(SELECT * FROM (SELECT " GET_ITERATOR_COLUMNS_STRING "," \
261 " CAST ('' AS text) AS _owner," \
262 " CAST ('cve' AS text) AS type," \
263 " description as extra, cvss as severity" \
270 " SELECT * FROM (SELECT " GET_ITERATOR_COLUMNS_STRING "," \
271 " CAST ('' AS text) AS _owner," \
272 " CAST ('cpe' AS text) AS type, title as extra," \
273 " max_cvss as severity" \
280 " SELECT * FROM (SELECT " GET_ITERATOR_COLUMNS_STRING "," \
281 " CAST ('' AS text) AS _owner," \
282 " CAST ('nvt' AS text) AS type," \
284 " CAST (cvss_base AS float) as severity" \
291 " SELECT * FROM (SELECT " GET_ITERATOR_COLUMNS_STRING "," \
292 " CAST ('' AS text) AS _owner," \
293 " CAST ('cert_bund_adv' AS text) AS type," \
295 " max_cvss as severity" \
296 " FROM cert_bund_advs" \
302 " SELECT * FROM (SELECT " GET_ITERATOR_COLUMNS_STRING "," \
303 " CAST ('' AS text) AS _owner," \
304 " CAST ('dfn_cert_adv' AS text) AS type," \
306 " max_cvss as severity" \
307 " FROM dfn_cert_advs" \
313 " SELECT * FROM (SELECT " GET_ITERATOR_COLUMNS_STRING "," \
314 " CAST ('' AS text) AS _owner," \
315 " CAST ('ovaldef' AS text) AS type, title as extra," \
316 " max_cvss as severity" \
327 #define SECINFO_COMMIT_SIZE_DEFAULT 0
345 get_secinfo_commit_size ();
void set_secinfo_commit_size(int new_commit_size)
Set the SecInfo update commit size.
Definition: manage_sql_secinfo.c:5306
void manage_sync_scap(sigset_t *sigmask_current)
Sync the SCAP DB.
Definition: manage_sql_secinfo.c:5182
int manage_rebuild_scap(GSList *log_config, const gchar *database, const char *type)
Rebuild part of the SCAP DB.
Definition: manage_sql_secinfo.c:5248
int check_scap_db_version()
Ensure SCAP db is at the right version, and in the right mode.
Definition: manage_sql_secinfo.c:4805
int check_cert_db_version()
Ensure CERT db is at the right version, and in the right mode.
Definition: manage_sql_secinfo.c:4509
void manage_sync_cert(sigset_t *sigmask_current)
Sync the CERT DB.
Definition: manage_sql_secinfo.c:4788