| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
That's the correct place and works with C++11 attributes.
Change-Id: I7814054a102a407d876ffffd14b6a2fed3744b03
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This method allows a listening port to process connections with
different protocols. It lets the websocket server handle a TCP
socket, upgrading it to a websocket
[ChangeLog][QWebSocketServer] Add support to handle external QTcpSocket
Done-with: André Klitzing <aklitzing@gmail.com>
Task-number: QTBUG-54276
Change-Id: Ia36b481dc87d6f3806e9f1e61e75e528640f1937
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: If50b73b1f1e293269404bd8b38088119a0f59f1f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use QUrl::setAuthority() to parse host and port.
The request is invalid when having username or password in Host.
Task-number: QTBUG-57357
Change-Id: I4e7c0370794dce15359d372a1e36dc0383083204
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In QWebSocketDataProcessor::process() the signals text(binary)MessageReceived
are emitted before clear() method. If signal handler blocks loop
(for example, using QDialog::exec()), clear() will be called only after
resuming loop. It may lead to the data corruption due to the fact that
QWebSocketDataProcessor clearing won't be performed before the new data
arrived.
Task-number: QTBUG-55506
Change-Id: Ib7016a91d3987dec7c1af977b17f86a53568c413
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Websocket server always constructed QWebSocketHandshakeRequest like for
non-secure socket without checking SecureMode. This led to the fact that
secure socket had "ws" scheme.
Task-number: QTBUG-55927
Change-Id: I881766f55182136072fd23f3fefe93ea60f3d27d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Value of NonSecureMode enumerator depends on QT_NO_SSL. If Qt is built with
QT_NO_SSL defined, NonSecureMode is equal to 0, otherwise it is equal to 1.
It may lead to problem if user built app with libs where NonSecureMode = 0,
but run it with libs where NonSecureMode = 1.
[ChangeLog][QWebSocketServer] SslMode::NonSecure enumerator now always has
the same value (1) regardless of SSL enabled or disabled.
Task-number: QTBUG-56129
Change-Id: If17137eff4b19015697c827a985ef89dd95a5611
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Method onSocketDisconnected has never been called, so WebSocketServer did not
handle closed connection properly. Moreover, socket was not freed in time
and this led to increase in memory consumption
Task-number: QTBUG-56414
Change-Id: Ib57f5b88413ffeef4f296a260245ba0a8d25adb2
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: Ia8c2930d5bf681227cef0730cdf0dca6d068722f
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I912302259dc84aa15ca8bb8a498c5c5b148c2864
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I4c9f3a50c24f945c0f14010a10ff808d8adf7845
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: QTBUG-57288
Change-Id: I45978f7c267c8c8742b0cba5bc9469535e2e6f5b
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/websockets/qwebsocket_p.cpp
Change-Id: Ib6b9655985246c9ce3968f1eb662be457465a937
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I200f72423f13b54c636e995b120a70968b0e0758
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|/ / /
| | |
| | |
| | |
| | | |
Change-Id: I08541a4162ceb4ba101ed44d65143dda6eb84e3d
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Use the newer qtConfig() method instead.
Change-Id: I197dbe01edaf8696ee06d30400bd18e53cf69c94
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: I593c47e7aeebb7997f42a7408a8d22704d2713a1
|
| |\ \
| | |/
| | |
| | | |
Change-Id: Ie37e1ec038e82c845066f92e5f87e355d627e2ff
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QAbstractSocket::atEnd does not check actual connection state it
only checks if data is ready to be read. Under some conditions
(e.g. slow network) data may not be available yet but it doesn't
mean the server dropped connection. When more data comes FSM will
pick it up and handle as expected. The right way to check disconnect
is to check for actual socket state.
Task-number: QTBUG-51069
Change-Id: I17d7110fbefdba2d5378a71935ab5923f8c1bf3e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
qtwebsockets-index.html is the entry point for both C++ and QML API.
Change-Id: I81efb2d7b931cce0d63efc2f25ce89904abcbfad
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ChangeLog][QWebSocket] It is now possible to use TLS PSK ciphersuites.
Change-Id: I9e96669494cec5e6a4e076fe9f10fcd4ef6358a4
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ied0b921fb5bc666f0cec7c722880f1c91e1c6923
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|\ \ \
| |/ /
| | |
| | | |
Change-Id: Ic4a2b48535dd9b22a950b84de4bfa2728a859902
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: I80cd189fc82481fdc2241db6d2a7d95537c340a6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Examples in binary packages now directly match the install path.
Change-Id: Id4e9b2bc738ae3b1b35114c74530aa50e4103aa3
Task-number: QTBUG-52953
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
|
|\ \ \
| |/ /
| | |
| | | |
Change-Id: I8a2d6875b68c99786f99ec0dc380f8725c6abd42
|
| |\ \
| | |/
| | |
| | | |
Change-Id: I7ebcdc16a8b65103abfb9640c990eddbeccdef05
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
processHandShake operates on complete lines. If the data available does
not contain the full handshake message, the loop will therefore never return.
Task-number: QTBUG-51001
Change-Id: Ie87f5b5dee01116f463e84f06feab502ff5ac563
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Disable the automatic linking of 'WebSocket' to the QML type, and
'WebSockets' to a section in the general documentation. Instead,
make the linking explicit where it makes sense.
This patch is inspired by 0228a5bd581ae6d672ce5f3 in qtwebengine.
Change-Id: I80886360d5f7fdaa68a5e5f6fa982137c7187719
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also sanitize some linking, e.g. by referencing to
the paper by title, not by link.
Change-Id: I95482994ca569001a23a3beb0e3cbe6739f4ed77
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I11c3b9f39d56d3b26e0f3c4012cb2e3afee46341
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: QTBUG-51087
Change-Id: I98190d1981c864ee3fc5dc6d7e5375527536adfd
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This ensures that the peer certificate chain is kept in sync so that it
can be queried when an encrypted connection has been made.
Change-Id: I5df18bb71ac4bec3a8a939482df5a5ffe5c20cb5
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
|
| |\ \ \
| | |/ /
| | | |
| | | | |
Change-Id: I57c01d5a8836903352d7edadc4a10972f57399eb
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
... or equivalent.
QtBase 5.6 headers already compile that way, so let the other
modules follow suit.
Change-Id: Id9621ffedaf190f8b97db613a7c6be2a45f117b3
Task-number: QTBUG-45291
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I0ffeb96bfab3543f94501bf1605bb6c899ef466f
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I8930d132cfcf09edeaa30bb052d9ea0a5ee47a98
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|/ /
| |
| |
| |
| |
| |
| | |
Do not create a global symbol.
Change-Id: I176c0b4441815e5c6ca02b89b1fe0dd5a1bcdb2f
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: I42592e133b25ebd271b387353a868b68825291d5
|
| |
| |
| |
| |
| |
| | |
Change-Id: I373d3a174ed5c9d53fddb7254b04628f2ee8526d
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
|
| |
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)
Change-Id: I8c17da1f7e2f0a620e3627fa7f8087f185545c8a
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|\
| |
| |
| | |
Change-Id: I7b56e21fa93d0d196887e8dfa683050f3a032186
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-48714
Change-Id: I0e9b54b98b561f3d82f542ac5d311ca1aca252eb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The examplesinstallpath variable in .qdocconf files defines the path
under QT_INSTALL_EXAMPLES where examples are found.
To match the way examples are packaged in Qt 5.6, prefix the
install path with the repository name.
Task-number: QTBUG-48736
Change-Id: I24d946bad60ef0c9e81517979abfa6e3969df0cb
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: Icc8c6928619b2e16f5f13e852e559438faf9a03c
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/websockets/qwebsocket/tst_qwebsocket.cpp
Change-Id: Ie4184b0788b6a0a5a85ca8e4d1547c33f7027ca0
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add checks on maximum header line length and on the maximum number
of header lines.
Task-number: QTBUG-48123
Change-Id: I65dbeb53af7aa0dfa137ce31fc2549940559314e
Reviewed-by: Richard J. Moore <rich@kde.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After moving the websocket into another thread
current code doesn't work because then the QTcpSocket/QSslSocket
objects reside in a different thread, for instance:
"QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread"
QObject::moveToThread(QThread*) also moves QObjects's children,
therefore their internal socket objects need to be children of QWebSocket.
QWebSocket has ownership of the internal socket, and the
smart pointer is not needed any more.
Change of cleanup code to prevent crashes with clang/msvc builds:
QWebSocketPrivate is a scoped member of QObject (not QWebSocket)
and is destroyed after QObject destructor body was executed,
and so m_pSocket&co had already been destroyed (being children)
when the destructor of QWebSocketPrivate is called via the
scoped pointer.
Analogous to 64927e04f202d33b9a9a1f94141ef692c0b513ac
Change-Id: I1ade6cda3fa793c30332cc5e103025e2dda3c78c
Reviewed-by: Luca Niccoli <lultimouomo@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
And reorded the data members of QWebSocketFrame to save some space.
Change-Id: I6fdaf74f344ac84e5a3f19883309455503a7ec4c
Reviewed-by: Luca Niccoli <lultimouomo@gmail.com>
Reviewed-by: Maks Naumov <maksqwe1@ukr.net>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
|
|\ \
| |/
| |
| | |
Change-Id: Ica80f965969095793f45e9a5b724335ac0a79040
|