| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
MatchCandidate is globally visible and should therefore be namespaced.
Task-number: QTBUG-138543
Pick-to: 6.10
Change-Id: I311fbae84be54b129073980c5eb637e620c160e1
Reviewed-by: Brett Stottlemyer <brett.stottlemyer@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QtRemoteObjects serialization is built on top of QDataStream, but
QDataStream is not secure. Mark all files parsing data as security
critical.
The security is dependent on the backend used. The local and QNX
backends communicate only locally but are insecure on a compromised
host. The TCP backend is by default insecure, but it supports TLS,
and can be secure if that is used.
The two files in the repparser directory are used for parsing, but
only at build time, and are therefore kept at security significant.
The remaining files are marked as security signifcant.
QUIP: 23
Task-number: QTBUG-135570
Pick-to: 6.10 6.9 6.8
Change-Id: I11176c036d95f8c706bd05e1cab1ba499003f683
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: Ifc205a53ed6809f98d6cd552de901ea7e90716f5
Reviewed-by: Ivan Solovev <ivan.solovev@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: Id816b39977e17712fd078900037efc45f66a0175
Reviewed-by: Sona Kurazyan <kurazyan.sona@gmail.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
|
|
|
|
|
| |
Task-number: QTBUG-105102
Change-Id: Id96498dfd134614946d9668ff36748e20fbc20a9
Reviewed-by: Juha Vuolle <juha.vuolle@insta.fi>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
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: I315d7ce1d6c6c3497afdfe8b61a113fdc181c935
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Task-number: QTBUG-84469
Task-number: QTBUG-90907
Change-Id: Ifc6f05fb5e17e32ec04b383770080e812c854510
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
| |
|
|
|
|
| |
Task-number: QTBUG-84319
Change-Id: I550476383f725ddfa8fbec61322cc190b34b3f4c
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This required removal of QRegExp and full conversion to QRegularExpression.
In 5.x, we needed QRegExp, as the "bootstrap" minimal configuration for
building host tools for cross-compilation did not include the
QRegularExpression components.
One of the tests was also converted from using the Qt::DateFormat enum to
using the Qt::DayOfWeek enum, as several of the used DateFormat enums were
removed in Qt6.
Fixes: QTBUG-72592
Task-number: QTBUG-84590
Change-Id: I3414e6c106407819790de9cd179914ed45ece07e
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It makes little sense to use QStringLiteral in the following
situations:
- for comparison to a QString, because operator==, startsWith(),
indexOf() etc are overloaded for QLatin1String.
- for strings which are immediately appended to, or which are
appended or prepended to other strings.
because no dynamic memory allocation is saved by doing so. But if
the only advantage of QStringLiteral does not apply, all its
disadvantages dominate, to wit: injection of calls to the QString
dtor, non-sharability of data between C strings and QStringLiterals
and among QStringLiterals, and doubled storage requirements.
Fix by replacing QStringLiteral with QLatin1String, or char16_t
literals, whichever is more fitting.
Also use new QLatin1String::arg() more.
Change-Id: I55d05783889f521001a1cb8dedd276d0a183882f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All these are relatively easily verified to be safe: They clearly
don't modify the container they iterate over, are already const or
trivially marked as such.
In QRegistrySource::removeServer(), merge with an adjacent loop.
In tst_modelview.cpp, replaced a loop over QHash::keys() + QHash::op[]
with an STL-style loop and it.key()/it.value().
In tst_signature.cpp, replaced a QStringList with a C array of
QLatin1Strings, saving a qAsConst call.
Add some reserve() as a drive-by.
Change-Id: Ibf09371ca8b58437834734c3bab997527219c823
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Java-style iterators are scheduled for deprecation, or at the very
least banned from use in Qt code.
Change-Id: I7a6e689e66ee4454658b9b52e7d444b7560a06fb
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|
| |
|
|
|
|
|
|
|
| |
Use the convention <QtModule/header.h> as per coding style, fixing
the syncqt warning:
WARNING: qremoteobjectsettingsstore.h includes qremoteobjectnode.h when it should include QtRemoteObjects/qremoteobjectnode.h
Change-Id: Ib4657a9b81ca16e42fbd3f0e7810e62ca9e00426
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Unify licensing as it is in other submodules
- Src is licensed under Commercial, LGPLv3, GPLv2 and GPLv3 licenses
- Examples are licensed under Commercial and BSD licenses
- Tools and tests are licensed under commercial and GPLv3 license with
some exceptions
Task-number: QTBUG-58921
Change-Id: I4494bf8b705568b243340c98316bedd706145db5
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
| |
|
|
|
|
|
|
|
| |
Example:
qregexparser.h(368): warning C4267: 'argument': conversion from 'size_t'
to 'int', possible loss of data
Change-Id: I025739d9dfa2d3ac4c254b59583575c3dae2f30e
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
| |
|
|
|
|
|
|
|
| |
Rename to QRegexParser, it isn't specific to .rep files, only the
parser.g file is specific to .rep files.
Change-Id: Ie74c8c996a38ea60cb2e1328e45178eb0582cdc4
Reviewed-by: Continuous Integration (KDAB) <build@kdab.com>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
|
|
|
|
|
|
|
| |
- rename qregexparser.h -> qrepregexparser.h
- install parser.g
- add a small .prf file to allow easily usage of reparser
Change-Id: Iefbe3581f4da56c290e9ba05a8923b6a0e7917bb
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
This change moves the repc parser from hand-coded to
a QLALR parser. It uses a special* lexer/parser header
file that combines regexes** with QLALR to make
simplified grammars. That is, regular expressions
are the building blocks of the grammar, not more basic
tokens. It doesn't need lex or a compatible lexer
generator. It should support full conversion to a
complete (non-regex based) language if necessary, but
incrementally.
The goal is to make repc easier to extend by moving to
a grammar.
*qregexparser.h
**As of Qt 5.5, bootstrap (which is required for repc,
since it is a host tool) includes QRegExp, but not
QRegularExpressions. So this version of the parser
uses QRegularExpressions in non-bootstrap mode, and
includes a bunch of #defines to work with QRegExp in
bootstrap mode. THIS IS FRAGILE. The regex syntax
is different for each library. Ideally QRE will move
to bootstrap, and these hacks can be removed.
Change-Id: I86f4e764fd22702771d6b00358a0bf2da72658c0
Reviewed-by: Continuous Integration (KDAB) <build@kdab.com>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|