summaryrefslogtreecommitdiffstats
path: root/src/network
diff options
context:
space:
mode:
authorJerome Pasion <jerome.pasion@digia.com>2012-11-02 14:41:27 +0100
committerJerome Pasion <jerome.pasion@digia.com>2012-11-02 14:41:27 +0100
commitc808dd27459e030fde0577feb8ba06e3bd465526 (patch)
tree4bf898dc4a88e2b03c9716f940638a2e01c6c0ce /src/network
parentd9d8845d507a6bdbc9c9f24c0d9d86dca513461d (diff)
parent300534fc214f2547a63594ce0891e9a54c8f33ca (diff)
Merge branch 'master' of ssh://codereview.qt-project.org/qt/qtbase into newdocs
Diffstat (limited to 'src/network')
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp1
-rw-r--r--src/network/access/qhttpnetworkrequest.cpp9
-rw-r--r--src/network/access/qnetworkrequest.cpp12
-rw-r--r--src/network/kernel/qnetworkproxy.cpp10
-rw-r--r--src/network/kernel/qnetworkproxy_blackberry.cpp23
-rw-r--r--src/network/socket/socket.pri4
6 files changed, 33 insertions, 26 deletions
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
index 51076c6c22..34496cb380 100644
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -296,7 +296,6 @@ bool QHttpNetworkConnectionChannel::sendRequest()
// premature eof happened
connection->d_func()->emitReplyError(socket, reply, QNetworkReply::UnknownNetworkError);
return false;
- break;
} else if (readPointer == 0 || currentReadSize == 0) {
// nothing to read currently, break the loop
break;
diff --git a/src/network/access/qhttpnetworkrequest.cpp b/src/network/access/qhttpnetworkrequest.cpp
index e9a66287f9..ef65efddca 100644
--- a/src/network/access/qhttpnetworkrequest.cpp
+++ b/src/network/access/qhttpnetworkrequest.cpp
@@ -83,31 +83,22 @@ QByteArray QHttpNetworkRequestPrivate::methodName() const
switch (operation) {
case QHttpNetworkRequest::Get:
return "GET";
- break;
case QHttpNetworkRequest::Head:
return "HEAD";
- break;
case QHttpNetworkRequest::Post:
return "POST";
- break;
case QHttpNetworkRequest::Options:
return "OPTIONS";
- break;
case QHttpNetworkRequest::Put:
return "PUT";
- break;
case QHttpNetworkRequest::Delete:
return "DELETE";
- break;
case QHttpNetworkRequest::Trace:
return "TRACE";
- break;
case QHttpNetworkRequest::Connect:
return "CONNECT";
- break;
case QHttpNetworkRequest::Custom:
return customVerb;
- break;
default:
break;
}
diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp
index 6d036ad491..b7d8dbbb20 100644
--- a/src/network/access/qnetworkrequest.cpp
+++ b/src/network/access/qnetworkrequest.cpp
@@ -979,53 +979,41 @@ static int name_to_month(const char* month_str)
switch (month_str[1]) {
case 'a':
return 1;
- break;
case 'u':
switch (month_str[2] ) {
case 'n':
return 6;
- break;
case 'l':
return 7;
- break;
}
}
break;
case 'F':
return 2;
- break;
case 'M':
switch (month_str[2] ) {
case 'r':
return 3;
- break;
case 'y':
return 5;
- break;
}
break;
case 'A':
switch (month_str[1]) {
case 'p':
return 4;
- break;
case 'u':
return 8;
- break;
}
break;
case 'O':
return 10;
- break;
case 'S':
return 9;
- break;
case 'N':
return 11;
- break;
case 'D':
return 12;
- break;
}
return 0;
diff --git a/src/network/kernel/qnetworkproxy.cpp b/src/network/kernel/qnetworkproxy.cpp
index adaefac440..aa16be2b4a 100644
--- a/src/network/kernel/qnetworkproxy.cpp
+++ b/src/network/kernel/qnetworkproxy.cpp
@@ -253,6 +253,9 @@ public:
, httpSocketEngineHandler(0)
#endif
{
+#ifdef QT_USE_SYSTEM_PROXIES
+ setApplicationProxyFactory(new QSystemConfigurationProxyFactory);
+#endif
#ifndef QT_NO_SOCKS5
socks5SocketEngineHandler = new QSocks5SocketEngineHandler();
#endif
@@ -1557,10 +1560,9 @@ void QNetworkProxyFactory::setApplicationProxyFactory(QNetworkProxyFactory *fact
\li On Windows platforms, this function may take several seconds to
execute depending on the configuration of the user's system.
- \li On BlackBerry, this function ignores network configuration specified
- in \a query. Only UrlRequest quieries are supported. SOCKS is not supported.
- The proxy information is retrieved only for the default configuration.
- Also, PAC and exclusion lists are currently not supported.
+ \li On BlackBerry, only UrlRequest queries are supported. SOCKS is
+ not supported. The proxy credentials are only retrieved for the
+ default configuration.
\endlist
*/
diff --git a/src/network/kernel/qnetworkproxy_blackberry.cpp b/src/network/kernel/qnetworkproxy_blackberry.cpp
index c257f085ff..2743b90404 100644
--- a/src/network/kernel/qnetworkproxy_blackberry.cpp
+++ b/src/network/kernel/qnetworkproxy_blackberry.cpp
@@ -79,11 +79,34 @@ QList<QNetworkProxy> QNetworkProxyFactory::systemProxyForQuery(const QNetworkPro
netstatus_proxy_details_t details;
memset(&details, 0, sizeof(netstatus_proxy_details_t));
+
+#if BPS_VERSION >= 3001001
+
+ QByteArray bUrl(url.toEncoded());
+ QString sInterface(query.networkConfiguration().name());
+ QByteArray bInterface;
+ if (!sInterface.isEmpty()) {
+ if (query.networkConfiguration().type() != QNetworkConfiguration::InternetAccessPoint) {
+ qWarning("Unsupported configuration type: %d", query.networkConfiguration().type());
+ return QList<QNetworkProxy>() << QNetworkProxy(QNetworkProxy::NoProxy);
+ }
+ bInterface = sInterface.toUtf8();
+ }
+
+ if (netstatus_get_proxy_details_for_url(bUrl.constData(), (bInterface.isEmpty() ? NULL : bInterface.constData()), &details) != BPS_SUCCESS) {
+ qWarning("netstatus_get_proxy_details_for_url failed! errno: %d", errno);
+ return QList<QNetworkProxy>() << QNetworkProxy(QNetworkProxy::NoProxy);
+ }
+
+#else
+
if (netstatus_get_proxy_details(&details) != BPS_SUCCESS) {
qWarning("netstatus_get_proxy_details failed! errno: %d", errno);
return QList<QNetworkProxy>() << QNetworkProxy(QNetworkProxy::NoProxy);
}
+#endif
+
if (details.http_proxy_host == NULL) { // No proxy
netstatus_free_proxy_details(&details);
return QList<QNetworkProxy>() << QNetworkProxy(QNetworkProxy::NoProxy);
diff --git a/src/network/socket/socket.pri b/src/network/socket/socket.pri
index 3429275a67..0204a92999 100644
--- a/src/network/socket/socket.pri
+++ b/src/network/socket/socket.pri
@@ -60,3 +60,7 @@ integrity: {
DEFINES += QT_LOCALSOCKET_TCP
}
+
+contains(QT_CONFIG, system-proxies) {
+ DEFINES += QT_USE_SYSTEM_PROXIES
+}