get things from one computer to another, safely
Go to file
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
docs docs: add dilation state machines diagram 2019-07-05 15:56:13 -07:00
misc remove server-related source files, munin plugins 2018-02-20 23:46:29 -08:00
pyi use pyinstaller to build wormhole fat/standalone binary 2018-06-02 18:05:45 +02:00
src/wormhole send: stall the --verify input() long enough to send the Verifier 2019-08-17 15:24:13 -07:00
.appveyor.yml appveyor: set TOXENV separately for each python version 2019-05-05 19:22:06 -04:00
.coveragerc add 'coverage' environment for tox 2016-05-24 16:03:39 -07:00
.gitattributes initial setup.py, versioneer-ification 2015-02-10 00:48:19 -08:00
.gitignore use pyinstaller to build wormhole fat/standalone binary 2018-06-02 18:05:45 +02:00
.travis.yml README: drop python3.4 support 2019-07-05 15:50:00 -07:00
LICENSE Initial commit 2015-02-10 00:38:44 -08:00
MANIFEST.in MANIFEST.in: add some missing files 2018-10-16 16:29:24 -07:00
NEWS.md NEWS: update for 0.11.2 release 2018-11-13 15:08:53 -08:00
README.md README: drop python3.4 support 2019-07-05 15:50:00 -07:00
setup.cfg setup.cfg: bump flake8 max-line-length to 85 2018-12-23 15:22:57 -05:00
setup.py setup.py: hush deprecation warning 2019-02-10 11:18:48 -08:00
snapcraft.yaml Merge PR237 2017-07-31 12:29:21 -07:00
tox.ini tox.ini: remove py3.4 from envlist 2019-08-09 10:41:31 -07:00
versioneer.py Correct spelling mistakes 2018-11-23 07:38:21 +00:00

Magic Wormhole

PyPI Build Status Windows Build Status codecov.io Docs

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.