From 28e83de0d7abef1a8b137d72fb25ad41169d7d61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A1lint=20Bokros?= Date: Fri, 9 Feb 2018 14:08:14 +0100 Subject: [PATCH] Create PoC of solvable with hardcoded responses --- lib/tfw/networking/controller_connector.py | 2 +- src/app/app.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/tfw/networking/controller_connector.py b/lib/tfw/networking/controller_connector.py index b539163..4a9caca 100644 --- a/lib/tfw/networking/controller_connector.py +++ b/lib/tfw/networking/controller_connector.py @@ -15,4 +15,4 @@ class ControllerConnector(ZMQConnectorBase): self._zmq_rep_socket.connect('tcp://localhost:{}'.format(CONTROLLER_PORT)) self._zmq_rep_stream = ZMQStream(self._zmq_rep_socket) - self.register_callback = self._zmq_rep_stream.on_recv + self.register_callback = self._zmq_rep_stream.on_recv_stream diff --git a/src/app/app.py b/src/app/app.py index 3dc6d8f..383fd9a 100644 --- a/src/app/app.py +++ b/src/app/app.py @@ -7,12 +7,28 @@ from tornado.ioloop import IOLoop from sql_injection_fsm import SQLInjectionFSM from tfw.config import tfwenv from tfw.config.logs import logging +from tfw.networking.controller_connector import ControllerConnector +from tfw.networking.serialization import deserialize_all, serialize_all + log = logging.getLogger(__name__) from tfw.networking.server.zmq_websocket_handler import FSMManagingSocketHandler +def zmq_callback(stream, msg_parts): + key, data = deserialize_all(*msg_parts) + if key == 'test': + stream.send_multipart(serialize_all(key, 'OK')) + if key == 'solution_check': + stream.send_multipart(serialize_all(key, { + 'solved': True, + 'message': 'solved' + })) + + if __name__ == '__main__': fsm = SQLInjectionFSM() + controller_connector = ControllerConnector() + controller_connector.register_callback(zmq_callback) routes = [ (r'/ws', FSMManagingSocketHandler, {'fsm': fsm}), ]