diff options
author | Alex Blasche <alexander.blasche@digia.com> | 2014-08-25 13:40:04 +0200 |
---|---|---|
committer | Alex Blasche <alexander.blasche@digia.com> | 2014-08-27 16:54:57 +0200 |
commit | 167faeec86ed4d9c9f099f5180784c7b0cb9aa42 (patch) | |
tree | 222fe4af432a6b77e13513847f618e2216881661 /dist/changes-5.3.2 | |
parent | 8a33a9b43dcc5e7f9a77237a660a3759286e6b86 (diff) |
Fix L2CP socket connectionsv5.3.2
L2CP's psm (the RFCOMM port equivalent) was never published via SDP.
Therefore the service client could not get the required information
to connect to the server. After this patch Qt properly publishes
the psm.
Also, QBluetoothSocket::connect() initiated a service
discovery to obtain the missing psm. Since the published SDP
entry didn't contain one, protocolServiceMultiplexer() always returned
0 and another service discovery was initiated. This caused a crash
inside QBluetoothSocket because the 1st QBluetoothServiceDiscoveryAgent
instance was deleted in favor of the 2nd.
The patch changes the client behavior such that it doesn't crash
if the service discovery didn't turn up a valid psm/port.
It improves the robustness in case of an error and avoids
a second service discovery (which wouldn't turn up more information
anyway).
The bug only affected Bluez as it is the only platform supporting
pure L2CP sockets.
Last but not least a capability to test L2CP sockets was added to
bttestui.
Change-Id: I46c88a67c2baa4782ea908e645dcd4db9422dbba
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Diffstat (limited to 'dist/changes-5.3.2')
-rw-r--r-- | dist/changes-5.3.2 | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/dist/changes-5.3.2 b/dist/changes-5.3.2 index 59a52917..e700e85e 100644 --- a/dist/changes-5.3.2 +++ b/dist/changes-5.3.2 @@ -45,3 +45,5 @@ Linux ----- - Removed undesirable system header includes from the Bluez code base. + - Fixed incomplete SDP entries when using L2CP sockets and avoided + crash on client side when incomplete SDP entry is encountered. |