From 4363db90c079ce2ce11e9560c9ce6549fdceed50 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 22 Dec 2014 18:32:58 +0100 Subject: [PATCH] Don't treat things like "31c3" as IP address. Fixes #388. --- qutebrowser/test/utils/test_urlutils.py | 1 + qutebrowser/utils/urlutils.py | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/qutebrowser/test/utils/test_urlutils.py b/qutebrowser/test/utils/test_urlutils.py index 50a38d530..b3fd69f42 100644 --- a/qutebrowser/test/utils/test_urlutils.py +++ b/qutebrowser/test/utils/test_urlutils.py @@ -156,6 +156,7 @@ class IsUrlTests(unittest.TestCase): '23.42', '1337', 'deadbeef', + '31c3', ) def test_urls(self, configmock): diff --git a/qutebrowser/utils/urlutils.py b/qutebrowser/utils/urlutils.py index 041299a75..d738b6410 100644 --- a/qutebrowser/utils/urlutils.py +++ b/qutebrowser/utils/urlutils.py @@ -26,10 +26,10 @@ import posixpath import urllib.parse from PyQt5.QtCore import QUrl -from PyQt5.QtNetwork import QHostInfo +from PyQt5.QtNetwork import QHostInfo, QHostAddress from qutebrowser.config import config, configexc -from qutebrowser.utils import log, qtutils, message, utils +from qutebrowser.utils import log, qtutils, message from qutebrowser.commands import cmdexc @@ -91,8 +91,7 @@ def _is_url_naive(urlstr): # Qt treats things like "23.42" or "1337" or "0xDEAD" as valid URLs # which we don't want to. Note we already filtered *real* valid IPs # above. - if ((not utils.raises(ValueError, int, urlstr, 0)) or - (not utils.raises(ValueError, float, urlstr))): + if not QHostAddress(urlstr).isNull(): return False if not url.isValid():