New issue 3040: ssl module in pypy3.6 does not have ssl.OP_NO_SSLv2 https://bitbucket.org/pypy/pypy/issues/3040/ssl-module-in-pypy36-does-not-have
Amit Ripshtos: Hey guys, thanks for working on pypy! I found an issue when using aiohttp with pypy3.6 and doing verify=False , the aiohttp code creates SSLContext by doing: ``` sslcontext = ssl.SSLContext(ssl.PROTOCOL_SSLv23) sslcontext.options |= ssl.OP_NO_SSLv2 sslcontext.options |= ssl.OP_NO_SSLv3 sslcontext.options |= ssl.OP_NO_COMPRESSION sslcontext.set_default_verify_paths() return sslcontext ``` However, this code fails with the following exception: ``` AttributeError: module 'ssl' has no attribute 'OP_NO_SSLv2' ``` I tried to take a look and I saw that in pypy3.6, the attribute/option “OP\_NO\_SSLv2”, therefore the aiohttp package fails when using the verify\_ssl=False setting. **How to mimic the issue:** Using pypy3.6, try to run this code: ``` import aiohttp async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=False)) as session: async with session.request(method='get', url='https://google.com') as response: response.raise_for_status() await response.read() ``` This code will fail with the exception: `AttributeError: module 'ssl' has no attribute 'OP_NO_SSLv2'` **How it should be:** There should be be OP\_NO\_SSLv2 attribute under ssl module. I will try to fix the issue on my own, however I’m a newbie to pypy code , therefore I might need help. Thanks and have a great week, Amit. _______________________________________________ pypy-issue mailing list pypy-issue@python.org https://mail.python.org/mailman/listinfo/pypy-issue