示例#1
0
 def run(self):
     ## The MysqlHandler object for the communication with the database
     self.db = MysqlHandler(self.db_username, self.db_passwd,
                            self.db_dbname)
     data = self.connection.recv(MasterDaemon.MAX_DATA_LENGTH).decode()
     self.daemon.parse_data(data, self.connection, 0, self.db)
     self.db.close()
示例#2
0
 def mysql_handler_personnal_query(self, query, db=0):
     tmp = db
     if not tmp:
         db = MysqlHandler(self.db_username, self.db_passwd, self.db_dbname)
     res = db.personnal_query(query)
     db.updatedb()
     if not tmp:
         db.close()
     return res
示例#3
0
 def run(self):
     ## Database handler to query master database
     self.db = MysqlHandler(self.db_username, self.db_passwd, self.db_dbname);
     self.logger.error('SELECT serial, secretkey, daemon_id FROM daemon WHERE serial=\''+self.connected_host+'\'');
     res = self.sql.mysql_handler_personnal_query('SELECT serial, secretkey, daemon_id FROM daemon WHERE serial=\''+self.connected_host+'\'', self.db);
     aes_key = '';
     for r in res:
         if r[0] == self.connected_host:
             aes_key = r[1];
             daemon_id = r[2];
             break;
     if not aes_key:
         return None;
     try:
         data = self.connection.recv(MasterDaemon.MAX_DATA_LENGTH);
         decrypt_IV = data[:16].decode();
         decode_obj = AES.new(aes_key, AES.MODE_CBC, decrypt_IV);
         data2 = decode_obj.decrypt(data[16:]).decode();
         flag = False;
         obj = data2;
         self.daemon.parse_data(obj, self.connection, daemon_id, self.db);
     except Exception as e:
         self.logger.error(e);
     self.db.close();
示例#4
0
 def run(self):
     ## Database handler for querying database
     self.db = MysqlHandler(self.db_username, self.db_passwd,
                            self.db_dbname)
     launch_smartcommand(self)
     self.db.close()