]> granicus.if.org Git - icinga2/commitdiff
Change session_token to integer timestamp
authorMichael Friedrich <michael.friedrich@netways.de>
Thu, 5 Nov 2015 17:05:30 +0000 (18:05 +0100)
committerMichael Friedrich <michael.friedrich@netways.de>
Thu, 5 Nov 2015 17:05:30 +0000 (18:05 +0100)
fixes #10529

lib/db_ido_mysql/idomysqlconnection.cpp
lib/db_ido_mysql/idomysqlconnection.hpp
lib/db_ido_mysql/schema/mysql.sql
lib/db_ido_mysql/schema/upgrade/2.4.0.sql
lib/db_ido_pgsql/idopgsqlconnection.cpp
lib/db_ido_pgsql/idopgsqlconnection.hpp
lib/db_ido_pgsql/schema/pgsql.sql
lib/db_ido_pgsql/schema/upgrade/2.4.0.sql

index 03a4f2277f3a35caa433561a869ad5b6aab7ccc3..8c81c41d042feee5f4762121adaadaeb279204bc 100644 (file)
@@ -160,7 +160,7 @@ void IdoMysqlConnection::Reconnect(void)
 
        CONTEXT("Reconnecting to MySQL IDO database '" + GetName() + "'");
 
-       m_SessionToken = Utility::NewUniqueID();
+       m_SessionToken = static_cast<int>(Utility::GetTime());
 
        SetShouldConnect(true);
 
@@ -382,7 +382,7 @@ void IdoMysqlConnection::Reconnect(void)
 
 void IdoMysqlConnection::ClearCustomVarTable(const String& table)
 {
-       Query("DELETE FROM " + GetTablePrefix() + table + " WHERE session_token <> '" + Escape(m_SessionToken) + "'");
+       Query("DELETE FROM " + GetTablePrefix() + table + " WHERE session_token <> " + Convert::ToString(m_SessionToken));
 }
 
 void IdoMysqlConnection::ClearConfigTable(const String& table)
