diff options
author | Lander Noterman <lander.noterman@gmail.com> | 2019-11-15 14:21:37 +0100 |
---|---|---|
committer | Mårten Nordheim <marten.nordheim@qt.io> | 2019-11-21 20:32:21 +0000 |
commit | 26983aef39a702d2de7c519b5a3f7a8150c8beeb (patch) | |
tree | 860a2ee4f9f02beb86704b9161751f1b6cca85bd /src/websockets | |
parent | 5b34b19b0a37624a3f5846a949112929ef5feeeb (diff) | |
download | qtwebsockets-26983aef39a702d2de7c519b5a3f7a8150c8beeb.tar.gz |
Don't add port in Host header unless specified
No longer add port to Host header in WebSocket handshake unless it was
explicitly specified in the URL.
This change fixes issues with some WebSocket servers rejecting the
connection if the Host header does not match the URL.
Fixes: QTBUG-77526
Change-Id: I9b028ce434416e61cae7b217d2eafe621d2660b4
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/websockets')
-rw-r--r-- | src/websockets/qwebsocket_p.cpp | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp index 36aefd9..bca4ccd 100644 --- a/src/websockets/qwebsocket_p.cpp +++ b/src/websockets/qwebsocket_p.cpp @@ -1099,9 +1099,6 @@ void QWebSocketPrivate::processStateChanged(QAbstractSocket::SocketState socketS Q_ASSERT(m_pSocket); Q_Q(QWebSocket); QAbstractSocket::SocketState webSocketState = this->state(); - int port = 80; - if (m_request.url().scheme() == QStringLiteral("wss")) - port = 443; switch (socketState) { case QAbstractSocket::ConnectedState: @@ -1120,11 +1117,10 @@ void QWebSocketPrivate::processStateChanged(QAbstractSocket::SocketState socketS const auto format = QUrl::RemoveScheme | QUrl::RemoveUserInfo | QUrl::RemovePath | QUrl::RemoveQuery - | QUrl::RemoveFragment | QUrl::RemovePort; + | QUrl::RemoveFragment; const QString host = m_request.url().toString(format).mid(2); const QString handshake = createHandShakeRequest(m_resourceName, - host % QStringLiteral(":") - % QString::number(m_request.url().port(port)), + host, origin(), QString(), QString(), |