Brian Warner
53a911cc80
finish Boss tests
2017-04-06 12:22:44 -07:00
Brian Warner
d8d305407b
start on Boss tests
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
3a289f8912
add tests for Send and Terminator
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
ae8652daf6
code: internal name changes
2017-04-06 12:22:44 -07:00
Brian Warner
0be5aba77d
begin worm on new Code machine
2017-04-06 12:22:44 -07:00
Brian Warner
e2c0f08216
minor renames for code-input helper stuff
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
276fdd3673
fix tests that exercise failure
2017-04-06 12:22:44 -07:00
Brian Warner
29f467e9d8
CLI: don't hide errors, fuss with verifier API
2017-04-06 12:22:44 -07:00
Brian Warner
921228a702
log errors better
2017-04-06 12:22:44 -07:00
Brian Warner
7c18fb81dd
only allow code to be set once
2017-04-06 12:22:44 -07:00
Brian Warner
2054e4c76b
test app versions
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
e518f2b799
throw KeyFormatError when given a code with spaces
2017-04-06 12:22:44 -07:00
Brian Warner
aebee61816
fix close behavior: Deferreds should errback once closed
2017-04-06 12:22:44 -07:00
Brian Warner
ddb83e9d59
wormhole: handle w.close() after error-induced closure
2017-04-06 12:21:00 -07:00
Brian Warner
2422ee0b88
disable NotWelcome test until signal_error is done
2017-04-06 12:21:00 -07:00
Brian Warner
9ca657a7c6
reenable TorManager
2017-04-06 12:21:00 -07:00
Brian Warner
4234e79161
test_wormhole: fix message-doubling test
2017-04-06 12:21:00 -07:00
Brian Warner
105d9cc59f
work on WelcomeHandler, still incomplete
2017-04-06 12:21:00 -07:00
Brian Warner
4c6cb1dddc
xfer_util: update to new API
2017-04-06 12:21:00 -07:00
Brian Warner
dfe9fd2395
RC: internal errors during ws_open should halt boss
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
8ee342ad82
make cmd_send/cmd_receive basically work again
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
0474c39bab
tests: match API change
2017-04-06 12:21:00 -07:00
Brian Warner
c499fce9f5
change API (wormhole.create), start on serialization
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
88cb42f95b
test_machines: exercise state machines better
2017-04-06 12:21:00 -07:00
Brian Warner
2dcfb07ba1
Receive does not need access to Key
2017-04-06 12:21:00 -07:00
Brian Warner
db7b24086f
set no-cover on all state-definition lines, and set_trace
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
fb92922918
terminator: renaming TODO note
2017-04-06 12:21:00 -07:00
Brian Warner
4222054903
nameplate: tolerate rx_claimed during shutdown
2017-04-06 12:21:00 -07:00
Brian Warner
4793208d4e
rewrite debug tracing, add to all machines
2017-04-06 12:21:00 -07:00
Brian Warner
b0c9c9bb4c
fix basic test
2017-04-06 12:21:00 -07:00
Brian Warner
1beae97ec4
fix things back to the previous point of not working
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
c8be988801
add some state-machine tracing
...
needs warner/automat/36-tracing branch
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
5d6989614b
work on top-level stuff
2017-04-06 12:21:00 -07:00
Brian Warner
7e7b43e910
start on top-level driver, wormhole.py
2017-04-06 12:21:00 -07:00
Brian Warner
88775d7f50
states.py: remove old file
2017-04-06 12:21:00 -07:00
Brian Warner
825370fdd2
cleanups, remove misc.py
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
92f2b89d3e
journal: fix syntax
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
3101ca51db
name cleanup
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
9ae8091ec3
delete old files
2017-04-06 12:21:00 -07:00
Brian Warner
21cb62a4cf
move _c2.py out of the way, I might want it later
2017-04-06 12:21:00 -07:00
Brian Warner
b179e66d08
start on machine implementation: _key.py and _send.py
2017-04-06 12:21:00 -07:00
Brian Warner
40e0d6b663
more work, feels better now
2017-04-06 12:21:00 -07:00
Brian Warner
16c477424c
more demo work
2017-04-06 12:21:00 -07:00
Brian Warner
693e215d8b
sketching out a journal-based demo app
2017-04-06 12:21:00 -07:00
Brian Warner
20b80be342
remove stale machines
2017-04-06 12:21:00 -07:00
Brian Warner
3af375b173
finish Mailbox state machine, including close
2017-04-06 12:21:00 -07:00
Brian Warner
b934192f20
work on Mailbox machine
2017-04-06 12:21:00 -07:00
Brian Warner
11a80f0018
moving to separate machine class
2017-04-06 12:21:00 -07:00
Brian Warner
3bf762b4f7
try coding top-level WormholeMachine
2017-04-06 12:21:00 -07:00
Brian Warner
faab1e87d0
split _machine.py out
2017-04-06 12:21:00 -07:00
Brian Warner
17a90d87ac
tweaks
2017-04-06 12:21:00 -07:00
Brian Warner
35324a7911
my StateMachine can now render .dot
2017-04-06 12:21:00 -07:00
Brian Warner
0fe6cfd994
tweaks
2017-04-06 12:21:00 -07:00
Brian Warner
0b05c9ca5a
new experimental state-machine language
...
I think I want to express actions as transient states. _c2.py matches w4.dot
2017-04-06 12:21:00 -07:00
Brian Warner
057f616765
more experimentation
2017-04-06 12:21:00 -07:00
Brian Warner
18f7ab9308
more state-machine work
2017-04-06 12:21:00 -07:00
Brian Warner
63ae3c63fc
notes
2017-04-06 12:21:00 -07:00
Brian Warner
9e5bf452e3
rename
2017-04-06 12:21:00 -07:00
Brian Warner
3c9c0e58ab
move to _connection.py, add more state machines
...
Starting on defining manager state machines for nameplates, mailboxes, the
PAKE key-establishment process, and the bit that knows it can drop the
connection when both nameplates and mailboxes have been released.
2017-04-06 12:21:00 -07:00
Brian Warner
14c8e76364
onConnect, start manual tests, doesn't work yet
2017-04-06 12:21:00 -07:00
Brian Warner
b826e8c73c
hack args till they work, add ALLOW_CLOSE
...
the diagram is a lot simpler if the only way to shut things down is to
terminate the whole process
2017-04-06 12:21:00 -07:00
Brian Warner
d136028fa8
try adding args
2017-04-06 12:21:00 -07:00
Brian Warner
73f3d86107
state machine should be complete, I think
2017-04-06 12:21:00 -07:00
Brian Warner
94b1ed8739
starting to draw new state machines
2017-04-06 12:21:00 -07:00
Brian Warner
65db4729cd
rendezvous_websocket.py: add idempotency docs
2017-03-03 05:55:39 -08:00
Brian Warner
8d5770d8cc
tor_manager: allow port to be a 'long'
2017-03-03 05:49:36 -08:00
Brian Warner
b7ff5f05d5
transit: allow port to be a 'long'
2017-03-03 05:49:30 -08:00
Brian Warner
cf9053637c
test_util: free-space can be a 'long'
2017-03-03 05:49:25 -08:00
Brian Warner
71f34e4f5b
test/run_trial.py: protect run() with __name__
...
Without this, any import (e.g. when running "automat-visualize") caused the
tests to be run as a side-effect.
2017-02-22 18:03:33 -08:00
Brian Warner
6889ba088c
remove server/runner.py, no longer used
2017-02-22 17:52:14 -08:00
Shannon Mulloy
ffefb5ebdc
improve coverage with input mock
2017-02-05 15:42:49 -08:00
Shannon Mulloy
33526b2180
rx: _remove_existing after accept
2017-02-05 13:29:20 -08:00
Shannon Mulloy
56a0a1f584
rx: allow overwrite with --output-file= #73
2017-02-04 19:27:09 -08:00
Brian Warner
20619bcce7
send: set allowZip64=True, to handle large (>2GB) directories
...
refs #138
2017-02-02 11:40:24 -08:00
Brian Warner
ed674e5ffe
transit: increase connection timeout from 15s to 60s
...
I haven't seen any timeouts yet, but I'm thinking ahead to .onion connections
that might take longer than 15 seconds to establish.
2017-01-16 17:56:16 -05:00