//Do while statement since all updateshave to be executed starting at the
//latest version. It's a walk through.
- switch ($active_version) {
+ switch ($active_version)
+ {
case 1:
//DROP the rule that prohibits updates (change of spec).
$local_sql = "DROP RULE log_update";
- $dbms->query($local_sql);
+// $dbms->query($local_sql); DISABLED FOR NEW ROLE LOG-tABLE
case 2:
//In the log table processed should be false by default
$local_sql = "UPDATE log SET processed = false";
- $dbms->query($local_sql);
+ $dbms->query($local_sql);
case 3:
//In the log_adv a column is added that indicates where the detailed
$dbms->query($local_sql);
case 11:
+ //Recognize some more kernel_network fields
$local_sql = "ALTER TABLE log_adv_kernel_network ADD COLUMN res varchar(5)";
$dbms->query($local_sql);
$dbms->query($local_sql);
case 12:
+ //Add the gcm_daemon_version to the system
$local_sql = "INSERT INTO db_value VALUES ('gcm_daemon_version', '1')";
$dbms->query($local_sql);
+
+ case 13:
+ //Create the table object_system_user
+ $local_sql = "CREATE TABLE object_system_user (objectid BIGINT, system_username TEXT, can_login BOOLEAN, can_be_root BOOLEAN)";
+ $dbms->query($local_sql);
+
+ $local_sql = "CREATE UNIQUE INDEX obsyus_id_name ON object_system_user (objectid, system_username)";
+ $dbms->query($local_sql);
+
+
+ $local_sql = "CREATE INDEX obsyus_id ON object_system_user (objectid)";
+ $dbms->query($local_sql);
+
+
+ $local_sql = "CREATE INDEX obsyus_name ON object_system_user (system_username)";
+ $dbms->query($local_sql);
+
+ case 14:
+ //Make type_of_issue ready for automatic detection
+ $local_sql = "ALTER TABLE type_of_issue ADD COLUMN automated_check BOOLEAN";
+ $dbms->query($local_sql);
+
+ $local_sql = "ALTER TABLE type_of_issue ADD COLUMN alert_level INT";
+ $dbms->query($local_sql);
+
+ $local_sql = "ALTER TABLE type_of_issue ADD COLUMN last_run TIMESTAMP";
+ $dbms->query($local_sql);
+
+ $local_sql = "ALTER TABLE type_of_issue ADD COLUMN recheck_interval TIMESTAMP";
+ $dbms->query($local_sql);
+
+ case 15:
+ $local_sql = "INSERT INTO db_value (setting, setting_value) VALUES ('log_processing', '0')";
+ $dbms->query($local_sql);
+
+ case 16:
+ $local_sql = "ALTER TABLE log_adv_kernel_network DROP COLUMN hw_address";
+ $dbms->query($local_sql);
+
+
+ $local_sql = "ALTER TABLE log_adv_kernel_network ADD COLUMN hw_address TEXT";
+ $dbms->query($local_sql);
+ case 17:
+ $local_sql = "DROP TABLE object_system_user";
+ $dbms->query($local_sql);
+
+ case 18:
+ $local_sql = "UPDATE action SET actionname = 'Investigation completed', statuscode = 'PEN', description = 'Investigation has been done.' ";
+ $local_sql .= "WHERE actionid = '9'";
+ $dbms->query($local_sql);
+
+ case 19:
+ $local_sql = "insert into type_of_issue (name, suggested_priority, description)";
+ $local_sql .= " values ('parameter created',3,'A new parameter was created')";
+ $dbms->query($local_sql);
+
+ $local_sql = "insert into type_of_issue (name, suggested_priority, description)";
+ $local_sql .= " values ('property modified',3,'The STATIC property of a parameter was modified')";
+ $dbms->query($local_sql);
+
+ $local_sql = "insert into type_of_issue (name, suggested_priority, description)";
+ $local_sql .= " values ('parameter removed',3,'A parameter was removed') ";
+ $dbms->query($local_sql);
+
+ case 20:
+ $local_sql = "CREATE TABLE parameter_notification (notificationid bigint, paramid bigint, primary key (notificationid, paramid))";
+ $dbms->query($local_sql);
+
+ $local_sql = "CREATE TABLE parameter_class (name text, property_name text, description text, property_type text, ";
+ $local_sql .= "min float, max float, notify boolean, primary key (name, property_name));";
+ $dbms->query($local_sql);
+
+ $local_sql = "INSERT INTO parameter_class (name, property_name, description, property_type, notify)";
+ $local_sql .= "VALUES ('package', 'version', 'The installed version of the package', 'STATIC', 't')";
+ $dbms->query($local_sql);
+
+
+ case 21:
+ $local_sql = "UPDATE action SET statuscode = LOWER(statuscode)";
+ $dbms->query($local_sql);
+
+ case 22:
+ //Create a log_adv_kernel_network table that recognizes the log-records
+ //that have come from the kernel-network interface (typically iptables).
+ $local_sql = "CREATE TABLE log_adv_daemon (";
+ $local_sql .= "service TEXT, event TEXT";
+ $local_sql .= ") INHERITS (log_adv)";
+ $dbms->query($local_sql);
+
+ case 23:
+ $local_sql = "CREATE INDEX log_adv_daemon_service ON log_adv_daemon (service)";
+ $dbms->query($local_sql);
+
+ case 24:
+ $local_sql = "ALTER TABLE object ADD COLUMN log_count BIGINT";
+ $dbms->query($local_sql);
+
+ $local_sql = "ALTER TABLE object ADD COLUMN notification_count BIGINT";
+ $dbms->query($local_sql);
+
+ $local_sql = "ALTER TABLE object ADD COLUMN parameter_count BIGINT";
+ $dbms->query($local_sql);
+case 25:
+ $local_sql = "UPDATE object SET log_count = '0', "
+ . "notification_count = '0', "
+ . "parameter_count = '0' ";
+ $dbms->query($local_sql);
+
+case 26:
+ $local_sql = "UPDATE type_of_issue SET name = TRIM(name)";
+ $dbms->query($local_sql);
+
+case 27:
+ $local_sql = "INSERT INTO db_value VALUES ('last_notification', '0')";
+ $dbms->query($local_sql);
+
+case 28:
+ $dbms->query("CREATE GROUP view");
+ $dbms->query("CREATE GROUP ops");
+ $dbms->query("CREATE GROUP admin");
+
+ $dbms->query("GRANT SELECT ON action TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON action_user TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON db_value TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON history TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON log TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON log_adv TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON log_adv_daemon TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON log_adv_kernel_network TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON log_notification TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON notification TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON object TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON object_issue TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON object_priority TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON object_service TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON object_user TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON parameter TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON parameter_class TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON parameter_notification TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON priority TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON property TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON service TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON status TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON supported_os TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON type_of_issue TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT SELECT ON usr TO GROUP view, GROUP ops, GROUP admin");
+
+ $dbms->query("GRANT INSERT ON action_user TO GROUP ops, GROUP admin");
+ $dbms->query("GRANT UPDATE ON notification TO GROUP ops, GROUP admin");
+ $dbms->query("GRANT INSERT ON object TO GROUP admin");
+ $dbms->query("GRANT UPDATE ON object TO GROUP ops, GROUP admin");
+ $dbms->query("GRANT DELETE ON object TO GROUP admin");
+ $dbms->query("GRANT UPDATE ON usr TO GROUP view, GROUP ops, GROUP admin");
+ $dbms->query("GRANT INSERT ON usr TO GROUP admin");
+ $dbms->query("GRANT DELETE ON usr TO GROUP admin");
+
+case 29:
+ $local_sql = "INSERT INTO action (actionname, description) VALUES ('Redisplayed to user', "
+ . "'The notification has been presented to a user. This is not the first time')";
+ echo $local_sql;
+ $dbms->query ($local_sql);
+
+/*
+ //These columns have to be removed when a new version of PGSQL has become mainstream that supportsa DROP COLUMN
+ $local_sql = "ALTER TABLE log DROP COLUMN recognized";
+ $dbms->query($local_sql);
+
+ $local_sql = "ALTER TABLE logng DROP COLUMN recognized";
+ $dbms->query($local_sql);
+*/
+
}
- $active_version++;
- $local_sql = "UPDATE db_value SET setting_value = ".$active_version." WHERE setting = 'db_version'";
+ $local_sql = "UPDATE db_value SET setting_value = ".$db_version." WHERE setting = 'db_version'";
+
$dbms->query($local_sql);