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 ();
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_scap(sigset_t *sigmask_current)
Sync the SCAP DB.
Definition: manage_sql_secinfo.c:5182
void manage_sync_cert(sigset_t *sigmask_current)
Sync the CERT DB.
Definition: manage_sql_secinfo.c:4788
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 manage_rebuild_scap(GSList *log_config, const gchar *database, const char *type)
Rebuild part of the SCAP DB.
Definition: manage_sql_secinfo.c:5248
void set_secinfo_commit_size(int new_commit_size)
Set the SecInfo update commit size.
Definition: manage_sql_secinfo.c:5306