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()
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
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();
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()