platform/upstream/bluez.git
2 years agotest-runner: Change qemu output
Luiz Augusto von Dentz [Tue, 17 Nov 2020 18:51:11 +0000 (10:51 -0800)]
test-runner: Change qemu output

This changes the serial device to include mux=on which enables the
output of early kernel logs.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agodevice: Update cache only if content changed
Szymon Janc [Tue, 17 Nov 2020 15:57:03 +0000 (16:57 +0100)]
device: Update cache only if content changed

This fix hammering storage device (eg sdcard) when doing scanning
and LE devices are around.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomain.conf: Add option to configure AVDP session/stream channel modes
Luiz Augusto von Dentz [Mon, 16 Nov 2020 22:01:34 +0000 (14:01 -0800)]
main.conf: Add option to configure AVDP session/stream channel modes

This adds a new group AVDTP where platform can configure the preferred
L2CAP channel modes for both session (signalling) and stream
(transport). For backward compatibility the both SessionMode and
StreamMode defaults to basic mode.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoavdtp: Fix connecting using streaming mode with signalling channel
Luiz Augusto von Dentz [Mon, 16 Nov 2020 19:08:16 +0000 (11:08 -0800)]
avdtp: Fix connecting using streaming mode with signalling channel

Signalling channel shall only use Basic or ERTM modes.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoadv_monitor: Fix remove monitor from the kernel
Manish Mandlik [Mon, 16 Nov 2020 18:41:08 +0000 (10:41 -0800)]
adv_monitor: Fix remove monitor from the kernel

A monitor is removed in the following scenarios:
- monitor dbus object removed by the app
- monitor removed by the kernel
- client app invokes UnregisterMonitor()
- client app is killed/disconnected
- AdvMonitorManager is destroyed

In the first case, we need to remove the corresponding monitor from the
kernel and free the bluez monitor object.

In the second case, we need to call the Release() method on the
corresponding dbus monitor object and free the bluez monitor object.

Kernel may remove all monitors and send MGMT_EV_ADV_MONITOR_REMOVED
event to bluez. In such case, we need to call Release() method on all
monitors from all registered apps, and free the bluez monitor objects.

In the third case, we need to call the Release() method on the monitor
objects created by the app, remove corresponding monitors from the
kernel and then free the bluez monitor object.

In the fourth case, since the app is not available, all the dbus monitor
objects created by that app are also unavailable. So, we just need to
remove corresponding monitors from the kernel and then free the bluez
monitor objects.

In the fifth case, we need to call Release() method on all monitors from
all registered apps, remove corresponding monitors from the kernel and
then free the bluez monitor objects.

When app exits or gets killed without removing the dbus monitor objects
and without invoking the UnregisterMonitor() method, a race condition
could happen between app_destroy and monitor_proxy_removed since dbus
objects hosted by the app are destroyed on app exit.

This patch fixes the first, second and fourth cases ensuring that
monitors from the kernel are removed correctly, Release() method is
invoked whenever necessary and bluez monitor objects are freed only
once.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agotest-runner: Add option to start monitor
Luiz Augusto von Dentz [Fri, 13 Nov 2020 23:07:03 +0000 (15:07 -0800)]
test-runner: Add option to start monitor

This adds an option (-m/--monitor) to start btmon before the command
running the command/tester which is convenient when a tests results in
HCI traffic which are decoded by hciemu as it only prints the hexdump.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agobthost: Fix sending uninitilized data
Luiz Augusto von Dentz [Wed, 11 Nov 2020 22:42:36 +0000 (14:42 -0800)]
bthost: Fix sending uninitilized data

Syscall param writev(vector[...]) points to uninitialised byte(s)
   at 0x4A8A497: writev (in /usr/lib64/libc-2.31.so)
   by 0x1365C1: send_packet (bthost.c:509)
   by 0x1365C1: send_packet (bthost.c:492)
   by 0x1365C1: next_cmd (bthost.c:737)
   by 0x137578: evt_cmd_complete (bthost.c:882)
   by 0x137578: process_evt (bthost.c:1343)
   by 0x137578: bthost_receive_h4 (bthost.c:2414)
   by 0x12DF49: receive_bthost.part.0 (hciemu.c:134)
   by 0x48B978E: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.6400.6)
   by 0x48B9B17: ??? (in /usr/lib64/libglib-2.0.so.0.6400.6)
   by 0x48B9E32: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.6400.6)
   by 0x14A664: mainloop_run (mainloop-glib.c:66)
   by 0x14AA41: mainloop_run_with_signal (mainloop-notify.c:188)
   by 0x149A7B: tester_run (tester.c:871)
   by 0x129C77: main (mgmt-tester.c:10219)
 Address 0x4c48c05 is 21 bytes inside a block of size 280 alloc'd
   at 0x483CAE9: calloc (vg_replace_malloc.c:760)
   by 0x136487: queue_command (bthost.c:472)
   by 0x136487: send_command (bthost.c:715)
   by 0x13948A: bthost_set_ext_adv_enable (bthost.c:2581)
   by 0x12CEBF: trigger_device_found (mgmt-tester.c:8513)
   by 0x148C9A: wait_callback (tester.c:749)
   by 0x48BA330: ??? (in /usr/lib64/libglib-2.0.so.0.6400.6)
   by 0x48B978E: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.6400.6)
   by 0x48B9B17: ??? (in /usr/lib64/libglib-2.0.so.0.6400.6)
   by 0x48B9E32: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.6400.6)
   by 0x14A664: mainloop_run (mainloop-glib.c:66)
   by 0x14AA41: mainloop_run_with_signal (mainloop-notify.c:188)
   by 0x149A7B: tester_run (tester.c:871)

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agohciemu: Fix crash when test is aborted during pre setup
Luiz Augusto von Dentz [Wed, 11 Nov 2020 22:15:46 +0000 (14:15 -0800)]
hciemu: Fix crash when test is aborted during pre setup

If the tester_pre_setup_failed is called all timeout related to the
test must be cancelled as the test should have been freed by the
application and the next test is about to start.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomgmt-tester: Update expected advertisement flags
Luiz Augusto von Dentz [Wed, 11 Nov 2020 02:16:54 +0000 (18:16 -0800)]
mgmt-tester: Update expected advertisement flags

This updates the expected advertisement flags which now includes
MGMT_ADV_FLAG_CAN_SET_TX_POWER and MGMT_ADV_FLAG_HW_OFFLOAD.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomgmt-tester: Print unexpected command responses
Luiz Augusto von Dentz [Wed, 11 Nov 2020 02:15:06 +0000 (18:15 -0800)]
mgmt-tester: Print unexpected command responses

This prints the difference between the command response and the
expected command response to make it easier to debug.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomgmt-tester: Update supported-features to not include HS
Luiz Augusto von Dentz [Wed, 11 Nov 2020 02:09:56 +0000 (18:09 -0800)]
mgmt-tester: Update supported-features to not include HS

High speed has been disabled by default, also since it can be enabled
this turn checks of supported-features into warnings to allow it work
even if BT_HS has been enabled in the kernel.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoshared/tester: Add option to filter by string
Luiz Augusto von Dentz [Wed, 11 Nov 2020 02:06:00 +0000 (18:06 -0800)]
shared/tester: Add option to filter by string

This adds option to filter by string which does not require to enter
the entire prefix.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agosmp-tester: Fix not registering for MGMT_EV_USER_CONFIRM_REQUEST
Luiz Augusto von Dentz [Tue, 10 Nov 2020 23:10:09 +0000 (15:10 -0800)]
smp-tester: Fix not registering for MGMT_EV_USER_CONFIRM_REQUEST

For client test MGMT_EV_USER_CONFIRM_REQUEST shall be resgistered as
well as the kernel has been updated to request user confirmation even
when acting as initiator.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agol2cap-tester: Fix L2CAP LE Server - Success
Luiz Augusto von Dentz [Tue, 10 Nov 2020 22:57:10 +0000 (14:57 -0800)]
l2cap-tester: Fix L2CAP LE Server - Success

