[pypy-commit] pypy stdlib-2.7.9: Fix an issue in cert_store_stats()
amauryfa
noreply at buildbot.pypy.org
Sun Feb 1 19:34:03 CET 2015
Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: stdlib-2.7.9
Changeset: r75629:1c34bb5d8133
Date: 2015-01-31 23:02 +0100
http://bitbucket.org/pypy/pypy/changeset/1c34bb5d8133/
Log: Fix an issue in cert_store_stats()
diff --git a/pypy/module/_ssl/interp_ssl.py b/pypy/module/_ssl/interp_ssl.py
--- a/pypy/module/_ssl/interp_ssl.py
+++ b/pypy/module/_ssl/interp_ssl.py
@@ -1353,7 +1353,8 @@
obj = libssl_sk_X509_OBJECT_value(store[0].c_objs, i)
if intmask(obj.c_type) == X509_LU_X509:
counters['x509'] += 1
- if libssl_pypy_X509_OBJECT_data_x509(obj):
+ if libssl_X509_check_ca(
+ libssl_pypy_X509_OBJECT_data_x509(obj)):
counters['x509_ca'] += 1
elif intmask(obj.c_type) == X509_LU_CRL:
counters['crl'] += 1
diff --git a/pypy/module/_ssl/test/test_ssl.py b/pypy/module/_ssl/test/test_ssl.py
--- a/pypy/module/_ssl/test/test_ssl.py
+++ b/pypy/module/_ssl/test/test_ssl.py
@@ -344,6 +344,15 @@
assert certs[0]['crlDistributionPoints'] == (
'https://www.cacert.org/revoke.crl',)
+ def test_cert_store_stats(self):
+ import _ssl
+ ctx = _ssl._SSLContext(_ssl.PROTOCOL_TLSv1)
+ assert ctx.cert_store_stats() == {'x509_ca': 0, 'crl': 0, 'x509': 0}
+ ctx.load_cert_chain(self.keycert)
+ assert ctx.cert_store_stats() == {'x509_ca': 0, 'crl': 0, 'x509': 0}
+ ctx.load_verify_locations(self.keycert)
+ assert ctx.cert_store_stats() == {'x509_ca': 0, 'crl': 0, 'x509': 1}
+
def test_load_dh_params(self):
import _ssl
ctx = _ssl._SSLContext(_ssl.PROTOCOL_TLSv1)
More information about the pypy-commit
mailing list