| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Pick-to: 6.5
Fixes: QTBUG-111248
Change-Id: I94a033fedf546c4d7f36af6c82a166dc33800f1f
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Pick-to: 6.5
Change-Id: Ic9ac052b5b6b142f5ae19d76fc26596b085fb804
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I26214261662e466777b7438be13d91a0557f5e3c
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Makes it a little nicer when adding new branches
Change-Id: I1075c00c5bfc83d868adbc98d8c086f6065e9688
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
Amends: bbd9f2f4f5e0fda85029fa320f793973ea607c2b
Pick-to: 6.3 6.4
Change-Id: I4af7b167e5f45ad5ead25f6421a2af8638494fd4
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
|
|
|
|
|
|
|
|
| |
Amends: bbd9f2f4f5e0fda85029fa320f793973ea607c2b
Fixes: QTBUG-106937
Pick-to: 6.3 6.4
Change-Id: Ia805df3e3dd8ba61e53592ebfb0a8bfae9184042
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I570d920fbdeae64c0b58b767b65243c82e94982b
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Pick-to: 6.4
Task-number: QTBUG-105087
Change-Id: Ib9e06b90938b66394d2be9eb7f4f3a283ee80626
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Pick-to: 6.4
Change-Id: I670fe7d2dbd7d723d554155b4a822f0f85688f4c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-100823
Change-Id: I09d855a7763d218b9dad5667c29a28cb5351e98f
Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
(adapted from commit 86932a1b793bca41a7ff61c6637b4e4402e48395)
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Change-Id: If1238f62ed41fcf17cb794ffcf68a0ee3e17b030
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
CodeChecker says it should be so marked.
Apparently this is good for performance.
Change-Id: I93fc95fd61ae37fe7a8927f9fbfb593acabb74ca
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Pick-to: 6.3
Change-Id: Icaf0fac81f51432c706a948d0986aae68e44fffb
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: Id590e49c6d80f562d29e26404285f177bd0ee840
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Fixes: QTBUG-80700
Change-Id: I7b713fd869ac802d5eee8ebb8d90a2115365b509
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
|
|
|
|
|
|
|
|
| |
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>
|