aboutsummaryrefslogtreecommitdiffstats
path: root/src/cryptography/x509
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2017-09-13 22:06:12 +0800
committerAlex Gaynor <alex.gaynor@gmail.com>2017-09-13 10:06:12 -0400
commit8c1f5edd12d755c770d1fd3a6dc8251c95588600 (patch)
treee8d9287d4660f26022b5775478bcd0d3549b38ff /src/cryptography/x509
parentfbfc36da2a4769045f2373b004ddf0aff906cf38 (diff)
downloadcryptography-8c1f5edd12d755c770d1fd3a6dc8251c95588600.tar.gz
cryptography-8c1f5edd12d755c770d1fd3a6dc8251c95588600.tar.bz2
cryptography-8c1f5edd12d755c770d1fd3a6dc8251c95588600.zip
fix a bug with URI value when parsing a string with no hostname (#3909)
strings of the form "scheme:///anything" would incorrectly have two slashes dropped. This is fixed in two code paths in this PR but one of those code paths will be entirely removed in a followup PR.
Diffstat (limited to 'src/cryptography/x509')
-rw-r--r--src/cryptography/x509/general_name.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cryptography/x509/general_name.py b/src/cryptography/x509/general_name.py
index 3ad71e4c..768be3bb 100644
--- a/src/cryptography/x509/general_name.py
+++ b/src/cryptography/x509/general_name.py
@@ -274,7 +274,8 @@ class UniformResourceIdentifier(object):
)
parsed = urllib_parse.urlparse(self.bytes_value)
if not parsed.hostname:
- netloc = ""
+ # There's no idna here so we can immediately return
+ return self.bytes_value.decode("utf-8")
elif parsed.port:
netloc = idna.decode(parsed.hostname) + ":{0}".format(parsed.port)
else: