Ejemplo n.º 1
0
def plant_tree_req(handler, request):
    loop = asyncio.get_event_loop()
    # TODO
    """
    if not handler.io_transport:
        handler.io_transport, _ = \
            loop.create_unix_connection(proto.PomaresIOProtocol,
                                        config.io_sock_file)
    """
    new_msg = proto.encode(proto.Ack(b'plant reply ' + request.tree))
    new_msg = handler.box.encrypt(new_msg)
    handler.send_data(proto.compress_buff(new_msg))
Ejemplo n.º 2
0
def plant_tree_req(handler, request):
    loop = asyncio.get_event_loop()
    # TODO
    """
    if not handler.io_transport:
        handler.io_transport, _ = \
            loop.create_unix_connection(proto.PomaresIOProtocol,
                                        config.io_sock_file)
    """
    new_msg = proto.encode(proto.Ack(b'plant reply ' + request.tree))
    new_msg = handler.box.encrypt(new_msg)
    handler.send_data(proto.compress_buff(new_msg))
Ejemplo n.º 3
0
    def do_handshake(self, handler, msg):
        logger.debug('do_handshake()')
        try:
            # receive client pubkey and create my init_box
            handler.init_box = CryptoBox(self.keyobj)
            logger.debug("server init_box pk: {}".format(self.keyobj.pk))
            logger.debug("server init_box sk: {}".format(self.keyobj.sk))

            # init box with client's pubkey
            handler.init_box.box_with(msg.key)

            # create and send secret
            handler.box = SecretBox()
            sk_msg = encode(PubKeyReply(handler.box.sk))
            sk_msg = handler.init_box.encrypt(sk_msg)
            handler.send_data(compress_buff(sk_msg))

            handler.handshaked = True
            logger.info('HANDSHAKED1')
        except:
            raise BadHandshake()
Ejemplo n.º 4
0
    def do_handshake(self, handler, msg):
        logger.debug('do_handshake()')
        try:
            # receive client pubkey and create my init_box
            handler.init_box = CryptoBox(self.keyobj)
            logger.debug("server init_box pk: {}".format(self.keyobj.pk))
            logger.debug("server init_box sk: {}".format(self.keyobj.sk))

            # init box with client's pubkey
            handler.init_box.box_with(msg.key)

            # create and send secret
            handler.box = SecretBox()
            sk_msg = encode(PubKeyReply(handler.box.sk))
            sk_msg = handler.init_box.encrypt(sk_msg)
            handler.send_data(compress_buff(sk_msg))

            handler.handshaked = True
            logger.info('HANDSHAKED1')
        except:
            raise BadHandshake()
Ejemplo n.º 5
0
        session = self.loop.run_until_complete(self.server)
        session_admin = self.loop.run_until_complete(self.admin_server)
        session_io = self.loop.run_until_complete(self.io_server)
        logger.debug('serving on {}'.format(session.sockets[0].getsockname()))
        logger.debug('serving admin on {}'.format(session_admin.sockets[0].
                                                  getsockname()))
        logger.debug('serving io on {}'.format(session_io.sockets[0].
                                               getsockname()))
        self.loop.run_forever()


def start_server(keyfile, address, port):
    server = PomaresServer(pathjoin(key_path, keyfile), address, port)
    server.run()


if __name__ == '__main__':
    if sys.argv[1] == 'client':
        loop = asyncio.get_event_loop()
        payload = sys.argv[2]
        payload = bytes(payload.encode())
        print('input size: {}'.format(len(payload)))
        payload = compress_buff(payload)
        print('payload size: {}'.format(4+len(payload)))
        server_prot = PomaresProtocol(payload)
        loop.run_until_complete(loop.create_connection(lambda: server_prot,
                                                       host='127.0.0.1',
                                                       port=8080))
        loop.run_forever()
        loop.close()
Ejemplo n.º 6
0
        session_admin = self.loop.run_until_complete(self.admin_server)
        session_io = self.loop.run_until_complete(self.io_server)
        logger.debug('serving on {}'.format(session.sockets[0].getsockname()))
        logger.debug('serving admin on {}'.format(
            session_admin.sockets[0].getsockname()))
        logger.debug('serving io on {}'.format(
            session_io.sockets[0].getsockname()))
        self.loop.run_forever()


def start_server(keyfile, address, port):
    server = PomaresServer(pathjoin(key_path, keyfile), address, port)
    server.run()


if __name__ == '__main__':
    if sys.argv[1] == 'client':
        loop = asyncio.get_event_loop()
        payload = sys.argv[2]
        payload = bytes(payload.encode())
        print('input size: {}'.format(len(payload)))
        payload = compress_buff(payload)
        print('payload size: {}'.format(4 + len(payload)))
        server_prot = PomaresProtocol(payload)
        loop.run_until_complete(
            loop.create_connection(lambda: server_prot,
                                   host='127.0.0.1',
                                   port=8080))
        loop.run_forever()
        loop.close()
Ejemplo n.º 7
0
def echo(handler, request):
    new_msg = proto.encode(proto.Ack(b'echo ' + request.value))
    new_msg = handler.box.encrypt(new_msg)
    handler.send_data(proto.compress_buff(new_msg))
Ejemplo n.º 8
0
def echo(handler, request):
    new_msg = proto.encode(proto.Ack(b'echo ' + request.value))
    new_msg = handler.box.encrypt(new_msg)
    handler.send_data(proto.compress_buff(new_msg))
Ejemplo n.º 9
0
 def send_command(self, handler):
     new_msg = encode(self.command)
     new_msg = handler.box.encrypt(new_msg)
     handler.send_data(compress_buff(new_msg))
Ejemplo n.º 10
0
 def do_handshake_init(self):
     logger.debug('do_handshake_init()')
     # send my pubkey to server
     handshk_payload = compress_buff(encode(PubKeyReply(self.keyobj.pk)))
     self.client_prot = PomaresProtocol(handshk_payload)