Hello community, here is the log from the commit of package yum for openSUSE:Factory checked in at 2014-09-20 15:49:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yum (Old) and /work/SRC/openSUSE:Factory/.yum.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "yum" Changes: -------- --- /work/SRC/openSUSE:Factory/yum/yum.changes 2014-04-26 11:44:54.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.yum.new/yum.changes 2014-09-20 15:49:57.000000000 +0200 @@ -1,0 +2,6 @@ +Tue Sep 16 12:31:29 UTC 2014 - dmacvicar@suse.de + +- Add yum-3.4.3-preserve-queryparams-in-urls.patch + (bnc#896844) + +------------------------------------------------------------------- New: ---- yum-3.4.3-preserve-queryparams-in-urls.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yum.spec ++++++ --- /var/tmp/diff_new_pack.bzW5s6/_old 2014-09-20 15:49:58.000000000 +0200 +++ /var/tmp/diff_new_pack.bzW5s6/_new 2014-09-20 15:49:58.000000000 +0200 @@ -40,6 +40,8 @@ Patch8: %{name}-3.4.3-speedup-bnc810074.patch # PATCH-FIX-OPENSUSE Patch9: %{name}-3.4.3-fix-repo-tag.patch +# PATCH-FIX-UPSTREAM bnc#896844 +Patch10: %{name}-3.4.3-preserve-queryparams-in-urls.patch BuildRequires: dbus-1 BuildRequires: intltool BuildRequires: python-devel @@ -100,6 +102,7 @@ %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 # Fix non-executable scripts rpmlint issue: sed -i "s|#!.*/usr/bin/python.*||" rpmUtils/{arch,__init__,miscutils,oldUtils,transaction,updates}.py ++++++ yum-3.4.3-preserve-queryparams-in-urls.patch ++++++
From 964f75c66170d7d5aa860f2dd37d5a079f900bde Mon Sep 17 00:00:00 2001 From: Michael Calmer
Date: Fri, 12 Sep 2014 13:05:04 +0200 Subject: [PATCH] preserve queryparams in urls
Some CDN do token authentication by appending a token to the URL as query parameter. So the baseurl could be something like: https://host.domain.top/path/?abcdef1234567890 Simply appending the relative part to it will result in an invalid URL. --- yum/yumRepo.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) Index: yum-3.4.3/yum/yumRepo.py =================================================================== --- yum-3.4.3.orig/yum/yumRepo.py +++ yum-3.4.3/yum/yumRepo.py @@ -677,11 +677,11 @@ class YumRepository(Repository, config.R if url in ['', None]: continue url = parser.varReplace(url, self.yumvar) - if url[-1] != '/': - url= url + '/' try: # This started throwing ValueErrors, BZ 666826 (s,b,p,q,f,o) = urlparse.urlparse(url) + if p[-1] != '/': + p = p + '/' except (ValueError, IndexError, KeyError), e: s = 'blah' @@ -689,7 +689,7 @@ class YumRepository(Repository, config.R skipped = url continue else: - goodurls.append(url) + goodurls.append(urlparse.urlunparse((s,b,p,q,f,o))) if skipped is not None: # Caller cleans up for us. @@ -807,7 +807,7 @@ class YumRepository(Repository, config.R size=size, **ugopts) - remote = url + '/' + relative + remote = urlparse.urlunsplit((scheme, netloc, path + '/' + relative, query, fragid)) try: result = ug.urlgrab(misc.to_utf8(remote), local, -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org