From f78b479118e674f2ba66f2378d18e5919a1d8cc3 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 14 Apr 2016 15:23:48 +0100 Subject: [PATCH] fix urlparse import thinko breaking tiny URLs --- synapse/rest/media/v1/preview_url_resource.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/synapse/rest/media/v1/preview_url_resource.py b/synapse/rest/media/v1/preview_url_resource.py index 8e1cf6e2f..c27ba7273 100644 --- a/synapse/rest/media/v1/preview_url_resource.py +++ b/synapse/rest/media/v1/preview_url_resource.py @@ -17,7 +17,6 @@ from .base_resource import BaseMediaResource from twisted.web.server import NOT_DONE_YET from twisted.internet import defer -from urlparse import urlparse, urlsplit, urlunparse from synapse.api.errors import ( SynapseError, Codes, @@ -36,6 +35,7 @@ import re import fnmatch import cgi import ujson as json +import urlparse import logging logger = logging.getLogger(__name__) @@ -79,7 +79,7 @@ class PreviewUrlResource(BaseMediaResource): # impose the URL pattern blacklist if hasattr(self, "url_preview_url_blacklist"): - url_tuple = urlsplit(url) + url_tuple = urlparse.urlsplit(url) for entry in self.url_preview_url_blacklist: match = True for attrib in entry: @@ -338,15 +338,15 @@ class PreviewUrlResource(BaseMediaResource): defer.returnValue(og) def _rebase_url(self, url, base): - base = list(urlparse(base)) - url = list(urlparse(url)) + base = list(urlparse.urlparse(base)) + url = list(urlparse.urlparse(url)) if not url[0]: # fix up schema url[0] = base[0] or "http" if not url[1]: # fix up hostname url[1] = base[1] if not url[2].startswith('/'): url[2] = re.sub(r'/[^/]+$', '/', base[2]) + url[2] - return urlunparse(url) + return urlparse.urlunparse(url) @defer.inlineCallbacks def _download_url(self, url, user):