now declining more wrong ipv6 addresses and cleaning up code
This commit is contained in:
parent
4ce5d99b24
commit
484a22f111
@ -29,9 +29,10 @@ import ipaddress
|
|||||||
import fnmatch
|
import fnmatch
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
|
|
||||||
from qutebrowser.utils import utils, qtutils
|
|
||||||
from PyQt5.QtCore import QUrl
|
from PyQt5.QtCore import QUrl
|
||||||
|
|
||||||
|
from qutebrowser.utils import utils, qtutils
|
||||||
|
|
||||||
|
|
||||||
class ParseError(Exception):
|
class ParseError(Exception):
|
||||||
|
|
||||||
@ -178,10 +179,12 @@ class UrlPattern:
|
|||||||
assert self._host is None
|
assert self._host is None
|
||||||
return
|
return
|
||||||
|
|
||||||
if not utils.raises(ValueError, ipaddress.IPv6Address, parsed.netloc[1:-1]):
|
if parsed.netloc.startswith('['):
|
||||||
# Using QUrl parsing to minimize ipv6 addresses
|
# Using QUrl parsing to minimize ipv6 addresses
|
||||||
url = QUrl()
|
url = QUrl()
|
||||||
url.setHost(parsed.hostname)
|
url.setHost("[" + parsed.hostname + "]")
|
||||||
|
if url.host() == "":
|
||||||
|
raise ParseError("Invalid IPv6 URL"+parsed.hostname)
|
||||||
self._host = url.host()
|
self._host = url.host()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -84,7 +84,8 @@ from qutebrowser.utils import urlmatch
|
|||||||
|
|
||||||
# Additional tests
|
# Additional tests
|
||||||
("http://[", "Invalid IPv6 URL"),
|
("http://[", "Invalid IPv6 URL"),
|
||||||
("http://[fc2e::bb88::edac]:", "Invalid port: Port is empty"),
|
("http://[fc2e:bb88::edac]:", "Invalid port: Port is empty"),
|
||||||
|
("http://[fc2e::bb88::edac]", "Invalid IPv6 URL"),
|
||||||
("http://[fc2e:0e35:bb88::edac:fc2e:0e35:bb88:edac]", "Invalid IPv6 URL"),
|
("http://[fc2e:0e35:bb88::edac:fc2e:0e35:bb88:edac]", "Invalid IPv6 URL"),
|
||||||
("http://[fc2e:0e35:bb88:af:edac:fc2e:0e35:bb88:edac]", "Invalid IPv6 URL"),
|
("http://[fc2e:0e35:bb88:af:edac:fc2e:0e35:bb88:edac]", "Invalid IPv6 URL"),
|
||||||
("http://[127.0.0.1:fc2e::bb88:edac]", "Invalid IPv6 URL"),
|
("http://[127.0.0.1:fc2e::bb88:edac]", "Invalid IPv6 URL"),
|
||||||
|
Loading…
Reference in New Issue
Block a user