This change is to patch the memleak we have with pyOpenSSL in crypto.py.
Change-Id: I95dca52ca163faf6566af9258a5989a9a2cf9606
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/5262
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Dweep Advani <dadvani@vmware.com>
Reviewed-by: Sharath George
1 | 1 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,21 @@ |
0 |
+--- a/src/OpenSSL/crypto.py 2016-10-15 18:26:14.000000000 +0530 |
|
1 |
+@@ -1567,6 +1567,8 @@ |
|
2 |
+ def _init(self): |
|
3 |
+ """ |
|
4 |
+ Set up the store context for a subsequent verification operation. |
|
5 |
++ Calling this method more than once without first calling |
|
6 |
++ :meth:`_cleanup` will leak memory. |
|
7 |
+ """ |
|
8 |
+ ret = _lib.X509_STORE_CTX_init( |
|
9 |
+ self._store_ctx, self._store._store, self._cert._x509, _ffi.NULL |
|
10 |
+@@ -1627,6 +1629,9 @@ |
|
11 |
+ """ |
|
12 |
+ # Always re-initialize the store context in case |
|
13 |
+ # :meth:`verify_certificate` is called multiple times. |
|
14 |
++ # :meth:`_init` is called in :meth:`__init__` so _cleanup is called |
|
15 |
++ # before _init to ensure memory is not leaked. |
|
16 |
++ self._cleanup() |
|
17 |
+ self._init() |
|
18 |
+ ret = _lib.X509_verify_cert(self._store_ctx) |
|
19 |
+ self._cleanup() |
... | ... |
@@ -3,7 +3,7 @@ |
3 | 3 |
Summary: Python wrapper module around the OpenSSL library |
4 | 4 |
Name: python-pyOpenSSL |
5 | 5 |
Version: 16.2.0 |
6 |
-Release: 2%{?dist} |
|
6 |
+Release: 3%{?dist} |
|
7 | 7 |
Url: https://github.com/pyca/pyopenssl |
8 | 8 |
License: ASL 2.0 |
9 | 9 |
Group: Development/Languages/Python |
... | ... |
@@ -11,6 +11,7 @@ Vendor: VMware, Inc. |
11 | 11 |
Distribution: Photon |
12 | 12 |
Source0: pyopenssl-%{version}.tar.gz |
13 | 13 |
%define sha1 pyopenssl=fdcaa88c9cf814b35cb9e1f6065adca6110cedcc |
14 |
+Patch0: X509StoreContext_mem_leak.patch |
|
14 | 15 |
BuildRequires: python2 |
15 | 16 |
BuildRequires: python2-libs |
16 | 17 |
BuildRequires: python2-devel |
... | ... |
@@ -41,6 +42,7 @@ Python 3 version. |
41 | 41 |
|
42 | 42 |
%prep |
43 | 43 |
%setup -q -n pyopenssl-%{version} |
44 |
+%patch0 -p1 |
|
44 | 45 |
|
45 | 46 |
%build |
46 | 47 |
python setup.py build |
... | ... |
@@ -63,6 +65,8 @@ python3 setup.py test |
63 | 63 |
%{python3_sitelib}/* |
64 | 64 |
|
65 | 65 |
%changelog |
66 |
+* Wed Jun 13 2018 Tapas Kundu <tkundu@vmware.com> 16.2.0-3 |
|
67 |
+- Patch for memleak on class X509StoreContext. |
|
66 | 68 |
* Tue Feb 21 2017 Xiaolin Li <xiaolinl@vmware.com> 16.2.0-2 |
67 | 69 |
- Add Requires for python-enum and python-ipaddress |
68 | 70 |
* Tue Feb 14 2017 Xiaolin Li <xiaolinl@vmware.com> 16.2.0-1 |