komrade update!

posting
quadrismegistus 4 years ago
parent 17a94b3228
commit 8646e32882

@ -294,8 +294,8 @@ class Operator(Keymaker):
crypt=None,
uri=None,
prefix='/inbox/',
privkey=None,
pubkey=None,
privkey_b=None,
pubkey_b=None,
encryptor_func=None,
decryptor_func=None):
@ -306,12 +306,12 @@ class Operator(Keymaker):
if not uri: uri=self.uri
if not encryptor_func or not decryptor_func:
if not privkey: privkey=self.privkey
if not pubkey: pubkey=self.pubkey
if not privkey_b: privkey_b=self.privkey.data
if not pubkey_b: pubkey_b=self.pubkey.data
smsg=SMessage(
privkey.data,
pubkey.data
privkey_b,
pubkey_b
)
encryptor_func=smsg.wrap
decryptor_func=smsg.unwrap

@ -510,7 +510,7 @@ class TheOperator(Operator):
def actually_deliver_msg(self,msg_from_op):
msg_from_op_b_encr = msg_from_op.msg #.msg_b # pickle of msg_d
self.log('got this:',msg_from_op_b_encr)
self.log('<-',msg_from_op_b_encr)
deliver_to = msg_from_op.to_pubkey
deliver_to_b = b64dec(deliver_to)
@ -524,46 +524,18 @@ class TheOperator(Operator):
self.log(f'put {msg_from_op} (or {msg_from_op_b_encr}) in {post_id}')
# get inbox
inbox_old_encr = self.crypt_keys.get(
deliver_to,
prefix='/inbox/'
)
self.log(f'old inbox for {deliver_to}',inbox_old_encr)
if inbox_old_encr:
inbox_old = SMessage(
self.privkey.data,
deliver_to_b
).unwrap(inbox_old_encr) #.split(BSEP)
else:
inbox_old=b''
self.log('reloaded inbox:',inbox_old)
# add new inbox
inbox_new = post_id + (BSEP+inbox_old if inbox_old else b'')
self.log('new inbox = ',inbox_new)
# reencrypt
inbox_new_encr = SMessage(
self.privkey.data,
deliver_to_b
).wrap(inbox_new)
inbox_crypt = self.inbox_crypt(pubkey_b=deliver_to_b)
self.log('inbox_crypt',inbox_crypt)
self.log('inbox_crypt.values',inbox_crypt.values)
res_inbox = inbox_crypt.prepend(post_id)
# encrypt
self.log('new inbox encr:',inbox_new_encr)
# save back to crypt
self.crypt_keys.set(
deliver_to,
inbox_new_encr,
prefix='/inbox/',
override=True
)
return {
res = {
'status':'Message delivered.',
'success':True,
'post_id':post_id
'post_id':post_id,
'res_inbox':res_inbox
}
self.log('->',res)
def check_msgs(self,
msg_to_op,

Loading…
Cancel
Save