| d2c09255 |
device: Fix NULL pointer dereference during GATT service discovery
If reverse service discovery for GATT is triggered,
device_browse_primary() is called with a NULL "conn" parameter. This fix
is based on similar code found in device_browse_sdp().
This fixes errors like:
process 871: arguments to dbus_connection_ref() were incorrect,
assertion "connection != NULL" failed in file dbus-connection.c line
2549.
This is normally a bug in some application using the D-Bus library.
process 871: arguments to dbus_connection_get_object_path_data() were
incorrect, assertion "connection != NULL" failed in file
dbus-connection.c line 5639.
This is normally a bug in some application using the D-Bus library.
process 871: arguments to dbus_connection_register_object_path() were
incorrect, assertion "connection != NULL" failed in file
dbus-connection.c line 5461.
This is normally a bug in some application using the D-Bus library. |
Anderson Lizardo |
13 years ago |
1 file, +4, -2 |
| 793b0090 |
btmgmt: Update opcode and event tables |
Johan Hedberg |
13 years ago |
1 file, +23, -12 |
| 15558cba |
btmgmt: Add read_commands support |
Johan Hedberg |
13 years ago |
1 file, +59, -1 |
| 9291fc60 |
test-discovery: Make output a bit more readable
Add an empty line between device found entries to make the output more
readable. |
Johan Hedberg |
13 years ago |
1 file, +2, -0 |
| 92f98709 |
mgmtops: Improve event size mismatch messages
This makes them consistent, and updates the function names. |
Anderson Lizardo |
13 years ago |
1 file, +5, -4 |
| 80e106f4 |
adapter: Fix possible invalid memory access |
Vinicius Costa Gomes |
13 years ago |
1 file, +4, -2 |
| a7be2034 |
hciconfig: Fix compiler warnings related to unaligned memory access |
Vinicius Costa Gomes |
13 years ago |
1 file, +1, -1 |
| 4725ddff |
hciconfig: Fix using old-style initializers |
Vinicius Costa Gomes |
13 years ago |
1 file, +2, -2 |
| 36ca1992 |
mgmtops: Fix doing a useless memset()
The buffers were already allocated using g_try_malloc0(). |
Vinicius Costa Gomes |
13 years ago |
1 file, +0, -4 |
| 8eb00c20 |
network: Fix clang compiler warnings related to unaligned memory access |
Vinicius Costa Gomes |
13 years ago |
1 file, +4, -4 |
| eb7a1dc3 |
audio: Fix clang compiler warnings regarding implicit enum conversion
It was expected that source_get_state() returned a source_state_t, and
that sink_get_state() returned a sink_state_t. |
Vinicius Costa Gomes |
13 years ago |
4 files, +6, -6 |
| 24650bad |
dun: Fix using old-style initializers |
Vinicius Costa Gomes |
13 years ago |
1 file, +2, -2 |
| 42dc0063 |
tools: Fix using old-style initializers |
Vinicius Costa Gomes |
13 years ago |
2 files, +2, -2 |
| f7a79ac1 |
lib: Fix using old-style initializers |
Vinicius Costa Gomes |
13 years ago |
1 file, +2, -2 |
| 656ca984 |
attrib-server: Fix invalid IO channel unref
This patch fixes an invalid read for incoming connections when
the remote initiates the link disconnection. |
Claudio Takahasi |
13 years ago |
1 file, +0, -1 |
| 9e6a1171 |
GAttrib: Remove unused function
GAttrib disconnection tracking is being moved to device.c |
Claudio Takahasi |
13 years ago |
2 files, +1, -24 |
| 0ed2a8c7 |
device: Add common ATT connection cleanup function |
Claudio Takahasi |
13 years ago |
1 file, +30, -51 |
| 370fe201 |
device: Remove GAttrib disconnect callback
This patch replaces the usage of GAttrib disconnection callback by
GIOChannel watch to track ATT channel disconnection. Connection
management is being centralized in device to allow multi-profile
implementations. |
Claudio Takahasi |
13 years ago |
1 file, +23, -6 |
| 4e751d06 |
attrib-server: Remove GAttrib disconnect callback
This patch replaces the usage of GAttrib disconnection callback by
GIOChannel watch to track ATTIO channel disconnection aiming to achieve
less dependencies between attrib server, device and GAttrib. |
Claudio Takahasi |
13 years ago |
3 files, +21, -13 |
| 9dde2d57 |
device: Fix trying to connect if already connected |
Vinicius Costa Gomes |
13 years ago |
1 file, +8, -3 |
| 33bebd72 |
device: Fix notifying ATTIO drivers when browsing
If disconnection happens during the primary service discovery ATTIO
drivers should not be notified. |
Claudio Takahasi |
13 years ago |
1 file, +12, -13 |
| 983b8412 |
device: Consolidate ATT connection management
This patch centralizes the connection management for ATT channels
grouping the common code. Based on the result of the ATT connection
result, error or success callback is called. |
Claudio Takahasi |
13 years ago |
1 file, +88, -63 |
| 2e032e67 |
audio: do not disconnect on gateway SCO failure
Failure on BlueZ-initiated SCO requests should not drop the RFCOMM
connection to the gateway. Instead, considering the stream as suspended
should be enough. |
Mikel Astiz |
13 years ago |
1 file, +1, -1 |
| 966561e0 |
a2dp: return NotSupported error if no server found
With both sink and sources disabled, the A2DP server is not even
registered in audio_manager_init. When trying to register the endpoint,
this should result in the same error as if the server existed but the
profile was disabled. |
Mikel Astiz |
13 years ago |
1 file, +1, -1 |
| 8a8aa92e |
audio: gateway_unlock together with in_use = FALSE
Calling gateway_unlock seems safer in gateway_suspend_complete, in
combination with the update of transport->in_use. This avoids the
transitional state of having the gateway unlocked but the transport
still in use.
This approach is also more consistent with the way headset and a2dp
handle it. |
Mikel Astiz |
13 years ago |
1 file, +2, -1 |
| 455a27fa |
mgmt-api: Reorder parameters for read_commands
It makes more sense to have the num_commands and num_events parameters
in the beginning so that the message length can be validated up front. |
Johan Hedberg |
14 years ago |
2 files, +2, -3 |
| 8c03ffd2 |
mgmt: Add mgmt_rp_read_commands struct definition |
Johan Hedberg |
14 years ago |
1 file, +6, -3 |
| a6ef9f74 |
mgmt-api: Add proper management supported commands command |
Marcel Holtmann |
14 years ago |
1 file, +15, -4 |
| dbc9ab63 |
device: Remove unused variable |
Claudio Takahasi |
14 years ago |
1 file, +0, -4 |
| e8f0a6c3 |
GAttrib: Fix leak when remote disconnects |
Claudio Takahasi |
14 years ago |
1 file, +3, -2 |
| e05011b3 |
GAttrib: Add debug message for GAttrib references |
Claudio Takahasi |
14 years ago |
2 files, +11, -2 |
| 73f828cc |
adapter_opts: Add address type to block() and unblock() |
Johan Hedberg |
14 years ago |
5 files, +23, -15 |
| e6f57ce4 |
adapter_ops: Add address type to disconnect() |
Johan Hedberg |
14 years ago |
5 files, +11, -7 |
| 97f5e139 |
btmgmt: Add Device Unpaired event decoding support |
Johan Hedberg |
14 years ago |
1 file, +1, -0 |
| a5302fda |
event: Add btd_event_device_unpaired callback |
Johan Hedberg |
14 years ago |
2 files, +18, -0 |
| 9fe2663e |
mgmtops: Add support for mgmt_ev_device_unpaired |
Johan Hedberg |
14 years ago |
1 file, +27, -0 |
| 6e5d3d78 |
adapter_ops: Add address type to confirm_reply and passkey_reply |
Johan Hedberg |
14 years ago |
5 files, +38, -20 |
| ea098a5a |
adapter_ops: Add address type to remove_bonding() |
Johan Hedberg |
14 years ago |
5 files, +32, -12 |
| 07c33a2d |
mgmt: Update implementation to match latest API |
Johan Hedberg |
14 years ago |
3 files, +92, -87 |
| 9ce812b0 |
proximity: Fix Proximity API to match documentation
Recently, the documented D-Bus interface for Proximity was changed to
prepare for the upcoming Proximity Reporter API. |
Anderson Lizardo |
14 years ago |
2 files, +3, -3 |
| ad1c7d56 |
device: Remove unused fields from browse_req |
Andre Guedes |
14 years ago |
1 file, +0, -2 |
| 074f5b88 |
device: Move GAttrib reference to device
Save GAttrib reference directly in struct btd_device instead of the
temporary browse_req. GAttrib instance scope should not be restricted to
primary service browsing context only, it needs to be shared to upper
layers. |
Andre Guedes |
14 years ago |
1 file, +3, -14 |
| 9ff8e4b7 |
device: Remove unused function parameter
This patch removes the unused shutdown parameter from
browse_request_free function. |
Andre Guedes |
14 years ago |
1 file, +7, -10 |
| f56b47dc |
device: Use att_io in device_browse_primary
In order to have the same approach as att_connect function,
device_browse_primary function should save the reference to GIOChannel
at device->att_io. This way, we can properly shut it down if the browse
request is canceled during the connection attempt. |
Andre Guedes |
14 years ago |
1 file, +11, -7 |
| c58b40a2 |
mgmtops: Fix memory leak when parsing EIR |
Anderson Lizardo |
14 years ago |
1 file, +2, -0 |
| eac83af8 |
device: Shutdown connection if ATTIO list is empty
Shutdown the ongoing connection attempt if the last ATTIO callback is
removed from the list. |
Andre Guedes |
14 years ago |
1 file, +6, -0 |
| 138ac9fa |
device: Reply ATT requests during bonding
Unlike BR/EDR which has a dynamically allocated L2CAP data channel, LE
has a fixed L2CAP channel where data are transmitted (CID 4). This means
that once the LE link is established the remote device is able to send
data (ATT messages) to the local device.
Due to the ATT sequential request-response protocol, once a client sends
a request to a server, that client shall send no other request to the
same server until a response PDU has been received. If the response PDU
arrives in 30 secs the remote device disconnects.
This way, in order to be able to reply ATT requests which may come
through channel ID 4 during the pairing, we first establish an ATT
connection and then we start the pairing process.
That issue was discovered during test sessions in UPF. We found some LE
devices sending ATT Requests in CID 4 while pairing was still in
progress |
Andre Guedes |
14 years ago |
1 file, +47, -0 |
| c1c440e5 |
device: Fix invalid read in att_connect_cb
We should keep a reference to GIOChannel created in att_connect so we
can properly shut it down if the device is removed during a connection
attempt. After establishing the connection, we drop the GIOChannel
reference because GAttrib will take the responsability of disconnect the
link based on the registered ATTIO connection callbacks.
This patch fixes the following invalid read reported by valgrind when
the device is removed and we have a ongoing connection attempt:
Invalid read of size 4
at 0x1A90D8: att_connect_cb (device.c:1712)
by 0x17EDB9: connect_cb (btio.c:169)
by 0x4E6E29C: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.2800.8)
by 0x4E6EA77: ??? (in /usr/lib/libglib-2.0.so.0.2800.8)
by 0x4E6F0B9: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.2800.8)
by 0x18ACB3: main (main.c:485)
Address 0x68aacb8 is 456 bytes inside a block of size 472 free'd
at 0x4C2556E: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x1A596B: device_free (device.c:248)
by 0x121EB5: remove_interface (object.c:563)
by 0x122288: g_dbus_unregister_interface (object.c:715)
by 0x1AAFD8: btd_device_unref (device.c:2636)
by 0x1A7912: device_remove (device.c:1058)
by 0x19F371: adapter_remove_device (adapter.c:1122)
by 0x1A0AD4: remove_device (adapter.c:1720)
by 0x1214C4: process_message (object.c:224)
by 0x121B60: generic_message (object.c:447)
by 0x51348C0: ??? (in /usr/lib/libdbus-1.so.3.5.7)
by 0x512679F: dbus_connection_dispatch (in /usr/lib/libdbus-1.so.3.5.7) |
Andre Guedes |
14 years ago |
1 file, +11, -1 |
| 30e2e6bd |
device: Split att_connect_cb
In order to reduce code complexity, all code related to
device_browse_primary was moved to a new function called
browse_primary_connect_cb. This way att_connect_cb has only code related
to att_connect. |
Andre Guedes |
14 years ago |
1 file, +33, -15 |
| f703cc03 |
proximity: Remove unused variable |
Anderson Lizardo |
14 years ago |
1 file, +0, -3 |