This test was failing due to the kernel now using different values for
MPS and credits.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agobthost: Fix running request callbacks for remote requests
Luiz Augusto von Dentz [Tue, 10 Nov 2020 22:54:10 +0000 (14:54 -0800)]
bthost: Fix running request callbacks for remote requests

Ident are only unique per request/response pair so if a remote request
is initiated we shall not attempt to run the callback even if the ident
matches.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agobtdev: Rework command handling
Luiz Augusto von Dentz [Thu, 20 Aug 2020 00:53:55 +0000 (17:53 -0700)]
btdev: Rework command handling

This create command tables per version/supported command bits to make
it easier to keep them in sync.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomain: Don't warn for unset config option
Luiz Augusto von Dentz [Mon, 9 Nov 2020 22:57:56 +0000 (14:57 -0800)]
main: Don't warn for unset config option

Unset options shall not be printed if debug is not enabled.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoclient: Remove reference to g_steal_pointer()
Inga Stotland [Mon, 9 Nov 2020 19:27:42 +0000 (11:27 -0800)]
client: Remove reference to g_steal_pointer()

In order to avoid requiring higher version of GLib, replace
g_steal_pointer() with explicitly setting the pointer value
to NULL.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agodoc/adapter-api: Add InProgess error to StartDiscovery
Michael Nosthoff [Mon, 9 Nov 2020 10:51:14 +0000 (11:51 +0100)]
doc/adapter-api: Add InProgess error to StartDiscovery

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoCancel GATT client operations when cleaning up GATT cache
Sonny Sasaka [Thu, 5 Nov 2020 22:49:23 +0000 (14:49 -0800)]
Cancel GATT client operations when cleaning up GATT cache

A crash is found when discovery_complete_op is invoked but
gatt_db_attribute objects have been freed. A solution is to always
cancel GATT client operations every time we clean GATT cache.

The crash is reproducible by connecting to an LE mouse and then calling
RemoveDevice immediately, triggering disconnection while GATT service
discovery is in progress.

Sample crash stack trace:
0  gatt_db_service_get_handles (service=0x1751130, service=0x1751130, end_handle=0x7ffcd600806e, start_handle=0x7ffcd600806c) at src/shared/gatt-db.c:569
1  gatt_db_attribute_get_service_data (attrib=<optimized out>, start_handle=0x7ffcd600806c, end_handle=0x7ffcd600806e, primary=0x0, uuid=0x0) at src/shared/gatt-db.c:1657
2  0x00000000004983a8 in discovery_op_complete (op=op@entry=0x173b320, success=<optimized out>, err=err@entry=10 '\n') at src/shared/gatt-client.c:406
3  0x000000000049a548 in discover_descs_cb (success=<optimized out>, att_ecode=<optimized out>, result=<optimized out>, user_data=0x173b320) at src/shared/gatt-client.c:915
4  0x00000000004a1d87 in discovery_op_complete (op=0x1748450, success=<optimized out>, ecode=<optimized out>) at src/shared/gatt-helpers.c:615
5  0x00000000004a2379 in discover_descs_cb (opcode=<optimized out>, pdu=0x174d551, length=<optimized out>, user_data=0x1748450) at src/shared/gatt-helpers.c:1465
6  0x00000000004966db in handle_rsp (pdu_len=4, pdu=<optimized out>, opcode=<optimized out>, chan=0x17483c0) at src/shared/att.c:814
7  can_read_data (io=<optimized out>, user_data=0x17483c0) at src/shared/att.c:1011
8  0x00000000004a0853 in watch_callback (channel=<optimized out>, cond=<optimized out>, user_data=<optimized out>) at src/shared/io-glib.c:157
9  0x00007fb3f2d7fe87 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
10 0x00007fb3f2d80230 in ?? () from /usr/lib64/libglib-2.0.so.0
11 0x00007fb3f2d80542 in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
12 0x00000000004a0e25 in mainloop_run () at src/shared/mainloop-glib.c:66
13 0x00000000004a11f2 in mainloop_run_with_signal (func=func@entry=0x43f200 <signal_callback>, user_data=user_data@entry=0x0) at src/shared/mainloop-notify.c:188
14 0x000000000040c72e in main (argc=<optimized out>, argv=<optimized out>) at src/main.c:959

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoaudio/avdtp: Report failure in disconnected state
Archie Pusaka [Thu, 5 Nov 2020 06:40:34 +0000 (14:40 +0800)]
audio/avdtp: Report failure in disconnected state

A2DP are relying on the disconnected state callback to do cleanup.
If failure occurs when AVDTP are already in the disconnected state,
we didn't make any transition state, therefore A2DP would miss this
event.

This patch allows the transition to disconnected state, even though
we are previously already in the disconnected state.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoaudio: unref session when failed to setup
Archie Pusaka [Thu, 5 Nov 2020 06:40:33 +0000 (14:40 +0800)]
audio: unref session when failed to setup

There is a possibility to miss unref-ing when source/sink fails at
setup.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoservice: add adapter powered check before connecting
Archie Pusaka [Thu, 5 Nov 2020 06:40:32 +0000 (14:40 +0800)]
service: add adapter powered check before connecting

When policy_connect() is called, there might be a case where the
power is just turned off, hence the adapter is down. Add a check in
btd_service_connect to detect such condition.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoemulator: Return error for ext adv feature not supported
Luiz Augusto von Dentz [Wed, 4 Nov 2020 23:05:37 +0000 (15:05 -0800)]
emulator: Return error for ext adv feature not supported

This return an error if LE Set Extended Advertising Enable is used with
unsupported features.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomgmt-tester: Fix failing pairing tests
Luiz Augusto von Dentz [Wed, 4 Nov 2020 19:27:53 +0000 (11:27 -0800)]
mgmt-tester: Fix failing pairing tests

Just-works pairing does request user confirmation.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomgmt-tester: Don't run tests which command fails
Luiz Augusto von Dentz [Wed, 4 Nov 2020 19:25:15 +0000 (11:25 -0800)]
mgmt-tester: Don't run tests which command fails

This indicates that emulator don't support the test and until proper
support is added the test shall not be run.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomgmt-tester: Fix ext advertisement handle
Luiz Augusto von Dentz [Wed, 4 Nov 2020 19:06:14 +0000 (11:06 -0800)]
mgmt-tester: Fix ext advertisement handle

Handle has been change to 0x01 not 0x00:

< HCI Command: LE Set Extended Advertising Enable (0x08|0x0039) plen 6
        Extended advertising: Enabled (0x01)
        Number of sets: 1 (0x01)
        Entry 0
          Handle: 0x01
          Duration: 0 ms (0x00)
          Max ext adv events: 0

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomgmt-tester: Update set_connectable_off_adv_param
Luiz Augusto von Dentz [Tue, 3 Nov 2020 23:38:56 +0000 (15:38 -0800)]
mgmt-tester: Update set_connectable_off_adv_param

Parameters have been changed in the kernel which now uses the following:

< HCI Command: LE Set Advertising Parameters (0x08|0x0006) plen 15
        Min advertising interval: 62.500 msec (0x0064)
        Max advertising interval: 93.750 msec (0x0096)
        Type: Scannable undirected - ADV_SCAN_IND (0x02)
        Own address type: Random (0x01)
        Direct address type: Public (0x00)
        Direct address: 00:00:00:00:00:00 (OUI 00-00-00)
        Channel map: 37, 38, 39 (0x07)
        Filter policy: Allow Scan Request from Any, Allow Connect Request from Any (0x00)

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomgmt-tester: Print out the HCI received and expected cmd value
Luiz Augusto von Dentz [Tue, 3 Nov 2020 23:36:28 +0000 (15:36 -0800)]
mgmt-tester: Print out the HCI received and expected cmd value

