Thiago Macieira [Thu, 8 May 2014 06:04:52 +0000 (23:04 -0700)]
Copy the more efficient HTTP header parser from QtNetwork
The one from QtNetwork is more efficient, since it doesn't use regular
expressions. This also solves a use of uninitialised variables.
error: ‘httpStatusCode’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
Change-Id: Id7f203d971564651eb0bd63d3d54d074be947793
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Wed, 9 Apr 2014 07:09:51 +0000 (09:09 +0200)]
Remove superfluous qWarning statements
Change-Id: I3a6f9881cbd19f409f6d345fde640b9899dad196
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Frederik Gladhorn [Fri, 11 Apr 2014 12:17:49 +0000 (14:17 +0200)]
Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Iff68a7da2065b64579032f1be8eaf5fb097d58bb
Kurt Pattyn [Wed, 9 Apr 2014 07:12:00 +0000 (09:12 +0200)]
Use correct casing for WebSocket
Change-Id: Ifbce704186a76b57a4b557b6fc6bfda004517800
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Jędrzej Nowacki [Tue, 8 Apr 2014 17:19:27 +0000 (17:19 +0000)]
Fix process handshake for servers preferring lowercase http headers.
Task-number: QTBUG-37975
Change-Id: I81225a870aa92350e959b741aec34332eb8d171e
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Sze Howe Koh [Wed, 2 Apr 2014 12:18:13 +0000 (20:18 +0800)]
Use the proper protocol names
- "WebSocket" is one word, with uppercase 'W' and 'S'.
- "HTTP"/"HTTPS" is fully uppercase
Change-Id: Ice3a50c94394433c97f7347291af5cda69b234ce
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Sergio Ahumada [Wed, 2 Apr 2014 09:37:55 +0000 (11:37 +0200)]
Fix compilation on QNX
Add Q_DECL_NOEXCEPT to 'bool seed()' and 'quint32 nextMask()'
qdefaultmaskgenerator_p.cpp:93:34: error: declaration of 'virtual bool QDefaultMaskGenerator::seed()' has a different exception specifier
qdefaultmaskgenerator_p.h:69:10: error: from previous declaration 'virtual bool QDefaultMaskGenerator::seed() noexcept (true)'
qdefaultmaskgenerator_p.cpp:104:41: error: declaration of 'virtual quint32 QDefaultMaskGenerator::nextMask()' has a different exception specifier
qdefaultmaskgenerator_p.h:70:13: error: from previous declaration 'virtual quint32 QDefaultMaskGenerator::nextMask() noexcept (true)'
Change-Id: Iae49a060fa62a33f629cadc1a0100653a12432f7
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Frederik Gladhorn [Mon, 24 Mar 2014 15:08:59 +0000 (16:08 +0100)]
Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I7215c289188462383799269aa9b736ae76db4d25
Topi Reinio [Fri, 21 Mar 2014 12:32:53 +0000 (13:32 +0100)]
Doc: Fix example path in documentation config
Task-number: QTBUG-37643
Change-Id: Ifce8f4016c70642a7ae344b0bab463eb201460df
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Kai Koehne [Wed, 19 Mar 2014 15:45:42 +0000 (16:45 +0100)]
Move examples into 'websockets' folder
In the packaging process the content of all 'examples' folders are
copied together into one folder ... so modules are supposed to have
their submodule name as a sub-folder of 'examples'.
Change-Id: I9981b914e8268c932ca5a3d1c9fa73f8db0b6a5b
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Wed, 19 Mar 2014 15:22:58 +0000 (16:22 +0100)]
Doc: small fix in documentation
Change-Id: If7c0e3f33c8c73695492511ff51ab58f4a7863d0
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Kurt Pattyn [Mon, 17 Mar 2014 16:55:50 +0000 (17:55 +0100)]
Remove unused variable
Change-Id: I534878275ea39a28f684c3edac414d647743da69
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Maurice Kalinowski [Mon, 17 Mar 2014 14:34:35 +0000 (15:34 +0100)]
fix compilation with QT_NO_NETWORKPROXY
Change-Id: Ice7ad51cbbde0ef2459642309c32dd392463754d
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Maurice Kalinowski [Mon, 17 Mar 2014 13:06:27 +0000 (14:06 +0100)]
fix typo in macro
Change-Id: Ib302db81e0667d0c89c1da8611639db0811ff9f3
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Nico Vertriest [Wed, 12 Mar 2014 13:47:17 +0000 (14:47 +0100)]
Doc: Language/writ. guidelines review Qt WebSockets
Task-number: QTBUG-37149
Change-Id: Ic0c28928404fc515de40e6fdff11849cdb2929d6
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Topi Reinio [Fri, 14 Mar 2014 08:34:37 +0000 (09:34 +0100)]
Doc: Add generic thumbnails for the examples
As the examples do not have any images in their documentation,
no thumbnails are generated.
This change adds generic 'Qt Code Sample' thumbnails for the
examples, ensuring that they are listed in Qt Creator's
example list.
Change-Id: I40d3c69e9cebad72997d82eba0758c63c146aea7
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Topi Reinio [Thu, 13 Mar 2014 14:22:36 +0000 (15:22 +0100)]
Doc: Move and edit examples page
Changed the example page type to a group to have a standardized
table of examples. Also, a filename 'examples.html' is too
collision-prone when Qt docs are output to a single directory.
Also, moved the examples.qdoc file into /doc subdirectory to
avoid it from being copied to QT_INSTALL_EXAMPLES when packaging
the examples.
Change-Id: I87251e0fde127bdef3024907b6472b50039f0357
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Sergio Ahumada [Thu, 13 Mar 2014 13:50:57 +0000 (14:50 +0100)]
Bump module version to 5.4.0
Change-Id: I6877931d5ad82310b7ae9d9553bdd8d0f091d340
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Sergio Ahumada [Thu, 13 Mar 2014 13:50:03 +0000 (14:50 +0100)]
Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I0ee590f834200c488498315e66acf7cd046d43ad
Kurt Pattyn [Wed, 12 Mar 2014 13:53:00 +0000 (14:53 +0100)]
Add warning to example regarding ignoring ssl errors
Change-Id: I3d615a774f4071a085b0f233bef2eac76aefbefb
Reviewed-by: Richard J. Moore <rich@kde.org>
Kurt Pattyn [Wed, 12 Mar 2014 13:16:08 +0000 (14:16 +0100)]
Fix unit tests
Change-Id: I24091b8b976b30e8d6ef26f41530027339106243
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Wed, 12 Mar 2014 10:23:24 +0000 (11:23 +0100)]
Fix for self-signed certificates
Change-Id: I529976e6fc8813d273290e97e86405f51c3efa57
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Wed, 12 Mar 2014 10:30:50 +0000 (11:30 +0100)]
Cleanup header file
Change-Id: I6dade8485daec571e6b1bb844e3320ce3cb00fdb
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 9 Mar 2014 10:05:36 +0000 (11:05 +0100)]
Return correct error string for known socket errors
Task-number: QTBUG-37228
Change-Id: I246b858694ea456bce9a0fc4ac963a83502fd058
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 9 Mar 2014 12:11:58 +0000 (13:11 +0100)]
Update documentation.
Change-Id: I8fca0df0ea66adba0898d95f8249ea1b7f33892a
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Nico Vertriest [Fri, 28 Feb 2014 11:31:13 +0000 (12:31 +0100)]
Doc: Review documentation Qt WebSockets
Task-number: QTBUG-37149
Change-Id: Ia8fe7b11140d31bc231a17bfcc16887f3af0dbce
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Kurt Pattyn [Sun, 9 Mar 2014 11:33:26 +0000 (12:33 +0100)]
Fix documentation warnings
Change-Id: I5790460aab2377144d041c5b2a75ae0208ec5c00
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 9 Mar 2014 11:41:49 +0000 (12:41 +0100)]
Cleanup header
Change-Id: Ib81683e84192a19ca660a7413ee0fcbd69909768
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 16 Feb 2014 12:53:29 +0000 (13:53 +0100)]
Fix Google Chrome connection problem
Task-number: QTBUG-36757
Change-Id: I6a802e93e28b6281fe03aacf001897003310a027
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Sergio Ahumada [Sat, 1 Mar 2014 16:10:22 +0000 (17:10 +0100)]
Make the constructor explicit
Change-Id: I6dcd225de9fee909c4cd1afa70938c2eb7ff819a
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Sergio Ahumada [Sat, 1 Mar 2014 16:16:43 +0000 (17:16 +0100)]
Use const & for your foreach variables
Change-Id: I6096111284f02f07e1e7864b8795236563d4f6c1
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Sergio Ahumada [Sat, 1 Mar 2014 16:22:51 +0000 (17:22 +0100)]
Prefer to use normalised signal/slot signatures
Change-Id: I92322fc3404795bea8442b9b849564d5cd39b367
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Sergio Ahumada [Fri, 28 Feb 2014 14:29:20 +0000 (15:29 +0100)]
Add .tag file and the git-archive export options
The .gitattributes and .gitignore files do not need to be present in
packaged sources, as they are for people using the Git repository.
Change-Id: I37f69ce0dfbc25592c149118137398f96cdeb117
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Jerome Pasion [Fri, 21 Feb 2014 09:50:13 +0000 (10:50 +0100)]
Doc: Fixed missing line separators in qdocconf file.
-needed to get the documentation to build.
Task-number: QTBUG-33360
Change-Id: Ifed61ebb39843936ac3e350f26f6accffda78318
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 16 Feb 2014 13:03:04 +0000 (14:03 +0100)]
Remove superfluous setProtocol call
Change-Id: I14f16bbe0a68602265a28d71464727b671be5099
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 16 Feb 2014 13:01:28 +0000 (14:01 +0100)]
Catch SSL errors in example
Change-Id: Ib9a399789878030361d9bdddd8dbfbb1832cf756
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 16 Feb 2014 12:59:29 +0000 (13:59 +0100)]
Mark html page as being utf-8
FireFox complained when opening the page without proper indication of the
encoding.
Change-Id: I4f0891699c72d46bcf0cd488e2ecaf095514fabc
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 16 Feb 2014 11:24:41 +0000 (12:24 +0100)]
Fix non-strict warning from AutoBahn
When the reserved bits were set to 3, then the connection was aborted.
No a close message is sent before the connection is closed.
Change-Id: Iab365a4720c6588e5c6ac73813f63d26c3312265
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Sergio Ahumada [Fri, 14 Feb 2014 20:43:32 +0000 (21:43 +0100)]
Rename websockets.pro -> qtwebsockets.pro
Change-Id: Ia42316304a37d151b678a9922071bbb090ec87b5
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Fri, 14 Feb 2014 12:16:34 +0000 (13:16 +0100)]
Adapt copyright header
Change-Id: I9773492d3673d8aabdb4dd178be6af12eca7ba74
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Wed, 12 Feb 2014 14:17:58 +0000 (15:17 +0100)]
Add user configurable mask generation
Created a QMaskGenerator abstract base class to serve as a basis for
user specific mask generators. Added the possibility to override the
default mask generation in QWebSocket.
Change-Id: Iaa02b44193f854d103b5f352617789175fe61f89
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Thu, 13 Feb 2014 21:00:27 +0000 (22:00 +0100)]
Fix multiple emission of received signals
Task-number: QTBUG-36762
Change-Id: I239bdd06252fb90056a687ace8540bb91b0055a1
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Thu, 13 Feb 2014 21:38:02 +0000 (22:38 +0100)]
Use queued connection for readyRead connection
Task-number: QTBUG-36757
Change-Id: I4358563d52ecbff7b7e1575c5d34cef30b5fcd52
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Thu, 13 Feb 2014 21:05:26 +0000 (22:05 +0100)]
Remove checks on return value of sendXXX methods
Change-Id: If70aa381e377b832f0b44af97e19abf98f3941eb
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Jędrzej Nowacki [Tue, 11 Feb 2014 09:21:36 +0000 (10:21 +0100)]
Simplify simple chat example
Change-Id: Ia4e6973e6531017129ae39c89851fbbf3ade76c4
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Mon, 10 Feb 2014 20:33:25 +0000 (21:33 +0100)]
Check on newline characters in origin and urls
New line characters (\r\n) in the resource part of a url and in the origin
string can be used to forge the http header and can lead to insertion of
unwanted header entries. This can be an indication of an attack,
so QWebSocket immediately refuses a connection.
Change-Id: I9cdb309bfbe7025ad675925e6ea3e038476a1fd6
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Jędrzej Nowacki [Tue, 11 Feb 2014 09:14:12 +0000 (10:14 +0100)]
Simplify echoclient example
Change-Id: I773665754089c1f4548712df280289c77d45eba9
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Fri, 7 Feb 2014 17:47:43 +0000 (18:47 +0100)]
Re-enable QML component
Change-Id: I84948cf414585af841f3e669ddaf18b7a10fb22f
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Kurt Pattyn [Sun, 9 Feb 2014 09:24:18 +0000 (10:24 +0100)]
Remove superfluous argument
Change-Id: I7fa01d47d66411572f3f66f4ed5d8df04ac6b8b0
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Fri, 7 Feb 2014 17:06:58 +0000 (18:06 +0100)]
Sanitize open() method
Removed the mask parameter because a web socket client does not have
a choice between masking and not masking.
Change-Id: I3c33acc235bb2a99476abb6201e6dbb6f881dd70
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Thu, 6 Feb 2014 18:58:09 +0000 (19:58 +0100)]
Connect sslErrors signal when a secure connection is established
Task-number: QTBUG-36676
Change-Id: Ia93751e5a972adf6434b0d749376e2a8c0619514
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Milian Wolff [Thu, 6 Feb 2014 17:02:04 +0000 (18:02 +0100)]
Fix tst_QWebSocket::tst_invalidOpen for catch-all DNS setups.
Instead of relying on a hostname which might still be resolved in
some DNS setups (i.e. always forward to google search or intranet),
we now try to connect to localhost port 1 which should yield a
ConnectionRefusedError.
This way, the test passes for me on my setup.
Change-Id: I025824796e94e718a42c4999706f647a72b37659
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Milian Wolff [Thu, 6 Feb 2014 16:48:28 +0000 (17:48 +0100)]
Do not double-delete the TCP socket of a QWebSocket.
The socket is put into an owning QScopedPointer. But if its also
put into the QObject parent-child chain, it will get deleted when
the QWebSocket is destroyed. In the dtor of the QWebSocketPrivate
class m_pSocket will thus already be destroyed and thus be a
dangling pointer.
This crashed the QWebSocketServer test reliably for me on exit.
Change-Id: I7f06e933bfed832e66b943542c351cde639c9465
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Milian Wolff [Thu, 6 Feb 2014 16:42:05 +0000 (17:42 +0100)]
Do not try to invoke/emit signal on shutdown.
I'm actually not sure whether this is the right way to do this,
but when the object is destroyed, we cannot delay the signal emit.
In that case, we just don't emit it at all. This is the old behavior
minus the warning:
QWARN : tst_QWebSocketServer::tst_initialisation()
QMetaObject::invokeMethod: No such method QObject::closed()
Change-Id: I0513dd693ef7bfc43621e24361e72e90204fbea3
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Milian Wolff [Thu, 6 Feb 2014 16:40:24 +0000 (17:40 +0100)]
Fix assertion when encountering invalid header line.
The server test sets an empty identifier which results in a
headerLine containing "Server: ". The split then yields a list
with a single entry ("Server"). Calling [1] on it asserts then.
QFATAL : tst_QWebSocketServer::tst_connectivity()
ASSERT failure in QList<T>::operator[]: "index out of range", file
/ssd/milian/projects/compiled/qt5/include/QtCore/qlist.h, line 476
Change-Id: I3e5c4750b304b2a4a5669a39e2d65a6b3e4e99cf
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Milian Wolff [Thu, 6 Feb 2014 16:30:55 +0000 (17:30 +0100)]
Do not access QObject API before its private data is initialized.
Inside the ctor of the private data, the QObject has not yet
been associated with the data. Thus, accessing it indirectly i.e.
to setup private signal/slot connections, will trigger crashes.
Now we delay accessing this API and call an init() function manually
in the parent QObject-inheriting class.
Change-Id: I2c3ce7335c54d42af6bce87de867ee0ef197efc6
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Milian Wolff [Thu, 6 Feb 2014 13:46:30 +0000 (14:46 +0100)]
Fix compilation of websocketprotocol test.
The versionFromString method must be exported for usage in the test.
Additionally, the metatype of the version enum must be declared.
Change-Id: I8e0aef28f9902f274cab43f772667ad5a93c4062
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Tue, 4 Feb 2014 11:29:40 +0000 (12:29 +0100)]
Use QObjectPrivate instead of dedicated d-ptr
Change-Id: I3f69a2b0ca81e1e003200bb8e0a337b9532e64a0
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Mon, 3 Feb 2014 00:34:46 +0000 (01:34 +0100)]
Replace delete loop with qDeleteAll
Change-Id: If63acc08307c0a411072a2a37ac52661e7e02594
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Kurt Pattyn [Mon, 3 Feb 2014 00:40:33 +0000 (01:40 +0100)]
Remove superfluous Q_REQUIRED_RESULT
Change-Id: Ie4e01a82082c45918b55e8588c7322dd359ba8c1
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 2 Feb 2014 00:08:49 +0000 (01:08 +0100)]
Comment out QML component
Commented out QWebSocket QML component because there is
still discussion regarding its API.
Change-Id: I9a0699e19186f7e9761517fd127ac8a5263c745f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Kurt Pattyn [Sun, 2 Feb 2014 22:38:45 +0000 (23:38 +0100)]
Add cleanup to examples
Change-Id: I28b9007a6d35575b11a608645930fa2ed71e7c7c
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 2 Feb 2014 22:39:25 +0000 (23:39 +0100)]
Update documentation
Change-Id: I2fb9b20fc316b8b9ed0e1c0b52c4e44882d7f9d5
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 2 Feb 2014 17:36:33 +0000 (18:36 +0100)]
Add unit tests for QWebSocketServer
Change-Id: I9ca38aad22a757437943a72669b7ca2bb5db6b98
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 26 Jan 2014 17:18:11 +0000 (18:18 +0100)]
Add unit tests for QWebSocket
Added basic unit tests for QWebSocket. Connectivity is not tested yet.
Change-Id: I38d388d289733777e6ff0253e5b201aca99b0b10
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 2 Feb 2014 17:34:02 +0000 (18:34 +0100)]
Remove parenting of QWebSockets in QWebSocketServer
Because QWebSocketServer took ownership of QWebSocket objects,
the objects were double deleted, leading to crashes.
Change-Id: I51192daba8e8739bc68a94c7fe2a8a972ac9d38e
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 2 Feb 2014 17:25:42 +0000 (18:25 +0100)]
Check return value of listen and set appropriate error and description
Change-Id: I2309a51d873812cdc590b5d846a84024b6e28857
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 2 Feb 2014 17:22:15 +0000 (18:22 +0100)]
Add private method to set error from QAbstractSocket::error
Change-Id: I870006bbd5c788bea89f65d5bd25082d1543caf0
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 2 Feb 2014 17:40:31 +0000 (18:40 +0100)]
Correct include path
Change-Id: I7929337d16485a4ec9e95d1eb6037c84634b672f
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 2 Feb 2014 17:39:30 +0000 (18:39 +0100)]
Remove qWarning statements
Change-Id: I7132b8c9b15f625345ef092be3bc0ea466a12f8e
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 2 Feb 2014 17:38:19 +0000 (18:38 +0100)]
Update documentation
Change-Id: I35829436b3be543fd133cab58118e62ddfb0e291
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 26 Jan 2014 17:05:42 +0000 (18:05 +0100)]
Allow writes only when socket is in connected state
Change-Id: I3e265ccba334301444611a8013568ba52cca5bcd
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sat, 25 Jan 2014 18:42:36 +0000 (19:42 +0100)]
Rename ProcessMessage to ProcessTextMessage
Renamed to ProcessTextMessage to be consistent with
ProcessBinaryMessage and with the method names in
the SslEchoServer example.
Change-Id: Iaaa732221597a08fca079e8df4df941d673d16a6
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 26 Jan 2014 17:04:05 +0000 (18:04 +0100)]
Adapt isValid to only return true when socket is in connected state
Changed isValid() to only return true when the socket is also in connected
state. Also updated the documentation.
Change-Id: Id80dbc1f28c82bef19984c5ed7b34a7d474ee011
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 26 Jan 2014 16:54:51 +0000 (17:54 +0100)]
Set default error and errorstring
Set the default error and error string to match those of QAbstractSocket.
Change-Id: I96277ecda1f56da4de7509a22bcab86df8064e7c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Kurt Pattyn [Sun, 26 Jan 2014 16:48:07 +0000 (17:48 +0100)]
Locally cache read buffer size and pause mode
When calling setReadBufferSize() and setPauseMode(), the internal socket
is not yet created. So we cache these values and apply them when the
internal socket is created.
Change-Id: I4299232342438c7a6c52fa8ea4a95461b3f85ebf
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Kurt Pattyn [Sat, 25 Jan 2014 19:09:24 +0000 (20:09 +0100)]
Add TODOs for improvements
Change-Id: Ifc8cef479147de9fdd9c382ff09be21056cb3e68
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Kurt Pattyn [Sun, 26 Jan 2014 00:44:46 +0000 (01:44 +0100)]
Move versionFromString() from public to private API
This method is only necessary for processing of handshakes and hence
is not needed in the public API.
Change-Id: I6bb2327337600523a136fb394275c31b9819f631
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Kurt Pattyn [Sat, 25 Jan 2014 19:08:17 +0000 (20:08 +0100)]
Cleanup inline comments
Change-Id: I8d96bb2b5c1cf211de50939dc2141572750a4b70
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Kurt Pattyn [Sun, 26 Jan 2014 00:49:53 +0000 (01:49 +0100)]
Move CORS authenticator test to non-private tests
QWebSocketCorsAuthenticator is a public class and hence needs to be
tested with the public API of QtWebSockets.
Change-Id: If3af0744d8901f9c6c13d5fb9061ebf0a5a8d163
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Kurt Pattyn [Sun, 26 Jan 2014 16:30:32 +0000 (17:30 +0100)]
Remove socketOption functionality
Removed the setSocketOption() and socketOption(0 methods as they are
not really relevant for web sockets. Also, internally for the underlying real
socket the LowDelayOption and KeepAliveOption are already set.
If ever needed, these methods can be added later.
Change-Id: Ibfa279990c5277970eaa2dbc2dd3a7d0cce7154e
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Kurt Pattyn [Sat, 25 Jan 2014 13:48:20 +0000 (14:48 +0100)]
Update documentation
Clarified which versions are supported and that subprotocols
and extensions are not supported. Fixed some typos.
Change-Id: I99ef2fbbf74c287bea7d1b7a07881bf0542135ff
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Kurt Pattyn [Sat, 25 Jan 2014 13:44:50 +0000 (14:44 +0100)]
Removed unsupported functionality
Removed subprotocol and extension getter functionality, as this
is currently not supported by QtWebSockets. I left the backend
implementation intact (in the _p files), for future reference.
Change-Id: Ia00739f6f225cd557ceb10b40c83fc81d98aae0b
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Milian Wolff [Fri, 31 Jan 2014 13:17:13 +0000 (14:17 +0100)]
Remove unconditional debug output.
Change-Id: Iad653d78ef2d6345474d260d2d44d013b66466ff
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sat, 25 Jan 2014 21:14:42 +0000 (22:14 +0100)]
Fix wrong comparison
Fixed a wrong comparison leading to a non-functional server.
Change-Id: Icc47bfe3a1346169b8590d9a935f8d4bec5102ba
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 19 Jan 2014 13:04:07 +0000 (14:04 +0100)]
Rename processMessage to processTextMessage
Renamed processMessage to be more inline with
processBinaryMessage.
Change-Id: Ib0c8b9a4999756105f894d7ca5df88452495a66b
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 19 Jan 2014 13:11:27 +0000 (14:11 +0100)]
Small fix to error text
Change-Id: Ie46b5ad5892e55a20ba00bdf659d2395c40f95c3
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 19 Jan 2014 12:58:30 +0000 (13:58 +0100)]
Rename SecureMode to SslMode
Renamed SecureMode to SslMode to be more inline with
QSslSocket.
Change-Id: Id2f0c5ebc1e06fcd7b0ce5059e88520e5f0e6fe5
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 19 Jan 2014 12:43:52 +0000 (13:43 +0100)]
Rename write methods
Renamed the write methods to sendTextMessage
and sendBinaryMessage respectively. This makes
the code more readable.
Change-Id: Ie49abf07a37f54c84bd01c5c788d2e42b28bcfdd
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sun, 19 Jan 2014 11:17:20 +0000 (12:17 +0100)]
Bump module version to 5.3.0
Change-Id: I93120dafc1457de8b24774a81a4303d71974063e
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sat, 18 Jan 2014 15:21:39 +0000 (16:21 +0100)]
Remove dubious functions
Change-Id: Ida5c46e3e42685f5e78f2aee657d12af62286810
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sat, 18 Jan 2014 21:02:11 +0000 (22:02 +0100)]
Use QStringLiteral where appropriate
Change-Id: I608b555428aceafd7761a882cd4bd1fdb50d19b3
Reviewed-by: Richard J. Moore <rich@kde.org>
Kurt Pattyn [Sun, 19 Jan 2014 13:09:47 +0000 (14:09 +0100)]
Cleanup documentation
Limited line length to 100 characters
Change-Id: Id51c72cb4e7091478bdb57b45514e89f3a6565dd
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sat, 18 Jan 2014 20:38:06 +0000 (21:38 +0100)]
Consume return value of write function
Change-Id: Ia5d950f539f87f2f81e111f26e77960be456017e
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sat, 18 Jan 2014 20:16:23 +0000 (21:16 +0100)]
Use new connect syntax
Change-Id: I0b48c6cba12902d910c4f586fa105a13d084a437
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sat, 18 Jan 2014 19:50:48 +0000 (20:50 +0100)]
Limit line length to 100 chars per line
Change-Id: I2a91033c9882ca54c6fcf26d9eb5a3c91f9e0f7d
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sat, 18 Jan 2014 21:14:39 +0000 (22:14 +0100)]
Move currentVersion method to private namespace
Change-Id: I49c952e8c71018fab2e48ade27f1f9c19279acb5
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sat, 18 Jan 2014 18:14:08 +0000 (19:14 +0100)]
Rename enumerations to comply with Qt style
Change-Id: Id72fe27cec606e7f02b8e9ac1d0d763890e86a95
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Kurt Pattyn [Sat, 18 Jan 2014 18:15:43 +0000 (19:15 +0100)]
Add reference to related feature report
Change-Id: Iba4aa2db5a2967865ff731134e6514d6649bcafb
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Frederik Gladhorn [Sat, 18 Jan 2014 00:32:30 +0000 (01:32 +0100)]
Use QString() instead of QStringLiteral("")
And do the same for QByteArray.
Instantiating the default constructor uses QArrayData::sharedNull() for
the d-pointer which is the cheapest constructor in memory and
instructions.
Change-Id: I1ceaafbc0c0cb1ccc5690edba89ea1100f30b3cd
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>