Commits

Commit Message Author Age Changes
3e2ad500 btmon: Fix decoding of Enhanced Credit Connection Request This fixes the decoding of Enhanced Credit Connection Request which was not accounting the fields correctly causing 2 extra Source CID to be printed. Luiz Augusto von Dentz 3 years ago 1 file, +1, -1
c535623a hog-lib: Check if Report ID is set before prepending it Before prepending the Report ID check if it is non-zero: BLUETOOTH SPECIFICATION Page 16 of 26 HID Service Specification Report ID shall be nonzero in a Report Reference characteristic descriptor where there is more than one instance of the Report characteristic for any given Report Type. Fixes: https://www.spinics.net/lists/linux-bluetooth/msg97262.html Luiz Augusto von Dentz 3 years ago 1 file, +8, -1
a1939bd5 test: changes for Python3 Remove some leftover usage of Python2 code. In particular replace iteritems() with items() to fix the following error: AttributeError: 'dbus.Dictionary' object has no attribute 'iteritems' Diego Rondini 3 years ago 8 files, +14, -14
832b594a settings-storage: Document use of StateDirectory This documents the use of StateDirecory environment variable which overwrites the default storage diretory when set. Luiz Augusto von Dentz 3 years ago 1 file, +5, -0
00cfb36e bluetooth.service: Set ConfigurationDirectoryMode This sets ConfigurationDirectoryMode to 0555 to really enforce the ConfigurationDirectory to be read-only [1]. [1] https://github.com/bluez/bluez/issues/329#issuecomment-1102459104 Luiz Augusto von Dentz 3 years ago 1 file, +1, -0
edc69d25 bluetooth.service: Set StateDirectoryMode This sets StateDirectoryMode to 0700 as it is the current mode used for creating files inside the storage and it is different than the default systemd uses which is 0755: [1] https://www.freedesktop.org/software/systemd/man/systemd.exec.html#RuntimeDirectoryMode= Luiz Augusto von Dentz 3 years ago 1 file, +1, -0
b2db8f0e client/player: Fix use of unsupported config_qos QoS is not yet supported by bluetoothd so remove them. Luiz Augusto von Dentz 3 years ago 1 file, +1, -113
fb4997fb test-runner: Add dedicated option to start D-Bus This adds a dedicated option to start D-Bus alone which can be useful when testing the bluetoothd with the likes of valgrind. Luiz Augusto von Dentz 3 years ago 1 file, +27, -11
0905a064 build: Make use of StateDirectory and ConfigurationDirectory This makes use of StateDirectory[1] and ConfigurationDirectory[1] to inform systemd what those paths are used for instead of using ReadWritePaths and ReadOnlyPaths which can lead to issues. Fixes: https://github.com/bluez/bluez/issues/329 [1] https://www.freedesktop.org/software/systemd/man/systemd.exec.html Luiz Augusto von Dentz 3 years ago 1 file, +3, -3
385e8d64 main: Add support for CONFIGURATION_DIRECTORY environment variable When running as a systemd service the CONFIGURATION_DIRECTORY environment variable maybe set: https://www.freedesktop.org/software/systemd/man/systemd.exec.html Luiz Augusto von Dentz 3 years ago 1 file, +28, -10
5fb27418 storage: Add support for STATE_DIRECTORY environment variable When running as a systemd service the STATE_DIRECTORY environment variable maybe set: https://www.freedesktop.org/software/systemd/man/systemd.exec.html Luiz Augusto von Dentz 3 years ago 6 files, +148, -109
180cf099 policy: Change AutoEnable default to true This changes the default of AutoEnable to true so controllers are power up by default. Fixes: https://github.com/bluez/bluez/issues/328 Luiz Augusto von Dentz 3 years ago 2 files, +7, -3
777bc7c3 client/player: Add transport menu This adds transport menu: [bluetooth]# menu transport Menu transport: Available commands: ------------------- list List available transports show <transport> Transport information acquire <transport> Acquire Transport release <transport> Release Transport send <filename> Send contents of a file Luiz Augusto von Dentz 3 years ago 1 file, +384, -1
46f171a8 client/player: Add endpoint menu This adds endpoint menu: [bluetooth]# menu endpoint Menu endpoint: Available commands: ------------------- list [local] List available endpoints show <endpoint> Endpoint information register <UUID> <codec> [capabilities...] Register Endpoint unregister <UUID/object> Register Endpoint config <endpoint> <local endpoint> [preset] Configure Endpoint presets <UUID> [default] List available presets Luiz Augusto von Dentz 3 years ago 1 file, +1183, -5
03602479 btdev: Fix CIS Established CIS Established was using the ISO latency instead of SDU interval for transport latency. Luiz Augusto von Dentz 3 years ago 1 file, +4, -4
f9f2b28d bthost: Fix not setting all parameters when using Create BIG cmd Create BIG shall set proper values for interval, latency, rtn and phy. Luiz Augusto von Dentz 3 years ago 1 file, +4, -1
dc1b3099 bthost: Add support for Create CIS This introduces bthost_set_cig_params and bthost_create_cis. Luiz Augusto von Dentz 3 years ago 3 files, +49, -1
1967b531 btdev: Fix not cleanup ssp_status and ssp_auto_complete This resets ssp_status and ssp_auto_complete flags on auth_complete. Luiz Augusto von Dentz 3 years ago 1 file, +5, -0
7903bbe1 adapter: Fix check of DISCOVERABLE setting The test for `DISCOVERABLE` should be done with `MGMT_SETTING_DISCOVERABLE` instead of `MGMT_OP_SET_DISCOVERABLE`. Acked-by: Paul Menzel <pmenzel@molgen.mpg.de> Jakob hilmer 3 years ago 1 file, +2, -2
195d9b80 shell: Fix not able to auto complete commands with submenu prefix If the command was given with submenu prefix the code wasn't able to detect the command to be able to generate the auto complete for its arguments. Luiz Augusto von Dentz 3 years ago 1 file, +25, -1
f547db04 shell: Fix not being able to auto complete submenus submenus should be part of the list of possible auto completes just as other commands. Luiz Augusto von Dentz 3 years ago 1 file, +28, -7
d1871fc9 btdev: Fix BIG Create Sync This fixes status return to BIG Create Sync command. Luiz Augusto von Dentz 3 years ago 1 file, +10, -7
10948891 btdev: Add support for sending LE BIG Info Adv Reports This adds support for sending LE BIG Info Adv Reports if LE Create BIG has been called. Luiz Augusto von Dentz 3 years ago 1 file, +39, -1
0533085d monitor: Add support for LE BIG Info Adverting Report This adds support for LE BIG Info Advertising Report. Luiz Augusto von Dentz 3 years ago 2 files, +40, -0
bbeabca4 gap: Don't attempt to read the appearance if already set Devices are unlikely to change appearance over time which is the reason why we cache then on the storage so this skips reading it on every reconnection. Luiz Augusto von Dentz 3 years ago 1 file, +5, -0
3627edde gatt: Fix double free and freed memory dereference If device is no longer exists or not paired when notifications send it is possible to get double free and dereference of already freed memory. To avoid this we need to recheck the state of device after sending notification. Found by Linux Verification Center (linuxtesting.org) with the SVACE static analysis tool. Ildar Kamaletdinov 3 years ago 1 file, +4, -0
4afbef77 device: Limit width of fields in sscanf In src/device.c few sscanf does not limit width of uuid field. This could lead to static overflow and stack corruption. Found by Linux Verification Center (linuxtesting.org) with the SVACE static analysis tool. Ildar Kamaletdinov 3 years ago 1 file, +7, -7
1e664b98 tools: Limit width of fields in sscanf In tools/btmgmt.c and tools/hex2hcd.c few sscanf does not limit width of fields. This could lead to static overflow and stack corruption. Found by Linux Verification Center (linuxtesting.org) with the SVACE static analysis tool. Ildar Kamaletdinov 3 years ago 2 files, +2, -2
497a0b22 tools: Fix signed integer overflow in btsnoop.c If malformed packet is proceed with zero 'size' field we will face with wrong behaviour of write() call. Value 'toread - 1' gives wrong sign for value 'written' (-1) in write() call. To prevent this we should check that 'toread' is not equal to zero. Found by Linux Verification Center (linuxtesting.org) with the SVACE static analysis tool. Ildar Kamaletdinov 3 years ago 1 file, +1, -1
d328abaa tools: Fix buffer overflow in hciattach_tialt.c Array 'c_brf_chip' of size 8 could be accessed by index > 7. We should limit array access like in previous check at line 221. Found by Linux Verification Center (linuxtesting.org) with the SVACE static analysis tool. Ildar Kamaletdinov 3 years ago 1 file, +2, -1
7fdfb672 monitor: Fix out-of-bound read in print_le_states Accessing le_states_desc_table array with value 15 can cause out-of-bound read because current size of array is 14. Currently this cannot lead to any problems becase we do no have such state in le_states_comb_table but this could be changed in future and raise described problem. Found by Linux Verification Center (linuxtesting.org) with the SVACE static analysis tool. Ildar Kamaletdinov 3 years ago 1 file, +4, -3
0f382885 tools: Fix g_dbus_setup_private connection check in mpris-proxy Frédéric Danis 3 years ago 1 file, +1, -1
234d6042 shared/gatt-db: Fix gatt_db_attribute_get_index gatt_db_attribute_get_index was calculating the index based on attrib->handle - service->attributes[0]->handle which doesn't work when there are gaps in between handles. Fixes: https://github.com/bluez/bluez/issues/326 Luiz Augusto von Dentz 3 years ago 1 file, +5, -5
6d153155 btdev: Check parameter for CIG related commands This checks if the parameters given to Set CIG Parameters and Remove CIG are in the valid range. Luiz Augusto von Dentz 3 years ago 1 file, +59, -1
ff35b1d2 mesh: use explicit uint32_t when bit shifting left This addresses a situation when a boolean type is represented by an integer and performing a left shift on a boolean causes an integer overflow. This fixes the following runtime error: "left shift of 1 by 31 places cannot be represented in type 'int'" Inga Stotland 3 years ago 3 files, +14, -11
4a06a31b a2dp: Fix crash when SEP codec has not been initialized If SEP has not been properly discovered avdtp_get_codec may return NULL thus causing crashes such as when running AVRCP/TG/VLH/BI-01-C after AVRCP/TG/RCR/BV-04-C. Prevent remote endpoint registration if its codec is not available. Remove queue_isempty check from store_remote_seps since that prevents cleaning up if no seps could be registered. Frédéric Danis 3 years ago 1 file, +17, -5
d204e84c client: Add support for player submenu This moves adds the functionality of bluetooth-player into bluetoothctl. Luiz Augusto von Dentz 3 years ago 5 files, +1156, -1069
0cc480a5 shell: Make bt_shell_add_submenu set main menu if none has been set If not main menu has been set when calling bt_shell_add_submenu then turns it on it main menu. Luiz Augusto von Dentz 3 years ago 1 file, +3, -0
6cb6e2dd mgmt: Remove mgmt_set_verbose The likes of btmon already decode the commands/events so there is no need to have the code hexdump their contents. Luiz Augusto von Dentz 3 years ago 2 files, +0, -23
62e59157 a2dp: Always invalidate the cache if its configuration fails When a configuration had been restored from last_used cache but it fails invalidate it so another sep can be used. Fixes: https://github.com/bluez/bluez/issues/313 Luiz Augusto von Dentz 3 years ago 1 file, +2, -4
18fc3aba a2dp: Don't initialize a2dp_sep->destroy until properly registered On a2dp_add_sep if the record cannot be properly registred a2dp_unregister_sep would be called which would attempt to destroy the user_data causing the following backtrace: Invalid write of size 8 at 0x2F41EB: endpoint_init_a2dp_source (media.c:687) by 0x2F41EB: media_endpoint_create (media.c:1030) by 0x2F6713: register_endpoint (media.c:1155) by 0x46983F: process_message (object.c:246) by 0x4A574A8: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.19.14) by 0x45F0BF: message_dispatch (mainloop.c:59) by 0x495239A: ??? (in /usr/lib64/libglib-2.0.so.0.7000.4) by 0x495605E: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.7000.4) by 0x49AB2A7: ??? (in /usr/lib64/libglib-2.0.so.0.7000.4) by 0x4955772: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.7000.4) by 0x4CA924: mainloop_run (mainloop-glib.c:66) by 0x4CAE1B: mainloop_run_with_signal (mainloop-notify.c:188) by 0x2AE791: main (main.c:1258) Address 0x6e47a30 is 0 bytes inside a block of size 112 free'd at 0x48470E4: free (vg_replace_malloc.c:872) by 0x4957CDC: g_free (in /usr/lib64/libglib-2.0.so.0.7000.4) by 0x2C2D57: a2dp_unregister_sep (a2dp.c:2588) by 0x2D124C: a2dp_add_sep (a2dp.c:2697) by 0x2F41D5: endpoint_init_a2dp_source (media.c:687) by 0x2F41D5: media_endpoint_create (media.c:1030) by 0x2F6713: register_endpoint (media.c:1155) by 0x46983F: process_message (object.c:246) by 0x4A574A8: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.19.14) by 0x45F0BF: message_dispatch (mainloop.c:59) by 0x495239A: ??? (in /usr/lib64/libglib-2.0.so.0.7000.4) by 0x495605E: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.7000.4) by 0x49AB2A7: ??? (in /usr/lib64/libglib-2.0.so.0.7000.4) Luiz Augusto von Dentz 3 years ago 1 file, +3, -2
4fefa240 adapter: Fix adding SDP records when operating on LE only mode If mode is set to BT_MODE_LE SDP protocol won't be operational so it is useless to attempt to add records. Luiz Augusto von Dentz 3 years ago 1 file, +15, -1
2a2b0271 mesh: Fix address overrun error in rx filter This fixes the following error for invalid read access when registering filter for incoming messages: 140632==ERROR: AddressSanitizer: stack-buffer-overflow on address... #0 0x7f60c185741d in MemcmpInterceptorCommon(... #1 0x7f60c1857af8 in __interceptor_memcmp (/lib64/libasan.so... #2 0x55a10101536e in find_by_filter mesh/mesh-io-unit.c:494 #3 0x55a1010d8c46 in l_queue_remove_if ell/queue.c:517 #4 0x55a101014ebd in recv_register mesh/mesh-io-unit.c:506 #5 0x55a10102946f in mesh_net_attach mesh/net.c:2885 #6 0x55a101086f64 in send_reply mesh/dbus.c:153 #7 0x55a101124c3d in handle_method_return ell/dbus.c:216 #8 0x55a10112c8ef in message_read_handler ell/dbus.c:276 #9 0x55a1010dae20 in io_callback ell/io.c:120 #10 0x55a1010dff7e in l_main_iterate ell/main.c:478 #11 0x55a1010e06e3 in l_main_run ell/main.c:525 #12 0x55a1010e06e3 in l_main_run ell/main.c:507 #13 0x55a1010e0bfc in l_main_run_with_signal ell/main.c:647 #14 0x55a10100316e in main mesh/main.c:292 #15 0x7f60c0c6855f in __libc_start_call_main (/lib64/libc.so.6+... #16 0x7f60c0c6860b in __libc_start_main_alias_1 (/lib64/libc.so.6+... #17 0x55a101003ce4 in _start (/home/istotlan/bluez/mesh/bluetooth-m... Inga Stotland 3 years ago 2 files, +30, -16
71cec503 device: Don't use DBG in gatt_debug gatt_debug callback is used to print debug strings from bt_att which includes the file and function names so using DBG would add yet another set of file and function prefixes which makes the logs confusing. Luiz Augusto von Dentz 3 years ago 1 file, +1, -1
e1b808c1 att: Rename att_debug and att_verbose to DBG and VERBOSE att_debug and att_verbose are macros which are more common to be used as uppercase, this also change them to use DBG like other parts of the code. Luiz Augusto von Dentz 3 years ago 1 file, +19, -19
55c25d91 gatt-server: Add DBG macro This adds gatt_log wrapper for util_debug and DBG so file and function names are printed with the logs. Luiz Augusto von Dentz 3 years ago 1 file, +32, -32
e0870ce5 gatt-client: Add DBG macro This adds gatt_log wrapper for util_debug and DBG macro so file and function names are printed which is more consistent with other parts of the daemon code. Luiz Augusto von Dentz 3 years ago 1 file, +70, -90
8039d426 att: Log file and function names This adds logging of file and function names. Luiz Augusto von Dentz 3 years ago 1 file, +4, -2
62c6037e adapter: Don't use DBG in mgmt_debug mgmt_debug callback is used to print debug strings from mgmt instances which includes the file and function names so using DBG would add yet another set of file and function prefixes which makes the logs confusing. Luiz Augusto von Dentz 3 years ago 1 file, +2, -5
b7c80726 mgmt: Introduce mgmt_set_verbose This introduces mgmt_set_verbose which can be used to enable printing the the likes hexdump of packets, by default it is disabled since in most cases the hexdump is not very useful and there are better tools to collect the hexdumo like btmon. Luiz Augusto von Dentz 3 years ago 2 files, +21, -4
Previous Next