This make it simpler to debug when the kernel has been updated and
parameters no longer match:

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agotest-runner: Fix using removed options
Luiz Augusto von Dentz [Tue, 3 Nov 2020 23:15:08 +0000 (15:15 -0800)]
test-runner: Fix using removed options

This removes -nodefconfig and -balloon which are not longer valid
options:

  qemu-system-x86_64: -nodefconfig: invalid option
  qemu-system-x86_64: -balloon: invalid option

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agodoc: Add tester.config
Luiz Augusto von Dentz [Tue, 3 Nov 2020 23:09:43 +0000 (15:09 -0800)]
doc: Add tester.config

This adds tester.config which can be used as a reference to create
kernel images to be run with test-runner.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoadapter: Fix a crash caused by lingering discovery client pointer
Miao-chen Chou [Mon, 2 Nov 2020 22:30:03 +0000 (14:30 -0800)]
adapter: Fix a crash caused by lingering discovery client pointer

This cleans up the lingering pointer, adapter->client, during powering
off the adapter. The crash occurs when a D-Bus client set Powered
property to false and immediately calls StopDiscovery() when there is
ongoing discovery. As a part of powering off the adapter,
adapter->discovery_list gets cleared, and given that adapter->client
refers to one of the clients in adapter->discovery_list, adapter->client
should be cleared along with it.

(1) Connect to a BT audio device from BT system tray.
(2) Once the audio device is connected, power off BT and immediately
power off the audio device.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agotools/smp-tester: Enable hciemu debug
Luiz Augusto von Dentz [Mon, 2 Nov 2020 19:09:12 +0000 (11:09 -0800)]
tools/smp-tester: Enable hciemu debug

This enable hciemu debug when debug is enabled.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agotools/sco-tester: Enable hciemu debug
Luiz Augusto von Dentz [Mon, 2 Nov 2020 19:08:39 +0000 (11:08 -0800)]
tools/sco-tester: Enable hciemu debug

This enable hciemu debug when debug is enabled.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agotools/rfcomm-tester: Enable hciemu debug
Luiz Augusto von Dentz [Mon, 2 Nov 2020 19:08:12 +0000 (11:08 -0800)]
tools/rfcomm-tester: Enable hciemu debug

This enable hciemu debug when debug is enabled.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agotools/bnep-tester: Enable hciemu debug
Luiz Augusto von Dentz [Mon, 2 Nov 2020 19:07:19 +0000 (11:07 -0800)]
tools/bnep-tester: Enable hciemu debug

This enable hciemu debug when debug is enabled.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agotools/mgmt-tester: Enable hciemu debug
Luiz Augusto von Dentz [Mon, 2 Nov 2020 19:06:35 +0000 (11:06 -0800)]
tools/mgmt-tester: Enable hciemu debug

This enable hciemu debug when debug is enabled.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agotools/l2cap-tester: Enable hciemu debug
Luiz Augusto von Dentz [Fri, 30 Oct 2020 00:20:11 +0000 (17:20 -0700)]
tools/l2cap-tester: Enable hciemu debug

This enable hciemu debug when debug is enabled.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoemulator/bthost: Add support for LE CIS Request
Luiz Augusto von Dentz [Fri, 30 Oct 2020 22:05:06 +0000 (15:05 -0700)]
emulator/bthost: Add support for LE CIS Request

This enables bthost to act as acceptor of LE CIS Request.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoemulator: Fix not gerating proper advertisement
Luiz Augusto von Dentz [Fri, 30 Oct 2020 21:48:38 +0000 (14:48 -0700)]
emulator: Fix not gerating proper advertisement

When a btdev instance advertise using the legacy command and the other
instance uses the extended version to scan the report type are not
actually setting the legacy PDU properly.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoemulator/hciemu: Add debug support
Luiz Augusto von Dentz [Thu, 29 Oct 2020 21:45:55 +0000 (14:45 -0700)]
emulator/hciemu: Add debug support

This adds bthost_set_debug which can be used to debug internals of
hciemu.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoemulator/bthost: Add debug support
Luiz Augusto von Dentz [Thu, 29 Oct 2020 21:16:50 +0000 (14:16 -0700)]
emulator/bthost: Add debug support

This adds bthost_set_debug which can be used to debug internals of
bthost.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoemulator/btdev: Add debug support
Luiz Augusto von Dentz [Thu, 29 Oct 2020 21:15:34 +0000 (14:15 -0700)]
emulator/btdev: Add debug support

This adds btdev_set_debug which can be used to debug internals of
btdev.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoadv_monitor: Issue Remove Adv Monitor mgmt call
Alain Michaud [Sat, 31 Oct 2020 00:52:56 +0000 (17:52 -0700)]
adv_monitor: Issue Remove Adv Monitor mgmt call

This calls Remove Adv Monitor command to kernel and handles the callback
during a monitor removal initiated by a D-Bus client. This also
registers callback for getting notified on Adv Monitor Removed event, so
that the Adv monitor manager can invalidate the monitor by calling
Release() on its proxy.

The following tests were performed.
- In bluetoothctl console, add a monitor and remove the monitor by its
index and verify the removal in both the output of btmgmt and syslog.
- In bluetoothctl console, add a monitor, remove the monitor via
btmgmt and verify the removal in syslog.

Change-Id: Ib51b9e6ce76e816e66bb7248e48be7364ca9812e
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoadv_monitor: Fix return type of RegisterMonitor() method
Miao-chen Chou [Sat, 31 Oct 2020 00:52:54 +0000 (17:52 -0700)]
adv_monitor: Fix return type of RegisterMonitor() method

This modifies the D-Bus call return type to be asynchronous for
RegisterMonitor() method call.

The following test was performed:
- Enter bluetoothctl, exit the console and re-enter the console without
AlreadyExist error for RegisterMonitor() upon bring-up of the console.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoadv_monitor: Implement Add Adv Patterns Monitor cmd handler
Howard Chung [Sat, 31 Oct 2020 00:52:52 +0000 (17:52 -0700)]
adv_monitor: Implement Add Adv Patterns Monitor cmd handler

- Send the MGMT_OP command to kernel upon registration of a Adv patterns
monitor.
- Call Activate() or Release() to client depending on the reply from
  kernel

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoadapter: Clear all Adv monitors upon bring-up
Miao-chen Chou [Sat, 31 Oct 2020 00:52:50 +0000 (17:52 -0700)]
adapter: Clear all Adv monitors upon bring-up

This clears all Adv monitors upon daemon bring-up by issuing
MGMT_OP_REMOVE_ADV_MONITOR command with monitor_handle 0.

The following test was performed:
- Add an Adv Monitor using btmgmt, restart bluetoothd and observe the
monitor got removed.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoadv_monitor: Implement RSSI filtering and content matching
Manish Mandlik [Sat, 31 Oct 2020 00:52:48 +0000 (17:52 -0700)]
adv_monitor: Implement RSSI filtering and content matching

This implements the following logic for background scanning.
- Implement RSSI tracking based on high/low RSSI thresholds and timers.
- Create an entry point in adapter to start the matching of Adv based
on all monitors and invoke the RSSI tracking for Adv reporting.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoshared/ad: Add support of bt_ad_pattern
Miao-chen Chou [Sat, 31 Oct 2020 00:52:46 +0000 (17:52 -0700)]
shared/ad: Add support of bt_ad_pattern

This adds struct bt_ad_pattern and helpers functions to facilitate
pattern matching.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoadapter: Split loading of BREDR and LE defaults
Luiz Augusto von Dentz [Fri, 30 Oct 2020 19:57:33 +0000 (12:57 -0700)]
adapter: Split loading of BREDR and LE defaults

Avoid loading default parameters for modes that are disabled.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agocore: Fix mistakes of using mgmt_tlv_add_fixed
Howard Chung [Fri, 30 Oct 2020 09:11:02 +0000 (17:11 +0800)]
core: Fix mistakes of using mgmt_tlv_add_fixed

