Commit Graph

1012 Commits

Author SHA1 Message Date
Brian Warner
a8b6cad827 transcribe: refactor in anticipation of EventSource client 2015-03-12 23:03:57 -07:00
Brian Warner
8741d5adaa relay: refactor in anticipation of a realtime EventSource-based protocol 2015-03-12 19:44:31 -07:00
Brian Warner
cda5634b1d relay.py: minor refactoring in anticipation of multi-pass rendezvous 2015-03-12 19:22:34 -07:00
Brian Warner
fcf3b080f9 transit: don't complain about the relay connection failing or being dropped 2015-03-12 18:38:42 -07:00
Brian Warner
fcd2678dfd transit: provide encrypted record-pipe, use it for file-xfer 2015-03-12 18:14:42 -07:00
Brian Warner
8b3e5836ee relay: log total bytes sent in each direction 2015-03-12 16:25:34 -07:00
Brian Warner
8dfe4e7b8d TRANSIT_RELAY: update to new hint format 2015-03-12 16:03:14 -07:00
Brian Warner
cedd04a2fb transit.py: add debug prints, disabled 2015-03-12 16:03:00 -07:00
Brian Warner
35630661a5 increase establish_connection() timeout to let relay work
If all the direct hints resulted in timeouts (e.g. they were to bad IP
addresses where connections just hang), the relay connection would fail.
The establish_connection() function had the same TIMEOUT as the
direct-hint connector, so it would give up just before the relay
connection was initiated.
2015-03-12 15:52:11 -07:00
Brian Warner
b5ff8a5d4a format inbound-hint better 2015-03-12 15:24:34 -07:00
Brian Warner
b27cbd19b6 change hint format to "tcp:HOST:PORT" 2015-03-12 15:20:06 -07:00
Brian Warner
d71c8492c1 transit: describe the connection 2015-03-12 14:50:40 -07:00
Brian Warner
c9e0246266 relay: reset channel-id to 1 when all channels are idle 2015-03-02 22:04:58 -08:00
Brian Warner
9a11f355ea relay: expire any rendezvous channel after one hour 2015-03-02 21:22:56 -08:00
Brian Warner
20fd7c40ae add progress updates to send/receive file 2015-03-02 12:45:55 -08:00
Brian Warner
7a99c04d64 add "wormhole" entrypoint script. requires twisted.
I'm using Twisted for the subcommand argument parsing. It might be nice
to use something smaller.
2015-03-02 00:32:21 -08:00
Brian Warner
5682ddff8e fix transit relay
stop using web setup for now
2015-03-02 00:09:17 -08:00
Brian Warner
dc8d6e979f more transit-relay work 2015-03-01 11:33:16 -08:00
Brian Warner
cd54eff994 start on transit relay client 2015-02-20 01:40:09 -08:00
Brian Warner
3cc4461049 reduce transit timeout to 15s 2015-02-20 01:39:31 -08:00
Brian Warner
f5741f9a52 offer a wrong-password error message 2015-02-20 00:32:48 -08:00
Brian Warner
3171a4bb56 transit: don't use hard-coded listening ports 2015-02-20 00:00:27 -08:00
Brian Warner
e4390859d1 transit: switch to proper handshakes, with keyid 2015-02-19 23:56:56 -08:00
Brian Warner
6f64b6d326 transit: finish refactoring, combine mostly into a single class 2015-02-19 23:55:05 -08:00
Brian Warner
af5f2053b8 transit: start to factor into common superclass 2015-02-19 19:16:51 -08:00
Brian Warner
99e08c2e37 transit: use bidirectional connections 2015-02-19 19:09:08 -08:00
Brian Warner
01dbec820b transit: set key on both ends, instead of generate+send 2015-02-19 18:24:10 -08:00
Brian Warner
66ad6fb272 rearrange transit.py in preparation for refactoring 2015-02-19 18:19:17 -08:00
Brian Warner
12845f191b add derive_key(), use it for file-xfer bulk-encryption key 2015-02-19 17:16:43 -08:00
Brian Warner
50e466b581 don't complain about unconnectable sockets, improve error messages 2015-02-19 16:51:59 -08:00
Brian Warner
3ccd7bd61e file-xfer: add ack, print encouraging messages, remove noise 2015-02-19 16:30:24 -08:00
Brian Warner
0ba01b2ce7 hush exception noise 2015-02-19 15:55:59 -08:00
Brian Warner
9f998221da transit: fix race, file-xfer basically works, but noisy
The failed connections are throwing exceptions that should be caught and
ignored.
2015-02-19 15:30:16 -08:00
Brian Warner
ae68dad441 make transit mostly work, but the race condition kills it 2015-02-18 17:23:09 -08:00
Brian Warner
f459d59b48 transit: fix handshake
Also make all threads daemonic, so they won't keep the process alive.
Also crank up the timeouts for manual testing.
2015-02-18 16:20:35 -08:00
Brian Warner
18ff9f9fd6 transit: plausibly correct 2015-02-18 13:02:17 -08:00
Brian Warner
71e3e73c99 stumbling towards transit implementation 2015-02-17 13:59:08 -08:00
Brian Warner
9dd4c6039f better sketch of transit-client API 2015-02-15 14:42:59 -08:00
Brian Warner
38b9c07566 sketch out transit-client API 2015-02-15 09:53:59 -08:00
Brian Warner
d6ef752152 update code to match rearranged source tree 2015-02-15 09:32:19 -08:00
Brian Warner
e3964cd797 rearrange source tree 2015-02-15 09:29:28 -08:00
Brian Warner
f82730bfab add function to find local IP addresses
This is a stripped-down copy of the synchronous/blocking portion of
Tahoe-LAFS's src/allmydata/utils/iputil.py .
2015-02-15 09:26:59 -08:00
Brian Warner
db724a7b91 simplify ask-user-for-code (with completion) API 2015-02-15 09:16:17 -08:00
Brian Warner
bc1b367f06 deallocate channel even if key-exchange fails (wrong password) 2015-02-14 18:50:31 -08:00
Brian Warner
0474cc18d5 add list-channels API to relay, use it in receiver 2015-02-14 18:45:29 -08:00
Brian Warner
e2e2206159 use completing-input for wormhole code read, not sys.argv 2015-02-14 17:48:38 -08:00
Brian Warner
e10cd515fe import the PGP wordlist (2*256), use 16-bit codes 2015-02-13 23:37:05 -08:00
Brian Warner
d5d4a3f97a start on transit service 2015-02-11 18:13:54 -08:00
Brian Warner
ab8d9f7678 default to a relay hosted on my own domain, for now 2015-02-11 16:48:53 -08:00
Brian Warner
a67d6365f8 transcribe.py: properly encrypt the transferred data 2015-02-11 02:09:08 -08:00
Brian Warner
04ef43f872 transcribe: more refactoring, speed polling to 2Hz 2015-02-11 01:46:33 -08:00
Brian Warner
48476f0840 transcribe.py: factor out common polling code 2015-02-11 01:35:11 -08:00
Brian Warner
6f055c84b9 fix relay URLs 2015-02-11 01:18:18 -08:00
Brian Warner
13a02df636 implement relay, fix transcribe.py to use it properly 2015-02-11 01:05:11 -08:00
Brian Warner
8e522d5387 move scripts to bin/ 2015-02-11 01:04:37 -08:00
Brian Warner
c690e8101c transcribe.Initiator: mostly complete 2015-02-10 21:08:26 -08:00
Brian Warner
3ddfac3eeb copy eventual.py/observer.py from Foolscap 2015-02-10 18:34:34 -08:00
Brian Warner
f5a0b3e5c6 fill in initiator flow, define relay API 2015-02-10 18:34:13 -08:00
Brian Warner
246e080c7c sample clients: fill in more details 2015-02-10 17:04:28 -08:00
Brian Warner
84852f26f5 start on sample clients 2015-02-10 16:50:32 -08:00
Brian Warner
c14749fae0 add first unit test, 'setup.py test' support 2015-02-10 01:05:15 -08:00
Brian Warner
d782a8b63b initial setup.py, versioneer-ification 2015-02-10 00:48:19 -08:00