Database changes needed to integrate Cygnet backend
This commit is contained in:
+36
-36
@@ -502,110 +502,110 @@ INSERT INTO groups ( /* 7 */
|
||||
|
||||
/* Default Product Groups */
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
1, 2
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
2, 3
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
3, 5
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
3, 8
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
3, 11
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
3, 14
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
3, 17
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
3, 20
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
3, 23
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
4, 6
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
4, 9
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
4, 12
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
4, 15
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
4, 18
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
4, 21
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
4, 24
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
5, 25
|
||||
);
|
||||
|
||||
INSERT INTO default_product_groups (
|
||||
group_id, product
|
||||
INSERT INTO groups_product_defaults (
|
||||
group_id, product_id
|
||||
) VALUES (
|
||||
5, 26
|
||||
);
|
||||
|
||||
@@ -70,7 +70,7 @@ bool policy_start(database_t *db, int session_id)
|
||||
if (device_id)
|
||||
{
|
||||
e = db->query(db,
|
||||
"SELECT group_id FROM group_members WHERE device = ?",
|
||||
"SELECT group_id FROM groups_members WHERE device_id = ?",
|
||||
DB_INT, device_id, DB_INT);
|
||||
if (e)
|
||||
{
|
||||
@@ -86,8 +86,8 @@ bool policy_start(database_t *db, int session_id)
|
||||
if (!group_id)
|
||||
{
|
||||
e = db->query(db,
|
||||
"SELECT group_id FROM default_product_groups WHERE product = ?",
|
||||
DB_INT, product_id, DB_INT);
|
||||
"SELECT group_id FROM groups_product_defaults "
|
||||
"WHERE product_id = ?", DB_INT, product_id, DB_INT);
|
||||
if (e)
|
||||
{
|
||||
if (e->enumerate(e, &gid))
|
||||
|
||||
+68
-45
@@ -43,51 +43,69 @@ CREATE TABLE file_hashes (
|
||||
file INTEGER NOT NULL REFERENCES files(id),
|
||||
product INTEGER NOT NULL REFERENCES products(id),
|
||||
device INTEGER DEFAULT 0,
|
||||
key INTEGER DEFAULT 0 REFERENCES keys(id),
|
||||
algo INTEGER NOT NULL REFERENCES algorithms(id),
|
||||
hash BLOB NOT NULL
|
||||
);
|
||||
|
||||
DROP TABLE IF EXISTS keys;
|
||||
CREATE TABLE keys (
|
||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
keyid BLOB NOT NULL,
|
||||
owner TEXT NOT NULL
|
||||
);
|
||||
DROP INDEX IF EXISTS keys_keyid;
|
||||
CREATE INDEX keys_keyid ON keys (
|
||||
keyid
|
||||
);
|
||||
DROP INDEX IF EXISTS keys_owner;
|
||||
CREATE INDEX keys_owner ON keys (
|
||||
owner
|
||||
);
|
||||
|
||||
DROP TABLE IF EXISTS groups;
|
||||
CREATE TABLE groups (
|
||||
id integer NOT NULL PRIMARY KEY,
|
||||
name varchar(50) NOT NULL UNIQUE,
|
||||
parent integer
|
||||
id INTEGER NOT NULL PRIMARY KEY,
|
||||
name VARCHAR(50) NOT NULL UNIQUE,
|
||||
parent INTEGER
|
||||
);
|
||||
|
||||
DROP TABLE IF EXISTS group_members;
|
||||
CREATE TABLE group_members (
|
||||
id integer NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
group_id integer NOT NULL REFERENCES groups(id),
|
||||
device integer NOT NULL REFERENCES devices(id),
|
||||
UNIQUE (group_id, device)
|
||||
DROP TABLE IF EXISTS groups_members;
|
||||
CREATE TABLE groups_members (
|
||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
group_id INTEGER NOT NULL REFERENCES groups(id),
|
||||
device_id INTEGER NOT NULL REFERENCES devices(id),
|
||||
UNIQUE (group_id, device_id)
|
||||
);
|
||||
|
||||
DROP TABLE IF EXISTS default_product_groups;
|
||||
CREATE TABLE default_product_groups (
|
||||
id integer NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
group_id integer NOT NULL REFERENCES groups(id),
|
||||
product integer NOT NULL REFERENCES products(id),
|
||||
UNIQUE (group_id, product)
|
||||
DROP TABLE IF EXISTS groups_product_defaults;
|
||||
CREATE TABLE groups_product_defaults (
|
||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
group_id INTEGER NOT NULL REFERENCES groups(id),
|
||||
product_id INTEGER NOT NULL REFERENCES products(id),
|
||||
UNIQUE (group_id, product_id)
|
||||
);
|
||||
|
||||
DROP TABLE IF EXISTS policies;
|
||||
CREATE TABLE policies (
|
||||
id integer NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
type integer NOT NULL,
|
||||
name varchar(100) NOT NULL UNIQUE,
|
||||
argument text DEFAULT '' NOT NULL,
|
||||
rec_fail integer NOT NULL,
|
||||
rec_noresult integer NOT NULL,
|
||||
file integer DEFAULT 0 REFERENCES files(id),
|
||||
dir integer DEFAULT 0 REFERENCES directories(id)
|
||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
type INTEGER NOT NULL,
|
||||
name VARCHAR(100) NOT NULL UNIQUE,
|
||||
argument TEXT DEFAULT '' NOT NULL,
|
||||
rec_fail INTEGER NOT NULL,
|
||||
rec_noresult INTEGER NOT NULL,
|
||||
file INTEGER DEFAULT 0 REFERENCES files(id),
|
||||
dir INTEGER DEFAULT 0 REFERENCES directories(id)
|
||||
);
|
||||
|
||||
DROP TABLE IF EXISTS enforcements;
|
||||
CREATE TABLE enforcements (
|
||||
id integer NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
policy integer NOT NULL REFERENCES policies(id),
|
||||
group_id integer NOT NULL REFERENCES groups(id),
|
||||
max_age integer NOT NULL,
|
||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
policy INTEGER NOT NULL REFERENCES policies(id),
|
||||
group_id INTEGER NOT NULL REFERENCES groups(id),
|
||||
rec_fail INTEGER,
|
||||
rec_noresult INTEGER,
|
||||
max_age INTEGER NOT NULL,
|
||||
UNIQUE (policy, group_id)
|
||||
);
|
||||
|
||||
@@ -104,16 +122,16 @@ CREATE TABLE sessions (
|
||||
|
||||
DROP TABLE IF EXISTS workitems;
|
||||
CREATE TABLE workitems (
|
||||
id integer NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
session integer NOT NULL REFERENCES sessions(id),
|
||||
enforcement integer NOT NULL REFERENCES enforcements(id),
|
||||
type integer NOT NULL,
|
||||
arg_str text,
|
||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
session INTEGER NOT NULL REFERENCES sessions(id),
|
||||
enforcement INTEGER NOT NULL REFERENCES enforcements(id),
|
||||
type INTEGER NOT NULL,
|
||||
arg_str TEXT,
|
||||
arg_int INTEGER DEFAULT 0,
|
||||
rec_fail integer NOT NULL,
|
||||
rec_noresult integer NOT NULL,
|
||||
rec_final integer,
|
||||
result text
|
||||
rec_fail INTEGER NOT NULL,
|
||||
rec_noresult INTEGER NOT NULL,
|
||||
rec_final INTEGER,
|
||||
result TEXT
|
||||
);
|
||||
DROP INDEX IF EXISTS workitems_session;
|
||||
CREATE INDEX workitems_sessions ON workitems (
|
||||
@@ -122,11 +140,11 @@ CREATE INDEX workitems_sessions ON workitems (
|
||||
|
||||
DROP TABLE IF EXISTS results;
|
||||
CREATE TABLE results (
|
||||
id integer NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
session integer NOT NULL REFERENCES measurements(id),
|
||||
policy integer NOT NULL REFERENCES policies(id),
|
||||
rec integer NOT NULL,
|
||||
result text NOT NULL
|
||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
session INTEGER NOT NULL REFERENCES measurements(id),
|
||||
policy INTEGER NOT NULL REFERENCES policies(id),
|
||||
rec INTEGER NOT NULL,
|
||||
result TEXT NOT NULL
|
||||
);
|
||||
DROP INDEX IF EXISTS results_session;
|
||||
CREATE INDEX results_session ON results (
|
||||
@@ -166,7 +184,8 @@ CREATE TABLE component_hashes (
|
||||
DROP TABLE IF EXISTS packages;
|
||||
CREATE TABLE packages (
|
||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
name TEXT NOT NULL
|
||||
name TEXT NOT NULL,
|
||||
blacklist INTEGER DEFAULT 0
|
||||
);
|
||||
DROP INDEX IF EXISTS packages_name;
|
||||
CREATE INDEX packages_name ON packages (
|
||||
@@ -176,10 +195,11 @@ CREATE INDEX packages_name ON packages (
|
||||
DROP TABLE IF EXISTS versions;
|
||||
CREATE TABLE versions (
|
||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
package INTEGER NOT NULL,
|
||||
product INTEGER NOT NULL,
|
||||
package INTEGER NOT NULL REFERENCES packages(id),
|
||||
product INTEGER NOT NULL REFERENCES products(id),
|
||||
release TEXT NOT NULL,
|
||||
security INTEGER DEFAULT 0,
|
||||
blacklist INTEGER DEFAULT 0,
|
||||
time INTEGER DEFAULT 0
|
||||
);
|
||||
DROP INDEX IF EXISTS versions_release;
|
||||
@@ -194,7 +214,10 @@ CREATE INDEX versions_package_product ON versions (
|
||||
DROP TABLE IF EXISTS devices;
|
||||
CREATE TABLE devices (
|
||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
value BLOB NOT NULL
|
||||
description TEXT,
|
||||
value BLOB NOT NULL,
|
||||
product INTEGER REFERENCES products(id),
|
||||
created INTEGER
|
||||
);
|
||||
DROP INDEX IF EXISTS devices_id;
|
||||
CREATE INDEX devices_value ON devices (
|
||||
|
||||
Reference in New Issue
Block a user