| be12b1c0 |
monitor: Add support for handling more management messages |
Marcel Holtmann |
9 years ago |
1 file, +380, -40 |
| a1f32316 |
shared: Introduce the get_s8 helper function |
Marcel Holtmann |
9 years ago |
1 file, +5, -0 |
| 9910167d |
monitor: Close the mgmt channel if control tracing is available |
Marcel Holtmann |
9 years ago |
3 files, +14, -2 |
| eb402d7a |
monitor: Handle mgmt address types and unknown responses |
Marcel Holtmann |
9 years ago |
1 file, +105, -6 |
| ba176c5e |
monitor: Add initial support for parsing new control messages |
Marcel Holtmann |
9 years ago |
3 files, +1251, -51 |
| 3af1296c |
shared: Add new packets types for btsnoop control messages |
Marcel Holtmann |
9 years ago |
1 file, +4, -0 |
| a1c86eba |
build: Fix checking result of sizeof instead of memcmp
This can be easily spot when building with clang:
emulator/smp.c:373:53: error: size argument in 'memcmp' call is a comparison
[-Werror,-Wmemsize-comparison]
if (memcmp(conn->pcnf, confirm, sizeof(conn->pcnf) != 0)) {
tools/smp-tester.c:596:53: error: size argument in 'memcmp' call is a comparison
[-Werror,-Wmemsize-comparison]
if (memcmp(data->pcnf, confirm, sizeof(data->pcnf) != 0)) { |
Luiz Augusto von Dentz |
9 years ago |
2 files, +2, -2 |
| 854b003f |
doc/device-api: Document Connect behavior for dual-mode
Adds description of how Device1.Connect behave with dual-mode devices. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +14, -0 |
| 6171956d |
core/device: Prefer bonded bearers when connecting
When attempting to connect a dual-mode device prefer bonded bearer if
only one has been marked as bonded. This prevents connecting to a
different bearer after pairing is complete and cross transport pairing
is not supported. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +6, -0 |
| 89ca735e |
core/device: Fix marking auto-connect flag
Device auto-connect shall be set only if the profile is able to accept
incoming connections, this fixes the wrong behavior or connecting LE
with dual mode devices immediatelly after probing service as profiles
may have auto-connect flag for outgoing connection (usually BR/EDR only). |
Luiz Augusto von Dentz |
9 years ago |
1 file, +4, -1 |
| 0e12a4bb |
client: Add better support for managing devices of multiple controllers
Previously devices list was cleared when selecting new default
controller. Now devices list is preserverd allowing to list and suggest
devices for default controller even after changing the default
controller. |
Michał Narajowski |
9 years ago |
1 file, +199, -77 |
| 5d5d49e6 |
audio/player: Fix not setting scope properly
If file is played from search folder it shall use search scope not vfs. |
Luiz Augusto von Dentz |
9 years ago |
2 files, +6, -1 |
| 1908e388 |
audio/avrcp: Use SetAddressedPlayer when player changes
This ensures the right player id is addressed before sending commands as
a different player maybe have been set as addressed. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +89, -26 |
| 39a62aaa |
audio/avrcp: Don't send SetBrowsedPlayer if player is not browsable
If player is not browsable the code should skip sending SetBrowsedPlayer. |
Luiz Augusto von Dentz |
9 years ago |
3 files, +24, -2 |
| c320dbec |
audio/avrcp: Fix not setting player id
The id shall be initialized properly otherwise it maybe reused by
another player since its id will be 0 which is reserved as placeholder
when discovering the player list. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +1, -0 |
| d0e598a5 |
audio/player: Fix checking wrong flag
media_player_set_searchable should check searchable flag not browsable. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +1, -1 |
| eef03121 |
tools: Use the phrase Primary instead of BR/EDR |
Marcel Holtmann |
9 years ago |
1 file, +2, -2 |
| 3695bd31 |
build: Fix missing file
client/main.c:46:25: fatal error: advertising.h: No such file or directory |
Luiz Augusto von Dentz |
9 years ago |
1 file, +30, -0 |
| 0424c672 |
tools: Add definition for Intel AG6xx UART devices |
Marcel Holtmann |
9 years ago |
2 files, +2, -0 |
| da3cd9ad |
client: Add set-advertise-tx-power command
This adds set-advertise-tx-power which can be used include TX power
in the advertisement data:
set-advertise-manufacturer <on/off>
[bluetooth]# set-advertise-tx-power on
[bluetooth]# advertise on
@ Advertising Added: 1
< HCI Command: LE Set Aidvertising Data (0x08|0x0008) plen 32
Length: 6
Flags: 0x02
LE General Discoverable Mode
TX power: 9 dBm |
Luiz Augusto von Dentz |
9 years ago |
2 files, +45, -1 |
| c7e97d11 |
client: Add set-advertise-manufacturer command
This adds set-advertise-manufacturer which can be used set manfacturer
spefic data to be advertised:
set-advertise-manufacturer [id][data=[xx xx ...]
[bluetooth]# set-advertise-manufacturer 0xffff 0x00 0x01 0x02 0x03
[bluetooth]# advertise on
@ Advertising Added: 1
< HCI Command: LE Set Advertising Data (0x08|0x0008) plen 32
Length: 11
Flags: 0x02
LE General Discoverable Mode
Company: internal use (65535)
Data: 00010203 |
Luiz Augusto von Dentz |
9 years ago |
2 files, +89, -0 |
| 820a6da5 |
client: Add set-advertise-service command
This adds set-advertise-service which can be used set UUID data to be
advertised:
set-advertise-service [uuid][data=[xx xx ...]
[bluetooth]# set-advertise-service 180D 0xff 0xff
[bluetooth]# advertise on
@ Advertising Added: 1
< HCI Command: LE Set Advertising Data (0x08|0x0008) plen 32
Length: 9
Flags: 0x02
LE General Discoverable Mode
Service Data (UUID 0x180d): ffff |
Luiz Augusto von Dentz |
9 years ago |
2 files, +136, -0 |
| 74433d39 |
client: Add set-advertise-uuids command
This adds set-advertise-uuids which can be used set UUIDs to be
advertised:
set-advertise-uuids [uuid1 uuid2...]
[bluetooth]# set-advertise-uuids 180D 180F
[bluetooth]# advertise on
@ Advertising Added: 1
< HCI Command: LE Set Advertising Data (0x08|0x0008) plen 32
Length: 9
Flags: 0x02
LE General Discoverable Mode
16-bit Service UUIDs (complete): 2 entries
Heart Rate (0x180d)
Battery Service (0x180f) |
Luiz Augusto von Dentz |
9 years ago |
2 files, +50, -0 |
| 6c9e45f9 |
client: Add advertise command
This adds advertise command which uses org.bluez.LEAdvertisingManager1 to
add an advertising instance:
[bluetooth]# advertise
broadcast off on peripheral
[bluetooth]# advertise on
Advertising object registered
@ Advertising Added: 1
< HCI Command: LE Set Advertising Data (0x08|0x0008) plen 32
Length: 3
Flags: 0x02
LE General Discoverable Mode
[bluetooth]# advertise off
Advertising object unregistered
@ Advertising Removed: 1
< HCI Command: LE Set Advertise Enable (0x08|0x000a) plen 1
Advertising: Disabled (0x00) |
Luiz Augusto von Dentz |
9 years ago |
3 files, +274, -0 |
| 2abf31b9 |
test/example-advertisement: Fix data format of properties
D-Bus dictionaries always except the values to be of variant type. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +6, -6 |
| 758dae03 |
core/advertising: Fix not parsing data properly
Dictionary entries should contain their value component as variant
container which requires dbus_message_iter_recurse to access.
Note: This will break the application that were using this API up to
now, but since this was experimental it should still be possible to fix
it without having to bump the interface revision. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +14, -10 |
| aa0b1a0c |
core/device: Fix not connecting services properly
Device.Connect shall check if the service discovery is pending or no
service have been connected yet before switching to LE otherwise these
services may never be connected. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +12, -3 |
| 45c5920a |
doc: Add identifier for Qualcomm SMD bus |
Marcel Holtmann |
9 years ago |
1 file, +1, -0 |
| 90d24c16 |
shared: Add identifier for Qualcomm SMD bus |
Marcel Holtmann |
9 years ago |
1 file, +1, -0 |
| 18360d45 |
lib: Add identifier for Qualcomm SMD bus |
Marcel Holtmann |
9 years ago |
2 files, +3, -0 |
| c318b332 |
monitor/l2cap: Fix buffer overflow when printing UUIDs
> ACL Data RX: Handle 76 flags 0x02 dlen 18 [hci0] 22.985107
ATT: Read By Group Type Response (0x11) len 13
Attribute data length: 6
Attribute group list: 2 entries
Handle range: 0x0001-0x0007
UUID: Generic Access Profile (0x1800)
Handle range: 0x0008-0x000b
UUID: Generic Attribute Profile (0x1801)
< ACL Data TX: Handle 76 flags 0x00 dlen 11 [hci0] 22.985304
ATT: Read By Group Type Request (0x10) len 6
Handle range: 0x000c-0xffff
Attribute group type: Primary Service (0x2800)
> HCI Event: Number of Completed Packets (0x13) plen 5 [hci0] 23.051113
Num handles: 1
Handle: 76
Count: 1
> ACL Data RX: Handle 76 flags 0x02 dlen 26 [hci0] 23.115103
ATT: Read By Group Type Response (0x11) len 21
Attribute data length: 20
Attribute group list: 1 entry
Handle range: 0x000c-0x0010
*** buffer overflow detected ***: monitor/btmon terminated
==14384== Process terminating with default action of signal 6 (SIGABRT)
==14384== at 0x4E6F418: raise (raise.c:54)
==14384== by 0x4E71019: abort (abort.c:89)
==14384== by 0x4EB1729: __libc_message (libc_fatal.c:175)
==14384== by 0x4F5289B: __fortify_fail (fortify_fail.c:37)
==14384== by 0x4F5089F: __chk_fail (chk_fail.c:28)
==14384== by 0x4F4FE08: _IO_str_chk_overflow (vsprintf_chk.c:31)
==14384== by 0x4EB55DF: _IO_default_xsputn (genops.c:455)
==14384== by 0x4E87DBF: vfprintf (vfprintf.c:1631)
==14384== by 0x4F4FE93: __vsprintf_chk (vsprintf_chk.c:82)
==14384== by 0x4F4FDEC: __sprintf_chk (sprintf_chk.c:31)
==14384== by 0x422826: sprintf (stdio2.h:33)
==14384== by 0x422826: print_uuid (l2cap.c:2014)
==14384== by 0x423373: print_group_list (l2cap.c:2334)
==14384== by 0x423373: att_read_group_type_rsp (l2cap.c:2348) |
Michał Narajowski |
9 years ago |
2 files, +3, -1 |
| 976f7930 |
core: Prefer BR/EDR over LE if it set in advertisement flag
This makes the code prefer BR/EDR if the last advertisement has it set
in the flags. |
Luiz Augusto von Dentz |
9 years ago |
2 files, +9, -2 |
| 7641fc83 |
core: Fix wrong expectations for the return of recv()
Since commit b5f34f9420b50 "Bluetooth: Fix bt_sock_recvmsg return value"
in the kernel, Bluetooth sockets of type SOCK_SEQPACKET, when read()
will return the size of the packet received, which can be larger than
the the buffer passed by user space.
In this case the problem was causing a disconnection soon after
the reception of an SDP request.
Reported by: Alban Browaeys <prahal@yahoo.com> |
Vinicius Costa Gomes |
9 years ago |
1 file, +1, -1 |
| 375d0247 |
core/service: Fix setting connecting state
If the profile don't implement .accept callback it means it cannot
connect in this mode, which is normally used for GATT profiles, so the
code shall not assume the service will start connecting and instead just
return an error. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +1, -1 |
| 37ba680a |
core/gatt: Fix not marking GATT D-Bus properties as stable
Those are no longer experimental. This fix not being able to use
GATT client over D-Bus without -E option. |
Szymon Janc |
9 years ago |
1 file, +6, -12 |
| f4a623d7 |
Revert "core/advertising: Fix ManufaturerData dict type"
This reverts commit d4a4c05a66e4c4ec8febdb0cab29c653938ad915, the type
was correct since it is the byte array after the key that is being
parsed. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +1, -1 |
| 06c6cd69 |
audio/player: Fix properties being marked as experimental
The media API is considered stable so these properties shall not have
experimental flags set. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +2, -4 |
| d4a4c05a |
core/advertising: Fix ManufaturerData dict type
The expect type for manufacturer ID is uint16_t not uint8_t. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +1, -1 |
| 80326b5f |
test/example-gatt-server: Add more comments
This adds more comments what the example is doing. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +14, -0 |
| 24739efd |
test/example-gatt-client: Add more comments
This adds more comments what the example is doing. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +3, -0 |
| 9e097107 |
doc/gatt-api: Mention available examples |
Luiz Augusto von Dentz |
9 years ago |
1 file, +9, -0 |
| ffeec39d |
doc/adapter-api: Fix SetDiscoveryFilter documentation
The method is not set as experimental for while. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +1, -1 |
| f9705b3f |
audio/a2dp: Fix always setting -EAGAIN for all errors
avdtp_error_posix_errno always return the posix errno not the negative
one which is then assigned to perror negative and then again as negative
in the switch statement making it assume the original value which is the
positive errno which don't match with the expected values which are
negative causing -EAGAIN to always be returned. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +5, -5 |
| 4ea44dc5 |
plugins/policy: Disable other connect policies while reconnect is active
Other policies shall not interfere while reconnect is active. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +24, -19 |
| f365d9f6 |
main.conf: Remove spaces in reconnect list parameters
These spaces are not removed when parsing the file which may lead to
unexpected behavior when using the values commented out as default. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +2, -2 |
| 14b6511b |
plugins/policy: Set list separator
Set list separator to ',' as it is used in main.conf. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +2, -0 |
| 12bd0ffd |
plugins/policy: Revert patch 96db78604252eeb17614b9982ced95fd66c6c6fc
Patch 96db78604252eeb17614b9982ced95fd66c6c6fc actually breaks
iterating to each attempt since the attempt++ is already done in
reconnect_timeout callback. |
Luiz Augusto von Dentz |
9 years ago |
1 file, +0, -2 |
| 97531e94 |
lib/uuid: Fix using unitialized values
The strings passed to bt_uuid_strcmp may not be valid UUIDs so the return
of bt_string_to_uuid needs to be checked otherwise bt_uuid_cmp may attempt
to access unitialized values:
Conditional jump or move depends on uninitialised value(s)
at 0x4C1D4D: bt_uuid_to_uuid128 (uuid.c:78)
by 0x4C1F22: bt_uuid_cmp (uuid.c:131)
by 0x4C24A8: bt_uuid_strcmp (uuid.c:286)
by 0x40F8A8: reconnect_match (policy.c:514)
by 0x40F8A8: service_cb (policy.c:655)
by 0x499331: change_state (service.c:109)
by 0x499BBB: btd_service_connecting_complete (service.c:361)
by 0x4178C1: stream_state_changed (source.c:163)
by 0x422C78: avdtp_sep_set_state (avdtp.c:1013)
by 0x42372A: handle_transport_connect (avdtp.c:844)
by 0x423D8B: avdtp_connect_cb (avdtp.c:2326)
by 0x465BBB: connect_cb (btio.c:232)
by 0x50CA702: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.1)
Uninitialised value was created by a stack allocation
at 0x4C2460: bt_uuid_strcmp (uuid.c:280) |
Luiz Augusto von Dentz |
9 years ago |
1 file, +5, -2 |
| f21c36ab |
core/device: Promote LE related properties to stable
This promotes ManufacturerData, ServiceData, TxPower and ServicesResolved
to stable since those might be needed in order to take advantage of the
GATT D-Bus APIs. |
Luiz Augusto von Dentz |
9 years ago |
2 files, +6, -10 |
| 4c7bac79 |
core/gatt: Promote GATT D-Bus interfaces to stable
These interfaces have been in use for quite a while in chromium where it
is used by Web Bluetooth APIs. |
Luiz Augusto von Dentz |
9 years ago |
3 files, +21, -36 |