| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
extraction
QDBusArgument QByteArray extraction operator and QDBusDemarshaller that
implements the extraction do not check the type of the extracted value.
When extracting a QByteArray when the value actually is e.g. a struct of
mixed types the byte array extraction will crash as it attempts to extract
the struct data as a fixed array.
The fix adds DBus type checks to QDBusArgument byte array extraction
operator implementations.
The checks invalidate extracting arrays of other types than bytes to a
QByteArray that worked with the unchecked implementation. The rationale
for this restriction is
1) extracting a QByteArray to a variant checks already that the array
element type is byte
2) Results of extracting arrays of types wider than a byte to a QByteArray
are architecture-dependent making such code inherently non-portable.
Task-number: QTBUG-22840
Change-Id: Iaa284603c65d7a431a3fd020c18240cd8199ceb9
(From Qt5 commit b9acd85b2f92f887521b952f84ced9a2d1a8a57e)
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QDBusArgument QStringList extraction operator and QDBusDemarshaller that
implements the extraction do not check the type of the extracted value.
When extracting a QStringList and the value actually is e.g. an array of
bytes the string list extraction will crash as it interprets the bytes as
char pointers.
The fix adds DBus type checks to QDBusArgument QStringList extraction
operator implementations.
The checks are as permissive as possible provided crashes are avoided.
Task-number: QTBUG-22840
Change-Id: I83a98097a7cf36f8448afba81d0ad619cdf864e3
(From Qt5 commit b4398dc4e372dbe829b21423e1a0a93a6a542994)
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QDBusArgument string extraction operators and QDBusDemarshaller that
implements the extraction do not check the type of the extracted value.
When extracting string-like basic DBus type that actually is e.g. an
integer the string extraction will crash as it blindly attempts to use the
integer as a pointer to char.
The fix adds DBus type checks to QDBusArgument string type extraction
operator implementations.
The checks are as permissive as possible provided crashes are avoided.
Previously supported functionality of extracting an object path or type
signature to a string type is retained.
Task-number: QTBUG-22840
Change-Id: Ia27d4f4d461e5c4d3eac52f3cac85d6734f000b3
(From Qt5 commit 8f19f142745f3cb0690dcd51cebc66153e396805)
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 5be6cf0a6e306ed3a51ed5ba89317b1317544eea introduced an implicit
cast from const char* to QString in QDBusServer's constructor, which
breaks the compilation of applications which use QtDBus when
QT_NO_CAST_FROM_ASCII is defined and clang is used.
Task-number: QTBUG-23398
Change-Id: Iaba66ab05ae6232f69a3981c2ca168f1ffd7bb05
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
| |
Simple search and replace. This commit doesn't touch 3rd-party files,
nor translations (where the change is not so simple and will be handled
in a separate commit).
Change-Id: I4e48513b8078a44a8cd272326685b25338890148
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QDBusArgument extraction operators and QDBusDemarshaller that implements
the extraction do not check the type of the extracted value.
Helper function template qIterGet in qdbusdemarshaller.cpp that is used
for extracting basic data types only reserves space from the stack for
the expected type as specified by client.
If the actual type in the DBus parameter is larger stack will be
overwritten in the helper function by at most 7 bytes (expected one byte,
received dbus_uint_64_t of size 8 bytes).
The fix always reserves space for the largest basic type dbus_uint64_t
readable by dbus_message_iter_get_basic API.
See also http://dbus.freedesktop.org/doc/api/html/group__DBusMessage.html#ga41c23a05e552d0574d0444d4693d18ab
PMO 280456
Task-number: QTBUG-22735
Merge-request: 1469
Reviewed-by: thiago
|
|
|
|
|
|
|
|
|
| |
The existing code doesn't work on 64bit machines. We must first convert
the list into a QVector, which guarantees that elements are laid out
correctly as an array.
Merge-request: 1467
Reviewed-by: thiago
|
|
|
|
|
|
| |
Merge-request: 1253
Reviewed-by: Thiago
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
|
|
|
|
|
|
| |
It was in the public and private headers section.
Reviewed-by: Thiago
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
| |
When a virtual object is registered with the SubPath option
it will handle all dbus calls to itself and all child paths.
It needs to reimplement handleMessage for that purpose.
Introspection needs to be implemented manually in the introspect function.
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
|\
| |
| |
| |
| |
| |
| |
| | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
Add a function that returns the D-Bus local machine ID
Add an SSE4.2 even simpler version of toLatin1
|
| |
| |
| |
| | |
Reviewed-by: Lars Knoll
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
Conflicts:
src/gui/text/qrawfont.cpp
src/gui/text/qtextlayout.cpp
src/gui/util/qscroller.cpp
src/gui/widgets/qlineedit.cpp
|
| |
| |
| |
| |
| |
| |
| | |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
QtDBus: Add unit tests for QDBusAbstractAdaptor
QtDBus: Add unit tests for QDBusInterface
QtDBus: Add unit tests for QDBusAbstractInterface
QtDBus: Register QDBusServer connection name in QDBusConnectionManager
QtDBus: Skip bus name check for peer-to-peer connection
QtDBus: Fix minor coding style issues
QtDBus: Add default constructor to QDBusServer
QtDBus: Add unit tests for peer-to-peer connection
QtDBus: Add method QDBusConnection::disconnectFromPeer()
QtDBus: Add method QDBusConnection::connectToPeer()
QtDBus: Fix QDBusConnection::disconnectFromBus() for peer-to-peer connections
QtDBus: Fix bus in peer-to-peer connections should not be used
QtDBus: Fix empty service name in peer-to-peer connections
QtDBus: Fix registering objects using path '/' in peer-to-peer connections
QtDBus: Fix QDBusServer to handle correctly new dbus connections
QtDBus: Cleaning comments, spacing, etc.
|
| |
| |
| |
| |
| |
| | |
Merge-request: 2343
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Merge-request: 2343
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Merge-request: 2343
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Merge-request: 2343
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Merge-request: 2343
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Merge-request: 2343
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Merge-request: 2343
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Merge-request: 2343
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Merge-request: 2343
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Merge-request: 2343
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Merge-request: 2343
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Merge-request: 2343
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (29 commits)
Use s/static/Q_GLOBAL_STATIC/g in QScroller
Alternative fix to the strict-aliasing violation warnings
Revert "Fix strict-alias breaking warnings with GCC."
Fix warning about vSize not being used in this function
Do not try to test UnixFDs with the system API because it may be too old
L10n: German translations for Qt 4.8
Compile with namespace support.
Replace the handcoded math and change the timer buckets again.
Move the constants up, preparing for refactoring
Fix strict-alias breaking warnings with GCC.
Fix compilation if D-Bus 1.4 isn't present.
Change the number of entries in the first timer bucket.
Change the error message in the timer ID deallocator.
Add a benchmark for testing our QtDBus type-validation
Move the QDBusPerformance test to the tests/benchmark dir
Use the Qt code for validating types in QtDBus
Add routines to validate D-Bus signature in QtDBus
Remove the unused QDBusUnixFileDescriptor::isShared function
Doc: document the QDBusUnixFileDescriptor class
Autotest: really ensure that two fds are equal
...
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Task-number: QTBUG-17477
|
| |
| |
| |
| | |
Task-number: QTBUG-17477
|
| |
| |
| |
| | |
Task-number: QTBUG-17477
|
| |
| |
| |
| | |
Task-number: QTBUG-17477
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This class holds one Unix file descriptor. It's implicitly shared, but
it makes a copy of your file descriptor (via dup(2) or dup2(2)).
This class is supposed to work even outside Unix systems, just that it
will never do anything.
Documentation in a later commit.
Task-number: QTBUG-17477
|
|/
|
|
|
|
| |
And also in QMetaMethod::invoke
Reviewed-by: brad
|
|
|
|
|
|
|
|
|
|
|
|
| |
The marshaller and demarshaller need to know the features negotiated
with the peer so as to determine what's permitted. This is especially
important to the marshaller: the libdbus-1 API may "throw a fit" if we
try to pass a type that isn't allowed or the server may disconnect us.
The use of the capabilities in the demarshaller are for symmetry and
for us to toggle the feature in unit tests.
Task-number: QTBUG-17478
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The capabilities are negotiated with the D-Bus peer or bus at
connection time and may include extra features not available when
D-Bus 1.0 was released.
Currently (as of D-Bus 1.4), the only additional feature is Unix file
descriptor passing.
Proposed features are "maybe types" and single-precision floating
point. They may be added to D-Bus 1.6.
Task-number: QTBUG-17478
|
|
|
|
|
|
| |
Some applications experience weird behaviour that sometimes it works and
sometimes it doesn't, due to D-Bus being first used in a thread. So
instead do everything in the main thread for the two main connections.
|
|
|
|
|
|
|
|
|
|
| |
This is internal API and the behaviour may change without notice. In
the future, I could use a different implementation without libdbus-1,
so this pointer may be something different. The use of DBusConnection
is also entirely implementation-defined, so keeping this connection
around is entirely unsupported.
You have been warned.
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/gui/kernel/qcocoaview_mac.mm
src/s60installs/bwins/QtGuiu.def
src/s60installs/eabi/QtGuiu.def
src/testlib/qtestcase.cpp
|
| |
| |
| |
| |
| |
| |
| | |
We must make sure we advance the receiving iterator, or we end up in
an infinite loop.
Task-number: QTBUG-17476
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use VoidStar as the metatype, with an unknown type called
"QDBusRawType". The actual D-Bus type is saved as an hex value as a
template parameter.
D-Bus type Qt type comment
h QDBusRawType<0x68>* Unix file descriptors
~ QDBusRawType<0x7e>* invalid type
ai QDBusRawType<0x6169>* array of int32
a{i(ssy)} QDBusRawType<0x617b6928737379297d>*
Note that the number in the template doesn't have to be valid. The
QDBusRawType class doesn't exist anyway.
I thought of just leaving the raw D-Bus type there, but who knows what
kind of things can appear there, like other '>' (which may cause
problems for anything trying to parse the meta object later).
Task-number: QTBUG-17476
|