diff --git a/src/network/access/qabstractnetworkcache.h b/src/network/access/qabstractnetworkcache.h index b563090..352daa9 100644 --- a/src/network/access/qabstractnetworkcache.h +++ b/src/network/access/qabstractnetworkcache.h @@ -37,6 +37,7 @@ #include <QtCore/QObject> #ifndef QT_NO_SSL #include <QtNetwork/QSslConfiguration> +#include <QtNetwork/QSslPreSharedKeyAuthenticator> #endif QT_BEGIN_NAMESPACE @@ -145,6 +146,7 @@ Q_SIGNALS: #ifndef QT_NO_SSL void encrypted(QNetworkReply *reply); void sslErrors(QNetworkReply *reply, const QList<QSslError> &errors); + void preSharedKeyAuthenticationRequired(QNetworkReply *reply, QSslPreSharedKeyAuthenticator *authenticator); #endif #ifndef QT_NO_BEARERMANAGEMENT @@ -169,6 +171,7 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_replyFinished()) Q_PRIVATE_SLOT(d_func(), void _q_replyEncrypted()) Q_PRIVATE_SLOT(d_func(), void _q_replySslErrors(QList<QSslError>)) + Q_PRIVATE_SLOT(d_func(), void _q_replyPreSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator*)) #ifndef QT_NO_BEARERMANAGEMENT Q_PRIVATE_SLOT(d_func(), void _q_networkSessionClosed()) Q_PRIVATE_SLOT(d_func(), void _q_networkSessionStateChanged(QNetworkSession::State)) diff --git a/src/network/access/qnetworkcookie.h b/src/network/access/qnetworkcookie.h index ad977d2..2da86d3 100644 --- a/src/network/access/qnetworkcookie.h +++ b/src/network/access/qnetworkcookie.h @@ -56,18 +56,18 @@ public: qint64 maximumCacheSize() const; void setMaximumCacheSize(qint64 size); - qint64 cacheSize() const; - QNetworkCacheMetaData metaData(const QUrl &url); - void updateMetaData(const QNetworkCacheMetaData &metaData); - QIODevice *data(const QUrl &url); - bool remove(const QUrl &url); - QIODevice *prepare(const QNetworkCacheMetaData &metaData); - void insert(QIODevice *device); + qint64 cacheSize() const Q_DECL_OVERRIDE; + QNetworkCacheMetaData metaData(const QUrl &url) Q_DECL_OVERRIDE; + void updateMetaData(const QNetworkCacheMetaData &metaData) Q_DECL_OVERRIDE; + QIODevice *data(const QUrl &url) Q_DECL_OVERRIDE; + bool remove(const QUrl &url) Q_DECL_OVERRIDE; + QIODevice *prepare(const QNetworkCacheMetaData &metaData) Q_DECL_OVERRIDE; + void insert(QIODevice *device) Q_DECL_OVERRIDE; QNetworkCacheMetaData fileMetaData(const QString &fileName) const; public Q_SLOTS: - void clear(); + void clear() Q_DECL_OVERRIDE; protected: virtual qint64 expire(); diff --git a/src/network/access/qnetworkreply.h b/src/network/access/qnetworkreply.h index 4a32131..91c9e77 100644 --- a/src/network/access/qnetworkreply.h +++ b/src/network/access/qnetworkreply.h @@ -49,12 +49,12 @@ class QVariant; class QAuthenticator; class QSslConfiguration; class QSslError; +class QSslPreSharedKeyAuthenticator; class QNetworkReplyPrivate; class Q_NETWORK_EXPORT QNetworkReply: public QIODevice { Q_OBJECT - Q_ENUMS(NetworkError) public: enum NetworkError { NoError = 0, @@ -100,12 +100,13 @@ public: ServiceUnavailableError, UnknownServerError = 499 }; + Q_ENUM(NetworkError) ~QNetworkReply(); // reimplemented from QIODevice - virtual void close(); - virtual bool isSequential() const; + virtual void close() Q_DECL_OVERRIDE; + virtual bool isSequential() const Q_DECL_OVERRIDE; // like QAbstractSocket: qint64 readBufferSize() const; @@ -150,6 +151,7 @@ Q_SIGNALS: #ifndef QT_NO_SSL void encrypted(); void sslErrors(const QList<QSslError> &errors); + void preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator *authenticator); #endif void uploadProgress(qint64 bytesSent, qint64 bytesTotal); @@ -158,7 +160,7 @@ Q_SIGNALS: protected: explicit QNetworkReply(QObject *parent = 0); QNetworkReply(QNetworkReplyPrivate &dd, QObject *parent); - virtual qint64 writeData(const char *data, qint64 len); + virtual qint64 writeData(const char *data, qint64 len) Q_DECL_OVERRIDE; void setOperation(QNetworkAccessManager::Operation operation); void setRequest(const QNetworkRequest &request); diff --git a/src/network/access/qnetworkrequest.h b/src/network/access/qnetworkrequest.h index 0239ae7..d6d907b 100644 --- a/src/network/access/qnetworkrequest.h +++ b/src/network/access/qnetworkrequest.h @@ -80,6 +80,7 @@ public: BackgroundRequestAttribute, SpdyAllowedAttribute, SpdyWasUsedAttribute, + EmitAllUploadProgressSignalsAttribute, User = 1000, UserMax = 32767 diff --git a/src/network/bearer/qnetworkconfigmanager.h b/src/network/bearer/qnetworkconfigmanager.h index 1ff233c..b62a44c 100644 --- a/src/network/bearer/qnetworkconfigmanager.h +++ b/src/network/bearer/qnetworkconfigmanager.h @@ -124,8 +124,8 @@ Q_SIGNALS: void usagePoliciesChanged(QNetworkSession::UsagePolicies usagePolicies); protected: - virtual void connectNotify(const QMetaMethod &signal); - virtual void disconnectNotify(const QMetaMethod &signal); + virtual void connectNotify(const QMetaMethod &signal) Q_DECL_OVERRIDE; + virtual void disconnectNotify(const QMetaMethod &signal) Q_DECL_OVERRIDE; private: Q_DISABLE_COPY(QNetworkSession) diff --git a/src/network/kernel/qauthenticator.h b/src/network/kernel/qauthenticator.h index 436e553..ade0e1a 100644 --- a/src/network/kernel/qauthenticator.h +++ b/src/network/kernel/qauthenticator.h @@ -167,7 +167,6 @@ Q_DECLARE_SHARED(QDnsTextRecord) class Q_NETWORK_EXPORT QDnsLookup : public QObject { Q_OBJECT - Q_ENUMS(Error Type) Q_PROPERTY(Error error READ error NOTIFY finished) Q_PROPERTY(QString errorString READ errorString NOTIFY finished) Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) @@ -186,6 +185,7 @@ public: ServerRefusedError, NotFoundError }; + Q_ENUM(Error) enum Type { @@ -199,6 +199,7 @@ public: SRV = 33, TXT = 16 }; + Q_ENUM(Type) explicit QDnsLookup(QObject *parent = 0); QDnsLookup(Type type, const QString &name, QObject *parent = 0); diff --git a/src/network/kernel/qhostaddress.h b/src/network/kernel/qhostaddress.h index d849048..0c2229c 100644 --- a/src/network/kernel/qhostaddress.h +++ b/src/network/kernel/qhostaddress.h @@ -75,7 +75,8 @@ public: QHostAddress(); explicit QHostAddress(quint32 ip4Addr); - explicit QHostAddress(quint8 *ip6Addr); + explicit QHostAddress(quint8 *ip6Addr); // ### Qt 6: remove me + explicit QHostAddress(const quint8 *ip6Addr); explicit QHostAddress(const Q_IPV6ADDR &ip6Addr); explicit QHostAddress(const sockaddr *address); explicit QHostAddress(const QString &address); @@ -87,13 +88,15 @@ public: QHostAddress &operator=(const QString &address); void setAddress(quint32 ip4Addr); - void setAddress(quint8 *ip6Addr); + void setAddress(quint8 *ip6Addr); // ### Qt 6: remove me + void setAddress(const quint8 *ip6Addr); void setAddress(const Q_IPV6ADDR &ip6Addr); void setAddress(const sockaddr *address); bool setAddress(const QString &address); QAbstractSocket::NetworkLayerProtocol protocol() const; - quint32 toIPv4Address() const; + quint32 toIPv4Address() const; // ### Qt6: merge with next overload + quint32 toIPv4Address(bool *ok) const; Q_IPV6ADDR toIPv6Address() const; QString toString() const; diff --git a/src/network/kernel/qhostinfo.h b/src/network/kernel/qhostinfo.h index 9bd1486..4f60638 100644 --- a/src/network/kernel/qhostinfo.h +++ b/src/network/kernel/qhostinfo.h @@ -53,19 +53,20 @@ class QAuthenticator; class Q_NETWORK_EXPORT QAbstractSocket : public QIODevice { Q_OBJECT - Q_ENUMS(SocketType NetworkLayerProtocol SocketError SocketState SocketOption) public: enum SocketType { TcpSocket, UdpSocket, UnknownSocketType = -1 }; + Q_ENUM(SocketType) enum NetworkLayerProtocol { IPv4Protocol, IPv6Protocol, AnyIPProtocol, UnknownNetworkLayerProtocol = -1 }; + Q_ENUM(NetworkLayerProtocol) enum SocketError { ConnectionRefusedError, RemoteHostClosedError, @@ -93,6 +94,7 @@ public: UnknownSocketError = -1 }; + Q_ENUM(SocketError) enum SocketState { UnconnectedState, HostLookupState, @@ -102,6 +104,7 @@ public: ListeningState, ClosingState }; + Q_ENUM(SocketState) enum SocketOption { LowDelayOption, // TCP_NODELAY KeepAliveOption, // SO_KEEPALIVE @@ -111,6 +114,7 @@ public: SendBufferSizeSocketOption, //SO_SNDBUF ReceiveBufferSizeSocketOption //SO_RCVBUF }; + Q_ENUM(SocketOption) enum BindFlag { DefaultForPlatform = 0x0, ShareAddress = 0x1, @@ -131,19 +135,21 @@ public: PauseModes pauseMode() const; void setPauseMode(PauseModes pauseMode); + // ### Qt6: make the first one virtual bool bind(const QHostAddress &address, quint16 port = 0, BindMode mode = DefaultForPlatform); bool bind(quint16 port = 0, BindMode mode = DefaultForPlatform); + // ### Qt6: de-virtualize connectToHost(QHostAddress) overload virtual void connectToHost(const QString &hostName, quint16 port, OpenMode mode = ReadWrite, NetworkLayerProtocol protocol = AnyIPProtocol); virtual void connectToHost(const QHostAddress &address, quint16 port, OpenMode mode = ReadWrite); virtual void disconnectFromHost(); bool isValid() const; - qint64 bytesAvailable() const; - qint64 bytesToWrite() const; + qint64 bytesAvailable() const Q_DECL_OVERRIDE; + qint64 bytesToWrite() const Q_DECL_OVERRIDE; - bool canReadLine() const; + bool canReadLine() const Q_DECL_OVERRIDE; quint16 localPort() const; QHostAddress localAddress() const; @@ -168,15 +174,15 @@ public: SocketError error() const; // from QIODevice - void close(); - bool isSequential() const; - bool atEnd() const; + void close() Q_DECL_OVERRIDE; + bool isSequential() const Q_DECL_OVERRIDE; + bool atEnd() const Q_DECL_OVERRIDE; bool flush(); // for synchronous access virtual bool waitForConnected(int msecs = 30000); - bool waitForReadyRead(int msecs = 30000); - bool waitForBytesWritten(int msecs = 30000); + bool waitForReadyRead(int msecs = 30000) Q_DECL_OVERRIDE; + bool waitForBytesWritten(int msecs = 30000) Q_DECL_OVERRIDE; virtual bool waitForDisconnected(int msecs = 30000); #ifndef QT_NO_NETWORKPROXY @@ -195,9 +201,9 @@ Q_SIGNALS: #endif protected: - qint64 readData(char *data, qint64 maxlen); - qint64 readLineData(char *data, qint64 maxlen); - qint64 writeData(const char *data, qint64 len); + qint64 readData(char *data, qint64 maxlen) Q_DECL_OVERRIDE; + qint64 readLineData(char *data, qint64 maxlen) Q_DECL_OVERRIDE; + qint64 writeData(const char *data, qint64 len) Q_DECL_OVERRIDE; void setSocketState(SocketState state); void setSocketError(SocketError socketError); diff --git a/src/network/socket/qlocalserver.h b/src/network/socket/qlocalserver.h index c22ab89..a03cdb7 100644 --- a/src/network/socket/qlocalserver.h +++ b/src/network/socket/qlocalserver.h @@ -85,12 +85,12 @@ public: QString fullServerName() const; void abort(); - virtual bool isSequential() const; - virtual qint64 bytesAvailable() const; - virtual qint64 bytesToWrite() const; - virtual bool canReadLine() const; + virtual bool isSequential() const Q_DECL_OVERRIDE; + virtual qint64 bytesAvailable() const Q_DECL_OVERRIDE; + virtual qint64 bytesToWrite() const Q_DECL_OVERRIDE; + virtual bool canReadLine() const Q_DECL_OVERRIDE; virtual bool open(OpenMode openMode = ReadWrite) Q_DECL_OVERRIDE; - virtual void close(); + virtual void close() Q_DECL_OVERRIDE; LocalSocketError error() const; bool flush(); bool isValid() const; @@ -103,10 +103,10 @@ public: qintptr socketDescriptor() const; LocalSocketState state() const; - bool waitForBytesWritten(int msecs = 30000); + bool waitForBytesWritten(int msecs = 30000) Q_DECL_OVERRIDE; bool waitForConnected(int msecs = 30000); bool waitForDisconnected(int msecs = 30000); - bool waitForReadyRead(int msecs = 30000); + bool waitForReadyRead(int msecs = 30000) Q_DECL_OVERRIDE; Q_SIGNALS: void connected(); @@ -115,8 +115,8 @@ Q_SIGNALS: void stateChanged(QLocalSocket::LocalSocketState socketState); protected: - virtual qint64 readData(char*, qint64); - virtual qint64 writeData(const char*, qint64); + virtual qint64 readData(char*, qint64) Q_DECL_OVERRIDE; + virtual qint64 writeData(const char*, qint64) Q_DECL_OVERRIDE; private: Q_DISABLE_COPY(QLocalSocket) diff --git a/src/network/socket/qtcpserver.h b/src/network/socket/qtcpserver.h index 2098a3b..8c7537a 100644 --- a/src/network/socket/qtcpserver.h +++ b/src/network/socket/qtcpserver.h @@ -87,6 +87,8 @@ protected: virtual void incomingConnection(qintptr handle); void addPendingConnection(QTcpSocket* socket); + QTcpServer(QTcpServerPrivate &dd, QObject *parent = 0); + Q_SIGNALS: void newConnection(); void acceptError(QAbstractSocket::SocketError socketError); diff --git a/src/network/socket/qtcpsocket.h b/src/network/socket/qtcpsocket.h index ea17652..3449bee 100644 --- a/src/network/socket/qtcpsocket.h +++ b/src/network/socket/qtcpsocket.h @@ -55,7 +55,8 @@ namespace QSsl { enum KeyAlgorithm { Opaque, Rsa, - Dsa + Dsa, + Ec }; enum AlternativeNameEntryType { @@ -79,6 +80,11 @@ namespace QSsl { AnyProtocol, TlsV1SslV3, SecureProtocols, + + TlsV1_0OrLater, + TlsV1_1OrLater, + TlsV1_2OrLater, + UnknownProtocol = -1 }; diff --git a/src/network/ssl/qsslcertificate.h b/src/network/ssl/qsslcertificate.h index 6aa7544..ef0767a 100644 --- a/src/network/ssl/qsslcertificate.h +++ b/src/network/ssl/qsslcertificate.h @@ -136,7 +136,11 @@ public: static QList<QSslCertificate> fromData( const QByteArray &data, QSsl::EncodingFormat format = QSsl::Pem); +#if QT_VERSION >= QT_VERSION_CHECK(6,0,0) + static QList<QSslError> verify(const QList<QSslCertificate> &certificateChain, const QString &hostName = QString()); +#else static QList<QSslError> verify(QList<QSslCertificate> certificateChain, const QString &hostName = QString()); +#endif static bool importPkcs12(QIODevice *device, QSslKey *key, QSslCertificate *cert, diff --git a/src/network/ssl/qsslcertificateextension.h b/src/network/ssl/qsslcertificateextension.h index 95bfd1d..7c958ef 100644 --- a/src/network/ssl/qsslcertificateextension.h +++ b/src/network/ssl/qsslcertificateextension.h @@ -62,6 +62,7 @@ template<typename T> class QList; class QSslCertificate; class QSslCipher; class QSslKey; +class QSslEllipticCurve; class QSslConfigurationPrivate; class Q_NETWORK_EXPORT QSslConfiguration @@ -122,6 +123,10 @@ public: void setSessionTicket(const QByteArray &sessionTicket); int sessionTicketLifeTimeHint() const; + // EC settings + QVector<QSslEllipticCurve> ellipticCurves() const; + void setEllipticCurves(const QVector<QSslEllipticCurve> &curves); + static QSslConfiguration defaultConfiguration(); static void setDefaultConfiguration(const QSslConfiguration &configuration); @@ -131,7 +136,11 @@ public: NextProtocolNegotiationUnsupported }; +#if QT_VERSION >= QT_VERSION_CHECK(6,0,0) + void setAllowedNextProtocols(const QList<QByteArray> &protocols); +#else void setAllowedNextProtocols(QList<QByteArray> protocols); +#endif QList<QByteArray> allowedNextProtocols() const; QByteArray nextNegotiatedProtocol() const; diff --git a/src/network/ssl/qsslerror.h b/src/network/ssl/qsslerror.h index c00532e..b149f86 100644 --- a/src/network/ssl/qsslerror.h +++ b/src/network/ssl/qsslerror.h @@ -51,6 +51,8 @@ class QDir; class QSslCipher; class QSslCertificate; class QSslConfiguration; +class QSslEllipticCurve; +class QSslPreSharedKeyAuthenticator; class QSslSocketPrivate; class Q_NETWORK_EXPORT QSslSocket : public QTcpSocket @@ -72,20 +74,20 @@ public: explicit QSslSocket(QObject *parent = 0); ~QSslSocket(); - void resume(); // to continue after proxy authentication required, SSL errors etc. + void resume() Q_DECL_OVERRIDE; // to continue after proxy authentication required, SSL errors etc. // Autostarting the SSL client handshake. void connectToHostEncrypted(const QString &hostName, quint16 port, OpenMode mode = ReadWrite, NetworkLayerProtocol protocol = AnyIPProtocol); void connectToHostEncrypted(const QString &hostName, quint16 port, const QString &sslPeerName, OpenMode mode = ReadWrite, NetworkLayerProtocol protocol = AnyIPProtocol); bool setSocketDescriptor(qintptr socketDescriptor, SocketState state = ConnectedState, - OpenMode openMode = ReadWrite); + OpenMode openMode = ReadWrite) Q_DECL_OVERRIDE; using QAbstractSocket::connectToHost; - void connectToHost(const QString &hostName, quint16 port, OpenMode openMode = ReadWrite, NetworkLayerProtocol protocol = AnyIPProtocol); - void disconnectFromHost(); + void connectToHost(const QString &hostName, quint16 port, OpenMode openMode = ReadWrite, NetworkLayerProtocol protocol = AnyIPProtocol) Q_DECL_OVERRIDE; + void disconnectFromHost() Q_DECL_OVERRIDE; - virtual void setSocketOption(QAbstractSocket::SocketOption option, const QVariant &value); - virtual QVariant socketOption(QAbstractSocket::SocketOption option); + virtual void setSocketOption(QAbstractSocket::SocketOption option, const QVariant &value) Q_DECL_OVERRIDE; + virtual QVariant socketOption(QAbstractSocket::SocketOption option) Q_DECL_OVERRIDE; SslMode mode() const; bool isEncrypted() const; @@ -103,16 +105,16 @@ public: void setPeerVerifyName(const QString &hostName); // From QIODevice - qint64 bytesAvailable() const; - qint64 bytesToWrite() const; - bool canReadLine() const; - void close(); - bool atEnd() const; + qint64 bytesAvailable() const Q_DECL_OVERRIDE; + qint64 bytesToWrite() const Q_DECL_OVERRIDE; + bool canReadLine() const Q_DECL_OVERRIDE; + void close() Q_DECL_OVERRIDE; + bool atEnd() const Q_DECL_OVERRIDE; bool flush(); void abort(); // From QAbstractSocket: - void setReadBufferSize(qint64 size); + void setReadBufferSize(qint64 size) Q_DECL_OVERRIDE; // Similar to QIODevice's: qint64 encryptedBytesAvailable() const; @@ -149,6 +151,13 @@ public: static QList<QSslCipher> defaultCiphers(); static QList<QSslCipher> supportedCiphers(); + // EC settings. + QVector<QSslEllipticCurve> ellipticCurves() const; + void setEllipticCurves(const QVector<QSslEllipticCurve> &curves); + static void setDefaultEllipticCurves(const QVector<QSslEllipticCurve> &curves); + static QVector<QSslEllipticCurve> defaultEllipticCurves(); + static QVector<QSslEllipticCurve> supportedEllipticCurves(); + // CA settings. bool addCaCertificates(const QString &path, QSsl::EncodingFormat format = QSsl::Pem, QRegExp::PatternSyntax syntax = QRegExp::FixedString); @@ -164,11 +173,11 @@ public: static QList<QSslCertificate> defaultCaCertificates(); static QList<QSslCertificate> systemCaCertificates(); - bool waitForConnected(int msecs = 30000); + bool waitForConnected(int msecs = 30000) Q_DECL_OVERRIDE; bool waitForEncrypted(int msecs = 30000); - bool waitForReadyRead(int msecs = 30000); - bool waitForBytesWritten(int msecs = 30000); - bool waitForDisconnected(int msecs = 30000); + bool waitForReadyRead(int msecs = 30000) Q_DECL_OVERRIDE; + bool waitForBytesWritten(int msecs = 30000) Q_DECL_OVERRIDE; + bool waitForDisconnected(int msecs = 30000) Q_DECL_OVERRIDE; QList<QSslError> sslErrors() const; @@ -191,10 +200,11 @@ Q_SIGNALS: void sslErrors(const QList<QSslError> &errors); void modeChanged(QSslSocket::SslMode newMode); void encryptedBytesWritten(qint64 totalBytes); + void preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator *authenticator); protected: - qint64 readData(char *data, qint64 maxlen); - qint64 writeData(const char *data, qint64 len); + qint64 readData(char *data, qint64 maxlen) Q_DECL_OVERRIDE; + qint64 writeData(const char *data, qint64 len) Q_DECL_OVERRIDE; private: Q_DECLARE_PRIVATE(QSslSocket)
_______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development