contrib/qtwebsockets.git
9 years agoBump version
Frederik Gladhorn [Fri, 29 Aug 2014 09:33:48 +0000 (11:33 +0200)]
Bump version

Change-Id: I7da486fc6640df27695971c70bbb50a842b9cca2

9 years agoUse 0 instead of Q_NULLPTR in public headers. v5.3.2
Sergio Martins [Tue, 8 Jul 2014 10:11:52 +0000 (11:11 +0100)]
Use 0 instead of Q_NULLPTR in public headers.

Otherwise Q_NULLPTR appears in documentation, which is inconsistent.

Change-Id: I0f4b07b25c6012d502938aa452e68c75d910f954
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
9 years agoFix a typo in proxy handling.
Jędrzej Nowacki [Tue, 24 Jun 2014 12:32:33 +0000 (14:32 +0200)]
Fix a typo in proxy handling.

Change-Id: I25c9b9be2c780dae32e3f634f58e44be303a4b23
Task-number: QTBUG-39568
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
9 years agoBump version
Oswald Buddenhagen [Tue, 17 Jun 2014 22:37:06 +0000 (00:37 +0200)]
Bump version

Change-Id: I509b98fb944d007cc1e2727e5b6fa8661767c1a6

9 years agoBump MODULE_VERSION to 5.3.1 v5.3.1
Sergio Ahumada [Mon, 26 May 2014 09:36:35 +0000 (11:36 +0200)]
Bump MODULE_VERSION to 5.3.1

Change-Id: I1eff9112ed777d873961854b3f81a00d34cb3e1f
Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
10 years agoDocument WebSocket::sendTextMessage(string message)
Richard Moe Gustavsen [Tue, 20 May 2014 13:01:53 +0000 (15:01 +0200)]
Document WebSocket::sendTextMessage(string message)

Change-Id: I38c08520c37d84570c3c8df9d2416131defc5b40
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
10 years agoMerge remote-tracking branch 'origin/release' into stable
Frederik Gladhorn [Wed, 14 May 2014 10:40:46 +0000 (12:40 +0200)]
Merge remote-tracking branch 'origin/release' into stable

Change-Id: I9de811ee1f43381b6ce27acd47a126a70fd10d46

10 years agoAdd missing classname for module in qmldir. v5.3.0
Frederik Gladhorn [Thu, 8 May 2014 16:38:22 +0000 (18:38 +0200)]
Add missing classname for module in qmldir.

