diff --git a/src/network/access/qabstractnetworkcache.h b/src/network/access/qabstractnetworkcache.h
index 352daa9..326891b 100644
--- a/src/network/access/qabstractnetworkcache.h
+++ b/src/network/access/qabstractnetworkcache.h
@@ -60,9 +60,12 @@ public:
     QNetworkCacheMetaData(const QNetworkCacheMetaData &other);
     ~QNetworkCacheMetaData();
 
+#ifdef Q_COMPILER_RVALUE_REFS
+    QNetworkCacheMetaData &operator=(QNetworkCacheMetaData &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
     QNetworkCacheMetaData &operator=(const QNetworkCacheMetaData &other);
 
-    void swap(QNetworkCacheMetaData &other)
+    void swap(QNetworkCacheMetaData &other) Q_DECL_NOTHROW
     { qSwap(d, other.d); }
 
     bool operator==(const QNetworkCacheMetaData &other) const;
@@ -121,7 +124,7 @@ public Q_SLOTS:
     virtual void clear() = 0;
 
 protected:
-    explicit QAbstractNetworkCache(QObject *parent = 0);
+    explicit QAbstractNetworkCache(QObject *parent = Q_NULLPTR);
     QAbstractNetworkCache(QAbstractNetworkCachePrivate &dd, QObject *parent);
 
 private:
diff --git a/src/network/access/qhttpmultipart.h b/src/network/access/qhttpmultipart.h
index 2e08a3d..5f865c0 100644
--- a/src/network/access/qhttpmultipart.h
+++ b/src/network/access/qhttpmultipart.h
@@ -51,9 +51,12 @@ public:
     QHttpPart();
     QHttpPart(const QHttpPart &other);
     ~QHttpPart();
+#ifdef Q_COMPILER_RVALUE_REFS
+    QHttpPart &operator=(QHttpPart &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
     QHttpPart &operator=(const QHttpPart &other);
 
-    void swap(QHttpPart &other) { qSwap(d, other.d); }
+    void swap(QHttpPart &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     bool operator==(const QHttpPart &other) const;
     inline bool operator!=(const QHttpPart &other) const
@@ -88,8 +91,8 @@ public:
         AlternativeType
     };
 
-    explicit QHttpMultiPart(QObject *parent = 0);
-    explicit QHttpMultiPart(ContentType contentType, QObject *parent = 0);
+    explicit QHttpMultiPart(QObject *parent = Q_NULLPTR);
+    explicit QHttpMultiPart(ContentType contentType, QObject *parent = Q_NULLPTR);
     ~QHttpMultiPart();
 
     void append(const QHttpPart &httpPart);
diff --git a/src/network/access/qnetworkaccessmanager.h b/src/network/access/qnetworkaccessmanager.h
index 988eafa..c8df213 100644
--- a/src/network/access/qnetworkaccessmanager.h
+++ b/src/network/access/qnetworkaccessmanager.h
@@ -90,7 +90,7 @@ public:
     };
 #endif
 
-    explicit QNetworkAccessManager(QObject *parent = 0);
+    explicit QNetworkAccessManager(QObject *parent = Q_NULLPTR);
     ~QNetworkAccessManager();
 
     // ### Qt 6: turn into virtual
@@ -120,7 +120,7 @@ public:
     QNetworkReply *put(const QNetworkRequest &request, const QByteArray &data);
     QNetworkReply *put(const QNetworkRequest &request, QHttpMultiPart *multiPart);
     QNetworkReply *deleteResource(const QNetworkRequest &request);
-    QNetworkReply *sendCustomRequest(const QNetworkRequest &request, const QByteArray &verb, QIODevice *data = 0);
+    QNetworkReply *sendCustomRequest(const QNetworkRequest &request, const QByteArray &verb, QIODevice *data = Q_NULLPTR);
 
 #ifndef QT_NO_BEARERMANAGEMENT
     void setConfiguration(const QNetworkConfiguration &config);
@@ -157,7 +157,7 @@ Q_SIGNALS:
 
 protected:
     virtual QNetworkReply *createRequest(Operation op, const QNetworkRequest &request,
-                                         QIODevice *outgoingData = 0);
+                                         QIODevice *outgoingData = Q_NULLPTR);
 
 protected Q_SLOTS:
     QStringList supportedSchemesImplementation() const;
diff --git a/src/network/access/qnetworkcookie.h b/src/network/access/qnetworkcookie.h
index 2da86d3..27925c8 100644
--- a/src/network/access/qnetworkcookie.h
+++ b/src/network/access/qnetworkcookie.h
@@ -59,9 +59,12 @@ public:
     explicit QNetworkCookie(const QByteArray &name = QByteArray(), const QByteArray &value = QByteArray());
     QNetworkCookie(const QNetworkCookie &other);
     ~QNetworkCookie();
