Greenbone Vulnerability Manager
9.0.0
|
25 #ifndef _GVMD_MANAGE_SQL_SECINFO_H
26 #define _GVMD_MANAGE_SQL_SECINFO_H
31 #define SECINFO_SQL_RESULT_HAS_CERT_BUNDS \
32 "(SELECT EXISTS (SELECT * FROM cert_bund_cves" \
33 " WHERE cve_name IN (SELECT ref_id" \
35 " WHERE vt_oid = results.nvt" \
36 " AND type = 'cve')))"
41 #define SECINFO_SQL_RESULT_HAS_DFN_CERTS \
42 "(SELECT EXISTS (SELECT * FROM dfn_cert_cves" \
43 " WHERE cve_name IN (SELECT ref_id" \
45 " WHERE vt_oid = results.nvt" \
46 " AND type = 'cve')))"
51 #define CVE_INFO_ITERATOR_FILTER_COLUMNS \
52 { GET_ITERATOR_FILTER_COLUMNS, "vector", \
53 "complexity", "authentication", "confidentiality_impact", \
54 "integrity_impact", "availability_impact", "products", \
55 "cvss", "description", "severity", "published", NULL }
60 #define CVE_INFO_ITERATOR_COLUMNS \
62 GET_ITERATOR_COLUMNS_PREFIX (""), \
63 { "''", "_owner", KEYWORD_TYPE_STRING }, \
64 { "0", NULL, KEYWORD_TYPE_INTEGER }, \
65 { "vector", NULL, KEYWORD_TYPE_STRING }, \
66 { "complexity", NULL, KEYWORD_TYPE_STRING }, \
67 { "authentication", NULL, KEYWORD_TYPE_STRING }, \
68 { "confidentiality_impact", NULL, KEYWORD_TYPE_STRING }, \
69 { "integrity_impact", NULL, KEYWORD_TYPE_STRING }, \
70 { "availability_impact", NULL, KEYWORD_TYPE_STRING }, \
71 { "products", NULL, KEYWORD_TYPE_STRING }, \
72 { "cvss", NULL, KEYWORD_TYPE_DOUBLE }, \
73 { "description", NULL, KEYWORD_TYPE_STRING }, \
74 { "cvss", "severity", KEYWORD_TYPE_DOUBLE }, \
75 { "creation_time", "published", KEYWORD_TYPE_INTEGER }, \
76 { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \
82 #define CPE_INFO_ITERATOR_FILTER_COLUMNS \
83 { GET_ITERATOR_FILTER_COLUMNS, "title", "status", \
84 "deprecated_by_id", "max_cvss", "cves", "nvd_id", \
90 #define CPE_INFO_ITERATOR_COLUMNS \
92 GET_ITERATOR_COLUMNS_PREFIX (""), \
93 { "''", "_owner", KEYWORD_TYPE_STRING }, \
94 { "0", NULL, KEYWORD_TYPE_INTEGER }, \
95 { "title", NULL, KEYWORD_TYPE_STRING }, \
96 { "status", NULL, KEYWORD_TYPE_STRING }, \
97 { "deprecated_by_id", NULL, KEYWORD_TYPE_INTEGER }, \
98 { "max_cvss", NULL, KEYWORD_TYPE_DOUBLE }, \
99 { "cve_refs", "cves", KEYWORD_TYPE_INTEGER }, \
100 { "nvd_id", NULL, KEYWORD_TYPE_INTEGER }, \
101 { "max_cvss", "severity", KEYWORD_TYPE_DOUBLE }, \
102 { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \
108 #define OVALDEF_INFO_ITERATOR_FILTER_COLUMNS \
109 { GET_ITERATOR_FILTER_COLUMNS, "version", "deprecated", \
110 "class", "title", "description", "file", \
111 "status", "max_cvss", "cves", "severity", NULL }
116 #define OVALDEF_INFO_ITERATOR_COLUMNS \
118 GET_ITERATOR_COLUMNS_PREFIX (""), \
119 { "''", "_owner", KEYWORD_TYPE_STRING }, \
120 { "0", NULL, KEYWORD_TYPE_INTEGER }, \
121 { "version", NULL, KEYWORD_TYPE_INTEGER }, \
122 { "deprecated", NULL, KEYWORD_TYPE_INTEGER }, \
123 { "def_class", "class", KEYWORD_TYPE_STRING }, \
124 { "title", NULL, KEYWORD_TYPE_STRING }, \
125 { "description", NULL, KEYWORD_TYPE_STRING }, \
126 { "xml_file", "file", KEYWORD_TYPE_STRING }, \
127 { "status", NULL, KEYWORD_TYPE_STRING }, \
128 { "max_cvss", NULL, KEYWORD_TYPE_DOUBLE }, \
129 { "cve_refs", "cves", KEYWORD_TYPE_INTEGER }, \
130 { "max_cvss", "severity", KEYWORD_TYPE_DOUBLE }, \
131 { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \
137 #define CERT_BUND_ADV_INFO_ITERATOR_FILTER_COLUMNS \
138 { GET_ITERATOR_FILTER_COLUMNS, "title", "summary", \
139 "cves", "max_cvss", "severity", NULL }
144 #define CERT_BUND_ADV_INFO_ITERATOR_COLUMNS \
146 GET_ITERATOR_COLUMNS_PREFIX (""), \
147 { "''", "_owner", KEYWORD_TYPE_STRING }, \
148 { "0", NULL, KEYWORD_TYPE_INTEGER }, \
149 { "title", NULL, KEYWORD_TYPE_STRING }, \
150 { "summary", NULL, KEYWORD_TYPE_STRING }, \
151 { "cve_refs", "cves", KEYWORD_TYPE_INTEGER }, \
152 { "max_cvss", NULL, KEYWORD_TYPE_DOUBLE }, \
153 { "max_cvss", "severity", KEYWORD_TYPE_DOUBLE }, \
154 { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \
160 #define DFN_CERT_ADV_INFO_ITERATOR_FILTER_COLUMNS \
161 { GET_ITERATOR_FILTER_COLUMNS, "title", "summary", \
162 "cves", "max_cvss", "severity", NULL }
167 #define DFN_CERT_ADV_INFO_ITERATOR_COLUMNS \
169 GET_ITERATOR_COLUMNS_PREFIX (""), \
170 { "''", "_owner", KEYWORD_TYPE_STRING }, \
171 { "0", NULL, KEYWORD_TYPE_INTEGER }, \
172 { "title", NULL, KEYWORD_TYPE_STRING }, \
173 { "summary", NULL, KEYWORD_TYPE_STRING }, \
174 { "cve_refs", "cves", KEYWORD_TYPE_INTEGER }, \
175 { "max_cvss", NULL, KEYWORD_TYPE_DOUBLE }, \
176 { "max_cvss", "severity", KEYWORD_TYPE_DOUBLE }, \
177 { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \
183 #define ALL_INFO_ITERATOR_FILTER_COLUMNS \
184 { GET_ITERATOR_FILTER_COLUMNS, "type", "extra", "severity", NULL }
189 #define ALL_INFO_ITERATOR_COLUMNS \
191 { "id", NULL, KEYWORD_TYPE_INTEGER }, \
192 { "uuid", NULL, KEYWORD_TYPE_STRING }, \
193 { "name", NULL, KEYWORD_TYPE_STRING }, \
194 { "comment", NULL, KEYWORD_TYPE_STRING }, \
195 { "iso_time (created)", NULL, KEYWORD_TYPE_STRING }, \
196 { "iso_time (modified)", NULL, KEYWORD_TYPE_STRING }, \
197 { "created", NULL, KEYWORD_TYPE_INTEGER }, \
198 { "modified", NULL, KEYWORD_TYPE_INTEGER }, \
199 { "''", "_owner", KEYWORD_TYPE_STRING }, \
200 { "0", NULL, KEYWORD_TYPE_INTEGER }, \
201 { "type", NULL, KEYWORD_TYPE_STRING }, \
202 { "extra", NULL, KEYWORD_TYPE_STRING }, \
203 { "severity", NULL, KEYWORD_TYPE_DOUBLE }, \
204 { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \
210 #define ALL_INFO_ITERATOR_COLUMNS_ARGS(type, extra, severity) \
212 { "id", NULL, KEYWORD_TYPE_INTEGER }, \
213 { "uuid", NULL, KEYWORD_TYPE_STRING }, \
214 { "name", NULL, KEYWORD_TYPE_STRING }, \
215 { "comment", NULL, KEYWORD_TYPE_STRING }, \
216 { "iso_time (created)", NULL, KEYWORD_TYPE_STRING }, \
217 { "iso_time (modified)", NULL, KEYWORD_TYPE_STRING }, \
218 { "created", NULL, KEYWORD_TYPE_INTEGER }, \
219 { "modified", NULL, KEYWORD_TYPE_INTEGER }, \
220 { "''", "_owner", KEYWORD_TYPE_STRING }, \
221 { "0", NULL, KEYWORD_TYPE_INTEGER }, \
222 { type, "type", KEYWORD_TYPE_STRING }, \
223 { extra, "extra", KEYWORD_TYPE_STRING }, \
224 { severity, "severity", KEYWORD_TYPE_DOUBLE }, \
225 { NULL, NULL, KEYWORD_TYPE_UNKNOWN } \
231 #define ALL_INFO_UNION_COLUMNS \
232 "(SELECT " GET_ITERATOR_COLUMNS_STRING ", '' AS _owner, 'cve' AS type," \
233 " description AS extra, cvss AS severity" \
235 " UNION ALL SELECT " GET_ITERATOR_COLUMNS_STRING ", '' AS _owner," \
236 " 'cpe' AS type, title AS extra, max_cvss AS severity" \
238 " UNION ALL SELECT " GET_ITERATOR_COLUMNS_STRING ", '' AS _owner," \
239 " 'nvt' AS type, tag AS extra," \
240 " CAST (cvss_base AS float) AS severity" \
242 " UNION ALL SELECT " GET_ITERATOR_COLUMNS_STRING ", '' AS _owner," \
243 " 'cert_bund_adv' AS type, title AS extra," \
244 " max_cvss AS severity" \
245 " FROM cert_bund_advs" \
246 " UNION ALL SELECT " GET_ITERATOR_COLUMNS_STRING ", '' AS _owner," \
247 " 'dfn_cert_adv' AS type, title AS extra," \
248 " max_cvss AS severity" \
249 " FROM dfn_cert_advs" \
250 " UNION ALL SELECT " GET_ITERATOR_COLUMNS_STRING ", '' AS _owner," \
251 " 'ovaldef' AS type, title AS extra, max_cvss AS severity" \
258 #define ALL_INFO_UNION_COLUMNS_LIMIT \
259 "(SELECT * FROM (SELECT " GET_ITERATOR_COLUMNS_STRING "," \
260 " CAST ('' AS text) AS _owner," \
261 " CAST ('cve' AS text) AS type," \
262 " description as extra, cvss as severity" \
269 " SELECT * FROM (SELECT " GET_ITERATOR_COLUMNS_STRING "," \
270 " CAST ('' AS text) AS _owner," \
271 " CAST ('cpe' AS text) AS type, title as extra," \
272 " max_cvss as severity" \
279 " SELECT * FROM (SELECT " GET_ITERATOR_COLUMNS_STRING "," \
280 " CAST ('' AS text) AS _owner," \
281 " CAST ('nvt' AS text) AS type," \
283 " CAST (cvss_base AS float) as severity" \
290 " SELECT * FROM (SELECT " GET_ITERATOR_COLUMNS_STRING "," \
291 " CAST ('' AS text) AS _owner," \
292 " CAST ('cert_bund_adv' AS text) AS type," \
294 " max_cvss as severity" \
295 " FROM cert_bund_advs" \
301 " SELECT * FROM (SELECT " GET_ITERATOR_COLUMNS_STRING "," \
302 " CAST ('' AS text) AS _owner," \
303 " CAST ('dfn_cert_adv' AS text) AS type," \
305 " max_cvss as severity" \
306 " FROM dfn_cert_advs" \
312 " SELECT * FROM (SELECT " GET_ITERATOR_COLUMNS_STRING "," \
313 " CAST ('' AS text) AS _owner," \
314 " CAST ('ovaldef' AS text) AS type, title as extra," \
315 " max_cvss as severity" \
326 #define SECINFO_COMMIT_SIZE_DEFAULT 0
341 get_secinfo_commit_size ();
void set_secinfo_commit_size(int new_commit_size)
Set the SecInfo update commit size.
Definition: manage_sql_secinfo.c:4433
void manage_sync_scap(sigset_t *sigmask_current)
Sync the SCAP DB.
Definition: manage_sql_secinfo.c:4419
int check_scap_db_version()
Ensure SCAP db is at the right version, and in the right mode.
Definition: manage_sql_secinfo.c:4100
int check_cert_db_version()
Ensure CERT db is at the right version, and in the right mode.
Definition: manage_sql_secinfo.c:3804
void manage_sync_cert(sigset_t *sigmask_current)
Sync the CERT DB.
Definition: manage_sql_secinfo.c:4083