Commit Graph

1348 Commits

Author SHA1 Message Date
Brian Warner
b1d65f7483 Merge branch '157-unicode'
refs #157
2017-06-24 15:39:30 +01:00
Brian Warner
758dd5b9de use click.Path to make args.what unicode
refs #157 (unicode paths cause 'wormhole send' to crash), might fix it
2017-06-24 15:07:43 +01:00
Brian Warner
ec1f7ba6c9 more NEWS updates 2017-06-15 18:03:10 +01:00
Brian Warner
3f4723a5fa initial NEWS updates for the next release 2017-06-15 16:40:34 +01:00
Brian Warner
0970c3b7a1 Merge PR174: depend unconditionally on txtorcon
This adds no additional dependencies (txtorcon only depends on things that we
already depend upon anyways), and txtorcon itself is only 300kB. This removes
the need for using `pip install magic-wormhole[tor]` to get Tor support:
instead, just dod `pip install magic-wormhole`.

closes #174
2017-06-15 11:47:50 +01:00
Brian Warner
2575dbfad3 setup.py: require txtorcon all the time, remove 'tor' extra 2017-06-14 23:41:49 +01:00
Brian Warner
e7bb25907a Merge branch '68-first-failure' 2017-06-14 11:34:31 +01:00
Brian Warner
b66aacd968 bump Twisted dep to get ClientService.whenConnected(failAfterFailures=) 2017-06-14 10:41:55 +01:00
Brian Warner
8f97e4e7e2 if the first connection fails, abandon the wormhole
This provides a clear error in case the user doesn't have an internet
connection at all, or something is so broken with their DNS or routing that
they can't reach the server. I think this is better than waiting and
retrying (silently) forever.

If the first connection succeeds, but is then lost, subsequent retries occur
without fanfare.

closes #68
2017-06-14 10:40:46 +01:00
Brian Warner
caa25a05a1 Merge PR158
Closes #158
2017-06-01 22:12:21 +01:00
Brian Warner
117747306d setup.py: bump tqdm dep to 4.13.0
That's the first version that works on netbsd.
2017-06-01 21:58:27 +01:00
Brian Warner
ea1a9017d8 Merge PR169 2017-06-01 21:48:33 +01:00
Jean-Paul Calderone
46ebebbeb5 Leave everything versioned alone.
Otherwise, the tree is *always* dirty and so is the version.
2017-05-31 11:30:26 -04:00
Jean-Paul Calderone
d1aacc11af Fixes for Versioneer in the image
Versioneer wants git cli installed so it can ask about git revision
info.  So, install it.

Versioneer also cares about the name of the source directory.  So,
change it.

This gets us a version number like "0.9.2+257.g48b1f02" which is at
least better than "0+unknown".
2017-05-31 11:04:33 -04:00
Alex Gaynor
cf3c641e81 Mention brew installation in the readme 2017-05-27 13:48:01 -04:00
Brian Warner
48b1f0257b Merge branch 'new-txtorcon' 2017-05-25 01:36:49 -07:00
Brian Warner
b0224cc08c require txtorcon-0.19.3, for socks-port bugfix
We needed the fix for https://github.com/meejah/txtorcon/issues/237 so that
connect-to-running-tor works.
2017-05-25 01:19:34 -07:00
Brian Warner
598ab8b62a drop py3.3 support, since new txtorcon imports asyncio on py3
py3.3 is pretty rare in the wild anyways
2017-05-24 17:31:43 -07:00
Brian Warner
6b4ed71c8a skip non-public IP addresses
the old TorManager would return None for these, but txtorcon's new API throws
ValueError, which we must catch and skip
2017-05-24 16:49:06 -07:00
Brian Warner
269faf190a fall backs to SOCKS if we can't reach control port 2017-05-24 16:49:06 -07:00
Brian Warner
46a9c9eeb9 rewrite tor support
This shifts most reponsibility to the new txtorcon "Controller" object, where
it belongs. We no longer need a list of likely control-port locations, nor do
we need to keep track of the SOCKS port ourselves.