Fix mistakes on checking the result of mgmt_tlv_add_fixed.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agocore: Add param to disable interleave scan
Howard Chung [Fri, 30 Oct 2020 09:11:01 +0000 (17:11 +0800)]
core: Add param to disable interleave scan

This patch adds parameter to enable/disable the interleave scan feature.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agocore: Add parmas to set interleaving durations
Howard Chung [Fri, 30 Oct 2020 09:11:00 +0000 (17:11 +0800)]
core: Add parmas to set interleaving durations

This patch adds parameters to control the durations of allowlist scan
and no-filter scan when the kernel is doing interleaving scan.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomonitor: Add new MGMT adv commands and events to monitor
Daniel Winkler [Thu, 29 Oct 2020 23:06:22 +0000 (16:06 -0700)]
monitor: Add new MGMT adv commands and events to monitor

This change adds the following to packet monitor:
-Add Ext Adv Params command and response
-Add Ext Adv Data command and response

This patch was manually tested by registering advertisements with
various features and verifying in btmon log.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoclient: Add SupportedCapabilities to bluetoothctl
Daniel Winkler [Thu, 29 Oct 2020 23:06:21 +0000 (16:06 -0700)]
client: Add SupportedCapabilities to bluetoothctl

This patch adds the new "SupportedCapabilities" property to the
bluetoothctl "show" view.

The change is tested by verifying bluetoothctl shows the desired
properties.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoadvertising: Expose SupportedCapabilities for advertising
Daniel Winkler [Thu, 29 Oct 2020 23:06:20 +0000 (16:06 -0700)]
advertising: Expose SupportedCapabilities for advertising

To help our advertising clients understand the device capabilities, this
patch adds a SupportedCapabilities dbus endpoint for the advertising
manager. The primary reason behind this is to provide the valid LE tx
power range the controller supports (populated if controller supports
BT5), so a client can know the valid power range before requesting a tx
power for their advertisement.

I also thought it would be useful to indicate the max advertising data
length and scan response length in this endpoint, since some clients
will find it useful to set their advertising data (currently
experimental feature) or scan response data (possible future feature)
directly.

This patch has been tested on Hatch (BT5 support) and Kukui (No BT5
support) chromebooks to verify that the dbus endpoint contains the
correct data.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoadvertising: Query LE TX range at manager initialization
Daniel Winkler [Thu, 29 Oct 2020 23:06:19 +0000 (16:06 -0700)]
advertising: Query LE TX range at manager initialization

This patch calls the new MGMT command to get controller capabilities,
and parses the min and max LE tx power range when the manager is
initialized. This will be used to populate a client-facing dbus entry so
that the client will know the advertising capabilities of the controller
before registering an advertisement.

This patch is tested by manually verifying the data is parsed correctly
from the MGMT response.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoadvertising: Use new mgmt interface for advertising add
Daniel Winkler [Thu, 29 Oct 2020 23:06:18 +0000 (16:06 -0700)]
advertising: Use new mgmt interface for advertising add

This patch allows bluetoothd to use the new extended advertising add
mgmt interface if it is available. The new interface will be used by
default, as it allows the client to set advertising intervals, and tx
power if the controller and kernel support extended advertising.

Each new registered advertisement will submit two requests to kernel;
the first sets the advertising parameters for the advertising instance,
and the second sets the advertising data and scan response for the
instance.

The parameters MGMT request will return the tx power selected by the
controller (if applicable), which is propagated to the client via a dbus
Set method.

Note: This patch also fixes a small bug in the packet monitor, where the
tx power value 0xff is considered as "Host has no preference". However,
the spec states this value to be 0x7f. It is corrected in this patch

This change has been tested extensively on Hatch (extended advertising)
and Kukui (no extended advertising) chromebooks. Manual tests do the
following:
- Configure advertisement with custom intervals, tx power with valid and
  invalid values and combinations
- Ensure that with valid parameters, they are propagated and set in hci
  requests. With invalid parameters, ensure that the registration fails.

Automatic tests verify 25 advertising usage scenarios involving single
and multi-advertising registration, over-registration, parameter
validation, etc. These tests don't test new intervals and tx power, but
validate that the new MGMT interface does not regress compatibility in
these 25 scenarios.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoadvertising: Parse intervals and tx power from adv
Daniel Winkler [Thu, 29 Oct 2020 23:06:17 +0000 (16:06 -0700)]
advertising: Parse intervals and tx power from adv

This change adds parsers for the advertising intervals and tx power
properties of the LEAdvertisement1 object. It validates that each field
adheres to the 5.2 spec, and that min and max intervals are compatible
with each other, i.e. that min interval is less than max interval.

A note here for maintainers: The tx power that is sent in the hci
parameter command is an int8_t, but as far as I can tell, there is no
clean way to use a signed 8-bit integer in dbus. The dbus byte type
seems incompatible with negative values in high-level languages (python)
without awkward usage manipulation on the client side. For this reason,
I chose to use an int16_t type for the tx power dbus field, which is
then downcasted to the int8_t in bluetoothd, which at least makes the
signed-ness of the type crystal clear to the dbus client that uses it.

This change is manually verified by ensuring the intervals and tx power
parameters are correctly parsed from the LEAdvertisement1 object, and
that the parse fails if the parameters are incorrect or not compatible
with each other.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoadvertising: Detect if extended advertising mgmt commands are supported
Daniel Winkler [Thu, 29 Oct 2020 23:06:16 +0000 (16:06 -0700)]
advertising: Detect if extended advertising mgmt commands are supported

We need to know if kernel supports the new MGMT interface. To do so, we
check the return from adapter's MGMT_OP_READ_COMMANDS call for the new
commands. This will later be used to route our requests for new
advertisements.

The change is tested by manually verifying that the correct MGMT
commands are used when the feature is and is not available in kernel.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agodoc/mgmt-api: Update controller capabilities MGMT command in mgmt-api
Daniel Winkler [Thu, 29 Oct 2020 23:06:15 +0000 (16:06 -0700)]
doc/mgmt-api: Update controller capabilities MGMT command in mgmt-api

This patch changes Read Security Info MGMT to be called Read Controller
Capabilities Command

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agodoc/mgmt-api: Add new Advertising MGMT interfaces to mgmt-api
Daniel Winkler [Thu, 29 Oct 2020 23:06:14 +0000 (16:06 -0700)]
doc/mgmt-api: Add new Advertising MGMT interfaces to mgmt-api

This patch adds the following to mgmt-api:
- Add Extended Advertising Parameters Command
- Add Extended Advertising Data Command

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agodoc/advertising-api: update API with new interface
Daniel Winkler [Thu, 29 Oct 2020 23:06:13 +0000 (16:06 -0700)]
doc/advertising-api: update API with new interface

This updates the advertising documentation to include the following
features:

LE Advertising Manager:
- New SupportedCapabilities property

LE Advertisement:
- New min/max interval properties
- New tx power property

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomonitor: Decode Remove ADV Monitor
Howard Chung [Thu, 29 Oct 2020 10:09:45 +0000 (18:09 +0800)]
monitor: Decode Remove ADV Monitor

Add support for Remove Advertisement Monitor MGMT command and event.

@ MGMT Command: Remove Advertisement Monitor (0x0053) plen 2
Handle: 1
@ MGMT Event: Advertisement Monitor Added (0x002c) plen 2
        Handle: 1
@ MGMT Event: Command Complete (0x0001) plen 5
      Remove Advertisement Monitor (0x0053) plen 2
        Status: Success (0x00)
        Handle: 1

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomonitor: Decode Add ADV monitor command
Howard Chung [Thu, 29 Oct 2020 10:09:44 +0000 (18:09 +0800)]
monitor: Decode Add ADV monitor command

Add support for Add Advertisement Monitor MGMT command and event.

