[Pkg-owncloud-commits] [owncloud-client] 24/30: Proxy: Try to fix issue
Sandro Knauß
hefee-guest at moszumanska.debian.org
Sat Mar 15 21:28:30 UTC 2014
This is an automated email from the git hooks/post-receive script.
hefee-guest pushed a commit to branch master
in repository owncloud-client.
commit 630f61142aa3a51db8c001a6737572efa1061e8e
Author: Markus Goetz <markus at woboq.com>
Date: Thu Mar 6 17:45:02 2014 +0100
Proxy: Try to fix issue
See https://github.com/owncloud/mirall/commit/eb7074e9f088214648183a45c2ce806f65a8bf3c for discussion
---
src/mirall/mirallaccessmanager.cpp | 14 ++++++++++++++
src/mirall/mirallaccessmanager.h | 2 ++
src/mirall/networkjobs.cpp | 3 +++
3 files changed, 19 insertions(+)
diff --git a/src/mirall/mirallaccessmanager.cpp b/src/mirall/mirallaccessmanager.cpp
index 9bf77ab..4bceec1 100644
--- a/src/mirall/mirallaccessmanager.cpp
+++ b/src/mirall/mirallaccessmanager.cpp
@@ -13,6 +13,7 @@
#include <QNetworkRequest>
#include <QNetworkProxy>
+#include <QAuthenticator>
#include "mirall/mirallaccessmanager.h"
#include "mirall/utility.h"
@@ -29,6 +30,8 @@ MirallAccessManager::MirallAccessManager(QObject* parent)
proxy.setHostName(" ");
setProxy(proxy);
#endif
+ QObject::connect(this, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)),
+ this, SLOT(slotProxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)));
}
QNetworkReply* MirallAccessManager::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest& request, QIODevice* outgoingData)
@@ -44,4 +47,15 @@ QNetworkReply* MirallAccessManager::createRequest(QNetworkAccessManager::Operati
return QNetworkAccessManager::createRequest(op, newRequest, outgoingData);
}
+void MirallAccessManager::slotProxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *authenticator)
+{
+ Q_UNUSED(authenticator);
+ qDebug() << Q_FUNC_INFO << proxy.type();
+ // We put in the password here and in ClientProxy in the proxy itself.
+ if (!proxy.user().isEmpty() || !proxy.password().isEmpty()) {
+ authenticator->setUser(proxy.user());
+ authenticator->setPassword(proxy.password());
+ }
+}
+
} // ns Mirall
diff --git a/src/mirall/mirallaccessmanager.h b/src/mirall/mirallaccessmanager.h
index a8dcbab..a054280 100644
--- a/src/mirall/mirallaccessmanager.h
+++ b/src/mirall/mirallaccessmanager.h
@@ -28,6 +28,8 @@ public:
protected:
QNetworkReply* createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest& request, QIODevice* outgoingData = 0);
+protected slots:
+ void slotProxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *authenticator);
};
} // ns Mirall
diff --git a/src/mirall/networkjobs.cpp b/src/mirall/networkjobs.cpp
index 5f40a4a..a6b3d21 100644
--- a/src/mirall/networkjobs.cpp
+++ b/src/mirall/networkjobs.cpp
@@ -139,6 +139,9 @@ void AbstractNetworkJob::slotFinished()
{
if( _reply->error() != QNetworkReply::NoError ) {
qDebug() << Q_FUNC_INFO << _reply->error() << _reply->errorString();
+ if (_reply->error() == QNetworkReply::ProxyAuthenticationRequiredError) {
+ qDebug() << Q_FUNC_INFO << _reply->rawHeader("Proxy-Authenticate");
+ }
emit networkError(_reply);
}
finished();
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git
More information about the Pkg-owncloud-commits
mailing list