Task-number: QTBUG-38854
Change-Id: Iad6d49309010fd9ccb7e8fcb2c58962d811f018f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoUse correct casing for WebSocket v5.3.0-rc1
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>
10 years agoFix process handshake for servers preferring lowercase http headers.
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>
10 years agoUse the proper protocol names
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>
10 years agoFix compilation on QNX
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>
10 years agoDoc: Fix example path in documentation config v5.3.0-beta1
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>
10 years agoMove examples into 'websockets' folder
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>
10 years agoDoc: small fix in documentation
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>
10 years agofix compilation with QT_NO_NETWORKPROXY
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>
10 years agofix typo in macro
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>
10 years agoDoc: Language/writ. guidelines review Qt WebSockets
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>
10 years agoDoc: Add generic thumbnails for the examples
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>
10 years agoDoc: Move and edit examples page
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>
10 years agoAdd warning to example regarding ignoring ssl errors
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>
10 years agoFix unit tests
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>
10 years agoFix for self-signed certificates
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>
10 years agoReturn correct error string for known socket errors
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>
10 years agoUpdate documentation.
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>
10 years agoDoc: Review documentation Qt WebSockets
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>
10 years agoFix documentation warnings
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>
10 years agoFix Google Chrome connection problem
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>
10 years agoMake the constructor explicit
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>
10 years agoUse const & for your foreach variables
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>
10 years agoPrefer to use normalised signal/slot signatures
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>
10 years agoAdd .tag file and the git-archive export options
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>
10 years agoDoc: Fixed missing line separators in qdocconf file. v5.3.0-alpha1
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>
10 years agoRemove superfluous setProtocol call
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>
10 years agoCatch SSL errors in example
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>
10 years agoMark html page as being utf-8
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>
10 years agoFix non-strict warning from AutoBahn
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>
10 years agoRename websockets.pro -> qtwebsockets.pro
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>
10 years agoAdapt copyright header
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>
10 years agoAdd user configurable mask generation
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>
10 years agoFix multiple emission of received signals
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>
10 years agoUse queued connection for readyRead connection
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>
10 years agoRemove checks on return value of sendXXX methods
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>
10 years agoSimplify simple chat example
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>
10 years agoCheck on newline characters in origin and urls
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>
10 years agoSimplify echoclient example
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>
10 years agoRe-enable QML component
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>
10 years agoRemove superfluous argument
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>
10 years agoSanitize open() method
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>
10 years agoConnect sslErrors signal when a secure connection is established
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>
10 years agoFix tst_QWebSocket::tst_invalidOpen for catch-all DNS setups.
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>
10 years agoDo not double-delete the TCP socket of a QWebSocket.
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>
10 years agoDo not try to invoke/emit signal on shutdown.
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>
10 years agoFix assertion when encountering invalid header line.
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>
10 years agoDo not access QObject API before its private data is initialized.
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>
10 years agoFix compilation of websocketprotocol test.
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>
10 years agoUse QObjectPrivate instead of dedicated d-ptr
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>
10 years agoReplace delete loop with qDeleteAll
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>
10 years agoRemove superfluous Q_REQUIRED_RESULT
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>
10 years agoComment out QML component
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>
10 years agoAdd cleanup to examples
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>
10 years agoUpdate documentation
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>
10 years agoAdd unit tests for QWebSocketServer
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>
10 years agoAdd unit tests for QWebSocket
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>
10 years agoRemove parenting of QWebSockets in QWebSocketServer
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>
10 years agoCheck return value of listen and set appropriate error and description
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>
10 years agoAdd private method to set error from QAbstractSocket::error
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>
10 years agoCorrect include path
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>
10 years agoRemove qWarning statements
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>
10 years agoUpdate documentation
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>
10 years agoAllow writes only when socket is in connected state
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>
10 years agoRename ProcessMessage to ProcessTextMessage
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>
10 years agoAdapt isValid to only return true when socket is in connected state
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>
10 years agoSet default error and errorstring
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>
10 years agoLocally cache read buffer size and pause mode
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>
10 years agoAdd TODOs for improvements
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>
10 years agoMove versionFromString() from public to private API
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>
10 years agoCleanup inline comments
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>
10 years agoMove CORS authenticator test to non-private tests
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>
10 years agoRemove socketOption functionality
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>
10 years agoUpdate documentation
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>
10 years agoRemoved unsupported functionality
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>
10 years agoRemove unconditional debug output.
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>
10 years agoFix wrong comparison
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>
10 years agoRename processMessage to processTextMessage
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>
10 years agoSmall fix to error text
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>
10 years agoRename SecureMode to SslMode
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>
10 years agoRename write methods
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>
10 years agoBump module version to 5.3.0
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>
10 years agoRemove dubious functions
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>
10 years agoUse QStringLiteral where appropriate
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>
10 years agoCleanup documentation
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>
10 years agoConsume return value of write function
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>
10 years agoUse new connect syntax
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>
10 years agoLimit line length to 100 chars per line
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>
10 years agoMove currentVersion method to private namespace
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>
10 years agoRename enumerations to comply with Qt style
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>
10 years agoAdd reference to related feature report
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>
10 years agoUse QString() instead of QStringLiteral("")
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>
10 years agoMake single argument ctor explicit
Frederik Gladhorn [Sat, 18 Jan 2014 01:33:18 +0000 (02:33 +0100)]
Make single argument ctor explicit

Change-Id: Idf4933cb9caa0e33ee72948390d2b6d98c241fc5
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>