diff options
Diffstat (limited to 'src/network/access')
-rw-r--r-- | src/network/access/qhstspolicy.cpp | 8 | ||||
-rw-r--r-- | src/network/access/qnetworkaccessftpbackend.cpp | 2 | ||||
-rw-r--r-- | src/network/access/qnetworkaccessmanager.cpp | 6 | ||||
-rw-r--r-- | src/network/access/qnetworkreplyhttpimpl.cpp | 6 |
4 files changed, 14 insertions, 8 deletions
diff --git a/src/network/access/qhstspolicy.cpp b/src/network/access/qhstspolicy.cpp index 0ea9f3f046..ab4695480b 100644 --- a/src/network/access/qhstspolicy.cpp +++ b/src/network/access/qhstspolicy.cpp @@ -103,11 +103,11 @@ QHstsPolicy::QHstsPolicy() : d(new QHstsPolicyPrivate) } /*! - Constructs QHstsPolicy with \a expiry (in UTC); \a includeSubDomains parameter - defines if this policy must also include subdomains, \a host data is interpreted - according to \a mode. + Constructs QHstsPolicy with \a expiry (in UTC): + - \a host data is interpreted according to \a mode; + - \a flags selects options to apply to this policy. - \sa QUrl::setHost(), QUrl::ParsingMode + \sa QUrl::setHost(), QUrl::ParsingMode, QHstsPolicy::PolicyFlag */ QHstsPolicy::QHstsPolicy(const QDateTime &expiry, PolicyFlags flags, const QString &host, QUrl::ParsingMode mode) diff --git a/src/network/access/qnetworkaccessftpbackend.cpp b/src/network/access/qnetworkaccessftpbackend.cpp index d242bdba82..6d1ee645fe 100644 --- a/src/network/access/qnetworkaccessftpbackend.cpp +++ b/src/network/access/qnetworkaccessftpbackend.cpp @@ -114,7 +114,7 @@ QNetworkAccessFtpBackend::~QNetworkAccessFtpBackend() //if backend destroyed while in use, then abort (this is the code path from QNetworkReply::abort) if (ftp && state != Disconnecting) ftp->abort(); - disconnectFromFtp(); + disconnectFromFtp(RemoveCachedConnection); } void QNetworkAccessFtpBackend::open() diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index 018586f9dc..d57acc2f6b 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -739,7 +739,7 @@ bool QNetworkAccessManager::isStrictTransportSecurityEnabled() const \note While processing HTTP responses, QNetworkAccessManager can also update the HSTS cache, removing or updating exitsting policies or introducing new - known hosts. The current implementation thus is server-driven, client code + \a knownHosts. The current implementation thus is server-driven, client code can provide QNetworkAccessManager with previously known or discovered policies, but this information can be overridden by "Strict-Transport-Security" response headers. @@ -1045,7 +1045,7 @@ QNetworkAccessManager::NetworkAccessibility QNetworkAccessManager::networkAccess { Q_D(const QNetworkAccessManager); - if (d->networkConfiguration.state().testFlag(QNetworkConfiguration::Undefined)) + if (d->customNetworkConfiguration && d->networkConfiguration.state().testFlag(QNetworkConfiguration::Undefined)) return UnknownAccessibility; if (d->networkSessionRequired) { @@ -1841,6 +1841,7 @@ void QNetworkAccessManagerPrivate::_q_networkSessionStateChanged(QNetworkSession } else if (state == QNetworkSession::Connected || state == QNetworkSession::Roaming) { reallyOnline = true; } + online = reallyOnline; if (!reallyOnline) { if (state != QNetworkSession::Connected && state != QNetworkSession::Roaming) { @@ -1856,7 +1857,6 @@ void QNetworkAccessManagerPrivate::_q_networkSessionStateChanged(QNetworkSession emit q->networkAccessibleChanged(networkAccessible); } } - online = reallyOnline; if (online && (state != QNetworkSession::Connected && state != QNetworkSession::Roaming)) { _q_networkSessionClosed(); createSession(q->configuration()); diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp index bdb23ede1d..fec3b0a100 100644 --- a/src/network/access/qnetworkreplyhttpimpl.cpp +++ b/src/network/access/qnetworkreplyhttpimpl.cpp @@ -1883,6 +1883,12 @@ void QNetworkReplyHttpImplPrivate::_q_cacheLoadReadyRead() totalSize.isNull() ? Q_INT64_C(-1) : totalSize.toLongLong()); } } + + // A signal we've emitted might be handled by a slot that aborts, + // so we need to check for that and bail out if it's happened: + if (!q->isOpen()) + return; + // If there are still bytes available in the cacheLoadDevice then the user did not read // in response to the readyRead() signal. This means we have to load from the cacheLoadDevice // and buffer that stuff. This is needed to be able to properly emit finished() later. |