[Buildroot] [PATCH] python-backports-ssl-match-hostname: new package
Yegor Yefremov
yegorslists at googlemail.com
Wed Apr 20 20:27:07 UTC 2016
Hi Charles,
On Wed, Apr 20, 2016 at 6:44 PM, Charles Hardin <ckhardin at exablox.com> wrote:
> Yes - I think I just selected it out of laziness because we don’t run
> different
> python versions and only use python 2.7
Could you perform following test?
1. disable backports.ssl_match_hostname
2. enable SSL support in Python, python-tornado and python-cerifi
3. make clean && make
Is your application functioning without backports.ssl_match_hostname?
Thanks.
Yegor
> On Apr 20, 2016, at 2:58 AM, Yegor Yefremov <yegorslists at googlemail.com>
> wrote:
>
> On Wed, Apr 20, 2016 at 11:28 AM, Thomas Petazzoni
> <thomas.petazzoni at free-electrons.com> wrote:
>
> Hello,
>
> On Wed, 20 Apr 2016 11:22:54 +0200, yegorslists at googlemail.com wrote:
>
> From: Yegor Yefremov <yegorslists at googlemail.com>
>
> Fixes #8856
>
>
> Are you sure this is sufficient to fix the bug? Doesn't python-tornado
> also needs to select this new package when Python 2 is used?
>
>
> Both Python 2 and 3 implement ssl.match_hostname(cert, hostname) [1]
>
> backports.ssl_match_hostname 3.5.0.1 introduces some enhancements made
> in 3.5. See its history:
>
> History
> -------
>
> * This function was introduced in python-3.2
> * It was updated for python-3.4a1 for a CVE
> (backports-ssl_match_hostname-3.4.0.1)
> * It was updated from RFC2818 to RFC 6125 compliance in order to fix another
> security flaw for python-3.3.3 and python-3.4a5
> (backports-ssl_match_hostname-3.4.0.2)
> * It was updated in python-3.5 to handle IPAddresses in ServerAltName fields
> (something that backports.ssl_match_hostname will do if you also install the
> ipaddress library from pypi).
>
> Tornado has following logic to decide, when to import
> backports.ssl_match_hostname
>
> if hasattr(ssl, 'match_hostname') and hasattr(ssl,
> 'CertificateError'): # python 3.2+
> ssl_match_hostname = ssl.match_hostname
> SSLCertificateError = ssl.CertificateError
> elif ssl is None:
> ssl_match_hostname = SSLCertificateError = None
> else:
> import backports.ssl_match_hostname
> ssl_match_hostname = backports.ssl_match_hostname.match_hostname
> SSLCertificateError = backports.ssl_match_hostname.CertificateError
>
> So if the user wants to use ssl.match_hostname, he must select
> Python's SSL support.
>
> Turns out, that this package can be used only, if the user imports it
> directly.
>
> [1] https://docs.python.org/2.7/library/ssl.html
>
>
> --
> Bits go in, bytes go out.
>
More information about the buildroot
mailing list