Commit Graph

1532 Commits

Author SHA1 Message Date
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
eb18b1359e Merge branch 'twisted' 2015-06-20 19:21:16 -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
d3c5fdc26a include .sql file in package_data 2015-06-20 18:30:21 -07:00
Brian Warner
20e35f1b1e enable travis 2015-06-20 18:30:19 -07:00
Brian Warner
b6b6c6aea4 upgrade to versioneer-0.15, fixes 'setup.py develop' 2015-05-31 16:39:39 -07:00
Brian Warner
ec90ef43da use sqlite to track channel allocation 2015-05-05 00:14:56 -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
549b348aee minor typo 2015-04-13 20:11:48 -04: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
f7f05b21b8 add missing files 2015-04-10 00:08:01 -05:00
Brian Warner
18c1e125bd setup.py: finish renaming 2015-04-10 00:02:24 -05:00
Brian Warner
3f662ea68c add proper README 2015-04-09 23:58:31 -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
3a728d4a06 ignore twistd.pid 2015-04-09 11:47:01 -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
830ba18fe7 require spake2==0.2, which uses Ed25519 as a default 2015-04-09 10:40:16 -07:00
Brian Warner
9d7cd1d7de server: add "welcome message" to all responses, including server version 2015-04-08 21:03:27 -07:00
Brian Warner
dc9bc0c575 Use "wormhole server start" to launch a relay server. 2015-04-08 18:39:33 -07:00
Brian Warner
cf592d0766 CLI: avoid importing anything until command is actually run
In prep for moving the server launch command into the main CLI path,
without imposing dependency on pynacl/etc.
2015-04-01 16:01:32 -07:00
Brian Warner
beb9e240d4 update API docs 2015-03-25 17:02:57 -07:00
Brian Warner
0217a13da6 change relay URL: use more distinctive path prefix
This might make it easier for an application's web site to include a
relay, without competing with some other resource named "relay".
2015-03-25 16:51:55 -07:00
Brian Warner
883cacf903 wormhole receive-file: add --overwrite 2015-03-25 16:31:35 -07:00
Brian Warner
717bfa3b0b move public relays to new hostnames and ports 2015-03-25 14:46:35 -07:00
Brian Warner
106991fe0d require caller to provide transit relay too 2015-03-25 13:07:17 -07:00
Brian Warner
fae14ebe6a Add --verify (display/check key-verifier). Not entirely usable yet.
To be useful, both sides must add -v. If the sender uses -v but the
receiver doesn't, the receiver won't show the verification string, so
the sender can't compare it to anything (and must either abort the
transfer or accept it blindly). Maybe the receiver should show the
verification string unconditionally. Maybe the sender should
indicate (in unprotected plaintext, along with the PAKE message) whether
the receiver should show it or not.
2015-03-24 00:28:02 -07:00
Brian Warner
ed1809d521 change API to support upcoming --verify flag 2015-03-24 00:03:10 -07:00
Brian Warner
af1e3c51ec add --code-length, to configure the size of the PAKE code (in bytes/words) 2015-03-23 23:53:28 -07:00
Brian Warner
d678e2fa66 new name: magic-wormhole 2015-03-23 23:38:47 -07:00