Commits

Commit Message Author Age Changes
dd575627 bap: Add a callback to create a new stream Add a callback to create a new stream Silviu Florian Barbulescu 1 year ago 1 file, +9, -2
6ea7f481 shared/bap: Add support to create a stream for bcast src Split bt_bap_stream_new and two specific functions for unicast and broadcast. Add a function to find an remote endpoint for broadcast source. Silviu Florian Barbulescu 1 year ago 2 files, +98, -0
b4f9a9fd shared/bap: Add state in stream struct for bcast source Add state support in the stream struct for broadcast source. Silviu Florian Barbulescu 1 year ago 1 file, +22, -15
8552e06b shared/bap: Fix endpoint dir for the bcast source Fix endpoint direction for the broadcast source Silviu Florian Barbulescu 1 year ago 1 file, +2, -2
15032315 cups: Use pkg-config to find cups backend dir Some distributions(Gentoo) patch cups backend path to something else than libdir. Use pkg-config to find backend path for cups. Joakim Tjernlund 1 year ago 2 files, +5, -1
c01c4049 advertising: Fix assigning mgmt callback id when adding advertisement A struct member add_adv_id is used to track whether the adv client is still needed for some mgmt callback. This is checked when freeing the client to avoid UAF. We currently only set this member if we have a callback after calling mgmt_send. In case of extended advertisement, this is always a two-step process: first to set the params, then the data. It is possible for the client to be freed when we are pending on setting the params, and if we don't set the add_adv_id (because we have no callback for setting the data), the client on the 2nd step of the process will be invalid, leading to UAF scenario. This patch always sets the add_adv_id member on the 1st step of adding an extended advertisement, and adjust the value accordingly on the 2nd step. Additionally, this patch drops the 3rd parameter of the function refresh_advertisement since it can always be derived from the 1st and 2nd parameter. Reviewed-by: Hsin-chen Chuang <chharry@google.com> Archie Pusaka 1 year ago 1 file, +17, -20
f65cd924 btdev: Fix UAF on page_timeout When the page_timeout is run perhaps the btdev had been freed already so it needs to be checked if it still valid. Luiz Augusto von Dentz 1 year ago 1 file, +14, -1
c8af669d profiles/audio/ccp: Add CCP plugin for call control profile This adds initial code for CCP plugin which handle CALL CONTROL PROFILE for Telephone Bearer Services and Generic Telephone Bearer Services in the client role. This has been tested using teams application by initiating call between Linux BTOE and Windows server with LE audio enabled. Shahid Vichhi 1 year ago 3 files, +244, -0
8f262a27 shared/bap: Fix crash unreg bcast src endpoint In bt_bap_stream_release stream is accessed after free Silviu Florian Barbulescu 1 year ago 1 file, +3, -2
a16c2ccf shared/bap: Generate one BIS BASE for Generate single BIS BASE for a config with BIG ID 0xFF Silviu Florian Barbulescu 1 year ago 1 file, +9, -4
5629f478 bap: Split bap_state and bap_connecting in two functions Split bap_state and bap_connecting in two specific functions for unicast (bap_state, bap_connecting) and broadcast (bap_state_bcast, bap_connecting_bcast). Silviu Florian Barbulescu 1 year ago 1 file, +107, -50
c5f1c5ba bap: Remove set lpac user data at bcast ep register Remove set lpac user data at bcast ep register Silviu Florian Barbulescu 1 year ago 1 file, +0, -2
e6acec47 gitignore: ignore all manual pages Drop the few explicit entries and use *.{1,5,8} instead. Emil Velikov 1 year ago 1 file, +3, -19
4d3605e4 build: obexd: remove duplicate include -I$(builddir)/lib The -I$(builddir)/lib include is already in the AM_CPPFLAGS. Drop the duplicate instance in obexd. Emil Velikov 1 year ago 1 file, +1, -1
071ababf gitignore: add org.bluez.obex.service Emil Velikov 1 year ago 1 file, +1, -0
bade07f4 build: drop explicit -fPIC from obexd CFLAGS The option is handled by the global --enable-pic. Drop the local explicit argument. With that we can drop the standalone CFLAGS. Emil Velikov 1 year ago 1 file, +0, -2
344cf10c build: simplify coverage handling Emil Velikov 1 year ago 1 file, +2, -8
71d8fda2 build: handle relative libexecdir instances With earlier commit, we've used exec_dir to reference the path of obexd and bluetoothd within the service files. At the same time, in my testing I was providing the complete path on the configure command line. As result, things just worked. In the default case, the variable contains relative references to ${} variables, which as result end up literal in the services. Ultimately the service files were broken. Document are reuse the existing pattern of manually expanding the variables. Fixes: https://github.com/bluez/bluez/issues/736 Emil Velikov 1 year ago 7 files, +24, -6
c2b9f357 build: install obexd (dbus,systemd} services as needed Currently we ship the service files, even when built with --disable-obex. Move the "if OBEX" guard few lines further up. Emil Velikov 1 year ago 1 file, +2, -1
9fe4ccb7 build: rework {install-data,uninstall}-hook Currently autoconfigure throws a useful error, about a duplicate install-data-hook. Address that by making the two target specific and pulling them as dependencies. We have to create empty ones otherwise dependency tracking and resolution will fail. Emil Velikov 1 year ago 2 files, +12, -3
f79ccf6c tools/rfcomm: _exit() on execvp() failure When the exec fails, the child process must be terminated instead of continuing as a second main process. Matthias Schiffer 1 year ago 1 file, +1, -1
854dcb7c tools/rfcomm: reset ignored signals after fork rfcomm sets SIGCHLD and SIGPIPE to SIG_IGN, which is inherited by child processes and preserved across execvp(). Many applications do not expect these signals to be ignored, causing all kinds of breakage (including the standard C system() function misbehaving on glibc and probably other libcs because waitpid() does not work when SIGCHLD is ignored). Matthias Schiffer 1 year ago 1 file, +6, -0
c58a4d9f advertising: Do not set timer if DiscoverableTimeout=0 According to org.bluez.LEAdvertisement.rst documentation, the value of zero should disable timeout and keep device in the discoverable mode forever. Arkadiusz Bokowy 1 year ago 1 file, +3, -1
055a83c8 shared/bap: Fix wrong value used when extracting LTVs Fix wrong value used when extracting LTVs when generating BASE Silviu Florian Barbulescu 1 year ago 1 file, +1, -1
fb339bde rfcomm-tester: Fix crash on test-basic This fixes to following trace caused by not initializing data->io: AddressSanitizer:DEADLYSIGNAL ================================================================= ERROR: AddressSanitizer: SEGV on unknown address (pc 0x7f199c3a01c9 bp 0x7ffc26624a10 sp 0x7ffc26624a00 T0) The signal is caused by a READ memory access. Hint: this fault was caused by a dereference of a high value address (see register values below). Disassemble the provided pc to learn . #0 0x7f199c3a01c9 in g_io_channel_unref (/lib64/libglib-2.0.so.0+0x4d1c9) #1 0x5565f82fcece in test_post_teardown tools/rfcomm-tester.c:205 #2 0x5565f83939b3 in teardown_callback src/shared/tester.c:434 Luiz Augusto von Dentz 1 year ago 1 file, +2, -3
f3c35ed8 btdev: Fix crash on page_timeout If remote device cannot be found after page_timeout then the code shall not proceed to call pending_conn_del. Luiz Augusto von Dentz 1 year ago 1 file, +3, -0
ee880bee input/device: Don't destroy UHID device on disconnect This makes classic HID behave like HoG which keeps the UHID device around while disconnected so it doesn't have to be recreated on every reconnection. Luiz Augusto von Dentz 1 year ago 1 file, +4, -0
96988700 input.conf: Make UserspaceHID defaults to true This makes UserspaceHID defaults to true so the plugin has more control over the input device lifetime. Luiz Augusto von Dentz 1 year ago 2 files, +2, -2
247ae852 hog-lib: Don't destroy UHID device on detach This makes bt_hog_detach not to destroy UHID device which means the device node don't need to be recreated in case of reconnections which speeds up the process. Fixes: https://github.com/bluez/bluez/issues/737 Luiz Augusto von Dentz 1 year ago 1 file, +24, -24
b55d98e5 bootstrap-configure: Enable external plugins Make sure we build this code while in development mode. Szymon Janc 1 year ago 1 file, +1, -0
094f3fdc build: Fix typo in external-plugins configure option This was causing build errors as macros were also generated with typo. Szymon Janc 1 year ago 1 file, +1, -1
b097bf6d monitor/att: Enable the notification logging support for the CCP Shahid Vichhi 1 year ago 1 file, +669, -0
5c89c54d shared/ccp: Add initial code for Call Control Profile for Client Role Ajay KV 1 year ago 3 files, +1272, -0
93d88ecd lib/uuid: Add support to compare 16bit uuids Ajay KV 1 year ago 2 files, +10, -0
24d97e35 lib/uuid: Add GTBS UUIDs for Call Control Profile Ajay KV 1 year ago 1 file, +21, -0
7c49568a btdev: Fix set PA data array overflow This fixes an array overflow that can happen if the user issues the LE Set Periodic Advertising Data command with data length exceeding 31 bytes. The PA data set by the user is copied in an array of fixed length (31 bytes). However, the data length might exceed 31 bytes. This will cause an array overflow when the PA data is later processed (for instance, when sending PA reports). According to specification, the data length provided at LE Set Periodic Advertising Data command can be maximum 252 bytes. The stored data len should also be true to the length copied in the array. Iulia Tanasescu 1 year ago 1 file, +10, -4
b16b1988 Allow using obexd without systemd in the user session Not all sessions run systemd --user and in some cases one may be missing systemd all together. Provide the correct path instead of /bin/false, allowing dbus to start the service in such cases. DBUS implementations can ignore the Exec line all together when run in systemd aware mode - at least the OG dbus does that. So ultimately this change is a no-op for the systemd --user case. On my system, this is literally the only non-system service which uses /bin/false. Giovanni Campagna 1 year ago 4 files, +6, -7
be0e7962 build: ship all config files with --enable-datafiles Currently we ship only the dbus/systemd policy files and omit the other four - /etc/bluetooth/{main,mesh-main,input,network}.conf. Outside of those files, there is no documentation what the defaults are and the other possible options. A number of distributions (Arch, Gentoo, Fedora) have opted to manually copy those into the package. Alas this does not scale and leaves other distros at disadvantage, in a sense. Note: we need a custom install target to ensure confdir and statedir have the correct permissions. Emil Velikov 1 year ago 2 files, +8, -1
1313351f profiles: remove unused suspend-dummy.c The file has been used for about 8 years now - see commit fb55b7a6ab48c4f782b16030e051029bcfa93e07 ("profiles/hog: Use no suspend support instead of the dummy FIFO"). Inspired by a Debian patch by Nobuhiro Iwamatsu, which was changing the /tmp/hogsuspend socket patch to /run. Looking through the codebase we have a few more sockets that could use a to /run fix, but that will follow-up at another day. Cc: Nobuhiro Iwamatsu <iwamatsu@debian.org> Emil Velikov 1 year ago 2 files, +0, -151
d31f04aa test: consistently use /usr/bin/env python3 shebang Currently we have a mix of /usr/bin/python, /usr/bin/python3 and /usr/bin/env python3. Use the latter since is the more common way of handling this, plus it allows people to override the system python (for what ever reason). Inspired by a Debian patch, doing a mass /usr/bin/python{,3} conversion. Cc: Nobuhiro Iwamatsu <iwamatsu@debian.org> Emil Velikov 1 year ago 31 files, +31, -31
d3aeae79 adapter: Remove experimental flag for PowerState Now that the feature has been tested, that the API is deemed adequate and the reliability sufficient. [Emil Velikov] The feature has landed in Sept 2022, with inclinations that "we might switch it to stable in the next release", back in Nov 2022. Today - a bit over 1 year later - various distributions (Fedora, Gentoo and by extension their derivatives) are carrying this patch. I think we can say we're reasonably stable and can merge it upstream. Bastien Nocera 1 year ago 1 file, +1, -2
f2671bf8 Return at least the title attribute from player_list_metadata() This fixes Bluetooth AVRCP certification test AVRCP/TG/MDI/BV-04-C, which requires a valid response from the get_element_attributes command. Sam Lantinga 1 year ago 1 file, +4, -0
41c7f3af hcidump: Fix help message for --timestamp option Arkadiusz Bokowy 1 year ago 1 file, +1, -1
c1851987 shared/bap: Fix crash due to selecting ucast ops for bcast stream The stream ops is based on PAC type not the stream type. Luiz Augusto von Dentz 1 year ago 1 file, +1, -1
6dafe901 shared/bap: Make bt_bap_ref_safe check if the instance is attached This makes bt_bap_ref_safe check that bap instance is part of sessions list which means it is attached/valid. Luiz Augusto von Dentz 1 year ago 1 file, +1, -1
8e76c914 shared/bap: Add .set_state to bt_bap_stream_ops This enables different code paths for each stream type e.g unicast vs broadcast. Luiz Augusto von Dentz 1 year ago 1 file, +87, -93
74709286 shared/bap: Rework stream procedures This rework stream procedures to avoid having to check stream types everytime the procedure is invoked, instead this creates a operation abstraction which is assign at stream creation. Luiz Augusto von Dentz 1 year ago 1 file, +1035, -800
5135613c mgmt-tester: Remove High Speed test cases High Speed is has been removed so these tests are not run anymore so they can be safely removed. Luiz Augusto von Dentz 1 year ago 1 file, +0, -63
cfbaa68e mgmt-tester: Fix Read Ext Controller Info tests This fixes Read Ext Controller Info now that BT_HS has been removed. Luiz Augusto von Dentz 1 year ago 1 file, +5, -5
1c60eb02 client/player: parse Google's Opus A2DP vendor codec capabilities Support parsing Opus (Google) A2DP vendor codec capabilities. Transport /org/bluez/hci0/dev_B8_7B_D4_32_44_15/sep3/fd2 UUID: 0000110a-0000-1000-8000-00805f9b34fb Codec: 0xff (255) Media Codec: Vendor Specific A2DP Codec Vendor ID 0x000000e0 Vendor Specific Codec ID 0x0001 Vendor Specific Data: 0x92 Vendor Specific Value (Opus [Google]) Frequencies: 48kHz Channel modes: Stereo Frame durations: 20 ms Device: /org/bluez/hci0/dev_B8_7B_D4_32_44_15 State: idle Delay: 0x0898 (2200) Volume: 0x001e (30) Endpoint: /org/bluez/hci0/dev_B8_7B_D4_32_44_15/sep3 Pauli Virtanen 1 year ago 2 files, +49, -0
Previous Next