magic-wormhole/src/wormhole
Brian Warner fd867a9cd6 send: stall the --verify input() long enough to send the Verifier
Specifically, this lets the `wormhole tx` side send the VERSIONS message
before input() happens, allowing the `wormhole rx` side to compute and
display the Verifier. This only matters when the receiver sends both PAKE and
VERSIONS in the same turn, which only happens when tab-completion allowed
them to learn the Nameplate early and thus receive the sender's PAKE early.
In the other cases, the receiver sends PAKE and VERSIONS on separate turns,
so the sender doesn't get into this situation.

The bug this fixes is when both sides use --verify, and the receiver uses
tab-completion, then the sender shows the Verifier and waits for
confirmation, but the receiver doesn't show the Verifier until *after* the
sender confirms. So the two users don't have enough information to compare.

Many thanks to Jacek Politowski (@jpolnetpl) for the catch and initial
investigation.

closes #349
2019-08-17 15:24:13 -07:00
..
_dilation ignore ConnectionRefusedError too 2019-08-11 22:20:49 -07:00
cli send: stall the --verify input() long enough to send the Verifier 2019-08-17 15:24:13 -07:00
test dilation side needs to be 16-chars to match transit relay 2019-08-11 22:20:49 -07:00
__init__.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
__main__.py __main__.py: stop breaking automat-visualize 2018-12-23 15:20:24 -05:00
_allocator.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
_boss.py w.dilate(): accept transit_relay_location=, pass through to manager 2019-08-11 22:20:49 -07:00
_code.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
_hints.py hints: avoid DNS lookups for all-numeric ipv4/ipv6 hints 2019-05-07 11:41:29 -07:00
_input.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
_interfaces.py more flake8 fixes, in wormhole.py and _interfaces.py 2018-12-23 15:22:57 -05:00
_key.py factor out HKDF 2018-12-23 15:23:27 -05:00
_lister.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
_mailbox.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
_nameplate.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
_order.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
_receive.py Revert "Boss/Receive: add 'side' to got_message" 2018-12-23 15:23:27 -05:00
_rendezvous.py terminator: shut down Dilator after everything else stops 2019-02-10 18:01:14 -08:00
_rlcompleter.py Correct spelling mistakes 2018-11-23 07:38:21 +00:00
_send.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
_terminator.py terminator: shut down Dilator after everything else stops 2019-02-10 18:01:14 -08:00
_version.py _version.py: hush lgtm.com alert 2018-01-02 08:19:08 +01:00
_wordlist.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
errors.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
eventual.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
ipaddrs.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
journal.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
observer.py observer.py: add EmptyableSet 2018-12-23 15:18:38 -05:00
timing.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
tor_manager.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30
transit.py factor out HKDF 2018-12-23 15:23:27 -05:00
util.py get tests to work on py2.7 2018-12-24 00:07:06 -05:00
wormhole.py w.dilate(): accept transit_relay_location=, pass through to manager 2019-08-11 22:20:49 -07:00
xfer_util.py Make code pep-8 compliant 2018-04-21 13:00:08 +05:30