On Wed, Feb 14, 2018 at 01:59:29PM -0600, Matthew Thode wrote:
> On 18-02-14 13:55:53, Sean McGinnis wrote:
> > On Wed, Feb 14, 2018 at 10:09:47AM -0600, Matthew Thode wrote:
> > > Development has stalled, (since 2014).  It's been forked but now would
> > > be a good time to move to a more actively maintained crypto library like
> > > cryptography.
> > > 
> > > Requirements wishes to drop pycrypto.  Let me know if there's anything
> > > we can do to facilitate this.
> > > 
> > > -- 
> > > Matthew Thode (prometheanfire)
> > 
> > We did have a discussion on the ML, and I think a little at one of the PTGs,
> > about the path forward for this. IIRC, there was one other potential 
> > supported
> > package that was considered for an option, but we settled on cryptography as
> > the recommended path forward to get off of pycrypto. I think it had to do 
> > with
> > ease of being able to just drop in the new package with minimal affected 
> > code.
> > 
> 
> Yep, I remember it, I'm not mentioning it because I'd like to focus on
> moving to cryptography rather than move to the fork.

Seems like a good PTG ad-hoc session.

But looking at the dump below I don't actually think that we have that much 
work to do to switch.

$ get-all-requirements.py --all --pkgs pycrypto
Package      : pycrypto [pycrypto>=2.6] (used by 11 projects)
Included in  : 4 projects
openstack/barbican                            [cycle-with-milestones]
openstack/freezer                             [cycle-with-milestones]
openstack/solum                               [cycle-with-intermediary]
openstack/trove                               [cycle-with-milestones]
Also affects : 7 projects
openstack-dev/heat-cfnclient                  [None]
openstack/compass-core                        [None]
openstack/nova-powervm                        [None]
openstack/openstack-ansible                   [cycle-trailing]
openstack/pyghmi                              [None]
openstack/rpm-packaging                       [None]
openstack/tatu                                [None]

$ bash ./check_more_pycrypto.sh openstack/barbican openstack/freezer 
openstack/solum openstack/trove openstack-dev/heat-cfnclient 
openstack/compass-core openstack/nova-powervm openstack/openstack-ansible 
openstack/pyghmi openstack/rpm-packaging openstack/tatu
openstack/barbican:origin/master:barbican/tests/tasks/test_certificate_resources.py:555:
    def test_should_return_for_pycrypto_stored_key_with_passphrase(self):
openstack/barbican:origin/master:barbican/tests/tasks/test_certificate_resources.py:597:
    def test_should_return_for_pycrypto_stored_key_without_passphrase(self):
openstack/barbican:origin/master:barbican/tests/tasks/test_certificate_resources.py:632:
    def test_should_raise_for_pycrypto_stored_key_no_container(self):
openstack/barbican:origin/master:barbican/tests/tasks/test_certificate_resources.py:666:
    def test_should_raise_for_pycrypto_stored_key_no_private_key(self):
openstack/barbican:origin/master:requirements.txt:25:pycrypto>=2.6 # Public 
Domain
openstack/barbican:origin/master:barbican/plugin/dogtag.py:22:from 
Crypto.PublicKey import RSA  # nosec
openstack/barbican:origin/master:barbican/plugin/dogtag.py:23:from Crypto.Util 
import asn1  # nosec
openstack/barbican:origin/master:barbican/tests/plugin/test_dogtag.py:21:from 
Crypto.PublicKey import RSA  # nosec
openstack/freezer:origin/master:README.rst:127:-  pycrypto
openstack/freezer:origin/master:README.rst:590:restore. When a key is provided, 
it uses OpenSSL or pycrypto module (OpenSSL compatible)
openstack/freezer:origin/master:requirements.txt:21:pycrypto>=2.6 # Public 
Domain
openstack/freezer:origin/master:freezer/utils/crypt.py:17:from Crypto.Cipher 
import AES
openstack/freezer:origin/master:freezer/utils/crypt.py:18:from Crypto import 
Random
openstack/solum:origin/master:devstack/devstack-provenance:253:pip|pycrypto|2.6.1
openstack/solum:origin/master:requirements.txt:24:pycrypto>=2.6 # Public Domain
openstack/solum:origin/master:solum/api/handlers/plan_handler.py:20:from 
Crypto.PublicKey import RSA
openstack/solum:origin/master:solum/common/utils.py:14:from Crypto.Cipher 
import AES
openstack/trove:origin/master:integration/scripts/files/requirements/fedora-requirements.txt:30:pycrypto>=2.6
  # Public Domain