@ MGMT Command: Add Advertisement Monitor (0x0052) plen 69
        Number of patterns: 2
          Pattern 1:
            AD type: 0
            Offset: 1
            Length: 2
            Value : ...
          Pattern 2:
            AD type: 1
            Offset: 10
            Length: 4
            Value : ...
@ MGMT Event: Advertisement Monitor Added (0x002b) plen 2
        Handle: 1
@ MGMT Event: Command Complete (0x0001) plen 5
      Add Advertisement Monitor (0x0052) plen 2
        Status: Success (0x00)
        Handle: 1

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomonitor: Decode ADV Monitor read feature command
Howard Chung [Thu, 29 Oct 2020 10:09:43 +0000 (18:09 +0800)]
monitor: Decode ADV Monitor read feature command

Add support for Read Advertisement Monitor Features mgmt operation.

@ MGMT Command: Read Advertisement Monitor Features (0x0051) plen 0
@ MGMT Event: Command Complete (0x0001) plen 20
      Read Advertisement Monitor Features (0x0051) plen 17
        Status: Success (0x00)
        Supported Features: 0x00000000
        Enabled Features: 0x00000000
        Max number of handles: 32
        Max number of patterns: 16
        Number of handles: 2
          Handle: 1
          Handle: 3

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agocore: Rename hcid.h to btd.h
Luiz Augusto von Dentz [Wed, 28 Oct 2020 21:53:36 +0000 (14:53 -0700)]
core: Rename hcid.h to btd.h

Since we use btd term for daemon APIs it makes sense to use it also
for the header name instead of hcid.

Change-Id: Ib2c8e730fa5fd4bf4119fb245c958fa0450e3e11
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agocore: Rename main_opts to btd_opts
Luiz Augusto von Dentz [Wed, 28 Oct 2020 21:50:00 +0000 (14:50 -0700)]
core: Rename main_opts to btd_opts

Use btd_ prefix since this is a daemon API.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agocore: Split LE and BR/EDR parameters
Luiz Augusto von Dentz [Wed, 28 Oct 2020 21:45:36 +0000 (14:45 -0700)]
core: Split LE and BR/EDR parameters

This splits LE and BR/EDR config parameters and checks main_conf.mode
when parsing them.

Change-Id: Ib42be9ad8c6cffe7b6b04d5d40caa7fac66fb7a9
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoshared/mgmt: Add mgmt_tlv_add_fixed
Luiz Augusto von Dentz [Wed, 28 Oct 2020 21:43:35 +0000 (14:43 -0700)]
shared/mgmt: Add mgmt_tlv_add_fixed

This adds mgmt_tlv_add_fixed macro which can be used to add fixed sized
value.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomgmt: Add support of mgmt TLV API
Howard Chung [Wed, 28 Oct 2020 11:52:46 +0000 (19:52 +0800)]
mgmt: Add support of mgmt TLV API

This adds API to send multiple TLVs to kernel, it is useful for
mgmt set system config command.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoaudio/media: Destroy transport if SetConfiguration fails
Marijn Suijten [Mon, 26 Oct 2020 19:54:08 +0000 (20:54 +0100)]
audio/media: Destroy transport if SetConfiguration fails

set_configuration creates a transport before calling SetConfiguration on
the MediaEndpoint1 DBus interface.  If this DBus call fails the
transport sticks around while it should instead be cleaned up.

When the peer retries or reconnects (in case of BlueZ which cuts the
connection due to a missing recount [1]) set_configuration finds this
old transport and returns FALSE.  The peer will never succeed this call
unless it randomly decides to call clear_configuration or BlueZ is
restarted.

[1]: https://marc.info/?l=linux-bluetooth&m=160364326629847&w=2

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoavdtp: Fix not setting timeout when reconfiguring
Luiz Augusto von Dentz [Mon, 26 Oct 2020 23:36:11 +0000 (16:36 -0700)]
avdtp: Fix not setting timeout when reconfiguring

When reconfiguring a codec avdtp_close will be used which resets
dc_timeout which can cause early disconnection if the new
configuration fails making it impossible to try other configurations.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoemulator: Fix not setting CIG ID properly
Luiz Augusto von Dentz [Mon, 26 Oct 2020 23:03:01 +0000 (16:03 -0700)]
emulator: Fix not setting CIG ID properly

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agolib: Fix using spaces to align BT_PKT_STATUS
Luiz Augusto von Dentz [Thu, 22 Oct 2020 17:16:36 +0000 (10:16 -0700)]
lib: Fix using spaces to align BT_PKT_STATUS

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agodevice: fix temporary_timer double free
Archie Pusaka [Tue, 20 Oct 2020 10:02:45 +0000 (18:02 +0800)]
device: fix temporary_timer double free

One instance of freeing temporary_timer is not followed by setting
the variable to 0, causing potential double free.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoshared/timeout-ell: Fix timeout wrapper implementation
Inga Stotland [Mon, 5 Oct 2020 04:19:32 +0000 (21:19 -0700)]
shared/timeout-ell: Fix timeout wrapper implementation

This fixes the following issues:
- Correct user data is passed around to l_timeout_create():
  locally allocated timeout data is a valid "user data" to
  associate with a newly created timeout. Previously, user_data
  passed as an argument to timeout_add() was incorrectly used as
  an argument to l_timeout_create()
- To maintain common API and work around the issue when the conversion
  of a pointer to an unsigned int truncates the initial value, a queue
  of active timeouts is maintained where pointer each l_timeout structure
  is associate with a unique id. This id is returned when timeout_create()
  API is called and can be subsequently used with timeout_remove().

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoshared/io-ell: Add reference count to io structure
Inga Stotland [Fri, 25 Sep 2020 22:38:49 +0000 (15:38 -0700)]
shared/io-ell: Add reference count to io structure

This adds reference count to io wrapper structure.
Also, correctly handles IO destroy case by unsetting
read/write/disconnect halers and freeing the corresponding
resources.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agolib: Add BT_PKT_STATUS
Luiz Augusto von Dentz [Mon, 19 Oct 2020 20:03:00 +0000 (13:03 -0700)]
lib: Add BT_PKT_STATUS

BT_PKT_STATUS has been introduced to the kernel but userspace has not
been updated to reflect that.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoavrcp: Notify Addressed Player Changed if player is unregistered
Luiz Augusto von Dentz [Mon, 12 Oct 2020 17:18:04 +0000 (10:18 -0700)]
avrcp: Notify Addressed Player Changed if player is unregistered

If current addressed player is unregistered notify Addressed Player
Changed so the controller is informed of the player changes.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoavrcp: Fix segfault when using headset controls
Daniel Šimko [Sat, 10 Oct 2020 22:27:28 +0000 (22:27 +0000)]
avrcp: Fix segfault when using headset controls

This fixes a segmentation fault caused by controls trying to notify an
unregistered player.

When an unregistered player is replaced by another valid player from the
list, the session is not referenced in the sessions list of the player
and when this player is unregistered, its reference is not removed from
the session.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agolib: Replace malloc/memset(..0..) with bt_malloc0
Aravind Machiry [Mon, 28 Sep 2020 19:20:02 +0000 (12:20 -0700)]
lib: Replace malloc/memset(..0..) with bt_malloc0

This patch replaces various instances of malloc and subsequent
memset(..,0,..) with bt_malloc0 (i.e., calloc) for efficiency.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agolib/sdp.c: Validate attribute search return value
Aravind Machiry [Mon, 28 Sep 2020 06:44:46 +0000 (23:44 -0700)]
lib/sdp.c: Validate attribute search return value

The calls to gen_[searchseq|attridseq]_seq functions return negative
value on failure. The return value should be checked to gracefully
exit with a proper exit code.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agotools: Add SPDX License Identifier
Tedd Ho-Jeong An [Tue, 29 Sep 2020 21:24:48 +0000 (14:24 -0700)]
tools: Add SPDX License Identifier

