[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2873: remove obsolete dependency on "pycrypto"

Tahoe-LAFS trac at tahoe-lafs.org
Wed Mar 29 21:38:48 UTC 2017


#2873: remove obsolete dependency on "pycrypto"
-----------------------+------------------------
 Reporter:  warner     |          Owner:  daira
     Type:  defect     |         Status:  new
 Priority:  normal     |      Milestone:  1.13.0
Component:  packaging  |        Version:  1.12.1
 Keywords:             |  Launchpad Bug:
-----------------------+------------------------
 Tahoe currently declares a dependency on
 [https://pypi.python.org/pypi/pycrypto pycrypto], despite not using it
 directly (the only reference is a `from Crypto import Util` in
 test_sftp.py, used to check whether we think SFTP is available). We should
 remove this.

 (note: this ticket is not about removing `pycryptopp`, the minimal python
 wrapper that zooko initially wrote for the high-quality C++ library known
 as Crypto++. #2322 is about doing that)

 We added this dependency years ago when twisted.conch (which powers our
 SFTP frontend) needed it for various crypto purposes. At that time, I
 considered the SFTP frontend to be "optional", and didn't want to impose
 additional dependencies on users who didn't want it. So I made the SFTP
 unit tests conditional on whether we could import `Crypto` or not,
 thinking that it was the one thing that might not be present (the rest of
 twisted.conch shows up "for free" as part of Twisted).

 Later, we (maybe Daira, who did a lot of work on SFTP) decided to simplify
 the set of possibilities, and make all dependencies mandatory.

 Since then, twisted.conch has switched from pycrypto to (pyca)
 `cryptography`.

 The right way to express this dependency is by depending upon
 `twisted[conch]` (probably on `twisted[tls,conch]` if we need both).

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2873>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list