Brian Warner
532aa0811c
update idSymmetric= to match SPAKE2-0.3
2015-09-22 01:07:46 -07:00
Brian Warner
88dab265de
test blocking code, using twisted+deferToThread
...
Unfortunately Twisted still requires python2, so we can't use this to
test the intended python3-compatibility of the blocking code.
2015-09-21 23:21:40 -07:00
Brian Warner
46f1fd2cd0
factor error classes into a common file
2015-09-21 23:21:26 -07:00
Brian Warner
8f1ce1f835
update twisted/demo.py
2015-07-24 18:04:15 -07:00
Brian Warner
aec8b65724
rename twisted/eventsource.py in prep for directory merge
2015-07-24 17:55:23 -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
d8ca850d1a
blocking: finish alignment
2015-07-24 17:28:55 -07:00
Brian Warner
2ad65e13fe
blocking: more alignment with twisted/transcribe.py
2015-07-24 17:22:02 -07:00
Brian Warner
2e44181e6d
blocking: introduce _post_message()/_post_json()
2015-07-24 17:16:33 -07:00
Brian Warner
5951015f79
rearrange twisted+blocking to look roughly the same
2015-07-24 17:02:32 -07:00
Brian Warner
cebfa71563
minor reformatting, improve test error messages
2015-07-24 16:57:19 -07:00
Brian Warner
cdeaac0ad0
twisted: deallocate in more errorful situations
2015-07-24 16:56:41 -07:00
Brian Warner
62ebd07036
twisted/transcribe: refactoring
2015-07-24 16:46:39 -07:00
Brian Warner
77b80495c9
improve typechecking, nacl.utils.EncryptedMessage is not a bytestring
...
but it derives from one
2015-07-24 16:45:20 -07:00
Brian Warner
a46a405487
refactor: _get_message() (singular) does unhexlify too
2015-07-24 16:33:29 -07:00
Brian Warner
5e1690cad8
rearrange slightly
2015-07-24 16:26:01 -07:00
Brian Warner
e5fcc6a8c8
rename some methods to make them more private
2015-07-24 16:18:03 -07:00
Brian Warner
effbd27047
minor rearrangement
2015-07-24 16:00:13 -07:00
Brian Warner
cfe51f73c1
replace base asserts with UsageError
2015-07-24 15:55:42 -07:00
Brian Warner
056cf107fc
replace blocking Initiator/Receiver with just symmetric Wormhole
...
first pass, seems to work
2015-07-17 17:23:07 -07:00
Brian Warner
bc54a0bbca
move blocking/eventsource out to a separate file
2015-07-17 16:55:29 -07:00
Brian Warner
894da44244
relay: make it possible to omit the Transit server
2015-06-21 21:08:21 -07:00
Brian Warner
dc65b4354d
twisted: split allocate_ports() out to util.py
...
so it can be used by downstream projects
2015-06-21 21:04:33 -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
25472423c6
make twisted work, get serialization into shape, add proper tests
2015-06-20 19:18:21 -07:00
Brian Warner
0f58f3906d
rough out twisted.SymmetricWormhole
2015-06-20 18:55:08 -07:00
Brian Warner
85dd3ba948
make twisted/ a real package
2015-06-20 18:55:07 -07:00
Brian Warner
951da1a59b
eventsource: add Agent, deliver eventtype correctly
...
import eventual.py from the right place
2015-06-20 18:54:37 -07:00
Brian Warner
5241c07b8c
copy eventsource.py from petmail c98d5a0
2015-06-20 18:34:26 -07:00
Brian Warner
b6b6c6aea4
upgrade to versioneer-0.15, fixes 'setup.py develop'
2015-05-31 16:39:39 -07:00
Brian Warner
d7415b7053
minor expiration cleanups
2015-05-04 18:28:54 -07:00
Brian Warner
183303e11e
rework expiration, prune after 3 days, check every 2 hours
2015-05-04 18:28:04 -07:00
Brian Warner
dc3f2eee43
server: build ChannelList from db, not self.channels
2015-05-04 18:25:52 -07:00
Brian Warner
1aab908091
allocate_channel_id: use DB to get list of previous allocations
2015-05-04 18:24:23 -07:00
Brian Warner
a03fb3900e
relay: track allocations through DB
2015-05-04 18:24:23 -07:00
Brian Warner
043392ee2a
relay: add database, not used yet
2015-05-04 18:24:23 -07:00
Brian Warner
c3b048a4d3
relay: remove/disable unused code, hush pyflakes
2015-04-20 18:34:45 -07:00
Brian Warner
c393e09e8a
server: add --advertise-version option
2015-04-20 18:34:13 -07:00
Brian Warner
790ae9a0dc
change channel-allocation web API (incompatibly)
...
This will make it easier to manage channel allocation later, when we
switch to a database.
2015-04-10 22:03:08 -05:00
Brian Warner
819a37476b
add "-0" mode: no codes, no auth, fixed channel
...
Like roulette but with forward security.
2015-04-09 23:06:57 -05:00
Brian Warner
5f35fcee61
send --verify: tell user to include --verify on receiver too
...
In the long run, this needs to be included in the second PAKE message,
and the MitM consequences thought through.
2015-04-09 22:56:39 -05:00
Brian Warner
5e593509b4
allow pre-generated (human-offline-created) codes
...
Just make up a code like NUMBER-STUFF, and add --code= to the
send-text/send-file command. Also don't use tab-completion on the
codewords part of the receiving side, unless you stuck to the even/odd
PGP wordlist. (tab still works for the channel-id).
2015-04-09 22:50:07 -05:00
Brian Warner
3aa7e22708
relay: don't require allocate(): first message creates the Channel
...
this enables pre-generated (human-offline-created) codes, as long as
they use a channel id high enough to avoid colliding with any allocated
ones.
2015-04-09 22:46:18 -05:00
Brian Warner
c8d2fc8750
relay: improve the way we allocate channels
...
Now the server allocates a channel randomly from set of available ids
with the shortest possible length. So concurrency=1 will always yield a
channel-id between 1 and 9 (inclusive). If we have 9 simultaneous
sessions, we'll start allocating channels from 10 to 99. 100
simultaneous connections kicks us into the 100-999 bucket, etc.
2015-04-09 22:45:04 -05:00
Brian Warner
ecc04ff675
display message-of-the-day, if the server offers one
2015-04-09 12:45:12 -07:00
Brian Warner
5ff59c92e0
display current-version-is-different even when erroring out
2015-04-09 12:35:07 -07:00
Brian Warner
e881d169a6
error out if server gives a "sorry we're closed" error
2015-04-09 12:29:26 -07:00
Brian Warner
6da9f3ec3a
warn (to stderr) if the client version differs from the server's
...
This is a proxy for the other client's version, and encourages both
sides to upgrade to the current version each time the server is
upgraded (which will be once per release).
2015-04-09 11:46:23 -07:00
Brian Warner
782214813b
server+client: fix SSE alternate-event-type handling
...
I think the server needs to put blank lines after *every* field, not
just the data: fields.
2015-04-09 11:37:50 -07:00
Brian Warner
9d7cd1d7de
server: add "welcome message" to all responses, including server version
2015-04-08 21:03:27 -07:00