+#ifdef Q_COMPILER_RVALUE_REFS
+    QNetworkCookie &operator=(QNetworkCookie &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
     QNetworkCookie &operator=(const QNetworkCookie &other);
 
-    void swap(QNetworkCookie &other) { qSwap(d, other.d); }
+    void swap(QNetworkCookie &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     bool operator==(const QNetworkCookie &other) const;
     inline bool operator!=(const QNetworkCookie &other) const
diff --git a/src/network/access/qnetworkcookiejar.h b/src/network/access/qnetworkcookiejar.h
index 59ba7f8..3ac78ea 100644
--- a/src/network/access/qnetworkcookiejar.h
+++ b/src/network/access/qnetworkcookiejar.h
@@ -47,7 +47,7 @@ class Q_NETWORK_EXPORT QNetworkCookieJar: public QObject
 {
     Q_OBJECT
 public:
-    explicit QNetworkCookieJar(QObject *parent = 0);
+    explicit QNetworkCookieJar(QObject *parent = Q_NULLPTR);
     virtual ~QNetworkCookieJar();
 
     virtual QList<QNetworkCookie> cookiesForUrl(const QUrl &url) const;
diff --git a/src/network/access/qnetworkdiskcache.h b/src/network/access/qnetworkdiskcache.h
index 568d34d..533eabc 100644
--- a/src/network/access/qnetworkdiskcache.h
+++ b/src/network/access/qnetworkdiskcache.h
@@ -47,7 +47,7 @@ class Q_NETWORK_EXPORT QNetworkDiskCache : public QAbstractNetworkCache
     Q_OBJECT
 
 public:
-    explicit QNetworkDiskCache(QObject *parent = 0);
+    explicit QNetworkDiskCache(QObject *parent = Q_NULLPTR);
     ~QNetworkDiskCache();
 
     QString cacheDirectory() const;
diff --git a/src/network/access/qnetworkreply.h b/src/network/access/qnetworkreply.h
index 91c9e77..254dd3f 100644
--- a/src/network/access/qnetworkreply.h
+++ b/src/network/access/qnetworkreply.h
@@ -69,6 +69,8 @@ public:
         TemporaryNetworkFailureError,
         NetworkSessionFailedError,
         BackgroundRequestNotAllowedError,
+        TooManyRedirectsError,
+        InsecureRedirectError,
         UnknownNetworkError = 99,
 
         // proxy errors (101-199):
@@ -153,12 +155,13 @@ Q_SIGNALS:
     void sslErrors(const QList<QSslError> &errors);
     void preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator *authenticator);
 #endif
+    void redirected(const QUrl &url);
 
     void uploadProgress(qint64 bytesSent, qint64 bytesTotal);
     void downloadProgress(qint64 bytesReceived, qint64 bytesTotal);
 
 protected:
-    explicit QNetworkReply(QObject *parent = 0);
+    explicit QNetworkReply(QObject *parent = Q_NULLPTR);
     QNetworkReply(QNetworkReplyPrivate &dd, QObject *parent);
     virtual qint64 writeData(const char *data, qint64 len) Q_DECL_OVERRIDE;
 
diff --git a/src/network/access/qnetworkrequest.h b/src/network/access/qnetworkrequest.h
index d6d907b..eb343c9 100644
--- a/src/network/access/qnetworkrequest.h
+++ b/src/network/access/qnetworkrequest.h
@@ -81,6 +81,7 @@ public:
         SpdyAllowedAttribute,
         SpdyWasUsedAttribute,
         EmitAllUploadProgressSignalsAttribute,
+        FollowRedirectsAttribute,
 
         User = 1000,
         UserMax = 32767
@@ -105,9 +106,12 @@ public:
     explicit QNetworkRequest(const QUrl &url = QUrl());
     QNetworkRequest(const QNetworkRequest &other);
     ~QNetworkRequest();
+#ifdef Q_COMPILER_RVALUE_REFS
+    QNetworkRequest &operator=(QNetworkRequest &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
     QNetworkRequest &operator=(const QNetworkRequest &other);
 
-    inline void swap(QNetworkRequest &other) { qSwap(d, other.d); }
+    void swap(QNetworkRequest &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     bool operator==(const QNetworkRequest &other) const;
     inline bool operator!=(const QNetworkRequest &other) const
@@ -141,6 +145,10 @@ public:
     Priority priority() const;
     void setPriority(Priority priority);
 
+    // HTTP redirect related
+    int maximumRedirectsAllowed() const;
+    void setMaximumRedirectsAllowed(int maximumRedirectsAllowed);
+
 private:
     QSharedDataPointer<QNetworkRequestPrivate> d;
     friend class QNetworkRequestPrivate;
diff --git a/src/network/bearer/qnetworkconfigmanager.h b/src/network/bearer/qnetworkconfigmanager.h
index b62a44c..84080ba 100644
--- a/src/network/bearer/qnetworkconfigmanager.h
+++ b/src/network/bearer/qnetworkconfigmanager.h
@@ -59,13 +59,13 @@ public:
 
     Q_DECLARE_FLAGS(Capabilities, Capability)
 
-    explicit QNetworkConfigurationManager(QObject *parent = 0);
+    explicit QNetworkConfigurationManager(QObject *parent = Q_NULLPTR);
     virtual ~QNetworkConfigurationManager();
 
     QNetworkConfigurationManager::Capabilities capabilities() const;
 
     QNetworkConfiguration defaultConfiguration() const;
-    QList<QNetworkConfiguration> allConfigurations(QNetworkConfiguration::StateFlags flags = 0) const;
+    QList<QNetworkConfiguration> allConfigurations(QNetworkConfiguration::StateFlags flags = QNetworkConfiguration::StateFlags()) const;
     QNetworkConfiguration configurationFromIdentifier(const QString &identifier) const;
 
     bool isOnline() const;
diff --git a/src/network/bearer/qnetworkconfiguration.h b/src/network/bearer/qnetworkconfiguration.h
index dbef344..317c232 100644
--- a/src/network/bearer/qnetworkconfiguration.h
+++ b/src/network/bearer/qnetworkconfiguration.h
@@ -49,10 +49,13 @@ class Q_NETWORK_EXPORT QNetworkConfiguration
 public:
     QNetworkConfiguration();
     QNetworkConfiguration(const QNetworkConfiguration& other);
+#ifdef Q_COMPILER_RVALUE_REFS
+    QNetworkConfiguration &operator=(QNetworkConfiguration &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
     QNetworkConfiguration &operator=(const QNetworkConfiguration &other);
     ~QNetworkConfiguration();
 
-    void swap(QNetworkConfiguration &other) { qSwap(d, other.d); }
+    void swap(QNetworkConfiguration &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     bool operator==(const QNetworkConfiguration &other) const;
     inline bool operator!=(const QNetworkConfiguration &other) const
diff --git a/src/network/bearer/qnetworksession.h b/src/network/bearer/qnetworksession.h
index 34d721f..bee4be7 100644
--- a/src/network/bearer/qnetworksession.h
+++ b/src/network/bearer/qnetworksession.h
@@ -80,7 +80,7 @@ public:
 
     Q_DECLARE_FLAGS(UsagePolicies, UsagePolicy)
 
-    explicit QNetworkSession(const QNetworkConfiguration &connConfig, QObject *parent = 0);
+    explicit QNetworkSession(const QNetworkConfiguration &connConfig, QObject *parent = Q_NULLPTR);
     virtual ~QNetworkSession();
 
     bool isOpen() const;
diff --git a/src/network/kernel/qdnslookup.h b/src/network/kernel/qdnslookup.h
index 01ebbb6..ae015a2 100644
--- a/src/network/kernel/qdnslookup.h
+++ b/src/network/kernel/qdnslookup.h
@@ -55,16 +55,18 @@ class Q_NETWORK_EXPORT QDnsDomainNameRecord
 public:
     QDnsDomainNameRecord();
     QDnsDomainNameRecord(const QDnsDomainNameRecord &other);
+#ifdef Q_COMPILER_RVALUE_REFS
+    QDnsDomainNameRecord &operator=(QDnsDomainNameRecord &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
+    QDnsDomainNameRecord &operator=(const QDnsDomainNameRecord &other);
     ~QDnsDomainNameRecord();
 
-    void swap(QDnsDomainNameRecord &other) { qSwap(d, other.d); }
+    void swap(QDnsDomainNameRecord &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     QString name() const;
     quint32 timeToLive() const;
     QString value() const;
 
-    QDnsDomainNameRecord &operator=(const QDnsDomainNameRecord &other);
-
 private:
     QSharedDataPointer<QDnsDomainNameRecordPrivate> d;
     friend class QDnsLookupRunnable;
@@ -77,16 +79,18 @@ class Q_NETWORK_EXPORT QDnsHostAddressRecord
 public:
     QDnsHostAddressRecord();
     QDnsHostAddressRecord(const QDnsHostAddressRecord &other);
+#ifdef Q_COMPILER_RVALUE_REFS
+    QDnsHostAddressRecord &operator=(QDnsHostAddressRecord &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
+    QDnsHostAddressRecord &operator=(const QDnsHostAddressRecord &other);
     ~QDnsHostAddressRecord();
 
-    void swap(QDnsHostAddressRecord &other) { qSwap(d, other.d); }
+    void swap(QDnsHostAddressRecord &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     QString name() const;
     quint32 timeToLive() const;
     QHostAddress value() const;
 
-    QDnsHostAddressRecord &operator=(const QDnsHostAddressRecord &other);
-
 private:
     QSharedDataPointer<QDnsHostAddressRecordPrivate> d;
     friend class QDnsLookupRunnable;
@@ -99,17 +103,19 @@ class Q_NETWORK_EXPORT QDnsMailExchangeRecord
 public:
     QDnsMailExchangeRecord();
     QDnsMailExchangeRecord(const QDnsMailExchangeRecord &other);
+#ifdef Q_COMPILER_RVALUE_REFS
+    QDnsMailExchangeRecord &operator=(QDnsMailExchangeRecord &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
+    QDnsMailExchangeRecord &operator=(const QDnsMailExchangeRecord &other);
     ~QDnsMailExchangeRecord();
 
-    void swap(QDnsMailExchangeRecord &other) { qSwap(d, other.d); }
+    void swap(QDnsMailExchangeRecord &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     QString exchange() const;
     QString name() const;
     quint16 preference() const;
     quint32 timeToLive() const;
 
-    QDnsMailExchangeRecord &operator=(const QDnsMailExchangeRecord &other);
-
 private:
     QSharedDataPointer<QDnsMailExchangeRecordPrivate> d;
     friend class QDnsLookupRunnable;
@@ -122,9 +128,13 @@ class Q_NETWORK_EXPORT QDnsServiceRecord
 public:
     QDnsServiceRecord();
     QDnsServiceRecord(const QDnsServiceRecord &other);
+#ifdef Q_COMPILER_RVALUE_REFS
+    QDnsServiceRecord &operator=(QDnsServiceRecord &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
+    QDnsServiceRecord &operator=(const QDnsServiceRecord &other);
     ~QDnsServiceRecord();
 
-    void swap(QDnsServiceRecord &other) { qSwap(d, other.d); }
+    void swap(QDnsServiceRecord &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     QString name() const;
     quint16 port() const;
@@ -133,8 +143,6 @@ public:
     quint32 timeToLive() const;
     quint16 weight() const;
 
-    QDnsServiceRecord &operator=(const QDnsServiceRecord &other);
-
 private:
     QSharedDataPointer<QDnsServiceRecordPrivate> d;
     friend class QDnsLookupRunnable;
@@ -147,16 +155,18 @@ class Q_NETWORK_EXPORT QDnsTextRecord
 public:
     QDnsTextRecord();
     QDnsTextRecord(const QDnsTextRecord &other);
+#ifdef Q_COMPILER_RVALUE_REFS
+    QDnsTextRecord &operator=(QDnsTextRecord &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
+    QDnsTextRecord &operator=(const QDnsTextRecord &other);
     ~QDnsTextRecord();
 
-    void swap(QDnsTextRecord &other) { qSwap(d, other.d); }
+    void swap(QDnsTextRecord &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     QString name() const;
     quint32 timeToLive() const;
     QList<QByteArray> values() const;
 
-    QDnsTextRecord &operator=(const QDnsTextRecord &other);
-
 private:
     QSharedDataPointer<QDnsTextRecordPrivate> d;
     friend class QDnsLookupRunnable;
@@ -201,9 +211,9 @@ public:
     };
     Q_ENUM(Type)
 
-    explicit QDnsLookup(QObject *parent = 0);
-    QDnsLookup(Type type, const QString &name, QObject *parent = 0);
-    QDnsLookup(Type type, const QString &name, const QHostAddress &nameserver, QObject *parent = 0);
+    explicit QDnsLookup(QObject *parent = Q_NULLPTR);
+    QDnsLookup(Type type, const QString &name, QObject *parent = Q_NULLPTR);
+    QDnsLookup(Type type, const QString &name, const QHostAddress &nameserver, QObject *parent = Q_NULLPTR);
     ~QDnsLookup();
 
     Error error() const;
diff --git a/src/network/kernel/qhostaddress.h b/src/network/kernel/qhostaddress.h
index 0c2229c..cea54a2 100644
--- a/src/network/kernel/qhostaddress.h
+++ b/src/network/kernel/qhostaddress.h
@@ -84,9 +84,16 @@ public:
     QHostAddress(SpecialAddress address);
     ~QHostAddress();
 
+#ifdef Q_COMPILER_RVALUE_REFS
+    QHostAddress &operator=(QHostAddress &&other) Q_DECL_NOTHROW
+    { swap(other); return *this; }
+#endif
+
     QHostAddress &operator=(const QHostAddress &other);
     QHostAddress &operator=(const QString &address);
 
+    void swap(QHostAddress &other) Q_DECL_NOTHROW { d.swap(other.d); }
+
     void setAddress(quint32 ip4Addr);
     void setAddress(quint8 *ip6Addr);   // ### Qt 6: remove me
     void setAddress(const quint8 *ip6Addr);
@@ -117,6 +124,7 @@ public:
     bool isInSubnet(const QPair<QHostAddress, int> &subnet) const;
 
     bool isLoopback() const;
+    bool isMulticast() const;
 
     static QPair<QHostAddress, int> parseSubnet(const QString &subnet);
 
diff --git a/src/network/kernel/qnetworkinterface.h b/src/network/kernel/qnetworkinterface.h
index a4d9315..b3daa3d 100644
--- a/src/network/kernel/qnetworkinterface.h
+++ b/src/network/kernel/qnetworkinterface.h
@@ -51,10 +51,13 @@ class Q_NETWORK_EXPORT QNetworkAddressEntry
 public:
     QNetworkAddressEntry();
     QNetworkAddressEntry(const QNetworkAddressEntry &other);
+#ifdef Q_COMPILER_RVALUE_REFS
+    QNetworkAddressEntry &operator=(QNetworkAddressEntry &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
     QNetworkAddressEntry &operator=(const QNetworkAddressEntry &other);
     ~QNetworkAddressEntry();
 
-    void swap(QNetworkAddressEntry &other) { qSwap(d, other.d); }
+    void swap(QNetworkAddressEntry &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     bool operator==(const QNetworkAddressEntry &other) const;
     inline bool operator!=(const QNetworkAddressEntry &other) const
@@ -93,10 +96,13 @@ public:
 
     QNetworkInterface();
     QNetworkInterface(const QNetworkInterface &other);
+#ifdef Q_COMPILER_RVALUE_REFS
+    QNetworkInterface &operator=(QNetworkInterface &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
     QNetworkInterface &operator=(const QNetworkInterface &other);
     ~QNetworkInterface();
 
-    void swap(QNetworkInterface &other) { qSwap(d, other.d); }
+    void swap(QNetworkInterface &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     bool isValid() const;
 
@@ -127,6 +133,9 @@ Q_NETWORK_EXPORT QDebug operator<<(QDebug debug, const QNetworkInterface &networ
 
 QT_END_NAMESPACE
 
+Q_DECLARE_METATYPE(QNetworkAddressEntry)
+Q_DECLARE_METATYPE(QNetworkInterface)
+
 #endif // QT_NO_NETWORKINTERFACE
 
 #endif
diff --git a/src/network/kernel/qnetworkproxy.h b/src/network/kernel/qnetworkproxy.h
index 6b0f4a3..717c141 100644
--- a/src/network/kernel/qnetworkproxy.h
+++ b/src/network/kernel/qnetworkproxy.h
@@ -63,7 +63,6 @@ public:
                        QueryType queryType = TcpSocket);
     explicit QNetworkProxyQuery(quint16 bindPort, const QString &protocolTag = QString(),
                        QueryType queryType = TcpServer);
-    QNetworkProxyQuery(const QNetworkProxyQuery &other);
 #ifndef QT_NO_BEARERMANAGEMENT
     QNetworkProxyQuery(const QNetworkConfiguration &networkConfiguration,
                        const QUrl &requestUrl, QueryType queryType = UrlRequest);
@@ -74,10 +73,14 @@ public:
                        quint16 bindPort, const QString &protocolTag = QString(),
                        QueryType queryType = TcpServer);
 #endif
-    ~QNetworkProxyQuery();
+    QNetworkProxyQuery(const QNetworkProxyQuery &other);
+#ifdef Q_COMPILER_RVALUE_REFS
+    QNetworkProxyQuery &operator=(QNetworkProxyQuery &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
     QNetworkProxyQuery &operator=(const QNetworkProxyQuery &other);
+    ~QNetworkProxyQuery();
 
-    void swap(QNetworkProxyQuery &other) { qSwap(d, other.d); }
+    void swap(QNetworkProxyQuery &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     bool operator==(const QNetworkProxyQuery &other) const;
     inline bool operator!=(const QNetworkProxyQuery &other) const
@@ -139,10 +142,13 @@ public:
     QNetworkProxy(ProxyType type, const QString &hostName = QString(), quint16 port = 0,
                   const QString &user = QString(), const QString &password = QString());
     QNetworkProxy(const QNetworkProxy &other);
+#ifdef Q_COMPILER_RVALUE_REFS
+    QNetworkProxy &operator=(QNetworkProxy &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
     QNetworkProxy &operator=(const QNetworkProxy &other);
     ~QNetworkProxy();
 
-    void swap(QNetworkProxy &other) { qSwap(d, other.d); }
+    void swap(QNetworkProxy &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     bool operator==(const QNetworkProxy &other) const;
     inline bool operator!=(const QNetworkProxy &other) const
diff --git a/src/network/socket/qabstractsocket.h b/src/network/socket/qabstractsocket.h
index f3d7f13..23f0d26 100644
--- a/src/network/socket/qabstractsocket.h
+++ b/src/network/socket/qabstractsocket.h
@@ -149,7 +149,7 @@ public:
     qint64 bytesAvailable() const Q_DECL_OVERRIDE;
     qint64 bytesToWrite() const Q_DECL_OVERRIDE;
 
-    bool canReadLine() const Q_DECL_OVERRIDE;
+    bool canReadLine() const Q_DECL_OVERRIDE; // ### Qt6: remove me
 
     quint16 localPort() const;
     QHostAddress localAddress() const;
@@ -213,7 +213,7 @@ protected:
     void setPeerAddress(const QHostAddress &address);
     void setPeerName(const QString &name);
 
-    QAbstractSocket(SocketType socketType, QAbstractSocketPrivate &dd, QObject *parent = 0);
+    QAbstractSocket(SocketType socketType, QAbstractSocketPrivate &dd, QObject *parent = Q_NULLPTR);
 
 private:
     Q_DECLARE_PRIVATE(QAbstractSocket)
diff --git a/src/network/socket/qlocalserver.h b/src/network/socket/qlocalserver.h
index a03cdb7..24908db 100644
--- a/src/network/socket/qlocalserver.h
+++ b/src/network/socket/qlocalserver.h
@@ -64,7 +64,7 @@ public:
     };
     Q_DECLARE_FLAGS(SocketOptions, SocketOption)
 
-    explicit QLocalServer(QObject *parent = 0);
+    explicit QLocalServer(QObject *parent = Q_NULLPTR);
     ~QLocalServer();
 
     void close();
@@ -80,7 +80,7 @@ public:
     static bool removeServer(const QString &name);
     QAbstractSocket::SocketError serverError() const;
     void setMaxPendingConnections(int numConnections);
-    bool waitForNewConnection(int msec = 0, bool *timedOut = 0);
+    bool waitForNewConnection(int msec = 0, bool *timedOut = Q_NULLPTR);
 
     void setSocketOptions(SocketOptions options);
     SocketOptions socketOptions() const;
diff --git a/src/network/socket/qlocalsocket.h b/src/network/socket/qlocalsocket.h
index a4d8405..4b39a7c 100644
--- a/src/network/socket/qlocalsocket.h
+++ b/src/network/socket/qlocalsocket.h
@@ -73,7 +73,7 @@ public:
         ClosingState = QAbstractSocket::ClosingState
     };
 
-    QLocalSocket(QObject *parent = 0);
+    QLocalSocket(QObject *parent = Q_NULLPTR);
     ~QLocalSocket();
 
     void connectToServer(OpenMode openMode = ReadWrite);
diff --git a/src/network/socket/qtcpserver.h b/src/network/socket/qtcpserver.h
index 8c7537a..dd7b12c 100644
--- a/src/network/socket/qtcpserver.h
+++ b/src/network/socket/qtcpserver.h
@@ -51,7 +51,7 @@ class Q_NETWORK_EXPORT QTcpServer : public QObject
 {
     Q_OBJECT
 public:
-    explicit QTcpServer(QObject *parent = 0);
+    explicit QTcpServer(QObject *parent = Q_NULLPTR);
     virtual ~QTcpServer();
 
     bool listen(const QHostAddress &address = QHostAddress::Any, quint16 port = 0);
@@ -68,7 +68,7 @@ public:
     qintptr socketDescriptor() const;
     bool setSocketDescriptor(qintptr socketDescriptor);
 
-    bool waitForNewConnection(int msec = 0, bool *timedOut = 0);
+    bool waitForNewConnection(int msec = 0, bool *timedOut = Q_NULLPTR);
     virtual bool hasPendingConnections() const;
     virtual QTcpSocket *nextPendingConnection();
 
@@ -87,7 +87,7 @@ protected:
     virtual void incomingConnection(qintptr handle);
     void addPendingConnection(QTcpSocket* socket);
 
-    QTcpServer(QTcpServerPrivate &dd, QObject *parent = 0);
+    QTcpServer(QTcpServerPrivate &dd, QObject *parent = Q_NULLPTR);
 
 Q_SIGNALS:
     void newConnection();
diff --git a/src/network/socket/qtcpsocket.h b/src/network/socket/qtcpsocket.h
index 3449bee..8e3cb59 100644
--- a/src/network/socket/qtcpsocket.h
+++ b/src/network/socket/qtcpsocket.h
@@ -46,11 +46,13 @@ class Q_NETWORK_EXPORT QTcpSocket : public QAbstractSocket
 {
     Q_OBJECT
 public:
-    explicit QTcpSocket(QObject *parent = 0);
+    explicit QTcpSocket(QObject *parent = Q_NULLPTR);
     virtual ~QTcpSocket();
 
 protected:
-    QTcpSocket(QTcpSocketPrivate &dd, QObject *parent = 0);
+    QTcpSocket(QTcpSocketPrivate &dd, QObject *parent = Q_NULLPTR);
+    QTcpSocket(QAbstractSocket::SocketType socketType, QTcpSocketPrivate &dd,
+               QObject *parent = Q_NULLPTR);
 
 private:
     Q_DISABLE_COPY(QTcpSocket)
diff --git a/src/network/socket/qudpsocket.h b/src/network/socket/qudpsocket.h
index fcf16fb..e902984 100644
--- a/src/network/socket/qudpsocket.h
+++ b/src/network/socket/qudpsocket.h
@@ -49,7 +49,7 @@ class Q_NETWORK_EXPORT QUdpSocket : public QAbstractSocket
 {
     Q_OBJECT
 public:
-    explicit QUdpSocket(QObject *parent = 0);
+    explicit QUdpSocket(QObject *parent = Q_NULLPTR);
     virtual ~QUdpSocket();
 
 #ifndef QT_NO_NETWORKINTERFACE
@@ -66,7 +66,7 @@ public:
 
     bool hasPendingDatagrams() const;
     qint64 pendingDatagramSize() const;
-    qint64 readDatagram(char *data, qint64 maxlen, QHostAddress *host = 0, quint16 *port = 0);
+    qint64 readDatagram(char *data, qint64 maxlen, QHostAddress *host = Q_NULLPTR, quint16 *port = Q_NULLPTR);
     qint64 writeDatagram(const char *data, qint64 len, const QHostAddress &host, quint16 port);
     inline qint64 writeDatagram(const QByteArray &datagram, const QHostAddress &host, quint16 port)
         { return writeDatagram(datagram.constData(), datagram.size(), host, port); }
diff --git a/src/network/ssl/qssl.h b/src/network/ssl/qssl.h
index f56c36b..03497ec 100644
--- a/src/network/ssl/qssl.h
+++ b/src/network/ssl/qssl.h
@@ -95,7 +95,8 @@ namespace QSsl {
         SslOptionDisableServerNameIndication = 0x08,
         SslOptionDisableLegacyRenegotiation = 0x10,
         SslOptionDisableSessionSharing = 0x20,
-        SslOptionDisableSessionPersistence = 0x40
+        SslOptionDisableSessionPersistence = 0x40,
+        SslOptionDisableServerCipherPreference = 0x80
     };
     Q_DECLARE_FLAGS(SslOptions, SslOption)
 }
diff --git a/src/network/ssl/qsslcertificate.h b/src/network/ssl/qsslcertificate.h
index ef0767a..af605b0 100644
--- a/src/network/ssl/qsslcertificate.h
+++ b/src/network/ssl/qsslcertificate.h
@@ -83,9 +83,12 @@ public:
     explicit QSslCertificate(const QByteArray &data = QByteArray(), QSsl::EncodingFormat format = QSsl::Pem);
     QSslCertificate(const QSslCertificate &other);
     ~QSslCertificate();
+#ifdef Q_COMPILER_RVALUE_REFS
+    QSslCertificate &operator=(QSslCertificate &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
     QSslCertificate &operator=(const QSslCertificate &other);
 
-    inline void swap(QSslCertificate &other)
+    void swap(QSslCertificate &other) Q_DECL_NOTHROW
     { qSwap(d, other.d); }
 
     bool operator==(const QSslCertificate &other) const;
@@ -144,7 +147,7 @@ public:
 
     static bool importPkcs12(QIODevice *device,
                              QSslKey *key, QSslCertificate *cert,
-                             QList<QSslCertificate> *caCertificates=0,
+                             QList<QSslCertificate> *caCertificates = Q_NULLPTR,
                              const QByteArray &passPhrase=QByteArray());
 
     Qt::HANDLE handle() const;
diff --git a/src/network/ssl/qsslcertificateextension.h b/src/network/ssl/qsslcertificateextension.h
index 7c958ef..8dd0e8e 100644
--- a/src/network/ssl/qsslcertificateextension.h
+++ b/src/network/ssl/qsslcertificateextension.h
@@ -51,11 +51,13 @@ class Q_NETWORK_EXPORT QSslCertificateExtension
 public:
     QSslCertificateExtension();
     QSslCertificateExtension(const QSslCertificateExtension &other);
-    ~QSslCertificateExtension();
-
+#ifdef Q_COMPILER_RVALUE_REFS
+    QSslCertificateExtension &operator=(QSslCertificateExtension &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
     QSslCertificateExtension &operator=(const QSslCertificateExtension &other);
+    ~QSslCertificateExtension();
 
-    void swap(QSslCertificateExtension &other) { qSwap(d, other.d); }
+    void swap(QSslCertificateExtension &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     QString oid() const;
     QString name() const;
diff --git a/src/network/ssl/qsslcipher.h b/src/network/ssl/qsslcipher.h
index dc65e32..64122cd 100644
--- a/src/network/ssl/qsslcipher.h
+++ b/src/network/ssl/qsslcipher.h
@@ -52,10 +52,13 @@ public:
     explicit QSslCipher(const QString &name);
     QSslCipher(const QString &name, QSsl::SslProtocol protocol);
     QSslCipher(const QSslCipher &other);
-    ~QSslCipher();
+#ifdef Q_COMPILER_RVALUE_REFS
+    QSslCipher &operator=(QSslCipher &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
     QSslCipher &operator=(const QSslCipher &other);
+    ~QSslCipher();
 
-    inline void swap(QSslCipher &other)
+    void swap(QSslCipher &other) Q_DECL_NOTHROW
     { qSwap(d, other.d); }
 
     bool operator==(const QSslCipher &other) const;
diff --git a/src/network/ssl/qsslconfiguration.h b/src/network/ssl/qsslconfiguration.h
index 960aec6..2cbc31b 100644
--- a/src/network/ssl/qsslconfiguration.h
+++ b/src/network/ssl/qsslconfiguration.h
@@ -71,9 +71,12 @@ public:
     QSslConfiguration();
     QSslConfiguration(const QSslConfiguration &other);
     ~QSslConfiguration();
+#ifdef Q_COMPILER_RVALUE_REFS
+    QSslConfiguration &operator=(QSslConfiguration &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
     QSslConfiguration &operator=(const QSslConfiguration &other);
 
-    inline void swap(QSslConfiguration &other)
+    void swap(QSslConfiguration &other) Q_DECL_NOTHROW
     { qSwap(d, other.d); }
 
     bool operator==(const QSslConfiguration &other) const;
diff --git a/src/network/ssl/qsslellipticcurve.h b/src/network/ssl/qsslellipticcurve.h
index a991881..5716e34 100644
--- a/src/network/ssl/qsslellipticcurve.h
+++ b/src/network/ssl/qsslellipticcurve.h
@@ -37,7 +37,10 @@
 #include <QtCore/QtGlobal>
 #include <QtCore/QString>
 #include <QtCore/QMetaType>
+#if QT_DEPRECATED_SINCE(5, 5)
 #include <QtCore/QHash>
+#endif
+#include <QtCore/qhashfunctions.h>
 
 QT_BEGIN_NAMESPACE
 
diff --git a/src/network/ssl/qsslerror.h b/src/network/ssl/qsslerror.h
index b149f86..bc2a2d5 100644
--- a/src/network/ssl/qsslerror.h
+++ b/src/network/ssl/qsslerror.h
@@ -84,10 +84,13 @@ public:
 
     QSslError(const QSslError &other);
 
-    inline void swap(QSslError &other)
+    void swap(QSslError &other) Q_DECL_NOTHROW
     { qSwap(d, other.d); }
 
     ~QSslError();
+#ifdef Q_COMPILER_RVALUE_REFS
+    QSslError &operator=(QSslError &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
     QSslError &operator=(const QSslError &other);
     bool operator==(const QSslError &other) const;
     inline bool operator!=(const QSslError &other) const
diff --git a/src/network/ssl/qsslkey.h b/src/network/ssl/qsslkey.h
index b89069e..d02c031 100644
--- a/src/network/ssl/qsslkey.h
+++ b/src/network/ssl/qsslkey.h
@@ -64,10 +64,13 @@ public:
             const QByteArray &passPhrase = QByteArray());
     explicit QSslKey(Qt::HANDLE handle, QSsl::KeyType type = QSsl::PrivateKey);
     QSslKey(const QSslKey &other);
-    ~QSslKey();
+#ifdef Q_COMPILER_RVALUE_REFS
+    QSslKey &operator=(QSslKey &&other) Q_DECL_NOTHROW { swap(other); return *this; }
+#endif
     QSslKey &operator=(const QSslKey &other);
+    ~QSslKey();
 
-    inline void swap(QSslKey &other) { qSwap(d, other.d); }
+    void swap(QSslKey &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     bool isNull() const;
     void clear();
diff --git a/src/network/ssl/qsslpresharedkeyauthenticator.h b/src/network/ssl/qsslpresharedkeyauthenticator.h
index 159b16d..34e5d6f 100644
--- a/src/network/ssl/qsslpresharedkeyauthenticator.h
+++ b/src/network/ssl/qsslpresharedkeyauthenticator.h
@@ -52,14 +52,10 @@ public:
     Q_NETWORK_EXPORT QSslPreSharedKeyAuthenticator &operator=(const QSslPreSharedKeyAuthenticator &authenticator);
 
 #ifdef Q_COMPILER_RVALUE_REFS
-    inline QSslPreSharedKeyAuthenticator &operator=(QSslPreSharedKeyAuthenticator &&authenticator)
-    { d.swap(authenticator.d); return *this; }
+    QSslPreSharedKeyAuthenticator &operator=(QSslPreSharedKeyAuthenticator &&other) Q_DECL_NOTHROW { swap(other); return *this; }
 #endif
 
-    void swap(QSslPreSharedKeyAuthenticator &authenticator)
-    {
-        d.swap(authenticator.d);
-    }
+    void swap(QSslPreSharedKeyAuthenticator &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
 
     Q_NETWORK_EXPORT QByteArray identityHint() const;
 
diff --git a/src/network/ssl/qsslsocket.h b/src/network/ssl/qsslsocket.h
index 4124f5b..22856c6 100644
--- a/src/network/ssl/qsslsocket.h
+++ b/src/network/ssl/qsslsocket.h
@@ -72,7 +72,7 @@ public:
         AutoVerifyPeer
     };
 
-    explicit QSslSocket(QObject *parent = 0);
+    explicit QSslSocket(QObject *parent = Q_NULLPTR);
     ~QSslSocket();
     void resume() Q_DECL_OVERRIDE; // to continue after proxy authentication required, SSL errors etc.
 
_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to