Brian Warner
86f246dbdb
just might work. close() mapped out.
...
Starting to draw a distinction between clean-close and abrupt-halt. At least,
if we're in the connected state, wormhole.close() should take its time and
free up server-side resources (nameplate/mailbox) right away, rather than
relying on GC/timeouts to release them.
It might be useful to make separate "clean" wormhole.close() and "abrupt"
wormhole.halt() API calls, except that really when would you ever call halt?
To be realistic, only one of two things will happen:
* connection happens normally, app finishes, calls "clean" close()
* app terminates suddenly, via exception or SIGINT
The problem with defining .close() is that I have to make it work sensibly
from any state, not just the one plausible "connected" state. Providing
.halt() requires defining its behavior from everywhere else.
2017-04-06 12:21:00 -07:00
Brian Warner
2cfc990d5e
more
2017-04-06 12:21:00 -07:00
Brian Warner
5b82b424a0
w.dot: comment out things that seem superceded by w2.dot
2017-04-06 12:21:00 -07:00
Brian Warner
fa76b57976
w2.dot: add M_ prefix
2017-04-06 12:21:00 -07:00
Brian Warner
e7b2a7bbf9
fixing 118 is the key
2017-04-06 12:21:00 -07:00
Brian Warner
f85e2ec68a
more
2017-04-06 12:21:00 -07:00
Brian Warner
f27e601e41
more
2017-04-06 12:21:00 -07:00
Brian Warner
78fcb6b809
new approach, thinking about connections up front
2017-04-06 12:21:00 -07:00
Brian Warner
6c77f33cdf
start on connection machine
2017-04-06 12:21:00 -07:00
Brian Warner
3ec7747b1e
more
2017-04-06 12:21:00 -07:00
Brian Warner
b1f313b116
more diagram work
2017-04-06 12:21:00 -07:00
Brian Warner
8a9b50b320
adding high-level state diagram
...
Automat doesn't let me combine flowcharts with state machines in a way that's
useful for documenting my thoughts.
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
98e3df1e4d
api.md: mark argument slightly better
2017-04-06 12:12:42 -07:00
Shirley Kotian
abec2d2680
typos
2017-03-18 18:39:54 +05:30
Brian Warner
775a35d337
update Tor docs, mention py2-only
2017-01-16 18:21:42 -05:00
Brian Warner
c6ac04433f
add docs/tor.md
2017-01-16 11:14:23 -05:00
Brian Warner
7f2edeeb11
document some attacks
...
closes #107
2017-01-01 14:29:48 -05:00
Antoine Beaupré
d7441cfe8a
remove out of date version numbers
2016-12-15 10:36:32 -05:00
Antoine Beaupré
7bade97bc2
add cross-refs and authors
2016-12-15 10:36:16 -05:00
Antoine Beaupré
cdc25e533a
move wormhole-server to section 8
...
this is where admin commands and daemons belong, according to intro(8)
2016-12-15 10:35:49 -05:00
Antoine Beaupré
cc890aa6fa
import manpages from Debian project
2016-12-15 10:25:28 -05:00
Brian Warner
06d2a0be68
update docs
2016-05-25 20:58:53 -07:00
Brian Warner
edebf4d787
update events.dot with check-verifier logic
2016-05-25 18:06:08 -07:00
Brian Warner
f6a5581f92
move events diagram (.dot) into docs/
2016-05-24 16:15:19 -07:00
Brian Warner
104ef44d53
provide wormhole() as a function, rather than a class constructor
...
You must always provide a reactor= argument. In the future, omitting the
reactor= argument is how you ask for a blocking Wormhole.
2016-05-12 16:45:54 -07:00
Brian Warner
4dfa569769
docs: remove named phases, Wormhole is now a record pipe
2016-05-12 16:45:54 -07:00
Brian Warner
a1c4ef7279
document Transit protocol
2016-02-14 17:48:17 -08:00
Brian Warner
cc369d6b1e
api.md: fix typo
2015-11-12 09:30:48 -08:00
Brian Warner
80beb20631
make blocking.Wormhole into a context manager
2015-11-11 21:59:16 -08:00
Brian Warner
bf43dae2ad
add multiple phases, change key-derivation strings
...
Because of the key-derivation change, clients will not be compatible
across this commit.
2015-10-06 20:39:20 -07:00
Brian Warner
35768d6738
wormhole/invitation code is now unicode
2015-10-06 19:42:10 -07:00
Brian Warner
7f6410812c
transit URL, transit hints are now unicode
2015-10-06 19:29:59 -07:00
Brian Warner
9e1a00cbd9
appid and derive_key(purpose) are now unicode
2015-10-06 19:21:53 -07:00
Brian Warner
9ba7de6e1e
relay-url is now unicode
2015-10-06 19:19:39 -07:00
Brian Warner
f24e05d4cb
new Wormhole API: separate send_data()/get_data() calls
2015-10-03 22:03:27 -07:00
Brian Warner
b5d470fcda
make blocking/send-file work on py3
...
* declare transit records and handshake keys are bytes, not str
* declare transit connection hints to be str
* use six.moves.socketserver, six.moves.input for Verifier query
* argparse "--version" writes to stderr on py2, stdout on py3
* avoid xrange(), use subprocess.Popen(universal_newlines=True)
2015-09-28 00:24:36 -07:00
Brian Warner
a7213d9c9a
enforce bytes-vs-str in the API
...
The main wormhole code is str (unicode in py3, bytes in py2). Most
everything else must be passed as bytes in both py2/py3.
Keep the internal "side" string as a str, to make it easier to merge
with other URL pieces.
2015-09-28 00:24:36 -07:00
Brian Warner
5d93dccb88
appid and derive_key(purpose=) must be bytes, not unicode
2015-09-28 00:24:00 -07:00
Brian Warner
d76893c07e
update docs/api.md for 0.4.0
2015-09-22 01:27:17 -07:00
Brian Warner
efd6d27cc6
rename SymmetricWormhole to just "Wormhole"
...
Update docs too. Now both blocking/ and twisted/ use "Wormhole".
2015-07-24 17:47:46 -07:00
Brian Warner
f6eeaab0e4
add docs for 0.3.0
2015-06-24 00:26:03 -07:00
Brian Warner
6ee09f5316
add demo of twisted flow, update docs
...
python -m wormhole.twisted.demo send-text TEXT -> CODE
python -m wormhole.twisted.demo receive-text CODE -> TEXT
2015-06-20 19:18:29 -07:00
Brian Warner
beb9e240d4
update API docs
2015-03-25 17:02:57 -07:00
Brian Warner
f5a0b3e5c6
fill in initiator flow, define relay API
2015-02-10 18:34:13 -08:00
Brian Warner
84852f26f5
start on sample clients
2015-02-10 16:50:32 -08:00
Brian Warner
1b6668ff0a
start thinking about the API
2015-02-10 01:39:17 -08:00