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:
		
							parent
							
								
									424474cd7e
								
							
						
					
					
						commit
						dcdddc9d60
					
				|  | @ -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) | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user