Commit Graph

35 Commits

Author SHA1 Message Date
Brian Warner
b72f0ce934 INCOMPATIBLE CHANGE: switch to spake2-0.7
This changes the way keys are derived, and thus is incompatible with
previous versions. We pin "spake2==0.7" to avoid future surprises.
2016-05-24 13:14:34 -07:00
Brian Warner
bc908ef07e setup.py: pin twisted==16.1.1, remove pytrie
* To avoid an incompatible patch that landed in Twisted trunk after the
  16.1.1 release, autobahn pinned their requirement on Twisted to
  be <=16.1.1 . However Twisted reverted the patch before making a
  release. The new 16.2.0 is fine. Since autobahn has this pin, and
  since pip doesn't do full dependency resolution, I must add the pin
  too, so that 'pip install magic-wormhole' can work. I plan to remove
  this pin as soon as autobahn does the same upstream.
  https://github.com/crossbario/autobahn-python/issues/680
* A previous version of autobahn had a bug where it tried to import
  something that wasn't actually depended upon, exposed by having pynacl
  installed. Installing 'pytrie' manually fixed it. This doesn't seem to
  be a problem anymore, so I'm removing the manual dependency.
2016-05-24 00:10:16 -07:00
Brian Warner
49785008bb remove blocking implementation: it will return
It will return as a crochet-based wrapper around the Twisted
implementation.
2016-05-12 16:45:54 -07:00
Brian Warner
86edf96412 switch to tqdm for nicer CLI progress bars 2016-04-24 12:04:05 -07:00
Brian Warner
7b9c48fbc4 unsplit: last fixups 2016-04-20 19:18:41 -07:00
Brian Warner
b2c3f49038 unsplit txwormhole step 2: edit files 2016-04-20 19:18:41 -07:00
Brian Warner
7c45f3d472 unsplit wormhole_server step 2: edit files 2016-04-20 19:15:33 -07:00
Brian Warner
85b6264826 unsplit cli step 2: edit files 2016-04-20 19:15:33 -07:00
Brian Warner
7a5a99a1a8 unsplit tests step 3: modify files 2016-04-20 18:54:10 -07:00
Brian Warner
b99adecdde Depend upon autobahn, for upcoming websocket support.
Use 'autobahn[twisted]' just to be sure (plain 'autobahn' worked fine
for py27, but maybe it's needed for py35 or something).

Autobahn is failing to do some conditional import and accidentally
depends upon pytrie (for some encrypted WAMP thing) when we didn't ask
for it (https://github.com/crossbario/autobahn-python/issues/604). This
commit also adds a manual dependency on pytrie (which is pretty small)
until the upstream bug is fixed.
2016-04-18 17:58:40 -07:00
Brian Warner
3b215c106a use "hkdf" from PyPI instead of wormhole.hkdf 2016-04-18 16:49:29 -07:00
Brian Warner
f9e3b83456 move tests step 2: fix imports, setup.py, tox.ini 2016-04-18 16:45:03 -07:00
Brian Warner
17613ce8c1 move hkdf out of util/, remove now-empty directory 2016-04-18 16:45:03 -07:00
Brian Warner
36e63e2347 split wormhole_cli step 2: fix imports, setup.py 2016-04-18 16:43:18 -07:00
Brian Warner
323175ddfe split txwormhole step 1: move files 2016-04-18 16:41:52 -07:00
Brian Warner
87266f1292 split wormhole_server step 3: fix tests 2016-04-18 16:18:51 -07:00
Brian Warner
bde4696a8b split wormhole_server step 1: move files 2016-04-18 16:18:45 -07:00
Brian Warner
83c2612fc3 Require twisted (>=16.1.0) all the time.
The core Wormhole exchange will retain a blocking/non-Twisted
implementation, but the file-transferring Transit class is going to be
Twisted-only (maybe Twisted+asyncio). I want to improve the
protocol (add more parallelism, reduce round-trips), and the blocking
implementation is a messy bundle of threads and ick.

When this process is done (eventually), I'll be splitting out the
blocking Wormhole class into a separate distribution, which doesn't
depend upon Twisted.
2016-04-18 15:47:05 -07:00
Brian Warner
ed6e5ff169 get a TorManager working 2016-03-28 02:25:01 -07:00
Brian Warner
80603aaa32 finish py3/async support, needs Twisted >= 15.5.0
The latest Twisted fixes the web.Agent code we need for proper async
support. There's still a daemonization bug that prevents 'wormhole
server start' from succeeding (it hangs).
2015-12-01 00:15:24 -06:00
Brian Warner
8fe41e135d make blocking/send-text work on py3, add dependency on 'six'
* use modern/portable "next(iter)" instead of "iter.next()"
* use six.moves.input() instead of raw_input()
* tell requests' Response.iter_lines that we want str, not bytes
2015-09-28 00:24:36 -07:00
Brian Warner
b97b7ccd8c switch to spake2==0.3, with the faster symmetric algorithm
Note that this breaks compatibility of SymmetricWormhole, which was
previously only used by the Twisted flavor.
2015-09-22 01:03:43 -07:00
Brian Warner
d3c5fdc26a include .sql file in package_data 2015-06-20 18:30:21 -07:00
Brian Warner
b6b6c6aea4 upgrade to versioneer-0.15, fixes 'setup.py develop' 2015-05-31 16:39:39 -07: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
830ba18fe7 require spake2==0.2, which uses Ed25519 as a default 2015-04-09 10:40:16 -07:00
Brian Warner
d678e2fa66 new name: magic-wormhole 2015-03-23 23:38:47 -07:00
Brian Warner
8e456dea5e rewrite CLI tools to use argparse, remove Twisted dependency
We used to use twisted.python.usage.Options, hence we depended upon
Twisted. Now we depend upon "argparse" instead, which is in the py2.7
stdlib (and on pypi for 2.6). This package will still (eventually)
provide Twisted support, but applications which need it will already
express a dependency on twisted themselves, so by removing the
dependency here, we make life easier for applications that don't use it.
2015-03-22 16:52:35 -07:00
Brian Warner
502d43e0ea setup.py: include all packages= , I always forget that 2015-03-04 00:42:24 -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
00a032184e depend on pynacl, for encryption of exchanged data 2015-02-11 16:38:20 -08:00
Brian Warner
f5a0b3e5c6 fill in initiator flow, define relay API 2015-02-10 18:34:13 -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