Browse Source

Fixes for peer.py

Andrew Morgan 5 years ago
parent
commit
d3e62f2e03
1 changed files with 12 additions and 11 deletions
  1. 12 11
      sydent/replication/peer.py

+ 12 - 11
sydent/replication/peer.py

@@ -18,6 +18,7 @@ from sydent.db.threepid_associations import GlobalAssociationStore
 from sydent.threepid import threePidAssocFromDict
 
 import signedjson.sign
+import signedjson.key
 
 import logging
 import json
@@ -68,7 +69,7 @@ class LocalPeer(Peer):
                 else:
                     globalAssocStore.removeAssociation(assocObj.medium, assocObj.address)
 
-        d = twisted.internet.defer.succeed(True)
+        d = defer.succeed(True)
         return d
 
 
@@ -78,6 +79,14 @@ class RemotePeer(Peer):
         self.sydent = sydent
         self.port = 1001
 
+        # Get verify key from signing key
+        signing_key = signedjson.key.decode_signing_key_base64(alg, "0", self.pubkeys[alg])
+        self.verify_key = signing_key.verify_key
+
+        # Attach metadata
+        self.verify_key.alg = alg
+        self.verify_key.version = 0
+
     def verifyMessage(self, jsonMessage):
         if not 'signatures' in jsonMessage:
             raise NoSignaturesException()
@@ -91,16 +100,8 @@ class RemotePeer(Peer):
             e.requiredServername = self.servername
             raise e
 
-        # Get verify key from signing key
-        signing_key = signedjson.key.decode_signing_key_base64(alg, "0", self.pubkeys[alg])
-        verify_key = signing_key.verify_key
-
-        # Attach metadata
-        verify_key.alg = alg
-        verify_key.version = 0
-
         # Verify the JSON
-        signedjson.sign.verify_signed_json(jsonMessage, self.servername, verify_key)
+        signedjson.sign.verify_signed_json(jsonMessage, self.servername, self.verify_key)
 
     def pushUpdates(self, sgAssocs):
         body = {'sgAssocs': sgAssocs}
@@ -115,7 +116,7 @@ class RemotePeer(Peer):
         # (ie. remove the record we kept in order to propagate the deletion to
         # other peers).
 
-        updateDeferred = twisted.internet.defer.Deferred()
+        updateDeferred = defer.Deferred()
 
         reqDeferred.addCallback(self._pushSuccess, updateDeferred=updateDeferred)
         reqDeferred.addErrback(self._pushFailed, updateDeferred=updateDeferred)