From 501ef2920a448f2ffe1487c0694dca4eaafd61da Mon Sep 17 00:00:00 2001 From: quadrismegistus Date: Wed, 9 Sep 2020 20:15:35 +0100 Subject: [PATCH] updates --- komrade/backend/messages.py | 4 +--- komrade/backend/operators.py | 27 ++++++++++++++------------- komrade/backend/the_telephone.py | 4 ++-- komrade/utils.py | 7 +++++-- 4 files changed, 22 insertions(+), 20 deletions(-) diff --git a/komrade/backend/messages.py b/komrade/backend/messages.py index 2ea87f3..911b269 100644 --- a/komrade/backend/messages.py +++ b/komrade/backend/messages.py @@ -38,15 +38,13 @@ class Message(Logger): def __repr__(self): - msg_d_str=dict_format(self.msg_d) + msg_d_str=dict_format(self.msg_d,tab=6) return f""" self.caller={self.caller} self.callee={self.callee} - self.msg={self.msg} self.msg_d={msg_d_str} - self.route={self.route} """ diff --git a/komrade/backend/operators.py b/komrade/backend/operators.py index 63259dd..eac0a3d 100644 --- a/komrade/backend/operators.py +++ b/komrade/backend/operators.py @@ -78,23 +78,23 @@ class Operator(Keymaker): msg_obj = Message(msg_d,caller=self,callee=another) # self.log('created msg obj:',msg_obj) - + # encrypt! + msg_obj.encrypt(recursive=False) return msg_obj - def seal_msg(self,msg_obj): + def seal_msg(self,msg_d): # make sure encrypted - self.log('sealing msg!') - msg_obj.encrypt(recursive=True) + self.log('sealing msg!:',dict_format(msg_d)) + # msg_obj.encrypt(recursive=True) # return pure binary version of self's entire msg_d - self.log('encrypted msg_d: ',msg_obj.msg_d) - - msg_b = package_for_transmission(msg_obj.msg_d) - self.log('sealed msg_d: ',msg_b) - - + msg_b = pickle.dumps(msg_obj.msg_d) + self.log('pickled!',msg_b) + # encrypt by omega key msg_b_encr = self.omega_key.encrypt(msg_b) + self.log('final seal:',msg_b_encr) + return msg_b_encr def unseal_msg(self,msg_b_encr): @@ -107,7 +107,7 @@ class Operator(Keymaker): from komrade.backend.messages import Message msg_obj = Message(msg_d) # decrypt msg - msg_obj.decrypt(recursive=True) + # msg_obj.decrypt(recursive=True) return msg_obj @@ -122,8 +122,9 @@ class Operator(Keymaker): # get encr msg obj msg_obj = self.compose_msg_to(msg, to_whom) - self.log(f'here is the message object I made, to send to {to_whom}: {msg_obj}') + # self.log(f'here is the message object I made, to send to {to_whom}: {msg_obj}') + # msg_encr = msg_obj.msg # encrypting # msg_obj.encrypt() # self.log(f'now I look like: {msg_obj}') @@ -132,7 +133,7 @@ class Operator(Keymaker): # pass onto next person... if not get_resp_from: get_resp_from=to_whom.ring_ring - resp_msg_obj = get_resp_from(msg_obj) + resp_msg_obj = get_resp_from(msg_obj.msg_d) self.log('resp_msg_obj <-',resp_msg_obj) # decrypt? diff --git a/komrade/backend/the_telephone.py b/komrade/backend/the_telephone.py index bcb5f4d..774f183 100644 --- a/komrade/backend/the_telephone.py +++ b/komrade/backend/the_telephone.py @@ -17,9 +17,9 @@ class TheTelephone(Operator): def find_pubkey(self): return self.telephone_keychain.get('pubkey') - def send_and_receive(self,msg_b): + def send_and_receive(self,msg_d): # seal for transport - msg_b_sealed = self.seal_msg(msg_b) + msg_b_sealed = self.seal_msg(msg_d) # prepare for transmission across net msg_b64 = b64encode(msg_b_sealed) diff --git a/komrade/utils.py b/komrade/utils.py index 6981632..f16a2ce 100644 --- a/komrade/utils.py +++ b/komrade/utils.py @@ -36,11 +36,11 @@ def dict_format(d, tab=0): s = ['{\n'] for k,v in d.items(): if isinstance(v, dict): - v = format(v, tab+1) + v = dict_format(v, tab+1) else: v = repr(v) - s.append('%s%r: %s,\n' % (' '*tab, k, v)) + s.append('%s%r: %s (%s),\n' % (' '*tab, k, v, type(v).__name__)) s.append('%s}' % (' '*tab)) return ''.join(s) @@ -85,7 +85,10 @@ import ujson as json import pickle def package_for_transmission(data_json): # print('package_for_transmission.data_json =',data_json) + + data_json_b = pickle.dumps(data_json) + # print('data_json_b??') # print('package_for_transmission.data_json_b =',data_json_bstr) return b64encode(data_json_b)