This patch adds SPDX License Identifier and removes the license text.

-------------------------------------
       License            COUNT
-------------------------------------
 GPL-2.0-or-later     :     97
 LGPL-2.1-or-later    :     38
 GPL-2.0-only         :      2

License: GPL-2.0-or-later
   tools/l2cap-tester.c
   tools/hcisecfilter.c
   tools/ciptool.c
   tools/btsnoop.c
   tools/check-selftest.c
   tools/btpclientctl.c
   tools/hci-tester.c
   tools/hcitool.c
   tools/btiotest.c
   tools/oobtest.c
   tools/btinfo.c
   tools/hwdb.c
   tools/hciattach_bcm43xx.c
   tools/mgmt-tester.c
   tools/hex2hcd.c
   tools/hciattach_st.c
   tools/smp-tester.c
   tools/bluetooth-player.c
   tools/hciattach_tialt.c
   tools/gap-tester.c
   tools/bluemoon.c
   tools/bneptest.c
   tools/gatt-service.c
   tools/rctest.c
   tools/rfcomm-tester.c
   tools/hcieventmask.c
   tools/hciattach_ti.c
   tools/seq2bseq.c
   tools/scotest.c
   tools/bcmfw.c
   tools/hciconfig.c
   tools/btattach.c
   tools/l2ping.c
   tools/obexctl.c
   tools/l2test.c
   tools/hciattach_intel.c
   tools/hciattach.h
   tools/create-image.c
   tools/bnep-tester.c
   tools/userchan-tester.c
   tools/rfcomm.c
   tools/btmon-logger.c
   tools/hcidump.c
   tools/rtlfw.c
   tools/hciattach_qualcomm.c
   tools/btproxy.c
   tools/nokfw.c
   tools/hciattach_ath3k.c
   tools/3dsp.c
   tools/bdaddr.c
   tools/sco-tester.c
   tools/hciattach.c
   tools/amptest.c
   tools/btgatt-server.c
   tools/btgatt-client.c
   tools/cltest.c
   tools/ibeacon.c
   tools/mcaptest.c
   tools/hid2hci.c
   tools/btmgmt.c
   tools/advtest.c
   tools/eddystone.c
   tools/avtest.c
   tools/mpris-proxy.c
   tools/avinfo.c
   tools/sdptool.c
   tools/btconfig.c
   tools/update_compids.sh
   tools/parser/parser.h
   tools/parser/obex.c
   tools/parser/amp.c
   tools/parser/sdp.c
   tools/parser/tcpip.c
   tools/parser/sap.c
   tools/parser/cmtp.c
   tools/parser/avctp.c
   tools/parser/lmp.c
   tools/parser/ppp.c
   tools/parser/rfcomm.h
   tools/parser/hci.c
   tools/parser/sdp.h
   tools/parser/parser.c
   tools/parser/rfcomm.c
   tools/parser/avdtp.c
   tools/parser/avrcp.c
   tools/parser/ericsson.c
   tools/parser/hcrp.c
   tools/parser/bpa.c
   tools/parser/hidp.c
   tools/parser/bnep.c
   tools/parser/capi.c
   tools/parser/att.c
   tools/parser/l2cap.c
   tools/parser/smp.c
   tools/parser/csr.c
   tools/parser/l2cap.h
   tools/parse_companies.pl

License: LGPL-2.1-or-later
   tools/test-runner.c
   tools/btpclient.c
   tools/meshctl.c
   tools/mesh-cfgclient.c
   tools/mesh/model.h
   tools/mesh/util.h
   tools/mesh/config-model.h
   tools/mesh/cfgcli.h
   tools/mesh/mesh-db.c
   tools/mesh/mesh-db.h
   tools/mesh/keys.c
   tools/mesh/util.c
   tools/mesh/agent.h
   tools/mesh/remote.c
   tools/mesh/keys.h
   tools/mesh/agent.c
   tools/mesh/cfgcli.c
   tools/mesh/remote.h
   tools/mesh-gatt/prov.c
   tools/mesh-gatt/util.h
   tools/mesh-gatt/prov.h
   tools/mesh-gatt/net.c
   tools/mesh-gatt/util.c
   tools/mesh-gatt/prov-db.h
   tools/mesh-gatt/crypto.c
   tools/mesh-gatt/crypto.h
   tools/mesh-gatt/gatt.c
   tools/mesh-gatt/config-server.c
   tools/mesh-gatt/keys.h
   tools/mesh-gatt/onoff-model.c
   tools/mesh-gatt/net.h
   tools/mesh-gatt/gatt.h
   tools/mesh-gatt/node.c
   tools/mesh-gatt/config-client.c
   tools/mesh-gatt/mesh-net.h
   tools/mesh-gatt/node.h
   tools/mesh-gatt/onoff-model.h
   tools/mesh-gatt/prov-db.c

License: GPL-2.0-only
   tools/obex-server-tool.c
   tools/obex-client-tool.c

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agodevice: Fix codying style
Luiz Augusto von Dentz [Tue, 29 Sep 2020 00:03:29 +0000 (17:03 -0700)]
device: Fix codying style

Single line statements don't require curly braces.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agodevice: Disable auto connect for temporary devices
Yu Liu [Thu, 24 Sep 2020 23:17:42 +0000 (16:17 -0700)]
device: Disable auto connect for temporary devices

When connecting a LE keyboard, if the user input the wrong passkey, the
stack would keep auto connect and thus allow the user to retry the
passkey indefinitely which is a security concern. This fix would
disallow the auto connect if the authentication failed.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agotools: Remove legacy code for CSR controllers
Luiz Augusto von Dentz [Fri, 25 Sep 2020 22:03:44 +0000 (15:03 -0700)]
tools: Remove legacy code for CSR controllers

This code has not been touched for ages and very unlikely that someone
will be using this nowadays as most of these controller specific
transports are handled by the kernel nowadays.

Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoshared/io-ell: Fix ELL io wrapper
Inga Stotland [Thu, 24 Sep 2020 18:20:02 +0000 (11:20 -0700)]
shared/io-ell: Fix ELL io wrapper

This modifies the internal io structure inside io-ell to retain
correct user data associated with write and read handlers and
to return these data with the corresponding callbacks.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoavdtp: Handle case where remote send L2CAP connect ahead of Open
Luiz Augusto von Dentz [Tue, 22 Sep 2020 22:58:52 +0000 (15:58 -0700)]
avdtp: Handle case where remote send L2CAP connect ahead of Open

This stores the channel if it had been connected ahead of Open
procedure so it can later be processed.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoLICENSES: Add License files
Tedd Ho-Jeong An [Mon, 21 Sep 2020 19:46:16 +0000 (12:46 -0700)]
LICENSES: Add License files

This patch adds the full text of licenses used in the BlueZ.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agotest: Add SPDX License Identifier
Tedd Ho-Jeong An [Mon, 21 Sep 2020 19:39:18 +0000 (12:39 -0700)]
test: Add SPDX License Identifier

This patch adds SPDX License Identifier and removes the license text.

-------------------------------------
       License            COUNT
-------------------------------------
 LGPL-2.1-or-later    :     35

License: LGPL-2.1-or-later
   test/agent.py
   test/bluezutils.py
   test/dbusdef.py
   test/example-advertisement
   test/example-endpoint
   test/example-gatt-client
   test/example-gatt-server
   test/example-player
   test/exchange-business-cards
   test/ftp-client
   test/get-managed-objects
   test/get-obex-capabilities
   test/list-devices
   test/list-folders
   test/map-client
   test/monitor-bluetooth
   test/opp-client
   test/pbap-client
   test/sap_client.py
   test/simple-endpoint
   test/simple-obex-agent
   test/simple-player
   test/test-adapter
   test/test-device
   test/test-discovery
   test/test-gatt-profile
   test/test-health
   test/test-health-sink
   test/test-hfp
   test/test-manager
   test/test-mesh
   test/test-nap
   test/test-network
   test/test-profile
   test/test-sap-server

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agobuild: Add SPDX License Identifier
Tedd Ho-Jeong An [Mon, 21 Sep 2020 19:00:38 +0000 (12:00 -0700)]
build: Add SPDX License Identifier

