summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* wasm: fix unconnectedState signal being emitted when closedLorn Potter2023-03-071-0/+2
| | | | | | | | Pick-to: 6.5 Change-Id: I266f3c194d22898da7af263191abf77250953a55 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io> Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
* wasm: make sure connection is closed before being deletedLorn Potter2023-02-222-2/+8
| | | | | | | Pick-to: 6.5 Fixes: QTBUG-111248 Change-Id: I94a033fedf546c4d7f36af6c82a166dc33800f1f Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* wasm: return amount of bytes sentLorn Potter2023-02-101-1/+6
| | | | | | | | | | | Since we do not know how many bytes were sent until the asynchronous send callback has been called, we just assume all bytes have been send if the call returns successful. Fixes: QTBUG-110951 Pick-to: 6.4 6.5 Change-Id: I1c21d23e278b0e48ac0c73e4ea5a7dccfbd5e198 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* wasm: make exception for localhost,127.0.0.1 and ::1Lorn Potter2023-02-091-5/+17
| | | | | | | | | Localhost is a special case for secure context and is considered secure, so we can open this up for mixed ws:// on https:// Pick-to: 6.4 6.5 Change-Id: I150ce6447b57b70040039a4da2a3966025e3bb33 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix CMake Unity (Jumbo) buildsFriedemann Kleint2023-02-013-10/+9
| | | | | | | | | Move clashing constants to QWebSocketPrivate. Pick-to: 6.5 Task-number: QTBUG-109394 Change-Id: I6d22f2134683c2fb65b79732b991c7ff05338a8c Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* wasm: fix depreciated error APILorn Potter2023-01-231-2/+2
| | | | | | Pick-to: 6.5 Change-Id: Ic9ac052b5b6b142f5ae19d76fc26596b085fb804 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Add the missing QWebSocketProtocol header fileAlexey Edelev2023-01-161-0/+4
| | | | | | | | | | Namespaces don't generate the symbol-based CaMeL header files. Force syncqt.cpp to generate the header file using qt_class pragma. Pick-to: 6.5 Fixes: QTBUG-110150 Change-Id: Ib9825226d10eeec55bd491eaef9dadeefef3da01 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* wasm: fix heap-use-after-free when using deleteLaterLorn Potter2022-12-282-4/+7
| | | | | | | | | | | | QWebSocketPrivate was getting destroyed before the emscripten close callback was getting called, which was then calling back into the already destroyed object. So we set the UnconnectedState before it gets destroyed. Fixes: QTBUG-108996 Pick-to: 6.5 6.4 Change-Id: I8ebbe5a55188a31209a95d2a71eea2faee3465ad Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Pass number of items to a call to tr()Mårten Nordheim2022-12-211-3/+4
| | | | | Change-Id: I26214261662e466777b7438be13d91a0557f5e3c Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Support 401 response for websocket connectionsMårten Nordheim2022-12-214-2/+137
| | | | | | | | | | | | | Adds the authenticationRequired signal. [ChangeLog][QWebSocket] QWebSocket now supports 401 Unauthorized. Connect to the authenticationRequired signal to handle authentication challenges, or pass your credentials along with the URL. Fixes: QTBUG-92858 Change-Id: Ic43d1c12529dea278b2951e6f991cc1004fc3713 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Rewrite translated string to not include '(s)'Mårten Nordheim2022-12-191-1/+1
| | | | | | | | | | | It is not always possible to translate such strings, and the number of occurrences don't matter, it's an error as soon as there is 1. Amends 99ebe2f669258b3919a0933ffd5d4c85fb13c0c0 Pick-to: 6.5 6.4 Change-Id: I4b12311813b26cd6e8e21e55826ec60dd301692a Reviewed-by: Juha Vuolle <juha.vuolle@insta.fi>
* Turn if..else if..else into a switchMårten Nordheim2022-12-151-3/+9
| | | | | | | Makes it a little nicer when adding new branches Change-Id: I1075c00c5bfc83d868adbc98d8c086f6065e9688 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Disconnect when handshake failsMårten Nordheim2022-12-151-0/+2
| | | | | | | | | It is unexpected that websocket does not disconnect once it knows the handshake has failed. Pick-to: 6.5 6.4 6.2 5.15 Change-Id: I11e64745ffdb01c11ac79739cf7f384ad6cc4590 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QWebSocket: honor subprotocols specified with setRawHeaderMårten Nordheim2022-11-243-12/+29
| | | | | | | | | | | We would error out with a ConnectionRejected if the server accepted one of the protocols specified directly in the header since we did not consider those at all. Fixes: QTBUG-108276 Pick-to: 6.4 Change-Id: Ifbb316c9d4871fd764e03c74caefa10f5b757155 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QWebSocket: check correct variable in if-statementMårten Nordheim2022-11-221-1/+1
| | | | | | | | | It's _usually_ correct, but if all protocols have been filtered out then it will be an empty string. Pick-to: 6.4 Change-Id: I3aa3221b7e36cfd253cd1152b13e57183bf4f905 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Replace QT_HAS_INCLUDE() wrapper macro with __has_include()Tor Arne Vestbø2022-11-221-2/+2
| | | | | | | | | | | | | | Using wrappers for these macros is problematic when for example passing the -frewrite-includes flag to preprocess sources before shipping off to distcc or Icecream. It will also start producing warnings when compilers implement http://eel.is/c++draft/cpp.cond#7.sentence-2. See for example https://reviews.llvm.org/D49091 See qtbase change c3bd5ffdc8a3b459f18ba6e35fca93e29f3b0ab0. Change-Id: I79d15f92c4d1af3ae3cdd2c0c615dca36c761d1a Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Port to new Q_UNREACHABLE_RETURN()Marc Mutz2022-10-191-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator to convert sequences of Q_UNREACHABLE() + return into Q_UNREACHABLE_RETURN(), newly added to qtbase. const std::string unr = "unr", val = "val", ret = "ret"; auto makeUnreachableReturn = cat("Q_UNREACHABLE_RETURN(", ifBound(val, cat(node(val)), cat("")), ")"); auto ignoringSwitchCases = [](auto stmt) { return anyOf(stmt, switchCase(subStmt(stmt))); }; makeRule(stmt(ignoringSwitchCases(stmt(isExpandedFromMacro("Q_UNREACHABLE")).bind(unr)), nextStmt(returnStmt(optionally(hasReturnValue(expr().bind(val)))).bind(ret))), {changeTo(node(unr), cat(makeUnreachableReturn, ";")), // TODO: why is the ; lost w/o this? changeTo(node(ret), cat(""))}, cat("use ", makeUnreachableReturn)); a.k.a qt-use-unreachable-return. subStmt() and nextStmt() are non-standard matchers. Change-Id: I3855b2dc8523db1ea860f72ad9818738162495c6 Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Replace usages of Q_CLANG_QDOC with Q_QDOCLuca Di Sera2022-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | To allow the user to customize the C++ code that QDoc sees, so as to be able to work-around some limitations on QDoc itself, QDoc defines two symbols: Q_QDOC and Q_CLANG_QDOC, both of which are "true" during an entire execution of QDoc. At a certain point in time, QDoc allowed the user the choice between a custom C++ parser and a Clang based one. The Q_QDOC symbol would always be defined while the Q_CLANG_QDOC symbol would be defined only when the Clang based parser was chosen. In more recent times, QDoc always uses a Clang based parser, such that both Q_CLANG_QDOC and Q_QDOC are always defined, making them equivalent. To avoid using different symbols, and the possible confusion and fragmentation that derives from it, all usages of Q_CLANG_QDOC are now replaced by the equivalent usages of Q_QDOC. Change-Id: I637a5dfe613d02f7c4bfe6b31f91b64f498b1c7b Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Port from container::count() and length() to size()Marc Mutz2022-10-075-8/+8
| | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8: auto QtContainerClass = anyOf( expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o), expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o)); makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container', with the extended set of container classes recognized. Change-Id: Ic219197507870fd2b739f2e04ff138021e58d550 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Remove/replace uninitialized status line variable in error stringJuha Vuolle2022-10-052-3/+5
| | | | | | | | Amends: bbd9f2f4f5e0fda85029fa320f793973ea607c2b Pick-to: 6.3 6.4 Change-Id: I4af7b167e5f45ad5ead25f6421a2af8638494fd4 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix uninitialized QWebSocket::errorString()Juha Vuolle2022-10-052-6/+1
| | | | | | | | | Amends: bbd9f2f4f5e0fda85029fa320f793973ea607c2b Fixes: QTBUG-106937 Pick-to: 6.3 6.4 Change-Id: Ia805df3e3dd8ba61e53592ebfb0a8bfae9184042 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* wasm: fix websocket use from worker threadLorn Potter2022-09-131-1/+1
| | | | | | | | | | self is the current window or WorkerGlobalScope Pick-to: 6.4 6.4.0 Fixes: QTBUG-106372 Change-Id: Ia23f8bd147d729d224ba8de0d44c07877ba24631 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Doc: Remove usages of the second argument of a "\page" commandLuca Di Sera2022-09-082-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The "\page" command for QDoc, used to construct a standalone documentation page in the output documentation of a project, was able to take a second argument, apart from the first argument representing the name for the generated documentation page, that roughly represented the type of the page that was to be generated. This second argument was not actually used by QDoc, such that it had no meaningful effect. QDoc was recently modified to not support this second argument, internally, and officially removed its use. For technical legacy reason, QDoc will still support the usage of a second argument for a "\page" command, albeit it will do nothing, as before. To avoid confusion for future readers who might not be aware of the history of the "\page" argument and that will not find an explanation in QDoc's documentation anymore, the usages of the second argument in "\page" commands are now removed. Change-Id: Ia41f57d5afd76b0c369f58b3f9c25854e55a33fc Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* QWebSocketServer: update handshake timeout to keep up with QSslServerMårten Nordheim2022-08-312-7/+24
| | | | | | | | | | | | | | | | | A side-effect of this is that the timeout is now duplicated. The TLS handshake first has the 'msec' timeout, and then the websocket handshake has the same 'msec' timeout. [ChangeLog][QWebSocketServer] Due to the introduction of a standalone QSslServer, with its own timeout handling, the setHandshakeTimeout() function now applies the same timeout to both the TLS and WebSocket handshakes separately. Pick-to: 6.4 Fixes: QTBUG-105851 Change-Id: I6c515e0dcdf83fa452979b06ab5f890c8b14b184 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
* Purge remaining usage of Q_NULLPTRJohannes Kauffmann2022-08-292-2/+2
| | | | | Change-Id: I570d920fbdeae64c0b58b767b65243c82e94982b Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-234-4/+4
| | | | | | | Task-number: QTBUG-105718 Change-Id: I9ae1ecc59e30cadaa8aaef762c86126c58e32bf0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* wasm: improve close code messageLorn Potter2022-08-102-3/+35
| | | | | | | | The close reason from emscripten was usually empty, so provide one. Pick-to: 6.4 Change-Id: I0c0617c805cc00aa9a575f05c8319560e33569d2 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* wasm: fix use after freeLorn Potter2022-08-081-8/+10
| | | | | | | Pick-to: 6.4 Task-number: QTBUG-105087 Change-Id: Ib9e06b90938b66394d2be9eb7f4f3a283ee80626 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Replace QWebSocket::error signal with QWebSocket::errorOccurredØystein Heskestad2022-08-036-40/+62
| | | | | | | | | | The signal error(QAbstractSocket::SocketError) is deprecated because it overloads the function error() and the naming does not match other similar signals. Fixes: QTBUG-101756 Change-Id: Ifbddef73ea39b03a6c72b0e09caa2031135d7687 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Handshake: Pass max header field size to the parserMårten Nordheim2022-07-121-0/+1
| | | | | | | | | | | | Following e3ea1d02e6a2cbc63e8ae6fff6ccae49258fe5a2 the defaults values are a lot higher and can be externally adjusted. So, we pass our limits to the parser. Change-Id: I712c0b59a171ee1e1f9be7879670836bff8392f7 Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> (cherry picked from commit 0abd9ba438698bec9588a0fb59073b6fab642f92) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add license headers to cmake filesLucie Gérard2022-07-074-0/+12
| | | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: I65958aab98f3b821ad8154b3d0d09504c9c7537b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Use standard macros and make move constructor inlineAllan Sandfeld Jensen2022-06-212-6/+8
| | | | | | | Pick-to: 6.4 Change-Id: I670fe7d2dbd7d723d554155b4a822f0f85688f4c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Use QSslServer from QtNetwork and remove own private implementationØystein Heskestad2022-06-144-198/+34
| | | | | | | Task-number: QTBUG-100823 Change-Id: I09d855a7763d218b9dad5667c29a28cb5351e98f Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> (adapted from commit 86932a1b793bca41a7ff61c6637b4e4402e48395)
* Use SPDX license identifiersLucie Gérard2022-06-1045-1638/+90
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: Ief6ca28118c5ce0abe5dccf1854731cf2215e2b6 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* QtWebSockets: replace qSwap with member-swap where possibleMarc Mutz2022-05-111-1/+1
| | | | | | | | | | | | | qSwap() is a monster that looks for ADL overloads of swap() and also detects the noexcept of the wrapped swap() function, so it should only be used when the argument type is unknown. In the vast majority of cases, the type is known to be efficiently std::swap()able or to have a member-swap. Call either of these. Task-number: QTBUG-97601 Pick-to: 6.3 6.2 5.15 Change-Id: If9c28df7d788856fb1653d2fae2a68ff42a12b23 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix remaining documentation warnings and enable doc testing in CITopi Reinio2022-05-092-13/+13
| | | | | | Change-Id: If1238f62ed41fcf17cb794ffcf68a0ee3e17b030 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* wasm: Refactor to use websocket.h APILorn Potter2022-04-273-105/+185
| | | | | | | | | | | This brings better use with threads and getting rid of bind Change-Id: Ibf4bc128210fb8bbbb876d6244c48d3241c15194 Fixes: QTBUG-101682 Reviewed-by: Arno Rehn <a.rehn@menlosystems.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Jesus Fernandez <jsfdez@gmail.com>
* Mark QWebSocketHandshakeOptions() move-constructor as noexceptEdward Welbourne2022-04-052-2/+2
| | | | | | | | CodeChecker says it should be so marked. Apparently this is good for performance. Change-Id: I93fc95fd61ae37fe7a8927f9fbfb593acabb74ca Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Fix handshake looping infinitely making no progressMårten Nordheim2022-04-011-6/+9
| | | | | | | | | | | | | | | | | | | The processHandshake function may make no progress and return. The loop calling processHandshake previously had no way of knowing this and would happily loop forever despite the outcome being the same every time. This was particularly noticeable with any response that doesn't include the \r\n\r\n sequence the first time we call processHandshake. Since processHandshake either fails or succeeds, not performing any partial-reads, we simply move it out of the loop and restructure some of the code around it. Pick-to: 6.3 6.3.0 Fixes: QTBUG-102111 Change-Id: I3955e4b90eb1be0a0ef5dfcf8a46921a086a8b49 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Add support for WebSocket Sub-ProtocolsArno Rehn2022-03-3018-42/+611
| | | | | | | | | | | | | | | | | Sub-Protocol support follows RFC 6455 Sections 4.1 and 4.2. See also https://datatracker.ietf.org/doc/html/rfc6455. This patch introduces a new class QWebSocketHandshakeOptions which collects options for the WebSocket handshake. At the moment, this contains only accessors for sub-protocols. In the future, it can be extended with things like WebSocket extensions. [ChangeLog] Add support for WebSocket Sub-Protocols Fixes: QTBUG-38742 Change-Id: Ibdcef17f717f0a76caab54f65c550865df1ec78d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Doc: Revise Qt WebSockets module landing pageAndreas Eliasson2022-03-281-33/+33
| | | | | | | | | | Remove the include directive section and add the global CMake and qmake snippets. Also, reorganize some of the sections structure. Task-number: QTBUG-100369 Pick-to: 6.3 6.3.0 Change-Id: Ief7a5f845df5b2edaa17c3c652895a4adb7ad3a5 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Remove .prev_CMakeLists.txtKai Köhne2022-03-221-25/+0
| | | | | | Pick-to: 6.3 Change-Id: Icaf0fac81f51432c706a948d0986aae68e44fffb Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Make sure all private headers include at least one otherThiago Macieira2022-03-085-2/+5
| | | | | | | | | | See script in qtbase/util/includeprivate for the rules. Since these files are being touched anyway, I also ran the updatecopyright.pl script too. Change-Id: Ib056b47dde3341ef9a52ffff13ef677e471674b6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix order of signals around disconnectionJoni Poikelin2022-02-011-3/+1
| | | | | | | | | | | | | | | | readyRead() signal had been connected with QueuedConnection which caused disconnected() signal to sometimes come before last message signals of a connection. Reasoning for this was some issue regarding SSL sockets, but there is a good chance it has been fixed since then. Removing this doesn't seem to cause hangs now at least. Fixes: QTBUG-100054 Pick-to: 6.3 6.2 Change-Id: Id465916d111a5520f4039cf57f822918f3afbca0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Style fix: dedent closing doc tagsArno Rehn2022-01-242-17/+17
| | | | | Change-Id: Id590e49c6d80f562d29e26404285f177bd0ee840 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix setting of socket optionsJoni Poikelin2022-01-121-4/+8
| | | | | | | | Socket options need to be set after connectToHost() to take any effect. Change-Id: I006a8c59ba1c78d5edaa77d545bb0f640b7224fe Pick-to: 6.3 6.2 5.15 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Port QWebSocketProtocol::versionFromString() to QStringViewMarc Mutz2021-12-173-4/+5
| | | | | | | | | It's not public API, so there's no point in using QAnyStringView here. We control all callers. Pick-to: 6.3 Change-Id: I1ca9135b4fa7d435e5a21534842c002509f1b7ff Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QWebSocketProtocol: fix potential UB (signed overflow) in masking operationMarc Mutz2021-12-171-1/+1
| | | | | | | | | | | | The size of the payload is a 64-bit integer, which the loop counts down. If the size is > INT_MAX, then we'll overflow the int i used to track the current position in the mask. Fix by using an unsigned integer type instead. Pick-to: 6.3 6.2 5.15 Change-Id: Ia3b8d42ae906eb03c1c7399cb1137a08121fcde3 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Reuse qtbase's HTTP header parser to avoid a reinvented wheelØystein Heskestad2021-12-094-103/+68
| | | | | | Fixes: QTBUG-80700 Change-Id: I7b713fd869ac802d5eee8ebb8d90a2115365b509 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Doc: Fix typo in \qtcmakepackage commandPaul Wicking2021-10-211-1/+1
| | | | | | | | | The correct CMake package name is WebSockets Pick-to: 6.2 Fixes: QTBUG-97681 Change-Id: I434cfce2e0d7fb91534718becb953a1b94e16d16 Reviewed-by: Kai Koehne <kai.koehne@qt.io>