From 499014fa50763921260639d03e4fbc33b13aab43 Mon Sep 17 00:00:00 2001 From: Bernd Wachter Date: Mon, 7 Apr 2014 21:23:00 +0300 Subject: [PATCH] [ssu] Don't break on query strings in predefined URLs --- ssuurlresolver/ssuurlresolver.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ssuurlresolver/ssuurlresolver.cpp b/ssuurlresolver/ssuurlresolver.cpp index 9d0e5da..69fd24b 100644 --- a/ssuurlresolver/ssuurlresolver.cpp +++ b/ssuurlresolver/ssuurlresolver.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include "libssu/sandbox_p.h" @@ -154,9 +155,14 @@ void SsuUrlResolver::run(){ ssuLog->print(LOG_DEBUG, QString("Skipping credential for %1 with scope %2").arg(repo).arg(credentialsScope)); if (!headerList.isEmpty() && !resolvedUrl.isEmpty()){ - resolvedUrl = QString("%1?%2") - .arg(resolvedUrl) - .arg(headerList.join("&")); + QUrl url(resolvedUrl); + + if (url.hasQuery()){ + url.setQuery(url.query() + "&" + headerList.join("&")); + } else + url.setQuery(headerList.join("&")); + + resolvedUrl = url.toString(); } // TODO, we should bail out here if the configuration specifies that the repo