magic-wormhole/docs
Brian Warner 83e55f1f3e add w.when_key(), fix w.when_verified() to fire later
Previously, w.when_verified() was documented to fire only after a valid
encrypted message was received, but in fact it fired as soon as the shared
key was derived (before any encrypted messages are seen, so no actual
"verification" could occur yet).

This fixes that, and also adds a new w.when_key() API call which fires at the
earlier point. Having something which fires early is useful for the CLI
commands that want to print a pacifier message when the peer is responding
slowly. In particular it helps detect the case where 'wormhole send' has quit
early (after depositing the PAKE message on the server, but before the
receiver has started). In this case, the receiver will compute the shared
key, but then wait forever hoping for a VERSION that will never come. By
starting a timer when w.when_key() fires, and cancelling it when
w.when_verified() fires, we have a good place to tell the user that something
is taking longer than it should have.

This shifts responsibility for notifying Boss.got_verifier, out of Key and
into Receive, since Receive is what notices the first valid encrypted
message. It also shifts the Boss's ordering expectations: it now receives
B.happy() before B.got_verifier(), and consequently got_verifier ought to
arrive in the S2_happy state rather than S1_lonely.
2017-04-06 18:27:41 -07:00
..
state-machines add w.when_key(), fix w.when_verified() to fire later 2017-04-06 18:27:41 -07:00
api.md add w.when_key(), fix w.when_verified() to fire later 2017-04-06 18:27:41 -07:00
attacks.md document some attacks 2017-01-01 14:29:48 -05:00
client-protocol.md protocol docs fixups 2017-04-06 13:52:26 -07:00
file-transfer-protocol.md document file-transfer protocol and Transit 2017-04-06 12:21:00 -07:00
introduction.md start documenting the protocols 2017-04-06 12:21:00 -07:00
journal.md docs: write up "journaled mode" 2017-04-06 12:22:44 -07:00
server-protocol.md protocol docs fixups 2017-04-06 13:52:26 -07:00
tor.md update Tor docs, mention py2-only 2017-01-16 18:21:42 -05:00
transit.md document Transit protocol 2016-02-14 17:48:17 -08:00
w.dot rename .dot files, remove obsolete ones 2017-04-06 12:21:00 -07:00
wormhole-server.8 remove out of date version numbers 2016-12-15 10:36:32 -05:00
wormhole.1 remove out of date version numbers 2016-12-15 10:36:32 -05:00