[tor-commits] [bridgedb/master] Urllib removed its splithost function

phw at torproject.org phw at torproject.org
Wed Feb 19 18:26:38 UTC 2020


commit 37464528094a5a70bc65860879f45e93b6b8d0ac
Author: Damian Johnson <atagar at torproject.org>
Date:   Sat Jan 18 16:39:56 2020 -0800

    Urllib removed its splithost function
    
    Urllib's documentation said to avoid splithost, and the method was removed in
    python 3....
    
      https://docs.python.org/2/library/urllib.html
    
    This fixes...
    
      Traceback (most recent call last):
        File "/home/atagar/Desktop/tor/bridgedb/bridgedb/test/test_crypto.py", line 379, in test_verifyHostname_matching
          contextFactory = crypto.SSLVerifyingContextFactory(url)
        File "/home/atagar/Desktop/tor/bridgedb/bridgedb/crypto.py", line 377, in __init__
          self.hostname = self.getHostnameFromURL(url)
        File "/home/atagar/Desktop/tor/bridgedb/bridgedb/crypto.py", line 413, in getHostnameFromURL
          hostname = urllib.splithost(urllib.splittype(url)[1])[0]
      builtins.AttributeError: module 'urllib' has no attribute 'splithost'
    
    Test results changed as follows...
    
      before: FAILED (skips=114, failures=21, errors=57, successes=792)
      after:  FAILED (skips=114, failures=21, errors=55, successes=794)
---
 bridgedb/crypto.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/bridgedb/crypto.py b/bridgedb/crypto.py
index 5b1912f..1aee089 100644
--- a/bridgedb/crypto.py
+++ b/bridgedb/crypto.py
@@ -47,7 +47,7 @@ import io
 import logging
 import os
 import re
-import urllib
+import urllib.parse
 
 import OpenSSL
 
@@ -410,7 +410,8 @@ class SSLVerifyingContextFactory(ssl.CertificateOptions):
         :rtype: str
         :returns: The full hostname (including any subdomains).
         """
-        hostname = urllib.splithost(urllib.splittype(url)[1])[0]
+
+        hostname = urllib.parse.urlparse(url).netloc
         logging.debug("Parsed hostname %r for cert CN matching." % hostname)
         return hostname
 





More information about the tor-commits mailing list