This patch adds SPDX License Identifier and removes the license text.

-------------------------------------
       License            COUNT
-------------------------------------
 GPL-2.0-or-later     :      6

License: GPL-2.0-or-later
   Makefile.am
   Makefile.mesh
   Makefile.obexd
   Makefile.plugins
   Makefile.tools
   configure.ac

Change-Id: I454a1299e5cb820af9812df678f552234cf02bfd
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agosrc: Add SPDX License Identifier
Tedd Ho-Jeong An [Mon, 21 Sep 2020 19:36:20 +0000 (12:36 -0700)]
src: Add SPDX License Identifier

This patch adds SPDX License Identifier and removes the license text.

-------------------------------------
       License            COUNT
-------------------------------------
 LGPL-2.1-or-later    :     62
 GPL-2.0-or-later     :     51
 BSD-2-Clause         :      2

License: LGPL-2.1-or-later
   src/adv_monitor.c
   src/adv_monitor.h
   src/shared/mainloop-glib.c
   src/shared/btp.c
   src/shared/tester.c
   src/shared/btsnoop.c
   src/shared/gatt-helpers.h
   src/shared/log.h
   src/shared/util.h
   src/shared/mainloop-ell.c
   src/shared/hci-crypto.c
   src/shared/mainloop.c
   src/shared/hfp.h
   src/shared/mainloop-notify.c
   src/shared/io-mainloop.c
   src/shared/btsnoop.h
   src/shared/uhid.h
   src/shared/util.c
   src/shared/ringbuf.c
   src/shared/btp.h
   src/shared/shell.h
   src/shared/io-glib.c
   src/shared/queue.h
   src/shared/gatt-server.h
   src/shared/crypto.c
   src/shared/crypto.h
   src/shared/io-ell.c
   src/shared/timeout-glib.c
   src/shared/mgmt.c
   src/shared/gatt-db.c
   src/shared/mainloop-notify.h
   src/shared/hfp.c
   src/shared/timeout-ell.c
   src/shared/shell.c
   src/shared/hci.c
   src/shared/log.c
   src/shared/ringbuf.h
   src/shared/gatt-helpers.c
   src/shared/queue.c
   src/shared/tty.h
   src/shared/timeout-mainloop.c
   src/shared/tester.h
   src/shared/gap.h
   src/shared/mgmt.h
   src/shared/gatt-db.h
   src/shared/uhid.c
   src/shared/mainloop.h
   src/shared/timeout.h
   src/shared/att-types.h
   src/shared/pcap.c
   src/shared/gap.c
   src/shared/att.c
   src/shared/pcap.h
   src/shared/hci.h
   src/shared/gatt-client.h
   src/shared/io.h
   src/shared/gatt-client.c
   src/shared/ad.c
   src/shared/att.h
   src/shared/gatt-server.c
   src/shared/hci-crypto.h
   src/shared/ad.h

License: GPL-2.0-or-later
   src/attrib-server.h
   src/advertising.h
   src/textfile.c
   src/attrib-server.c
   src/uinput.h
   src/log.h
   src/eir.h
   src/sdpd.h
   src/sdpd-request.c
   src/service.h
   src/sdpd-database.c
   src/adapter.h
   src/plugin.h
   src/uuid-helper.h
   src/plugin.c
   src/main.c
   src/sdp-xml.c
   src/error.h
   src/oui.c
   src/device.c
   src/agent.h
   src/sdp-client.c
   src/oui.h
   src/device.h
   src/gatt-database.c
   src/error.c
   src/backtrace.c
   src/sdpd-server.c
   src/adapter.c
   src/log.c
   src/agent.c
   src/backtrace.h
   src/sdp-xml.h
   src/hcid.h
   src/dbus-common.h
   src/uuid-helper.c
   src/storage.c
   src/profile.c
   src/advertising.c
   src/storage.h
   src/dbus-common.c
   src/profile.h
   src/sdpd-service.c
   src/eir.c
   src/sdp-client.h
   src/gatt-database.h
   src/gatt-client.h
   src/rfkill.c
   src/gatt-client.c
   src/service.c
   src/textfile.h

License: BSD-2-Clause
   src/shared/ecc.h
   src/shared/ecc.c

Change-Id: Ib1c3dec2724d329657c0c4003375bbbe50bcf578
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agounit: Add SPDX License Identifier
Tedd Ho-Jeong An [Mon, 21 Sep 2020 19:00:35 +0000 (12:00 -0700)]
unit: Add SPDX License Identifier

This patch adds SPDX License Identifier and removes the license text.

-------------------------------------
       License            COUNT
-------------------------------------
 GPL-2.0-or-later     :     25
 LGPL-2.1-or-later    :      1
 GPL-2.0-only         :      2
 BSD-2-Clause         :      1

License: GPL-2.0-or-later
   unit/test-hog.c
   unit/test-eir.c
   unit/test-gobex-header.c
   unit/test-crc.c
   unit/test-avrcp.c
   unit/test-ringbuf.c
   unit/test-gobex-apparam.c
   unit/test-gobex.c
   unit/test-hfp.c
   unit/test-textfile.c
   unit/test-avdtp.c
   unit/test-sdp.c
   unit/test-gatt.c
   unit/test-avctp.c
   unit/test-gattrib.c
   unit/test-queue.c
   unit/test-gobex-packet.c
   unit/test-uuid.c
   unit/test-crypto.c
   unit/test-uhid.c
   unit/test-gdbus-client.c
   unit/test-midi.c
   unit/test-lib.c
   unit/test-mgmt.c
   unit/test-gobex-transfer.c

License: LGPL-2.1-or-later
   unit/test-mesh-crypto.c

License: GPL-2.0-only
   unit/util.h
   unit/util.c

License: BSD-2-Clause
   unit/test-ecc.c

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoprofiles: Add SPDX License Identifier
Tedd Ho-Jeong An [Mon, 21 Sep 2020 19:00:34 +0000 (12:00 -0700)]
profiles: Add SPDX License Identifier

This patch adds SPDX License Identifier and removes the license text.

-------------------------------------
       License            COUNT
-------------------------------------
 GPL-2.0-or-later     :     72
 LGPL-2.1-or-later    :      6

License: GPL-2.0-or-later
   profiles/deviceinfo/dis.c
   profiles/deviceinfo/deviceinfo.c
   profiles/health/hdp_types.h
   profiles/health/mcap.c
   profiles/health/hdp_manager.c
   profiles/health/hdp_main.c
   profiles/health/mcap.h
   profiles/health/hdp_util.h
   profiles/health/hdp_manager.h
   profiles/health/hdp_util.c
   profiles/health/hdp.c
   profiles/health/hdp.h
   profiles/network/server.c
   profiles/network/connection.h
   profiles/network/connection.c
   profiles/network/manager.c
   profiles/network/bnep.c
   profiles/network/server.h
   profiles/network/bnep.h
   profiles/battery/battery.c
   profiles/cups/cups.h
   profiles/cups/sdp.c
   profiles/cups/main.c
   profiles/cups/spp.c
   profiles/cups/hcrp.c
   profiles/scanparam/scpp.c
   profiles/scanparam/scan.c
   profiles/audio/transport.h
   profiles/audio/avdtp.h
   profiles/audio/source.c
   profiles/audio/player.c
   profiles/audio/avctp.c
   profiles/audio/control.h
   profiles/audio/a2dp.c
   profiles/audio/source.h
   profiles/audio/transport.c
   profiles/audio/sink.c
   profiles/audio/avrcp.h
   profiles/audio/avdtp.c
   profiles/audio/a2dp.h
   profiles/audio/avrcp.c
   profiles/audio/media.h
   profiles/audio/avctp.h
   profiles/audio/control.c
   profiles/audio/sink.h
   profiles/audio/player.h
   profiles/audio/media.c
   profiles/sap/server.c
   profiles/sap/sap-dummy.c
   profiles/sap/main.c
   profiles/sap/sap.h
   profiles/sap/manager.c
   profiles/sap/server.h
   profiles/sap/manager.h
   profiles/iap/main.c
   profiles/gap/gas.c
   profiles/midi/midi.c
   profiles/midi/libmidi.c
   profiles/midi/libmidi.h
   profiles/input/server.c
   profiles/input/suspend.h
   profiles/input/uhid_copy.h
   profiles/input/device.c
   profiles/input/hog.c
   profiles/input/device.h
   profiles/input/hidp_defs.h
   profiles/input/manager.c
   profiles/input/suspend-none.c
   profiles/input/sixaxis.h
   profiles/input/hog-lib.c
   profiles/input/suspend-dummy.c
   profiles/input/server.h

