[ovs-dev] [PATCH v4 2/2] python: replace pyOpenSSL with ssl

Ilya Maximets i.maximets at ovn.org
Wed Nov 3 15:06:34 UTC 2021


On 11/1/21 15:27, Terry Wilson wrote:
> Acked-by: Terry Wilson <twilson at redhat.com>
> Tested-by: Terry Wilson <twilson at redhat.com>
> 
> On Fri, Oct 29, 2021 at 6:12 PM Timothy Redaelli <tredaelli at redhat.com> wrote:
>>
>> Currently, pyOpenSSL is half-deprecated upstream and so it's removed on
>> some distributions (for example on CentOS Stream 9,
>> https://issues.redhat.com/browse/CS-336), but since OVS only
>> supports Python 3 it's possible to replace pyOpenSSL with "import ssl"
>> included in base Python 3.
>>
>> Stream recv and send had to be splitted as _recv and _send, since SSLError
>> is a subclass of socket.error and so it was not possible to except for
>> SSLWantReadError and SSLWantWriteError in recv and send of SSLStream.
>>
>> TCPstream._open cannot be used in SSLStream, since Python ssl module
>> requires the SSL socket to be created before connecting it, so
>> SSLStream._open needs to create the socket, create SSL socket and then
>> connect the SSL socket.
>>
>> Reported-by: Timothy Redaelli <tredaelli at redhat.com>
>> Reported-at: https://bugzilla.redhat.com/1988429
>> Signed-off-by: Timothy Redaelli <tredaelli at redhat.com>
>> ---
>> v3 -> v4:
>>  - Remove useless ValueError in self.socket.shutdown, as reported by
>>    Terry Wilson. It was wrongly here due to some previous tests, but
>>    it's not needed.
>> ---
>>  .ci/linux-prepare.sh |  2 +-
>>  .cirrus.yml          |  2 +-
>>  .travis.yml          |  1 -
>>  python/ovs/poller.py |  6 +--
>>  python/ovs/stream.py | 91 ++++++++++++++++++++++++++------------------
>>  tests/ovsdb-idl.at   |  2 +-
>>  6 files changed, 60 insertions(+), 44 deletions(-)


Thanks, Terry and Timothy!

I added a NEWS entry about this change, since it's kind of user-visible
in terms of required dependencies, and applied.

Bets regards, Ilya Maximets.


More information about the dev mailing list