INCOMPATIBILITY: rename "confirm" phase to "version"

This better reflects the purpose of the message. Key confirmation is a
side-effect.

This patch only changes the "phase:" name and the key-derivation string.
A subsequent patch will modify the function and variable names to match.
This commit is contained in:
Brian Warner 2016-05-25 19:09:00 -07:00
parent 424474cd7e
commit dcdddc9d60
2 changed files with 10 additions and 10 deletions

View File

@ -232,15 +232,15 @@ class Basic(unittest.TestCase):
out = ws.outbound()
self.assertEqual(len(out), 2, out)
self.check_out(out[0], type=u"release")
self.check_out(out[1], type=u"add", phase=u"confirm")
self.check_out(out[1], type=u"add", phase=u"version")
self.assertNoResult(v)
# hearing a valid confirmation message doesn't throw an error
plaintext = json.dumps({}).encode("utf-8")
data_key = w._derive_phase_key(side2, u"confirm")
data_key = w._derive_phase_key(side2, u"version")
confmsg = w._encrypt_data(data_key, plaintext)
confirm2_hex = hexlify(confmsg).decode("ascii")
response(w, type=u"message", phase=u"confirm", body=confirm2_hex,
response(w, type=u"message", phase=u"version", body=confirm2_hex,
side=side2)
# and it releases the verifier
@ -532,7 +532,7 @@ class Basic(unittest.TestCase):
else:
w._key = b"wrongkey"
plaintext = json.dumps({}).encode("utf-8")
data_key = w._derive_phase_key(side2, u"confirm")
data_key = w._derive_phase_key(side2, u"version")
confmsg = w._encrypt_data(data_key, plaintext)
w._key = None
@ -612,7 +612,7 @@ class Basic(unittest.TestCase):
self.failureResultOf(w.verify(), WelcomeError)
def test_confirm_error(self):
# we should only receive the "confirm" message after we receive the
# we should only receive the "version" message after we receive the
# PAKE message, by which point we should know the key. If the
# confirmation message doesn't decrypt, we signal an error.
timing = DebugTiming()
@ -646,7 +646,7 @@ class Basic(unittest.TestCase):
nonce = os.urandom(wormhole.CONFMSG_NONCE_LENGTH)
badconfirm = wormhole.make_confmsg(confkey, nonce)
badconfirm_hex = hexlify(badconfirm).decode("ascii")
response(w, type=u"message", phase=u"confirm", body=badconfirm_hex,
response(w, type=u"message", phase=u"version", body=badconfirm_hex,
side=u"s2")
self.failureResultOf(d1, WrongPasswordError)

View File

@ -558,7 +558,7 @@ class _Wormhole:
# dictionary of version flags to let the other Wormhole know what
# we're capable of (for future expansion)
plaintext = json.dumps(self._my_versions).encode("utf-8")
phase = u"confirm"
phase = u"version"
data_key = self._derive_phase_key(self._side, phase)
encrypted = self._encrypt_data(data_key, plaintext)
self._msg_send(phase, encrypted)
@ -588,7 +588,7 @@ class _Wormhole:
def _event_received_confirm(self, side, body):
# We ought to have the master key by now, because sensible peers
# should always send "pake" before sending "confirm". It might be
# should always send "pake" before sending "version". It might be
# nice to relax this requirement, which means storing the received
# confirmation message, and having _event_established_key call
# _check_confirmation()
@ -603,7 +603,7 @@ class _Wormhole:
self._confirmation_checked = True
side, body = self._confirmation_message
data_key = self._derive_phase_key(side, u"confirm")
data_key = self._derive_phase_key(side, u"version")
try:
plaintext = self._decrypt_data(data_key, body)
except CryptoError:
@ -717,7 +717,7 @@ class _Wormhole:
if phase == u"pake":
return self._event_received_pake(body)
if phase == u"confirm":
if phase == u"version":
return self._event_received_confirm(side, body)
if re.search(r'^\d+$', phase):
return self._event_received_phase_message(side, phase, body)