Brian Warner
76f5960517
rewrite welcome handler
2017-04-06 12:22:45 -07:00
Brian Warner
0ed363c894
Key: sort messages to ensure got_code lands before got_pake
...
Since input_code() sets the nameplate before setting the rest of the code,
and since the sender's PAKE will arrive as soon as the nameplate is set, we
could got_pake before got_code, and Key wasn't prepared to handle that.
2017-04-06 12:22:44 -07:00
Brian Warner
07a49bfaca
make progress on rlcompleter, still broken
2017-04-06 12:22:44 -07:00
Brian Warner
bd974f3801
test Nameplate, Mailbox. refactor a little bit
2017-04-06 12:22:44 -07:00
Brian Warner
e66d2df9f1
test and fix wordlist methods
2017-04-06 12:22:44 -07:00
Brian Warner
3873f55d64
make Input tests pass, clarify error cases, cleanups
2017-04-06 12:22:44 -07:00
Brian Warner
175fef2ab4
clean up wordlist handling
2017-04-06 12:22:44 -07:00
Brian Warner
ae95948c17
more tweaks
2017-04-06 12:22:44 -07:00
Brian Warner
4f1b352b2a
more work: allocator, input, shift responsibilities
2017-04-06 12:22:44 -07:00
Brian Warner
79d38da497
split Code into Code/Input/Allocator, ostensibly simpler
2017-04-06 12:22:44 -07:00
Brian Warner
0ddc93110b
work on new Code state machine design
2017-04-06 12:22:44 -07:00
Brian Warner
299f89c01f
new idea on code-input helper API
2017-04-06 12:22:44 -07:00
Brian Warner
4bd9d3579c
go back to "input_code" instead of "type_code"
2017-04-06 12:22:44 -07:00
Brian Warner
5f9894ca63
API updates, make most tests pass, disable others
...
* finally wire up "application versions"
* remove when_verifier (which used to fire after key establishment, but
before the VERSION message was received or verified)
* fire when_verified and when_version at the same time (after VERSION is
verified), but with different args
2017-04-06 12:22:44 -07:00
Brian Warner
9571fcd388
docs: write up "journaled mode"
2017-04-06 12:22:44 -07:00
Brian Warner
20ec911b6c
add API list, and speculative sections on serialization and dilation
2017-04-06 12:22:44 -07:00
Brian Warner
b4fdcfe53b
update api.md
2017-04-06 12:22:44 -07:00
Brian Warner
51a73d6962
client-protocol docs: improve
2017-04-06 12:21:00 -07:00
Brian Warner
dd6e139c19
document file-transfer protocol and Transit
2017-04-06 12:21:00 -07:00
Brian Warner
187e14862d
document client-to-client protocol
2017-04-06 12:21:00 -07:00
Brian Warner
9314c6918f
start documenting the protocols
2017-04-06 12:21:00 -07:00
Brian Warner
6ada8252b7
Code: handle being connected before being told what to do
2017-04-06 12:21:00 -07:00
Brian Warner
e9f3107127
deliver app-versions up to Wormhole
2017-04-06 12:21:00 -07:00
Brian Warner
60a61c995b
implement w.derive_key()
2017-04-06 12:21:00 -07:00
Brian Warner
b7b8df17be
rename NameplateLister to Lister (unique prefix L)
2017-04-06 12:21:00 -07:00
Brian Warner
9a2d992815
reminder how ConnectionService should fail if first attempt fails
2017-04-06 12:21:00 -07:00
Brian Warner
fcdcf30ba8
docs: move state machine diagrams into separate directory
2017-04-06 12:21:00 -07:00
Brian Warner
610db612ba
improve error handling
...
errors raised while processing a received message will cause the Wormhole to
close-with-error, and any pending Deferreds will be errbacked
2017-04-06 12:21:00 -07:00
Brian Warner
26adaabe18
implement new split nameplate/mailbox/terminator
...
fails even worse than before, of course
2017-04-06 12:21:00 -07:00
Brian Warner
02bea00366
dot: split Mailbox and Nameplate into separate machines
...
add Terminator for shutdown
2017-04-06 12:21:00 -07:00
Brian Warner
97d1ff859b
logic bug: M.S4B.close() must not re-send RELEASE
2017-04-06 12:21:00 -07:00
Brian Warner
41b7bcfed5
working on fixes
2017-04-06 12:21:00 -07:00
Brian Warner
b7df5e21eb
more tests, still failing
2017-04-06 12:21:00 -07:00
Brian Warner
8a2810ba70
test basic code allocation
2017-04-06 12:21:00 -07:00
Brian Warner
ef1904bc52
get null test working (open and immediate close)
2017-04-06 12:21:00 -07:00
Brian Warner
c95b6d402c
Code: don't sent tx_allocate until we're connected
...
So Code needs connected/lost from the RendezvousConnector
2017-04-06 12:21:00 -07:00
Brian Warner
d4bedeafbf
general fixes
2017-04-06 12:21:00 -07:00
Brian Warner
20814a65f4
rename Wormhole (machine) to Boss, leave room for higher-level thing
2017-04-06 12:21:00 -07:00
Brian Warner
a2ed35ceb8
remove old files, lots of type work
2017-04-06 12:21:00 -07:00
Brian Warner
80661392b6
build out all state machines
...
still early: automat is happy (they're syntactically valid), but the Outputs
are not implemented, and there are plenty of type mismatches
2017-04-06 12:21:00 -07:00
Brian Warner
a3ec344eb8
clean up machine names/initials
...
C: Code
RC: Rendezvous Connector
R: Receive
2017-04-06 12:21:00 -07:00
Brian Warner
f3b1e847e9
fix everything: should now be consistent and correct
...
Start with machines.dot, which gives the override. Then traverse downwards
from wormhole.dot .
2017-04-06 12:21:00 -07:00
Brian Warner
e85309a784
split out receive/send machines
2017-04-06 12:21:00 -07:00
Brian Warner
a675648335
code.dot: better names
2017-04-06 12:21:00 -07:00
Brian Warner
c050d06753
update code.dot
2017-04-06 12:21:00 -07:00
Brian Warner
50050dc140
finish wormhole.dot
2017-04-06 12:21:00 -07:00
Brian Warner
2fc5af7bd0
nameplates.dot: done
2017-04-06 12:21:00 -07:00
Brian Warner
44cc1399c4
make mailbox/mailbox_close/machines consistent
...
finally get mailbox.png layout good enough
2017-04-06 12:21:00 -07:00
Brian Warner
c9f3abe703
rename .dot files, remove obsolete ones
2017-04-06 12:21:00 -07:00
Brian Warner
40e0d6b663
more work, feels better now
2017-04-06 12:21:00 -07:00