Inga Stotland [Fri, 3 Apr 2020 01:26:54 +0000 (18:26 -0700)]
tools/mescfg-client: Use local routines for config write
This removes dependencies on internal structures of
mesh/mesh-config-json.c.
Change-Id: Ibd8c2f2bf132d70faadd4591ff8fec755ab20096
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Inga Stotland [Thu, 2 Apr 2020 00:04:36 +0000 (17:04 -0700)]
mesh: Fix segfault related to idle config write
If node configuration is completely removed from the system,
remove all pending writes to the configuration file.
Fixes the segfault below:
mesh/cfgmod-server.c:node_reset() Node Reset
mesh/mesh-config-json.c:mesh_config_destroy() Delete node config /var/lib/bluetooth/mesh/
02040d0a060e0a08090b0103070f050c
mesh/util.c:del_fobject() RM /var/lib/bluetooth/mesh/
02040d0a060e0a08090b0103070f050c/rpl/
00000000/0001
mesh/util.c:del_fobject() RMDIR /var/lib/bluetooth/mesh/
02040d0a060e0a08090b0103070f050c/rpl/
00000000
mesh/util.c:del_fobject() RMDIR /var/lib/bluetooth/mesh/
02040d0a060e0a08090b0103070f050c/rpl
mesh/util.c:del_fobject() RM /var/lib/bluetooth/mesh/
02040d0a060e0a08090b0103070f050c/node.json.bak
mesh/util.c:del_fobject() RM /var/lib/bluetooth/mesh/
02040d0a060e0a08090b0103070f050c/node.json
mesh/util.c:del_fobject() RMDIR /var/lib/bluetooth/mesh/
02040d0a060e0a08090b0103070f050c
Segmentation fault
Program terminated with signal SIGSEGV, Segmentation fault.
0x0000563a35df2ed0 in ?? ()
0x00007fd6b131689f in json_object_to_json_string_length (jso=jso@entry=0x563a35dd8d30, flags=flags@entry=2,
Change-Id: Id92320eb3f05f4bda52cff1b6e41c5345bf1df2f
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Inga Stotland [Thu, 2 Apr 2020 00:04:35 +0000 (17:04 -0700)]
mesh: Move SEQ_MASK define in mesh-defs.h
Change-Id: I1ec86a2033ab3e864ac5c4132afa4f0802305579
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Deokhyun Kim [Mon, 18 May 2020 04:29:51 +0000 (13:29 +0900)]
Fix typo of variable in set_le_batching_param_complete
Change-Id: Ia5b041d9d0c00e08d4a3310297205b1a71e5289a
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Deokhyun Kim [Thu, 14 May 2020 05:30:29 +0000 (14:30 +0900)]
Handle not_supported case of BLE batching
Change-Id: I0b08db175fda9a662ee532067ebf5f537cca8aff
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
injun.yang [Thu, 14 May 2020 02:28:40 +0000 (11:28 +0900)]
Fix : Handle service changed indication properly
[Model] All
[BinType] AP
[Customer] OPEN
[Issue#] P200504-04947
[Request] Internal
[Occurrence Version] N/A
[Problem] GATT service browsing failed.
[Cause & Measure] Ignore service indication during browsing.
Some characteristics what is not included form the primary service is found.
So unable to insert characteristic to GATT DB.
Handle the indication before starting svc browsing.
[Checking Method] n/a
[Team] Convergence BT
[Developer] Injun Yang
[Solution company] Samsung
[Change Type] Specification change
Change-Id: I809beeb51a7d88dfc0cc15b062ab8f7e372b7ccc
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Szymon Janc [Tue, 7 Apr 2020 01:29:06 +0000 (03:29 +0200)]
gatt: Fix AcquireWrite and AcquireNotify server support
Register read handler only for notify IO and handle socket
disconnection in sock_io_read.
Change-Id: I69349f7570aea4370bfb85809a3078886b7560e3
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
injun.yang [Mon, 13 Apr 2020 03:07:23 +0000 (12:07 +0900)]
Set the permission of CCC descriptior properly
[Model] All
[BinType] AP
[Customer] OPEN
[Issue#] N/A
[Request] Internal
[Occurrence Version] N/A
[Problem] Non bonded device can access to CCCD which have
encrypted_authenticated permission
[Cause & Measure] Even though application set encrypted_authenticated
permission to CCCD, bluez set it as read & write permission
[Checking Method] Register gatt server app which have
encrypted_authenticated permiion on descriptor
[Team] Convergence BT
[Developer] Injun Yang
[Solution company] Samsung
[Change Type] Specification change
Change-Id: If6e718946a1e14297f6bd8c7af232d7425947746
Anupam Roy [Thu, 2 Apr 2020 14:36:29 +0000 (14:36 +0000)]
Merge "tools/mesh-cfgclient: Add commands for Key Refresh Phase" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:36:24 +0000 (14:36 +0000)]
Merge "tools/mesh-cfgclient: Save subnet key refresh phase" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:35:10 +0000 (14:35 +0000)]
Merge "mesh: Clear prov capabilities structure before reading" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:35:02 +0000 (14:35 +0000)]
Merge "doc/mesh-api: OOB Information field is 16 bit, not 32" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:34:47 +0000 (14:34 +0000)]
Merge "mesh: Honor provisioner's capabilities" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:34:38 +0000 (14:34 +0000)]
Merge "mesh: Refresh provisioner's capabilities" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:34:29 +0000 (14:34 +0000)]
Merge "mesh: Clean up naming of provisioning callbacks" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:34:20 +0000 (14:34 +0000)]
Merge "mesh: Remove unused 'server' argument" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:33:43 +0000 (14:33 +0000)]
Merge "tools/mesh-cfgclient: Display unprovisioned OOB data" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:33:34 +0000 (14:33 +0000)]
Merge "tools/mesh-cfgclient: Fix SIGSEGV" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:33:05 +0000 (14:33 +0000)]
Merge "mesh: Add net key index to sar structure" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:32:54 +0000 (14:32 +0000)]
Merge "mesh: Remove unused functions: 'mesh_net_sub_list_add' and 'mesh_net_sub_list_del'" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:32:43 +0000 (14:32 +0000)]
Merge "mesh: Remove unused argument from 'mesh_net_transport_send' function" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:32:35 +0000 (14:32 +0000)]
Merge "tools/mesh-cfgclient: Update to match modified APIs" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:32:25 +0000 (14:32 +0000)]
Merge "test/test-mesh: Update to match modified APIs" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:32:15 +0000 (14:32 +0000)]
Merge "mesh: Update UnprovisionedScan, AddNode & ScanResult" into tizen
Anupam Roy [Thu, 2 Apr 2020 14:31:50 +0000 (14:31 +0000)]
Merge "doc/mesh-api: Forward compatibility modifications" into tizen
Inga Stotland [Sun, 29 Mar 2020 20:56:15 +0000 (13:56 -0700)]
tools/mesh-cfgclient: Add commands for Key Refresh Phase
This adds two new menu commands:
"kr-phase-get" - sends Config Key Refresh Phase Get message
"kr-phase-set" - sends Config Key Refresh Phase Set message
Change-Id: I81e84e1640d10e854933d12af519e64e482a79fa
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Pyun DoHyun [Thu, 2 Apr 2020 02:25:49 +0000 (02:25 +0000)]
Merge "Use the external ell package" into tizen
Inga Stotland [Sun, 29 Mar 2020 20:56:14 +0000 (13:56 -0700)]
tools/mesh-cfgclient: Save subnet key refresh phase
This records Key Refresh phase of a subnet either as a consequence
of successful execution of subnet-update or subnet-set-phase commands.
Change-Id: I71ad1078a915986dd788f695cdd8e25db3e29d92
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Brian Gix [Wed, 1 Apr 2020 18:02:57 +0000 (11:02 -0700)]
mesh: Clear prov capabilities structure before reading
Capabilities need to be zero'd before realtime reading fresh values,
because they are mostly bitmasks, which are set when capabilities are
detected, and never otherwise cleared.
Change-Id: Ie01556568ca1601685445391b4e7c80a23c7983e
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Michał Lowas-Rzechonek [Wed, 1 Apr 2020 10:25:02 +0000 (12:25 +0200)]
doc/mesh-api: OOB Information field is 16 bit, not 32
Change-Id: I7c1cee1b6fc0230a2eb860c3b1ab32e3dddaff9b
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Michał Lowas-Rzechonek [Wed, 1 Apr 2020 10:25:01 +0000 (12:25 +0200)]
mesh: Honor provisioner's capabilities
This patch makes the daemon select authentication method based from
capabilities supported by both provisioned node and provisioner
application.
Change-Id: I36f85087e4b903f7a4472572e96b3a4c75cb96c4
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Michał Lowas-Rzechonek [Wed, 1 Apr 2020 10:25:00 +0000 (12:25 +0200)]
mesh: Refresh provisioner's capabilities
As provisioner's capabilities might change during application lifetime
(e.g. no network link to download OOB key), let's query the agent again
after application calls AddNode().
Change-Id: I29cbff53383fec85bc9eba00e6729defcd423ce4
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Michał Lowas-Rzechonek [Wed, 1 Apr 2020 10:24:59 +0000 (12:24 +0200)]
mesh: Clean up naming of provisioning callbacks
Change-Id: I06a052241958d54371270c1ff15117160d27c5e8
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Michał Lowas-Rzechonek [Wed, 1 Apr 2020 10:24:58 +0000 (12:24 +0200)]
mesh: Remove unused 'server' argument
Change-Id: If1a5c46c2cd30a73d89cc101a696c3330e825579
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Michał Lowas-Rzechonek [Wed, 1 Apr 2020 10:24:57 +0000 (12:24 +0200)]
tools/mesh-cfgclient: Display unprovisioned OOB data
Change-Id: I9257279860ca2e7fb537d9de9b02d4ecb3ab737f
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Anupam Roy [Wed, 1 Apr 2020 10:37:36 +0000 (16:07 +0530)]
tools/mesh-cfgclient: Fix SIGSEGV
This patch addresses the following crash:
[mesh-cfgclient]#
Program received signal SIGSEGV, Segmentation fault.
strlen () at ../sysdeps/x86_64/strlen.S:106
106 ../sysdeps/x86_64/strlen.S: No such file or directory.
(gdb) bt
0 strlen () at ../sysdeps/x86_64/strlen.S:106
1 0x00000000004235d6 in l_dbus_interface_method (interface=interface@entry=0x66d900, name=name@entry=0x42bbad "ScanResult", flags=flags@entry=0,
cb=cb@entry=0x404940 <scan_result_call>, return_sig=return_sig@entry=0x42f7ca "", param_sig=param_sig@entry=0x42bba4 "naya{sv}") at ell/dbus-service.c:320
2 0x000000000040433d in setup_prov_iface (iface=0x66d900) at tools/mesh-cfgclient.c:1695
3 0x00000000004249b1 in _dbus_object_tree_register_interface (tree=0x65b770, interface=interface@entry=0x42baa8 "org.bluez.mesh.Provisioner1",
setup_func=setup_func@entry=0x404310 <setup_prov_iface>, destroy=destroy@entry=0x0, old_style_properties=old_style_properties@entry=false)
at ell/dbus-service.c:1385
4 0x000000000041cffa in l_dbus_register_interface (dbus=<optimized out>, interface=interface@entry=0x42baa8 "org.bluez.mesh.Provisioner1",
setup_func=setup_func@entry=0x404310 <setup_prov_iface>, destroy=destroy@entry=0x0, handle_old_style_properties=handle_old_style_properties@entry=false)
at ell/dbus.c:1455
5 0x0000000000403f4e in register_app () at tools/mesh-cfgclient.c:1770
6 client_ready (client=<optimized out>, user_data=<optimized out>) at tools/mesh-cfgclient.c:1815
7 0x0000000000425ed2 in get_managed_objects_reply (message=<optimized out>, user_data=0x66ab50) at ell/dbus-client.c:572
8 0x000000000041bc25 in handle_error (message=0x66c0c0, dbus=<optimized out>) at ell/dbus.c:236
9 0x000000000041cdcc in message_read_handler (io=<optimized out>, user_data=0x6653f0) at ell/dbus.c:276
10 0x0000000000418763 in io_callback (fd=<optimized out>, events=1, user_data=0x6664e0) at ell/io.c:126
11 0x000000000041957a in l_main_iterate (timeout=<optimized out>) at ell/main.c:473
12 0x000000000041964c in l_main_run () at ell/main.c:520
13 0x000000000041986b in l_main_run_with_signal (callback=callback@entry=0x4153a0 <l_sig_func>, user_data=user_data@entry=0x0) at ell/main.c:642
14 0x0000000000415471 in mainloop_run_with_signal (func=func@entry=0x4139a0 <signal_callback>, user_data=user_data@entry=0x0) at src/shared/mainloop-ell.c:87
15 0x0000000000414b6f in bt_shell_run () at src/shared/shell.c:1177
16 0x00000000004039ed in main (argc=<optimized out>, argv=<optimized out>) at tools/mesh-cfgclient.c:1999
Change-Id: If3906df5485d4f2276a51db1c283b5865d626139
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Przemysław Fierek [Tue, 31 Mar 2020 12:09:08 +0000 (14:09 +0200)]
mesh: Add net key index to sar structure
This patch adds net key index to struct mesh_sar. This fixes problem with
using invalid network key to encrypt application messages.
Change-Id: I5dfb8a2cd8cdc496e70ef1fafee60998a05bc698
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Przemysław Fierek [Tue, 31 Mar 2020 12:09:07 +0000 (14:09 +0200)]
mesh: Remove unused functions: 'mesh_net_sub_list_add' and 'mesh_net_sub_list_del'
Change-Id: If62f3b67b94785f14de862f2936aaff2bca573ec
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Przemysław Fierek [Tue, 31 Mar 2020 12:09:06 +0000 (14:09 +0200)]
mesh: Remove unused argument from 'mesh_net_transport_send' function
Change-Id: Iceae64fcd23c8891a1e5955e58f824aac1279742
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Fri, 27 Mar 2020 18:42:57 +0000 (11:42 -0700)]
tools/mesh-cfgclient: Update to match modified APIs
This handles updated parameter list in UnprovisionedScan(),
AddNode() and ScanResult() D-Bus methods
Change-Id: Id98ff232310576ab2c518081fa438f6643bf2734
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Fri, 27 Mar 2020 18:42:56 +0000 (11:42 -0700)]
test/test-mesh: Update to match modified APIs
This handles updated parameter list in UnprovisionedScan(),
AddNode() and ScanResult() D-Bus methods
Change-Id: I9022a1aaf46f8609cc21f20864d5adbf223a32a2
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Fri, 27 Mar 2020 18:42:55 +0000 (11:42 -0700)]
mesh: Update UnprovisionedScan, AddNode & ScanResult
The following methods are modified to allow for future development:
Interface org.bluez.mesh.Management1:
Old: void UnprovisionedScan(uint16 seconds)
New: void UnprovisionedScan(dict options)
The options parameter is a dictionary with the following keys defined:
uint16 Seconds
Specifies number of seconds for scanning to be active.
If set to 0 or if this key is not present, then the
scanning will continue until UnprovisionedScanCancel()
or AddNode() methods are called.
other keys TBD
Old: void AddNode(array{byte}[16] uuid)
New: void AddNode(array{byte}[16] uuid, dict options)
The options parameter is currently an empty dictionary
Interface org.bluez.mesh.Provisioner1
Old: void ScanResult(int16 rssi, array{byte} data)
New: void ScanResult(int16 rssi, array{byte} data, dict options)
The options parameter is currently an empty dictionary
Change-Id: Ia4b95ea2850c39406859e861b41f79f88a18910a
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Fri, 27 Mar 2020 18:42:54 +0000 (11:42 -0700)]
doc/mesh-api: Forward compatibility modifications
The following methods are modified to allow for future development:
Interface org.bluez.mesh.Management1:
Old: void UnprovisionedScan(uint16 seconds)
New: void UnprovisionedScan(dict options)
The options parameter is a dictionary with the following keys defined:
uint16 Seconds
Specifies number of seconds for scanning to be active.
If set to 0 or if this key is not present, then the
scanning will continue until UnprovisionedScanCancel()
or AddNode() methods are called.
other keys TBD
Old: void AddNode(array{byte}[16] uuid)
New: void AddNode(array{byte}[16] uuid, dict options)
The options parameter is currently an empty dictionary
Interface org.bluez.mesh.Provisioner1
Old: void ScanResult(int16 rssi, array{byte} data)
New: void ScanResult(int16 rssi, array{byte} data, dict options)
The options parameter is currently an empty dictionary
Change-Id: I6e9922a4f0ade412980693e463f024d363899530
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Deokhyun Kim [Tue, 25 Feb 2020 02:26:54 +0000 (11:26 +0900)]
Add GATT data batching
Change-Id: I68a2b1047e43bc074df64edc018ab885a1a7ac1e
Pyun DoHyun [Fri, 27 Mar 2020 03:37:47 +0000 (03:37 +0000)]
Merge "Add GetEnergyInfo method for the power management" into tizen
Brian Gix [Wed, 25 Mar 2020 16:55:49 +0000 (09:55 -0700)]
mesh: Whitespace correction
Change-Id: I186cd70cfdb80d842d6ddb944682a93ef146e83f
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Prathyusha N [Tue, 24 Mar 2020 19:27:23 +0000 (00:57 +0530)]
mesh: Send input complete for input OOB Authentication
Send input complete when user completes input operation.
Change-Id: Iff9e863e2392992aa838884c56b05bbdfd35c641
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Prathyusha N [Tue, 24 Mar 2020 19:27:18 +0000 (00:57 +0530)]
mesh: Handle invalid public keys
Check for invalid public keys received and send provision failed.
Change-Id: Ie1a62b525560b367729c8f96b95669ffb34b70b1
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Prathyusha N [Tue, 24 Mar 2020 19:27:21 +0000 (00:57 +0530)]
mesh: Handle netkey delete when netkey is not in netkeylist
4.4.1.2.9 of Mesh Profile Bluetooth specification:
When an element receives a Config NetKey Delete message that
identifies a NetKey that is not in the NetKey List, it
responds with Success, because the result of deleting the
key that does not exist in the NetKey List will be the same
as if the key was deleted from the NetKey List.
Change-Id: Ibbf51b1e2cb53480cc77cd44f79ce123241adef3
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Brian Gix [Mon, 23 Mar 2020 21:37:04 +0000 (14:37 -0700)]
mesh: Fix Replay Protection Cache
There was a bug identified in the RPL storage, such that the real-time
queue was being filled by incorrect unicast addresses. (Thx ccsanden).
Change-Id: I4460f9506242208571a1ff6c1377e5ec2bb28c40
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Brian Gix [Wed, 18 Mar 2020 17:00:20 +0000 (10:00 -0700)]
mesh: Allow short messages to be segmented
For added reliability, it is legal to send short messages as "single
segment" segmented messages, which require transport layer
acknowledgement. This feature is intended for heavy usage in the future
so I am adding it now.
Further, to support this functionality, an additional queue has been
added to allow multiple SAR messages to the same DST to be queued and
sent serially.
Change-Id: I6dfa9543ab9a9a49438e46f38fa25659f50db82d
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Wed, 18 Mar 2020 17:48:59 +0000 (10:48 -0700)]
tools/mesh-cfgclient: Increase app's CRPL size
This increases the value of the CRPL supplied by the applicaiton
to 0x7fff: since the tool is intended to be a provisioner and config
client, it may have to keep track of communications with a significant
number of unique mesh nodes, each with its corresponding CRPL entry in
config client node storage. Therefore, a large CRPL size is necessary.
Change-Id: Ibe00615cc57e161d107f36c6b1086a495dc9aa5e
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 17 Mar 2020 22:15:46 +0000 (15:15 -0700)]
mesh: Fix processing of Config Node Reset message
This fixes a condition when a node continues processing messages
after it has been reset by a remote configuration client.
Upon receiving Config Node Reset message, node removal happens after
a grace interval to allow sending of Config Node Reset Status reply.
Change-Id: I7bb87d65c141a479325fc5436921e62aab0eef95
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 17 Mar 2020 22:15:45 +0000 (15:15 -0700)]
tools/mesh-cfgclient: Implement node-reset command
This implements one-pass removal oa a remote node from a mesh network
by issuing a node-reset command from config menu. The following actions
are performed:
- Config Node Reset message is sent to a remote node
- Upon either receiving Config Node Reset Status or response timeout,
node record is removed from configuration client's database and,
by calling DeleteRemoteNode() method on mesh.Management interface
node-delete command from the main menu is removed.
Change-Id: I52fb6c640b6001373ff9650b3440f518ad5d5d85
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Wed, 11 Mar 2020 22:37:12 +0000 (15:37 -0700)]
test/test-mesh: Add support for static OOB in the agent
This allows to display a 16-octet key to be entered on the remote
device during provisioning.
Change-Id: If00c3e86c419733a348f412ec350a88d4127f85f
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Brian Gix [Wed, 11 Mar 2020 22:59:40 +0000 (15:59 -0700)]
tools/mesh-cfgclient: Add support for Static OOB key
This fixes a bug that didn't allow 16 octet Static OOB strings during
provisioning.
Change-Id: I08c04784d920b4cf4dcff0e172e9095d00be7bc7
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Brian Gix [Wed, 11 Mar 2020 22:15:18 +0000 (15:15 -0700)]
README: Add Mesh required Kernel Configuration section
Not all distributions include all required mesh crypto support. This
adds a section with known kernel required options.
Change-Id: I8b62d79ffb4688426f1b37a27be494abcd1eb00a
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Wed, 4 Mar 2020 07:39:15 +0000 (23:39 -0800)]
tools/mesh-cfgclient: Record remote node's default TTL
This adds code to save the value of a remote node's default TTL
upon receiving Config Default TTL Status message.
Also, cleanup leftover "#if 0" clause
Change-Id: Ie1bb672b4b3b617017e08b68c73c2c8c361fa00a
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Mon, 2 Mar 2020 20:40:29 +0000 (12:40 -0800)]
tools/mesh-cfgclient: Add address checks for pub/sub commands
This addrs verification of subscriptpion address value entered on
the command line: unassigned address, unicast address, and
all-nodes address are not allowed. Publication address check verifies
that the entered value falls into mesh address space.
Also, change the type of parameter count in comaand processing routines
from int to uint32_t to match the retrun type of the parameter parsing
routine.
Change-Id: Ib5747a132e59e4af5f21dbad5319167234230548
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Thu, 27 Feb 2020 06:56:07 +0000 (22:56 -0800)]
mesh: Remove unused parameters from internal rx functions
This removes unused ttl parameter from mesh_model_rx(). The TTL value
is not processed at the access layer, so there is no need to pass it
to a model.
Also, remove "uint32_t dst" parameter from the typedef of
mesh_model_recv_cb: providing a just destination address is sufficient
for internally implemented models (currently, it's only Config Server)
Change-Id: I603aa23a495a40bb804e0a370331d1efd8508270
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 25 Feb 2020 18:44:18 +0000 (10:44 -0800)]
test/test-mesh: Fix output of UpdateModelConfig method
This correctly unpacks configuration dictionary received
in the UpdateModelConfig() method
Change-Id: If7ca5d0b2249508bb0df4a0cc7f78d74da8e30bc
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 25 Feb 2020 18:44:17 +0000 (10:44 -0800)]
mesh: Clean up handling config model publication message
This tightens up the Config Server code that handles the processing of
Config Model Publication Set and Config Model Publication Get messages.
Change-Id: I3ce67395f0a092e37f0e8f2396092b13ff53ac20
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 25 Feb 2020 18:44:16 +0000 (10:44 -0800)]
mesh: Simplify model virtual pub/sub logic
This reorganizes the part of the code that handles model publishing
and subscribitng to virtual labels.
Change-Id: I4780c38113b64967ed555ef8172b15e98cab3ed3
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 25 Feb 2020 18:44:15 +0000 (10:44 -0800)]
tools/mesh-cfgclient: Save and restore group addresses
This allows to save created virtual labels and group addresses
in configuration file. The stored values can be restored upon
the tool start up.
Change-Id: Idd28a88e47f1401f488bd770ce6c9940fdb39bd0
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 25 Feb 2020 18:44:14 +0000 (10:44 -0800)]
tools/mesh-cfgclient: Clean up subscription list output
This tightens up the subscritpiton list status print out:
use the same function for vendor and SIG models.
Change-Id: Ifc6dac0152c6b62cbcaf6b0648c42bb822274401
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 25 Feb 2020 18:44:13 +0000 (10:44 -0800)]
tools/mesh-cfgclient: Add support for virtual labels
This adds commands to generate and use virtual addresses for
configuring remote node's publication and subscription.
New commands:
virt-add - generate a new label and calculate virtual address
group-list - displays group addresses that are in use and available
virtual labels with corresponding virtual addresses
Change-Id: I823786d050673491739d895461d8b564c757ee6b
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Brian Gix [Sun, 23 Feb 2020 18:47:37 +0000 (10:47 -0800)]
mesh: rework incoming advertisement filtering
Future versions of Mesh will introduce new advertising packets, which
do not fit in the limited and rigid filtering currently used. This minor
rewrite allows registering and receiving of *any* AD types, including
the filtering on multiple octets of the incoming AD parts.
Change-Id: I36c8f673100afbfd3738d9e243020f13064c7262
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 18 Feb 2020 19:30:10 +0000 (11:30 -0800)]
mesh: Fix app payload decryption for virtual labels
This fixes a bug when a virtual label and its size hasn't been passed
to a decryption function: instead of always using NULL pointer for
label and 0 for lable size, use actual virtual label info if decrypting
a payload addressed to a virtual destination.
Change-Id: Ica8abfd453aa4085998c00725f4bf23146d9a5dd
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Brian Gix [Tue, 18 Feb 2020 18:34:36 +0000 (10:34 -0800)]
unit: Add Mesh test 8.3.22 - Virtual Addressing
Change-Id: I7a4bfaed4f961466c3eb81b0f46cc8643169c495
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 18 Feb 2020 07:52:08 +0000 (23:52 -0800)]
test/test-mesh: Fix output of MessageReceived method
This fixes formatted output of recieved message parameters.
Change-Id: I3df227d548ed9f99c806c6b5fec264555fee5d2f
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Fri, 7 Feb 2020 06:39:45 +0000 (22:39 -0800)]
mesh: Fix keyring app keys directory iteration
This fixes how app key files are accessed when finalizing
Key Refresh procedure. Instead of using open(entry->d_name, ...)
to get file descriptor, use openat(dir_fd, entry->d_name, ...)
since entry->d_name contains a relative app key filename, not an
absolute path.
Change-Id: I943a3b180ed8425d3437a659c50461e167353bfd
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Wed, 5 Feb 2020 22:53:43 +0000 (14:53 -0800)]
mesh: Allow to finish key refresh when no AppKeys are stored
This handles a case when a Key Refresh procedure is in place with
no application keys stored in the keyring. When KR procedure is
finalized, the check for the presence of AppKeys storage directory
does not return failure if the directory does not exist.
Also, remove duplicate include.
Change-Id: I1ca58e5b4f06acf8ef17e8eb0ac0afa3f7decd70
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
DoHyun Pyun [Wed, 25 Mar 2020 06:57:14 +0000 (15:57 +0900)]
Use the external ell package
Change-Id: Ibbc87d87131a5b4abcb6dc48eb8232df43566218
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
DoHyun Pyun [Tue, 24 Mar 2020 05:46:40 +0000 (14:46 +0900)]
Add GetEnergyInfo method for the power management
Change-Id: I46afc2c2575f996723b175a6febbeff0ff5938f1
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
DoHyun Pyun [Tue, 24 Mar 2020 01:10:36 +0000 (10:10 +0900)]
Prevent the exception case in GATT connect
If kernel's crypto API does not work, we can't use
GATT database hash. So we add the exception case
for this.
Change-Id: Id4e5e9b7ff814aedd3f3e43d689ced3be8ee25dd
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
injun.yang [Mon, 16 Mar 2020 05:58:14 +0000 (14:58 +0900)]
GATT: Ignore svc changed indication before starting full scan
[Model] All
[BinType] AP
[Customer] OPEN
[Issue#] N/A
[Request] Internal
[Occurrence Version] N/A
[Problem] Service discovery failed
[Cause & Measure] When gatt connected, bluez start full discovery.
Duplicated svc disvovery is not required
[Checking Method] OOBE connection with iPhone 6 > turn off iPhone BT off & on
[Team] Convergence BT
[Developer] Injun Yang
[Solution company] Samsung
[Change Type] Specification change
Change-Id: I86f326c48c86e4456bd9fa043994f0d32849e2b2
Wootak Jung [Fri, 20 Mar 2020 06:41:32 +0000 (15:41 +0900)]
Fix stack smashing detected issue
le_conn_param data should be filled as a uint16 not uint32.
it can cause stack overflow.
#3 0xf7233a70 in __GI___fortify_fail_abort (need_backtrace=
need_backtrace@entry=false, msg=0xf72741cc "stack smashing detected")
at fortify_fail.c:28
No locals.
#4 0xf7233a34 in __stack_chk_fail () at stack_chk_fail.c:29
No locals.
#5 0x00958f88 in update_le_conn_parm (conn=<optimized out>, msg=0x0,
user_data=<optimized out>) at src/device.c:4216
device = <optimized out>
io = <optimized out>
fd = <optimized out>
param = {min = 72, max = 72, latency = 0, to_multiplier = 200}
__func__ = "update_le_conn_parm"
Change-Id: Ia0df33fc30e31057ef4b2a07a0ac64d61d67dd81
Wootak Jung [Thu, 19 Mar 2020 03:14:23 +0000 (12:14 +0900)]
Fix a2dp source role connnection issue
selected_sep should be initialized
Change-Id: Icb6f4f3a5ab0d47b051d86c5af1df706ec298600
DoHyun Pyun [Thu, 5 Mar 2020 05:20:05 +0000 (14:20 +0900)]
Don't use the dbus auto-activation in TV profile
Change-Id: I80fb8575c5f7228d45b4119f3bf8b79e7a7f90a7
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
injun.yang [Tue, 3 Mar 2020 08:47:28 +0000 (17:47 +0900)]
Fix : slave long term key is not loaded
[Model] All
[BinType] AP
[Customer] OPEN
[Issue#] N/A
[Request] Internal
[Occurrence Version] N/A
[Problem] Request LE pairing again to paired device.
[Cause & Measure] After BT off/on, slave long term key is not loaded.
[Checking Method] Test with iOS GM
[Team] Convergence BT
[Developer] Injun Yang
[Solution company] Samsung
[Change Type] Specification change
Change-Id: I4191331b69b892891e02f904554eb7733e3eabe6
injun.yang [Wed, 26 Feb 2020 11:16:02 +0000 (20:16 +0900)]
While LE scanning, send first RPA instead of IDA
[Model] All
[BinType] AP
[Customer] OPEN
[Issue#] N/A
[Request] Internal
[Occurrence Version] N/A
[Problem] Durning LE scanning, unable to find a paired RPA device
[Cause & Measure] Bluez report it as IDA instead of PRA. Handle it as RPA
[Checking Method] LE scan for paired RPA device
[Team] Convergence BT
[Developer] Injun Yang
[Solution company] Samsung
[Change Type] Specification change
Change-Id: I890fda13825172f759d4f4f317dfd053504c4c4b
Signed-off-by: injun.yang <injun.yang@samsung.com>
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
DoHyun Pyun [Sun, 1 Mar 2020 23:50:25 +0000 (08:50 +0900)]
Update the version to 5.52
Change-Id: I61221e0254289d2e68fa1f14bfa29008387118db
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
DoHyun Pyun [Wed, 26 Feb 2020 00:05:04 +0000 (09:05 +0900)]
Initialize AVC volume in SINK reconnecting time
Change-Id: Id566b529ac352b1d3120f5295414534c928bbf74
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
Sangki Park [Fri, 21 Jun 2019 02:22:12 +0000 (11:22 +0900)]
AVC : prevent ear-shock sound
[Model] Renaissance
[BinType] AP
[Customer] ALL
[Issue#] N/A
[Request] N/A
[Occurrence Version] N/A
[Problem] N/A
[Cause & Measure] N/A
[Checking Method] N/A
[Team] Bluetooth
[Developer] Sangki Park
[Solution company] Samsung
[Change Type] Specification change
Change-Id: If6adfdeab296821d4e6409685fcdbb0c73bebbcc
Sangki Park [Tue, 18 Jun 2019 09:11:03 +0000 (18:11 +0900)]
Check AVRCP volume gain when A2DP connected
[Model] Renaissance
[BinType] AP
[Customer] ALL
[Issue#] Internal
[Request] N/A
[Occurrence Version] N/A
[Problem] If AVRCP connection is made before A2DP connection,
the AVC volume gain could not be set because of no transport device.
To fix the problem, check AVRCP AVC volume when A2DP is connected.
[Cause & Measure] N/A
[Checking Method] N/A
[Team] Bluetooth
[Developer] Sangki Park
[Solution company] Samsung
[Change Type] Specification change
Change-Id: I65dd03a4192fcaec35da3d2a5dad0d62fa4c5f3e
Pyun DoHyun [Tue, 25 Feb 2020 01:57:18 +0000 (01:57 +0000)]
Merge "Send the positive response for AVRCP_EVENT_VOLUME_CHANGED" into tizen
injun.yang [Mon, 24 Feb 2020 08:11:42 +0000 (17:11 +0900)]
Fix: background gatt connection is not working
[Model] All
[BinType] AP
[Customer] OPEN
[Issue#] N/A
[Request] Internal
[Occurrence Version] N/A
[Problem] background gatt connection is not working
[Cause & Measure] If auto_connect is true, initiate background auto connection
and reply dbus to bt-service
[Checking Method] background gatt auto connection
[Team] Convergence BT
[Developer] Injun Yang
[Solution company] Samsung
[Change Type] Specification change
Change-Id: Ie9f0887774a9e46a26a209d11cbca70298379489
DoHyun Pyun [Mon, 24 Feb 2020 07:27:50 +0000 (16:27 +0900)]
Send the positive response for AVRCP_EVENT_VOLUME_CHANGED
Change-Id: If243d77e095b607052d17d93616b0d0711d724a7
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
DoHyun Pyun [Fri, 21 Feb 2020 03:44:37 +0000 (12:44 +0900)]
Don't set the system volume in AVC Target mode
Change-Id: I8aaf66d7f9fdc5945d06d8607b4a75c3151bb195
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
DoHyun Pyun [Wed, 19 Feb 2020 02:06:53 +0000 (11:06 +0900)]
Fix the get / set property fail issue for transport
Change-Id: I0452c2df36a20e74faa6d47f356082a9ffb61c63
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
DoHyun Pyun [Mon, 17 Feb 2020 06:28:27 +0000 (15:28 +0900)]
Merge branch 'bluez_upgrade_5.52' into tizen
Change-Id: I8de9bd87762d3e985f2e9209170e65fd6c64d6c6
Deokhyun Kim [Thu, 6 Feb 2020 11:27:26 +0000 (20:27 +0900)]
Apply secure log to uinput path
<6>[ 712.832464] [1: bluetoothd: 4557] input: 64:7B:XX:XX:5A:71 as /devices/virtual/input/input6
Change-Id: I68dfc2f3362f03036d4a99a15906a95482b70354
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
himanshu [Wed, 12 Feb 2020 07:29:37 +0000 (12:59 +0530)]
Merge branch 'bluez_upgrade_5.52' of https://review.tizen.org/gerrit/p/platform/upstream/bluez into bluez_upgrade_5.52
Marcel Holtmann [Thu, 31 Oct 2019 06:58:44 +0000 (07:58 +0100)]
Release 5.52
Change-Id: Ia68e20375186874b3c18ec7a8941c40433f713a5
Signed-off-by: himanshu <h.himanshu@samsung.com>
Marcel Holtmann [Mon, 3 Dec 2018 18:47:20 +0000 (19:47 +0100)]
build: Move $(UDEV_CFLAGS) to global $(AM_CFLAGS)
Change-Id: Iffd8d88092266bc4afdecda9da7a9dcb48bc2c78
Signed-off-by: himanshu <h.himanshu@samsung.com>
Jan Engelhardt [Wed, 28 Nov 2018 15:45:14 +0000 (16:45 +0100)]
build: make building with --coverage work again
When `./configure --enable-coverage` is given and lcov is present,
MISC_CFLAGS and MISC_LDFLAGS will be set to --coverage. However,
1. obexd uses per-target LDFLAGS and, in doing so, forget to re-mention
$(AM_LDFLAGS). This problem existed for a long time.
2. obexd uses per-target CFLAGS and, in doing so, forgot to re-mention
$(AM_CFLAGS). This got broken in
06dbb223fbe50acc48b3ba1d33cb424275b4baaa.
This led to no --coverage showing up in the linker line for obexd,
causing a link failure indicating unresolved symbols like
__gcov_exit.
Change-Id: I4aca476dd36f1ddc960f8f3c85cb615f9e2d36d3
Signed-off-by: himanshu <h.himanshu@samsung.com>
Jan Engelhardt [Sun, 25 Nov 2018 09:20:12 +0000 (10:20 +0100)]
build: add missing BACKTRACE_CFLAGS
Some targets use BACKTRACE_LIBS, hence need BACKTRACE_CFLAGS.
Change-Id: I1862e2e3f649183f170e102b384e7eec90bcc9a6
Signed-off-by: himanshu <h.himanshu@samsung.com>
Jan Engelhardt [Sun, 25 Nov 2018 09:20:08 +0000 (10:20 +0100)]
build: -D/-I arguments go into CPPFLAGS
-D and -I are preprocessor directives, they are therefore to appear
in CPPFLAGS, not CFLAGS. (It is unfortunate that pkg-config does not
make the distinction / or it was misnamed, because only -D/-I make
sense to be emitted by pkg-config in the first place — anything else
(-f/-m) has the potential to mess up someone's compilation. So
pkg-config's Cflags is actually used to convery Cppflags.)
Change-Id: I7031834ae2d9446367ce02ca78be9842dece0683
Signed-off-by: himanshu <h.himanshu@samsung.com>
himanshu [Tue, 11 Feb 2020 05:12:47 +0000 (10:42 +0530)]
Fix: Bluez build Failure because of wrong libexecdir value
This Fix is needed because the libexecdir was replaced with
pkglibexecdir in the following upstream patch.
Commit ID -
78bce480093799c287ac8561b9407fa48796a130
Change-Id: I42905c94a6db3496b017d8b3faf394f8c749cda5
Signed-off-by: himanshu <h.himanshu@samsung.com>
Jan Engelhardt [Sun, 18 Nov 2018 16:07:55 +0000 (17:07 +0100)]
build: rename libexecdir to pkglibexecdir
When files are to be placed not in libexecdir but a subdirectory of
it, automake has a variable name reserved for exactly that purpose
(and a default value, which Makefile.am will override), called
pkglibexecdir. Let's use it.
Change-Id: I8b4e271814ab998a7eccaf5c3c2ac3ddc539a6df
Signed-off-by: himanshu <h.himanshu@samsung.com>