License: LGPL-2.1-or-later
   profiles/deviceinfo/dis.h
   profiles/battery/bas.h
   profiles/battery/bas.c
   profiles/scanparam/scpp.h
   profiles/audio/a2dp-codecs.h
   profiles/input/hog-lib.h

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoplugins: Add SPDX License Identifier
Tedd Ho-Jeong An [Mon, 21 Sep 2020 19:00:33 +0000 (12:00 -0700)]
plugins: Add SPDX License Identifier

This patch adds SPDX License Identifier and removes the license text.

-------------------------------------
       License            COUNT
-------------------------------------
 GPL-2.0-or-later     :      7

License: GPL-2.0-or-later
   plugins/autopair.c
   plugins/hostname.c
   plugins/neard.c
   plugins/policy.c
   plugins/sixaxis.c
   plugins/wiimote.c
   plugins/external-dummy.c

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoperipheral: Add SPDX License Identifier
Tedd Ho-Jeong An [Mon, 21 Sep 2020 19:00:32 +0000 (12:00 -0700)]
peripheral: Add SPDX License Identifier

This patch adds SPDX License Identifier and removes the license text.

-------------------------------------
       License            COUNT
-------------------------------------
 LGPL-2.1-or-later    :     11

License: LGPL-2.1-or-later
   peripheral/log.h
   peripheral/main.c
   peripheral/efivars.c
   peripheral/attach.h
   peripheral/gatt.c
   peripheral/attach.c
   peripheral/log.c
   peripheral/gap.h
   peripheral/efivars.h
   peripheral/gap.c
   peripheral/gatt.h

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agoobexd: Add SPDX License Identifier
Tedd Ho-Jeong An [Mon, 21 Sep 2020 19:00:31 +0000 (12:00 -0700)]
obexd: Add SPDX License Identifier

This patch adds SPDX License Identifier and removes the license text.

-------------------------------------
       License            COUNT
-------------------------------------
 GPL-2.0-or-later     :     65

License: GPL-2.0-or-later
   obexd/src/mimetype.c
   obexd/src/transport.h
   obexd/src/server.c
   obexd/src/obex.c
   obexd/src/log.h
   obexd/src/service.h
   obexd/src/plugin.h
   obexd/src/plugin.c
   obexd/src/main.c
   obexd/src/mimetype.h
   obexd/src/transport.c
   obexd/src/obexd.h
   obexd/src/obex.h
   obexd/src/obex-priv.h
   obexd/src/log.c
   obexd/src/map_ap.h
   obexd/src/manager.c
   obexd/src/service.c
   obexd/src/server.h
   obexd/src/manager.h
   obexd/plugins/opp.c
   obexd/plugins/vcard.h
   obexd/plugins/pbap.c
   obexd/plugins/vcard.c
   obexd/plugins/messages.h
   obexd/plugins/phonebook.h
   obexd/plugins/pcsuite.c
   obexd/plugins/messages-tracker.c
   obexd/plugins/phonebook-tracker.c
   obexd/plugins/irmc.c
   obexd/plugins/ftp.c
   obexd/plugins/ftp.h
   obexd/plugins/filesystem.c
   obexd/plugins/messages-dummy.c
   obexd/plugins/phonebook-ebook.c
   obexd/plugins/syncevolution.c
   obexd/plugins/bluetooth.c
   obexd/plugins/phonebook-dummy.c
   obexd/plugins/filesystem.h
   obexd/plugins/mas.c
   obexd/client/transport.h
   obexd/client/opp.c
   obexd/client/pbap.c
   obexd/client/transfer.h
   obexd/client/opp.h
   obexd/client/driver.c
   obexd/client/map-event.h
   obexd/client/bluetooth.h
   obexd/client/sync.h
   obexd/client/transport.c
   obexd/client/pbap.h
   obexd/client/driver.h
   obexd/client/transfer.c
   obexd/client/ftp.c
   obexd/client/map.h
   obexd/client/ftp.h
   obexd/client/bluetooth.c
   obexd/client/manager.c
   obexd/client/session.h
   obexd/client/session.c
   obexd/client/map.c
   obexd/client/sync.c
   obexd/client/map-event.c
   obexd/client/mns.c
   obexd/client/manager.h

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agomonitor: Add SPDX License Identifier
Tedd Ho-Jeong An [Mon, 21 Sep 2020 19:00:30 +0000 (12:00 -0700)]
monitor: Add SPDX License Identifier

This patch adds SPDX License Identifier and removes the license text.

-------------------------------------
       License            COUNT
-------------------------------------
 LGPL-2.1-or-later    :     47

License: LGPL-2.1-or-later
   monitor/bt.h
   monitor/hcidump.h
   monitor/avdtp.h
   monitor/crc.c
   monitor/sdp.c
   monitor/hwdb.c
   monitor/intel.h
   monitor/avctp.c
   monitor/control.h
   monitor/display.c
   monitor/a2dp.c
   monitor/ll.c
   monitor/ll.h
   monitor/jlink.h
   monitor/broadcom.h
   monitor/lmp.c
   monitor/keys.c
   monitor/ellisys.c
   monitor/main.c
   monitor/ellisys.h
   monitor/hwdb.h
   monitor/display.h
   monitor/jlink.c
   monitor/rfcomm.h
   monitor/packet.c
   monitor/crc.h
   monitor/keys.h
   monitor/sdp.h
   monitor/rfcomm.c
   monitor/avdtp.c
   monitor/a2dp.h
   monitor/avctp.h
   monitor/vendor.h
   monitor/hcidump.c
   monitor/intel.c
   monitor/tty.h
   monitor/control.c
   monitor/lmp.h
   monitor/analyze.c
   monitor/bnep.c
   monitor/l2cap.c
   monitor/vendor.c
   monitor/packet.h
   monitor/broadcom.c
   monitor/analyze.h
   monitor/l2cap.h
   monitor/bnep.h

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
2 years agolib: Add SPDX License Identifier
Tedd Ho-Jeong An [Mon, 21 Sep 2020 19:00:28 +0000 (12:00 -0700)]
lib: Add SPDX License Identifier

This patch adds SPDX License Identifier and removes the license text.

-------------------------------------
       License            COUNT
-------------------------------------
 GPL-2.0-or-later     :     18
 GPL-2.0-only         :      1

License: GPL-2.0-or-later
   lib/sco.h
   lib/sdp.c
   lib/a2mp.h
   lib/uuid.h
   lib/bluetooth.h
   lib/hidp.h
   lib/rfcomm.h
   lib/hci.c
   lib/sdp.h
   lib/sdp_lib.h
   lib/bluetooth.c
   lib/mgmt.h
   lib/hci.h
   lib/uuid.c
   lib/l2cap.h
   lib/bnep.h
   lib/hci_lib.h
   lib/cmtp.h

License: GPL-2.0-only
   lib/amp.h

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>