import socket BUFFER_SIZE = 1024 if __name__ == '__main__': my_addr = get_local_address() (a3, idA) = WLSK_Init.init()(base.get_hostname()) print('Running on \x1b[1m{}\x1b[0m as an {}\nMy identity: {}\n'.format(my_addr, INITIATOR, idA)) resp_addr = input('Enter {} address: '.format(RESPONDER)) print('Connecting to the {}...'.format(RESPONDER)) delay() with socket.create_connection((resp_addr, RESP_PORT)) as rsock: print('Sending my identity to the {}...'.format(RESPONDER)) rsock.send(idA) n = rsock.recv(BUFFER_SIZE) delay() print('Received nonce') debug('n = {}'.format(n)) (_, iv1, e, m) = a3(n) print('Sending encrypted data...') debug('e = {}\nm = {}'.format(e, m)) delay() rsock.send(base.compose([iv1, e, m])) print('\x1b[32mSession finished\x1b[0m')
debug('n = {}'.format(n)) conn.send(n) data = conn.recv(BUFFER_SIZE) conn.close() (iv1, e, m) = base.decompose(data) print('Received secrets from {}'.format(INITIATOR)) debug('e = {}\nm = {}'.format(e, m)) (b6, idA_, idB_, iv2, e_, m_) = b4(iv1, e, m) print('Connecting to the {}...'.format(SERVER)) delay() with socket.create_connection((server_addr, SERVER_PORT)) as ssock: print('Sending encrypted data...') debug("idA' = {}\nidB' = {}\ne' = {}\nm' = {}".format(idA_, idB_, iv2, e_, m_)) delay() ssock.send(base.compose([idA_, idB_, iv2, e_, m_])) data = ssock.recv(BUFFER_SIZE) (iv3, e__, m__) = base.decompose(data) delay() print('Received secrets from {}'.format(SERVER)) debug("e'' = {}\nm'' = {}".format(e__, m__)) b6(iv3, e__, m__) print('\x1b[32mSession finished\x1b[0m')
server = WLSK_S.init() with socket.socket() as sock: sock.bind((my_addr, SERVER_PORT)) sock.listen(1) print('Listening on \x1b[1m{}\x1b[0m:{} as a {}'.format(my_addr, SERVER_PORT, SERVER)) while True: print('\nAwaiting connection...') conn, addr = sock.accept() print('Received connection from {0[0]}:{0[1]}'.format(addr)) data = conn.recv(BUFFER_SIZE) (idA_, idB_, iv2, e_, m_) = base.decompose(data) delay() print('Received secrets from {}'.format(RESPONDER)) debug("idA' = {}\nidB' = {}\ne' = {}\nm' = {}".format(idA_, idB_, iv2, e_, m_)) (_, iv3, e__, m__) = server(idA_, idB_, iv2, e_, m_) delay() print('Sending secrets...') debug("e'' = {}\nm'' = {}".format(e__, m__)) conn.send(base.compose([iv3, e__, m__])) conn.close() delay() print('\x1b[32mSession finished\x1b[0m')
def option(exception): def wrapper(predicate): def ret(*args, **kwargs): if predicate(*args, **kwargs): return Right(*args, **kwargs) else: return Left(exception(*args, **kwargs)) return ret return wrapper exists = option(FileNotFoundError)(path.exists) isfile = option(IsAFileError)(path.isfile) isdir = option(IsADirectoryError)(path.isdir) op, ar = parser.parse_args(fakeArgs) for key, value in op.__dict__.items(): if isinstance(value, Either): continue else: setattr(op, key, Right(value)) # filter = compose(list, filter) out = op.output files = compose(list, partial(filter, lambda s: s != ''), partial(str.split, sep=';')) files = out.map(files) files.map()