OpenVAS Scanner 23.35.3
table_driven_lsc.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Greenbone AG
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later
4 */
5
10
11#ifndef MISC_TABLE_DRIVEN_LSC_H
12#define MISC_TABLE_DRIVEN_LSC_H
13
14#include <glib.h>
15#include <gvm/util/kb.h> // for kb_t
16
20{
21 UNKNOWN, // Unknown
22 RANGE, // Range of version which fixed the package
23 SINGLE, // A single version with a specifier (gt or lt)
24};
25
31
33
37{
38 char *version; // a version
39 char *specifier; // a lt or gt specifier
40};
42
46{
47 char *start; // <= the version
48 char *stop; // >= the version
49};
51
55{
56 char *pkg_name; // package name
57 char *install_version; // installed version of the vulnerable package
58 enum fixed_type type; // fixed version type: range or single
59 union
60 {
61 version_range_t *range; // range of vulnerable versions
62 fixed_version_t *version; // version and specifier for the fixed versions
63 };
64};
65
67
71{
72 char *oid; // Advisory OID
73 vuln_pkg_t *pkgs[100]; // list of vulnerable packages, installed version and
74 // fixed versions
75 size_t count; // Count of vulnerable packages this advisory has
76};
78
80{
81 char *oid;
82 char *message;
83};
84
86
101
102void
104
105void
106set_lsc_flag (void);
107
108int
109lsc_has_run (void);
110
111int
112run_table_driven_lsc (const char *, const char *, const char *, const char *,
113 const char *);
114
115char *
116lsc_get_response (const char *pkg_list, const char *os);
117
119lsc_process_response (const gchar *resp, const size_t len);
120
121#endif // MISC_TABLE_DRIVEN_LSC_H
uint8_t len
Definition nasl_packet_forgery.c:1
Definition table_driven_lsc.h:90
size_t max_size
Definition table_driven_lsc.h:98
advisory_type_t type
Definition table_driven_lsc.h:96
advisory_t ** advisories
Definition table_driven_lsc.h:93
skiron_advisory_t ** skiron_advisory
Definition table_driven_lsc.h:94
size_t count
Definition table_driven_lsc.h:97
Fixed version.
Definition table_driven_lsc.h:37
char * specifier
Definition table_driven_lsc.h:39
char * version
Definition table_driven_lsc.h:38
Definition table_driven_lsc.h:71
vuln_pkg_t * pkgs[100]
Definition table_driven_lsc.h:73
char * oid
Definition table_driven_lsc.h:72
size_t count
Definition table_driven_lsc.h:75
Definition table_driven_lsc.h:80
char * oid
Definition table_driven_lsc.h:81
char * message
Definition table_driven_lsc.h:82
Specify a version range.
Definition table_driven_lsc.h:46
char * stop
Definition table_driven_lsc.h:48
char * start
Definition table_driven_lsc.h:47
Define a vulnerable package.
Definition table_driven_lsc.h:55
fixed_version_t * version
Definition table_driven_lsc.h:62
enum fixed_type type
Definition table_driven_lsc.h:58
version_range_t * range
Definition table_driven_lsc.h:61
char * pkg_name
Definition table_driven_lsc.h:56
char * install_version
Definition table_driven_lsc.h:57
enum advisory_type advisory_type_t
Definition table_driven_lsc.h:32
struct advisories advisories_t
Definition table_driven_lsc.h:100
fixed_type
Fixed version format.
Definition table_driven_lsc.h:20
@ SINGLE
Definition table_driven_lsc.h:23
@ RANGE
Definition table_driven_lsc.h:22
@ UNKNOWN
Definition table_driven_lsc.h:21
char * lsc_get_response(const char *pkg_list, const char *os)
Sent the installed package list and OS to notus.
Definition table_driven_lsc.c:997
int run_table_driven_lsc(const char *, const char *, const char *, const char *, const char *)
Publish the necessary data to start a Table driven LSC scan.
Definition table_driven_lsc.c:1136
struct notus_advisory advisory_t
Definition table_driven_lsc.h:77
int lsc_has_run(void)
Get lsc_flag value.
Definition table_driven_lsc.c:48
struct fixed_version fixed_version_t
Definition table_driven_lsc.h:41
struct skiron_advisory skiron_advisory_t
Definition table_driven_lsc.h:85
struct vulnerable_pkg vuln_pkg_t
Definition table_driven_lsc.h:66
struct version_range version_range_t
Definition table_driven_lsc.h:50
advisory_type
Definition table_driven_lsc.h:27
@ NOTUS
Definition table_driven_lsc.h:28
@ SKIRON
Definition table_driven_lsc.h:29
void set_lsc_flag(void)
Set lsc_flag to 1.
Definition table_driven_lsc.c:40
void advisories_free(advisories_t *advisories)
Free()'s an advisories.
Definition table_driven_lsc.c:578
advisories_t * lsc_process_response(const gchar *resp, const size_t len)
Process a json object which contains advisories and vulnerable packages.
Definition table_driven_lsc.c:806