openstack/trove:origin/master:integration/scripts/files/requirements/ubuntu-requirements.txt:29:pycrypto>=2.6
  # Public Domain
openstack/trove:origin/master:requirements.txt:47:pycrypto>=2.6 # Public Domain
openstack/trove:origin/master:trove/common/crypto_utils.py:19:from 
Crypto.Cipher import AES
openstack/trove:origin/master:trove/common/crypto_utils.py:20:from Crypto 
import Random
openstack/trove:origin/master:trove/tests/unittests/common/test_crypto_utils.py:17:from
 Crypto import Random
openstack/trove:origin/master:trove/tests/unittests/common/test_stream_codecs.py:17:from
 Crypto import Random
openstack/compass-core:origin/master:test-requirements.txt:9:pycrypto
openstack/nova-powervm:origin/master:test-requirements.txt:8:pycrypto>=2.6 # 
Public Domain
openstack/pyghmi:origin/master:requirements.txt:1:pycrypto>=2.6
openstack/pyghmi:origin/master:pyghmi/ipmi/private/session.py:30:from 
Crypto.Cipher import AES
openstack/rpm-packaging:origin/master:openstack/freezer/freezer.spec.j2:42:BuildRequires:
  {{ py2pkg('pycrypto') }}
openstack/rpm-packaging:origin/master:openstack/freezer/freezer.spec.j2:87:Requires:
       {{ py2pkg('pycrypto') }}
openstack/rpm-packaging:origin/master:openstack/keystoneauth1/keystoneauth1.spec.j2:24:BuildRequires:
  {{ py2pkg('pycrypto', py_versions=['py2', 'py3']) }}
openstack/rpm-packaging:origin/master:openstack/keystonemiddleware/keystonemiddleware.spec.j2:27:BuildRequires:
  {{ py2pkg('pycrypto') }}
openstack/rpm-packaging:origin/master:openstack/pyghmi/pyghmi.spec.j2:17:BuildRequires:
  {{ py2pkg('pycrypto', py_versions=['py2', 'py3']) }}
openstack/rpm-packaging:origin/master:openstack/pyghmi/pyghmi.spec.j2:18:Requires:
       {{ py2pkg('pycrypto')  }}
openstack/rpm-packaging:origin/master:openstack/python-troveclient/python-troveclient.spec.j2:20:BuildRequires:
  {{ py2pkg('pycrypto') }}
openstack/rpm-packaging:origin/master:requirements.txt:192:pycrypto>=2.6  # 
Public Domain
openstack/rpm-packaging:origin/master:requirements.txt:228:# NOTE(dims): pysaml 
4.0.3 uses pycryptodome instead of pycrypto, for mitaka
openstack/rpm-packaging:origin/master:requirements.txt:229:# we cannot switch 
to pycryptodome as many projects are likely to break. So
openstack/rpm-packaging:origin/master:requirements.txt:231:# dependencies like 
paramiko switch to pycryptodome, we should revisit this
openstack/rpm-packaging:origin/master:requirements.txt:232:# and fully switch 
over to pycryptodome and stop using pycrypto
openstack/tatu:origin/master:requirements.txt:7:pycrypto>=2.6.1
openstack/tatu:origin/master:test-requirements.txt:7:pycrypto>=2.6.1
openstack/tatu:origin/master:scripts/get-user-cert:20:from Crypto.PublicKey 
import RSA
openstack/tatu:origin/master:scripts/revoke-user-cert:20:from Crypto.PublicKey 
import RSA
openstack/tatu:origin/master:tatu/api/models.py:17:from Crypto.PublicKey import 
RSA
openstack/tatu:origin/master:tatu/db/models.py:13:from Crypto.PublicKey import 
RSA
openstack/tatu:origin/master:tatu/ftests/test_api.py:13:from Crypto.PublicKey 
import RSA
openstack/tatu:origin/master:tatu/tests/test_app.py:13:from Crypto.PublicKey 
import RSA


Yours Tony.

Attachment: signature.asc
Description: PGP signature

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to