@@ -683,7 +683,7 @@ bool IdoMysqlConnection::FieldToEscapedString(const String& key, const Value& va
                return true;
        }
        if (key == "session_token") {
-               *result = "'" + Escape(m_SessionToken) + "'";
+               *result = m_SessionToken;
                return true;
        }
        if (key == "notification_id") {
index bab16a7a84f4765d2cd05724fc5f3f539525b779..684c73b983c7142895fc33b16e39680f66d19afe 100644 (file)
@@ -69,7 +69,7 @@ protected:
 
 private:
        DbReference m_InstanceID;
-       String m_SessionToken;
+       int m_SessionToken;
 
        WorkQueue m_QueryQueue;
 
index ea004edd4e24d8b5e931a1f6ef90f3eb685b52d0..f1a2f8d06c528857d363dfb65a952a3dabfe894b 100644 (file)
@@ -342,7 +342,7 @@ CREATE TABLE IF NOT EXISTS icinga_customvariables (
   varname varchar(255) character set latin1 collate latin1_general_cs default NULL,
   varvalue TEXT character set latin1  default '',
   is_json smallint default 0,
-  session_token varchar(512) character set latin1 default NULL,
+  session_token int default NULL,
   PRIMARY KEY  (customvariable_id),
   UNIQUE KEY object_id_2 (object_id,config_type,varname),
   KEY varname (varname)
@@ -363,7 +363,7 @@ CREATE TABLE IF NOT EXISTS icinga_customvariablestatus (
   varname varchar(255) character set latin1 collate latin1_general_cs default NULL,
   varvalue TEXT character set latin1  default '',
   is_json smallint default 0,
-  session_token varchar(512) character set latin1 default NULL,
+  session_token int default NULL,
   PRIMARY KEY  (customvariablestatus_id),
   UNIQUE KEY object_id_2 (object_id,varname),
   KEY varname (varname)
index a7bf0fcb08477fe54d8dff1390488e57d08a65e9..498c3e39f02a7eab677ef7ddff1ebffa985ac090 100644 (file)
@@ -52,8 +52,8 @@ ALTER TABLE icinga_hoststatus ADD COLUMN original_attributes TEXT character set
 -- #10436 deleted custom vars
 -- -----------------------------------------
 
-ALTER TABLE icinga_customvariables ADD COLUMN session_token varchar(512) character set latin1 default NULL;
-ALTER TABLE icinga_customvariablestatus ADD COLUMN session_token varchar(512) character set latin1 default NULL;
+ALTER TABLE icinga_customvariables ADD COLUMN session_token int default NULL;
+ALTER TABLE icinga_customvariablestatus ADD COLUMN session_token int default NULL;
 
 CREATE INDEX cv_session_del_idx ON icinga_customvariables (session_token);
 CREATE INDEX cvs_session_del_idx ON icinga_customvariablestatus (session_token);
index 8af2b30a4efa913131f69705182491be82963853..d59ec7815107f5f77eed6e0171f0cc5ae3e85b8f 100644 (file)
@@ -160,7 +160,7 @@ void IdoPgsqlConnection::Reconnect(void)
 
        CONTEXT("Reconnecting to PostgreSQL IDO database '" + GetName() + "'");
 
-       m_SessionToken = Utility::NewUniqueID();
+       m_SessionToken = static_cast<int>(Utility::GetTime());
 
        SetShouldConnect(true);
 
@@ -377,7 +377,7 @@ void IdoPgsqlConnection::Reconnect(void)
 
 void IdoPgsqlConnection::ClearCustomVarTable(const String& table)
 {
-       Query("DELETE FROM " + GetTablePrefix() + table + " WHERE session_token <> '" + Escape(m_SessionToken) + "'");
+       Query("DELETE FROM " + GetTablePrefix() + table + " WHERE session_token <> " + Convert::ToString(m_SessionToken));
 }
 
 void IdoPgsqlConnection::ClearConfigTable(const String& table)
@@ -561,7 +561,7 @@ bool IdoPgsqlConnection::FieldToEscapedString(const String& key, const Value& va
                return true;
        }
        if (key == "session_token") {
-               *result = "'" + Escape(m_SessionToken) + "'";
+               *result = m_SessionToken;
                return true;
        }
        if (key == "notification_id") {
index d3cedff01f903a50c38a1a6ceaa2f338701b7df1..2fa2ba8e0ad7ce483d8e31d03784cb1ed359c0d4 100644 (file)
@@ -61,7 +61,7 @@ protected:
 
 private:
        DbReference m_InstanceID;
-       String m_SessionToken;
+       int m_SessionToken;
 
        WorkQueue m_QueryQueue;
 
index 8b9a8ce7f5a96dd2a8fc895500dbd0f9e4860b0b..13b4396b6696957f3309191269b3d9e9f892ce67 100644 (file)
@@ -368,7 +368,7 @@ CREATE TABLE  icinga_customvariables (
   varname TEXT  default '',
   varvalue TEXT  default '',
   is_json INTEGER  default 0,
-  session_token TEXT default NULL,
+  session_token INTEGER default NULL,
   CONSTRAINT PK_customvariable_id PRIMARY KEY (customvariable_id) ,
   CONSTRAINT UQ_customvariables UNIQUE (object_id,config_type,varname)
 ) ;
@@ -389,7 +389,7 @@ CREATE TABLE  icinga_customvariablestatus (
   varname TEXT  default '',
   varvalue TEXT  default '',
   is_json INTEGER  default 0,
-  session_token TEXT default NULL,
+  session_token INTEGER default NULL,
   CONSTRAINT PK_customvariablestatus_id PRIMARY KEY (customvariablestatus_id) ,
   CONSTRAINT UQ_customvariablestatus UNIQUE (object_id,varname)
 ) ;
index 909869a506f5e0e922ee19a88e4ad2676c6637a0..1e50ec3e24854867e416c8ef57d0cde15ca5fedd 100644 (file)
@@ -162,8 +162,8 @@ ALTER TABLE icinga_hoststatus ADD COLUMN  original_attributes TEXT default NULL;
 -- #10436 deleted custom vars
 -- -----------------------------------------
 
-ALTER TABLE icinga_customvariables ADD COLUMN session_token TEXT default NULL;
-ALTER TABLE icinga_customvariablestatus ADD COLUMN session_token TEXT default NULL;
+ALTER TABLE icinga_customvariables ADD COLUMN session_token INTEGER default NULL;
+ALTER TABLE icinga_customvariablestatus ADD COLUMN session_token INTEGER default NULL;
 
 CREATE INDEX cv_session_del_idx ON icinga_customvariables (session_token);
 CREATE INDEX cvs_session_del_idx ON icinga_customvariablestatus (session_token);