The one downside is that if a control-port is not reachable, then this does
not fall back to using a plain SOCKS port (usually tcp:localhost:9050).
txtorcon no longer uses txsocksx, so it no longer advertises a simple way to
use Tor without the control port. This shouldn't affect users who run the
TorBrowserBundle, or who are running a tor daemon which they can control
directly, but it may break for users who want to use a pre-existing tor
daemon that they don't have permissions to speak control-port to.
2017-05-24 16:49:06 -07:00
Brian Warner
805e07cd97 setup.py: extras=dev requires txtorcon on both py2 and py3
We used to avoid this on py3, but now that txtorcon (0.19.2) is compatible
with it, we can use it on both. This also means tests can rely on having
txtorcon available.
2017-05-24 16:48:00 -07:00
Brian Warner
10d2bea203 Merge PR161: add --ignore-unsendable-files flag for 'wormhole send'
closes #161
closes #112
2017-05-24 12:12:12 -07:00
Atul Varma
8c2e739dcd Make test_broken_symlink_raises_err resilient across OS's/locales. 2017-05-24 12:10:22 -07:00
Atul Varma
ecfd46d16d Add test_broken_symlink_is_ignored. 2017-05-24 12:10:22 -07:00
Atul Varma
067b47fceb Add test_broken_symlink. 2017-05-24 12:10:22 -07:00
Atul Varma
0737a24712 Add --ignore-unsendable-files flag. 2017-05-24 12:10:22 -07:00
Kenneth Reitz
285fd5bef4 Update README.md 2017-05-24 08:40:43 -07:00
Kurt Rose
5cf9fe9f3e added two __main__.py for cli and server 2017-05-23 21:01:21 -07:00
Brian Warner
073fcfa14d Merge PR160 2017-05-23 16:53:02 -07:00
Atul Varma
749db2d8c0 Add 'venv' to .gitignore. 2017-05-23 19:45:49 -04:00
Atul Varma
0765a567ff Add development instructions. 2017-05-23 19:43:18 -04:00
Brian Warner
66e0d86db8 Merge PR151: add --disallow-list to server
refs #150
closes #53
2017-05-16 16:44:14 -07:00
meejah
6b31517b67 Add an allow_list option to control nameplate-listings 2017-05-16 17:17:11 -06:00
Brian Warner
95651f24f9 improve test coverage on get_welcome() API 2017-05-15 16:10:22 -07:00
Brian Warner
d0b3e11950 Merge branch 'new-api-welcome'
This fixes #145. I thought it would add a roundtrip, but it turns out that
websockets were already adding the same delay, so I can't avoid it without
switching from websockets to raw TCP. Closes #145.
2017-05-15 02:19:24 -07:00
Brian Warner
7955a36bfd switch to new API
This renames all the existing API methods, to use a consistent
"d=get_XYZ()" (for Deferred mode) or "dg.wormhole_got_XYZ()" (for Delegated
mode). It updates cmd_send/cmd_receive/cmd_ssh to use the new API.

Since we now have get_welcome(), apps handle the Welcome message with a
Deferred callback instead of registering a "welcome handler". This lets us
make sure we've finished printing any server message-of-the-day or "you
should update your client" message to stdout before using stdio to ask for
the wormhole code. (Previously, the code-input prompt was overwritten by the
server message, and it was ugly). refs #145. This approach adds an extra
roundtrip to the receiver, but we can fix that (see #145 for details).

Because of that change, the server-is-being-slow message is printed at a
slightly different time, so those tests needed some extra work to exercise it
properly.
2017-05-15 02:13:24 -07:00
Brian Warner
2312f2ccce document new API (d=get_*), add get_welcome() 2017-05-15 02:13:24 -07:00
Brian Warner
6604eae7a0 timeline-viz: note the older d3 version we need
I should rewrite this to be compatible with the latest d3.js (v4), but for
now just install d3@3.5.17 instead.
2017-05-15 02:10:29 -07:00
Brian Warner
d19b5850cc docs: Wormhole does not, in fact, have a make-Transit method
yet
2017-05-14 18:52:20 -07:00
Brian Warner
f762e1592f cmd_receive.py: expose wormhole object to tests 2017-05-14 18:45:18 -07:00
Brian Warner
c9eb281a8a fix tracing bug that always showed machine as "T"
False binding to a mutable loop variable. I keep making this same mistake.
2017-05-14 18:43:44 -07:00
Brian Warner
23c16717aa test_util: tolerate os.statvfs missing on windows
The code in util.py can tolerate a missing os.statvfs, but the code which
tests that code's ability to tolerate a missing os.statvfs was itself unable
to tolerate a missing os.statvfs. Sigh.
2017-05-09 21:35:12 -07:00
Brian Warner
2ea81809e0 Merge PR149: add Docker build script for a rendezvous server. 2017-05-09 21:26:57 -07:00
Jean-Paul Calderone
44816a3fbd Some doc improvements 2017-05-09 11:36:53 -04:00
Jean-Paul Calderone
6394df4131 Usability improvements 2017-05-02 09:07:16 -04:00
Jean-Paul Calderone
55f836776b Enable deb-src lines.
This fixes the failure to get python-openssl build deps.
2017-05-02 08:43:25 -04:00
Jean-Paul Calderone
fd1bd8f2d7 Go back to the real package name
This alternate name didn't help.
2017-05-02 08:43:08 -04:00
Jean-Paul Calderone
94c5d2ce8d unclear why python-openssl fails the build
but it does

```
Picking 'pyopenssl' as source package instead of 'python-openssl'

[91mE: Unable to find a source package for python-openssl
[0m
```
2017-05-02 06:55:26 -04:00
Jean-Paul Calderone
8965cd2daa We have to do libffi-dev ourselves. 2017-05-01 13:16:54 -04:00