fd867a9cd6
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 |
||
---|---|---|
docs | ||
misc | ||
pyi | ||
src/wormhole | ||
.appveyor.yml | ||
.coveragerc | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
MANIFEST.in | ||
NEWS.md | ||
README.md | ||
setup.cfg | ||
setup.py | ||
snapcraft.yaml | ||
tox.ini | ||
versioneer.py |
Magic Wormhole
Get things from one computer to another, safely.
This package provides a library and a command-line tool named wormhole
,
which makes it possible to get arbitrary-sized files and directories
(or short pieces of text) from one computer to another. The two endpoints are
identified by using identical "wormhole codes": in general, the sending
machine generates and displays the code, which must then be typed into the
receiving machine.
The codes are short and human-pronounceable, using a phonetically-distinct wordlist. The receiving side offers tab-completion on the codewords, so usually only a few characters must be typed. Wormhole codes are single-use and do not need to be memorized.
For complete documentation, please see https://magic-wormhole.readthedocs.io or the docs/ subdirectory.
License, Compatibility
This library is released under the MIT license, see LICENSE for details.
This library is compatible with python2.7, 3.5, 3.6, and 3.7.