platform/core/connectivity/bluetooth-frwk.git
4 years agoMesh: Disallow group deletion if it is in use 44/243844/2
Abhay Agarwal [Thu, 10 Sep 2020 11:06:31 +0000 (16:36 +0530)]
Mesh: Disallow group deletion if it is in use

Change-Id: I4ec8a71dd53371a3d57a066af91d13d6d77dcc69
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoFix dbus timeout issue 98/243798/1
Wootak Jung [Thu, 10 Sep 2020 06:18:17 +0000 (15:18 +0900)]
Fix dbus timeout issue

Remove deprecated recover logic

Change-Id: I2d737b7049effa9772a2d0ef36fe0d17ea3501e6
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
4 years agoUse shared connection instead of private connection 33/243633/2
Wootak Jung [Tue, 8 Sep 2020 23:24:26 +0000 (08:24 +0900)]
Use shared connection instead of private connection

private connection is not recommended except specific usecase

Change-Id: Iab62eb16860014fc99a99ea29416313ec89efef3
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
4 years agoMesh: Maintain group subscription list in cdb 43/243843/1
Abhay Agarwal [Wed, 2 Sep 2020 04:40:37 +0000 (10:10 +0530)]
Mesh: Maintain group subscription list in cdb

This patch updates the cdb when subscription status is received
on request of sub add, delete, delete all and sub overwrite.

Change-Id: I5b1d9b2748173ec70c971c0a64f63b073d602390
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoHandle no appearance data type (0x19) in adv data 33/243333/2 accepted/tizen/unified/20200909.014251 submit/tizen/20200907.031811
DoHyun Pyun [Sun, 6 Sep 2020 23:46:02 +0000 (08:46 +0900)]
Handle no appearance data type (0x19) in adv data

Change-Id: I51659c64f66a449d2135f1414bce7b18e890fef0
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
4 years agoAllows value of Appearance advertisement data as 0x00 32/242832/1 accepted/tizen/unified/20200902.011928 accepted/tizen/unified/20200904.035418 submit/tizen/20200901.064142 submit/tizen/20200902.223427
Amit Purwar [Tue, 1 Sep 2020 06:12:01 +0000 (11:42 +0530)]
Allows value of Appearance advertisement data as 0x00

Change-Id: Idfa18fc7777aedae7a8c9afdf8caa39555e4c132
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
4 years agoMesh: Fix model message execution 19/242819/1
Abhay Agarwal [Tue, 1 Sep 2020 05:33:52 +0000 (11:03 +0530)]
Mesh: Fix model message execution

Change-Id: I5ed5de49eb724357cbc3d2ccbedceaa7bfbeebac
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoAdd the log in set advertisement data 16/242716/2
Amit Purwar [Mon, 31 Aug 2020 09:04:13 +0000 (14:34 +0530)]
Add the log in set advertisement data

Change-Id: I94ed82eaff293091e41f9128e0dda6e34a23b91c
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
4 years agoFix 64bit build error 53/242553/1 accepted/tizen/unified/20200831.002545 accepted/tizen/unified/20200901.042009 submit/tizen/20200827.215651 submit/tizen/20200831.035527
DoHyun Pyun [Thu, 27 Aug 2020 23:13:07 +0000 (08:13 +0900)]
Fix 64bit build error

Change-Id: I2c9f95dd6015826e5db41981d3644aa58f1096c2
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
4 years agoMerge "Mesh: Enable simultaneous LE scan operations" into tizen
Pyun DoHyun [Thu, 27 Aug 2020 21:42:43 +0000 (21:42 +0000)]
Merge "Mesh: Enable simultaneous LE scan operations" into tizen

4 years agoMesh: Enable simultaneous LE scan operations 89/241889/3
Abhay Agarwal [Thu, 20 Aug 2020 07:35:01 +0000 (13:05 +0530)]
Mesh: Enable simultaneous LE scan operations

Mesh operations over PB-ADV requires continous LE scan on HCI.
When using HCI RAW channel for mesh operations, LE scan
should not be disabled for their continous execution.
This patch modifies to allow such simulataneous LE scan operations
on bluetoothd and meshd.

Change-Id: I6f1825d3a48536269fa1b520fd2171b7283f60b4
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoFix gatt disconnected event occured twice issue 50/242450/1
Wootak Jung [Thu, 27 Aug 2020 05:04:59 +0000 (14:04 +0900)]
Fix gatt disconnected event occured twice issue

gatt server start > gatt connected > gatt disconnected from client
> two disconnected event occured

Remove client info if existing even if remote client disconnected

Change-Id: I969ecb97c4ae4c1597cb72538cf8fe476652f59f
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
4 years agoMerge "Mesh: Save vendor & model info post net create" into tizen
Pyun DoHyun [Thu, 27 Aug 2020 04:56:05 +0000 (04:56 +0000)]
Merge "Mesh: Save vendor & model info post net create" into tizen

4 years agoMesh: Save vendor & model info post net create 13/242413/2
Anupam Roy [Wed, 26 Aug 2020 17:24:12 +0000 (22:54 +0530)]
Mesh: Save vendor & model info post net create

This patch handles following:-

Vendor & model info of local config client
node was not saved to Configuration database
after network is created which caused Network
Load operation to fail due to missing Vendor
& Model Info.

With this patch, all vendor & model info are now
saved to CDB. Dduring Network Load, all data are
fetched from Conf DB and node data is prepared,
which is eventually used to attach to the Network.

Change-Id: Id2d59a6d8bebb32a9a251781b3c0cab494daea1f
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Handle meshd init failure 01/242401/2
Abhay Agarwal [Wed, 26 Aug 2020 09:24:26 +0000 (14:54 +0530)]
Mesh: Handle meshd init failure

Change-Id: I69802928eb8c03591039d3166ade05c03211811e
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoMerge "Fix: GATT connect Failure if Adv. enabled on slot 0" into tizen accepted/tizen/unified/20200827.105818 submit/tizen/20200825.221936
Pyun DoHyun [Tue, 25 Aug 2020 22:01:46 +0000 (22:01 +0000)]
Merge "Fix: GATT connect Failure if Adv. enabled on slot 0" into tizen

4 years agoMesh: Handle timeout for missing request 55/242355/1
Abhay Agarwal [Tue, 25 Aug 2020 12:52:26 +0000 (18:22 +0530)]
Mesh: Handle timeout for missing request

This patch handles
- Fix reset scan and provision states on app deinit.
- Fix group message response processing
- Handles timeout for publication get/set
- Handles timeout for model appkey bind/unbind.

Change-Id: I6a4425f39f6db3697d6f610bf614129dfa7e0e33
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoFix: GATT connect Failure if Adv. enabled on slot 0 72/242172/2
himanshu [Mon, 24 Aug 2020 17:11:05 +0000 (22:41 +0530)]
Fix: GATT connect Failure if Adv. enabled on slot 0

This patch fix the issue of gatt connect call,
failure if advertising is running on slot 0.
If advertising is running on slot 0, the kernel
proceeds to initiate connection as a slave
in form of directed advertising.

The advertising should be hold and reinitiated
in such case.

Change-Id: Id7ba7df82aaabc25da0250b63ebaede5d33a0b96
Signed-off-by: himanshu <h.himanshu@samsung.com>
4 years agoMerge "Mesh: Remove Timer before destroying app object" into tizen accepted/tizen/unified/20200826.133059 submit/tizen/20200825.072855
Pyun DoHyun [Mon, 24 Aug 2020 22:28:42 +0000 (22:28 +0000)]
Merge "Mesh: Remove Timer before destroying app object" into tizen

4 years agoMerge "Mesh: Handle mesh application termination event" into tizen
Pyun DoHyun [Mon, 24 Aug 2020 22:28:26 +0000 (22:28 +0000)]
Merge "Mesh: Handle mesh application termination event" into tizen

4 years agoMerge "FRWK: Allows multiple service data in LE advertising" into tizen
Pyun DoHyun [Mon, 24 Aug 2020 22:27:19 +0000 (22:27 +0000)]
Merge "FRWK: Allows multiple service data in LE advertising" into tizen

4 years agoMerge "Mesh: Handle network proxy added event" into tizen
Pyun DoHyun [Mon, 24 Aug 2020 22:26:38 +0000 (22:26 +0000)]
Merge "Mesh: Handle network proxy added event" into tizen

4 years agoMesh: Remove Timer before destroying app object 71/242171/1
Anupam [Mon, 24 Aug 2020 16:35:49 +0000 (22:05 +0530)]
Mesh: Remove Timer before destroying app object

Change-Id: I4bf2b2b9a29fe43408147537a439299f81bd250e
Signed-off-by: Anupam <anupam.r@samsung.com>
4 years agoMesh: Handle mesh application termination event 48/242148/2
Anupam Roy [Fri, 21 Aug 2020 04:32:52 +0000 (04:32 +0000)]
Mesh: Handle mesh application termination event

This patch handles following
- Keeps track of Mesh Apps Init & Deinit requests
- Handle App termination event & cleanup of resouces
  upon termination
- Reset HAL global DBUS resources on mesh stack
  deinitializaiotn (network proxy & agent message)

Change-Id: I4c7bc7287492f945131b6a7bb586fafe43aae064
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Handle network proxy added event 80/242080/1
Abhay Agarwal [Mon, 24 Aug 2020 04:56:22 +0000 (10:26 +0530)]
Mesh: Handle network proxy added event

This patch delays to handle the MESH INIT pending request
till the network proxy added callback is received.
This resolves the issue in which network proxy relates MESH API
calls from application like network creation can fail due to
non-availability of network proxy.

Change-Id: Iee712b76a9cd96b5cb8c903b2c12ce0a692f81e6
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoFRWK: Allows multiple service data in LE advertising 79/242079/1
Amit Purwar [Mon, 24 Aug 2020 04:40:45 +0000 (10:10 +0530)]
FRWK: Allows multiple service data in LE advertising

Change-Id: I138df1b79a53ca63edcf0fb987ea126c454769de
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
4 years agoCheck enabled before sending rfcomm details 56/242056/1
Deokhyun Kim [Mon, 6 Jul 2020 05:03:24 +0000 (14:03 +0900)]
Check enabled before sending rfcomm details

[Model] Noblesse
[BinType] AP
[Customer] OPEN

[Issue#] P200703-06045
[Request] PLM
[Occurrence Version] R840XXU1BTG1

[Problem] Recovery fails after TX timeout
[Cause & Measure]
[Checking Method]

[Team] Bluetooth
[Developer] Deokhyun Kim
[Solution company] Samsung
[Change Type] Specification change

Change-Id: I163da5c056dd2baa3339dd20c0439c88694d6be9
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
4 years agoRemove abnormal logic for ARTIK530 Success is returned even though stop_scan fails... 52/241952/1
Deokhyun Kim [Fri, 21 Aug 2020 04:03:29 +0000 (13:03 +0900)]
Remove abnormal logic for ARTIK530 Success is returned even though stop_scan fails. It can cause dbus timeout.

Change-Id: I477be2638453de37cfbf2cc894a66c5db10d6a3b
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
4 years agoRestart BLE scan even if it's not stopped intentionally. 50/241950/1
Deokhyun Kim [Tue, 28 Jul 2020 05:05:25 +0000 (14:05 +0900)]
Restart BLE scan even if it's not stopped intentionally.

 In case gatt is connected by local api or remote request,
 BLE scan is stopped unexpectedly & does not update it to api layer.
 BLE scan should be restarted internally, in case of unexpected stop.

Change-Id: I8d7de20f37faacdfdebb16c87a6691fcb5af30a8
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
4 years agoUpdate LE connection interval after GATT connection completed 46/241946/2
injun.yang [Mon, 10 Aug 2020 01:51:27 +0000 (10:51 +0900)]
Update LE connection interval after GATT connection completed

[Model] All
[BinType] AP
[Customer] OPEN

[Issue#] N/A
[Request] Internal
[Occurrence Version] N/A

[Problem] Connection interval 7.5ms maintained
[Cause & Measure] After GATT connection completed, update interval
[Checking Method] gatt connection

[Team] Convergence BT
[Developer] Injun Yang
[Solution company] Samsung
[Change Type] Specification change

Change-Id: Ia48fe3ac6290018631117e322d100d5d194e4cc3
Signed-off-by: injun.yang <injun.yang@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
4 years agoHandle error value of hid agent 42/241942/2
Deokhyun Kim [Mon, 6 Jul 2020 06:40:56 +0000 (15:40 +0900)]
Handle error value of hid agent

Change-Id: If227159bde4292304583995417996c5af7b9f406
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
4 years agoMerge "Fix the svace issue (DEREF_OF_NULL)" into tizen
Pyun DoHyun [Fri, 21 Aug 2020 04:32:52 +0000 (04:32 +0000)]
Merge "Fix the svace issue (DEREF_OF_NULL)" into tizen

4 years agoFix mem leak 13/241913/1
Deokhyun Kim [Thu, 30 Jul 2020 07:56:46 +0000 (16:56 +0900)]
Fix mem leak

Change-Id: If133d1f4816cfcf0aad49f887a940bbdd1d318aa
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
4 years agoFix the svace issue (DEREF_OF_NULL) 05/241905/1
DoHyun Pyun [Thu, 20 Aug 2020 23:45:33 +0000 (08:45 +0900)]
Fix the svace issue (DEREF_OF_NULL)

Change-Id: Id9d1f17f169c6e290a3f6d346adadd7733205f5b
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
4 years agoMesh: Release Network DBUS resources during deinit 98/241898/1 accepted/tizen/unified/20200825.142907 submit/tizen/20200821.002054
Anupam Roy [Thu, 20 Aug 2020 15:55:01 +0000 (21:25 +0530)]
Mesh: Release Network DBUS resources during deinit

When application wants to deinitialize mesh,
Network resources of that application shall be
released by stack. Currently, those resouces
are not released. Also, HAL retains the dynamic
resouces of the Networks, which should be cleaned.

This patch requests release of resources
by calling 'Release' API of stack, which
is introduced in Tizen. When dbus resouces
are cleaned, HAL will automatically release dynamic
resources of networks, upon removal of proxies.

After release, at any point of time, application
can again initialize mesh and 'Attach' the Networks,
that it had created before, with the help of
token, which was aquired during network creation.

Change-Id: I617110d10fdb6d9eaa711f77dcd5a92e6b93a55f
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Handle Multi-application init & deinit logic 84/241384/2 accepted/tizen/unified/20200821.042426 submit/tizen/20200820.041741
Anupam Roy [Wed, 19 Aug 2020 15:33:01 +0000 (21:03 +0530)]
Mesh: Handle Multi-application init & deinit logic

This patch handles following:-
- Introduces Network Unload API. This API
  will be used by application to unload
  all network resources from bt-service.
  During mesh application deinit, FRWK
  library will call Network Unload to cleanup
  resources from service layer. CDB will remain
  unaffected due to this.

- Implements init/deinit logic for multiple apps.
  bt-service keeps reference count of applications.
  mesh stack launch/unlaunch is done single time
  based on app reference count logic. Don't allow
  to stop mesh stack service, if atleast one app
  is using mesh service.

Change-Id: I705c9c4d462036a657184dbdbb131c77af83b3a3
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoG_IO_HUP should be checked before G_IO_IN 26/241026/2
Deokhyun Kim [Fri, 3 Jul 2020 06:17:44 +0000 (15:17 +0900)]
G_IO_HUP should be checked before G_IO_IN

Change-Id: Id9a4ca2bd1fa59160723b831c97687df36db2d39
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
4 years agoMerge "Add busy return logic when connecting timer is existing" into tizen
Pyun DoHyun [Thu, 20 Aug 2020 01:33:49 +0000 (01:33 +0000)]
Merge "Add busy return logic when connecting timer is existing" into tizen

4 years agoMesh: Reset launch timer ID upon expiry 02/241302/2
Anupam Roy [Wed, 19 Aug 2020 05:40:19 +0000 (11:10 +0530)]
Mesh: Reset launch timer ID upon expiry

This patch resets timer ID, upon timer expiry.
If timer ID is not expired, other application
gets timed out on MESH INIT request, as status
remains in progress.

This patch also handles, stack initialization done
error in FRWK. Already done should be treated as
success.

Change-Id: Ic334498ccfbeca18c7c18efceffd1a03129f9241
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Fix crash in node reset 50/241150/2
Abhay Agarwal [Tue, 18 Aug 2020 04:39:51 +0000 (10:09 +0530)]
Mesh: Fix crash in node reset

This patch fix crash due to g_free of node information in
delete node setup.
This patch also removes the lauch timer during deinit of mesh.

Change-Id: I29e3406b57fd06042fcdfb88c43ef047422ddbb6
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoMesh: Fix bug in fetching node vendor info 29/241129/1 accepted/tizen/unified/20200819.035932 submit/tizen/20200817.231237
Anupam Roy [Mon, 17 Aug 2020 17:29:21 +0000 (22:59 +0530)]
Mesh: Fix bug in fetching node vendor info

This patch handles following:
- Use Node's unicast address to search node in CDB.
Network UUID was wrongly used to search node in CDB,
as only local node's UUID will match with Network UUID,
rest of the nodes(provisioned) can be identified by
only their unique device UUID's. Therefore, unicast
address is the unique identifier of a node within
a network.

- NULL check was missing for node json entry before
returning not found result.

- Added few DEBUG prints.

Change-Id: I5374b21768355197e696b1ad5d12ac5d1bf143aa
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Fix network proxy issue 70/240970/5
Abhay Agarwal [Mon, 10 Aug 2020 13:07:25 +0000 (18:37 +0530)]
Mesh: Fix network proxy issue

This patch fix an issue of proxy added callback not being called
for network interface due to simultaeneous operations to register
proxy callback and to launch bluetooth-meshd.

Change-Id: Ibab370d9200ba3563e09f5396c4e0e3434a532ed
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoMesh:Fix Svace issue in bluetooth-frwk 53/241053/2
anuj.bhumiya [Fri, 14 Aug 2020 06:34:45 +0000 (12:04 +0530)]
Mesh:Fix Svace issue in bluetooth-frwk

Change-Id: Iaa8072390d470a77bda655af99565f2eed774511
Signed-off-by: anuj.bhumiya <anuj.bhumiya@samsung.com>
4 years agoAdd busy return logic when connecting timer is existing 25/241025/2
Wootak Jung [Fri, 14 Aug 2020 05:04:29 +0000 (14:04 +0900)]
Add busy return logic when connecting timer is existing

Change-Id: I0c27ef5e18688220793fa0549380ebb9623bc3b0
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
4 years agoMesh: Add Node Reset API in FRWK 89/240989/1 accepted/tizen/unified/20200818.130013 submit/tizen/20200814.005814
Anupam Roy [Thu, 13 Aug 2020 10:23:08 +0000 (15:53 +0530)]
Mesh: Add Node Reset API in FRWK

Change-Id: I70a34fc3601861d383fb9c7a82028ce2ac45811b
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Add support for Node Reset in OAL & HAL 88/240988/1
Anupam Roy [Thu, 13 Aug 2020 10:10:08 +0000 (15:40 +0530)]
Mesh: Add support for Node Reset in OAL & HAL

This patch adds HAL & OAL API's for remote
node reset functionality.

Change-Id: I6805c62e1edd1c3c1e9f1ec6c302df796a114986
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoReduce the predefined logic (PredefinedPreprocessor) 43/240843/1 accepted/tizen/unified/20200813.122623 submit/tizen/20200813.001605
DoHyun Pyun [Wed, 12 Aug 2020 05:37:18 +0000 (14:37 +0900)]
Reduce the predefined logic (PredefinedPreprocessor)

Change-Id: Idc1db93b8ab86ca21fd8b2a1f5d324646e057f0b
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
4 years agoMerge "Fix SAM tool violations (GlobalVariable)" into tizen
Pyun DoHyun [Wed, 12 Aug 2020 04:16:04 +0000 (04:16 +0000)]
Merge "Fix SAM tool violations (GlobalVariable)" into tizen

4 years agoFix cleanup logic regarding notify fd 35/240835/1
Deokhyun Kim [Mon, 10 Aug 2020 07:57:01 +0000 (16:57 +0900)]
Fix cleanup logic regarding notify fd

Change-Id: I577cd0305e529d0dc259e4d38603ee3db5c2f08d
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
4 years agoFix SAM tool violations (GlobalVariable) 32/240832/1
DoHyun Pyun [Wed, 12 Aug 2020 02:29:35 +0000 (11:29 +0900)]
Fix SAM tool violations (GlobalVariable)

Change-Id: I1c590603b570d6dc9d0628ba22c597f073215a9e
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
4 years agoSkip error handling in case of G_IO_NVAL, because the channel is invalid 34/240834/1
Deokhyun Kim [Fri, 7 Aug 2020 06:50:34 +0000 (15:50 +0900)]
Skip error handling in case of G_IO_NVAL, because the channel is invalid

Change-Id: I554ff309e0291b2e014e8e1d88eeaf957030019f
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
4 years agoMesh: Implement Network Destroy Request 03/240803/1 accepted/tizen/unified/20200812.143918 submit/tizen/20200811.230110
Anupam Roy [Tue, 11 Aug 2020 14:05:36 +0000 (19:35 +0530)]
Mesh: Implement Network Destroy Request

This patch handles handles destroying the
network, by which local configuration client
will leave the Mesh Network. Both Stack &
FRWK will consequently remove the DB &
other configuration entries.

Change-Id: I58f567664c49633786f31c760a058889ba7d73b6
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMerge "Mesh: Fix provisioning and mesh message communication" into tizen
Pyun DoHyun [Mon, 10 Aug 2020 23:00:41 +0000 (23:00 +0000)]
Merge "Mesh: Fix provisioning and mesh message communication" into tizen

4 years agoMesh: Fix provisioning and mesh message communication 99/240699/1
Abhay Agarwal [Mon, 10 Aug 2020 13:08:00 +0000 (18:38 +0530)]
Mesh: Fix provisioning and mesh message communication

This patch fix
- Mesh provisioning of multiple devices
- Mesh model message response handler

Change-Id: I13a909ddf796206c193af41da3fe85a5eb0a592e
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoClear mesh event handlers in the mesh deinit time 95/240595/1
DoHyun Pyun [Mon, 10 Aug 2020 01:58:58 +0000 (10:58 +0900)]
Clear mesh event handlers in the mesh deinit time

Change-Id: I5c7bf72d4cf0930ff89ed4026ffdef9fa416bea2
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
4 years agoMesh: Error handling in Model Publication Status 69/240569/1
Anupam Roy [Fri, 7 Aug 2020 14:34:21 +0000 (20:04 +0530)]
Mesh: Error handling in Model Publication Status

This patch adds logic to send error event
to application, when error is
received in "Model Publication Status" event
from a node. For example, if provisioner
sends wrong appkey index, node will send
error to indicate operation is failed.

Change-Id: Iea91de2812876c18c830ee1b2d4e4b7d91b55929
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMerge "Add fd param to check fd is valid" into tizen
Pyun DoHyun [Thu, 6 Aug 2020 01:49:15 +0000 (01:49 +0000)]
Merge "Add fd param to check fd is valid" into tizen

4 years agoMerge "Modify the package version" into tizen
Pyun DoHyun [Thu, 6 Aug 2020 01:48:33 +0000 (01:48 +0000)]
Merge "Modify the package version" into tizen

4 years agoFix the 64bit build error 70/240370/1 accepted/tizen/unified/20200810.123222 submit/tizen/20200804.074118
DoHyun Pyun [Thu, 6 Aug 2020 01:19:15 +0000 (10:19 +0900)]
Fix the 64bit build error

error: format '%d' expects argument of type 'int', but argument 9 has type 'size_t' {aka 'long unsigned int'} [-Werror=format=]

Change-Id: I687a1a2603ddf8c9770d6699a045f1ee976ab63c
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
4 years agoAdd fd param to check fd is valid 94/240294/2
Wootak Jung [Wed, 5 Aug 2020 06:03:03 +0000 (15:03 +0900)]
Add fd param to check fd is valid

Change-Id: I4dbf3c8576b2b8df8146cfaeaa008e5efc89967d
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
4 years agoModify the package version 36/240036/3
DoHyun Pyun [Mon, 3 Aug 2020 01:14:54 +0000 (10:14 +0900)]
Modify the package version

In order to distinguish the package history as tizen version,
we manage the package version from now.

Change-Id: I5d023755b527bbaf1e96f826e9037df497276518
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
4 years agoMesh: Fix coding style 69/240169/1
Abhay Agarwal [Tue, 4 Aug 2020 05:37:12 +0000 (11:07 +0530)]
Mesh: Fix coding style

This patch handles following
- Fix style according to coding guidelines
- Rename few events

Change-Id: I63f059d203b0537d575d5e21ad7f35f3c834a9ce
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoMerge "Mesh: Fix issues in Mesh Model Subscrition" into tizen
Pyun DoHyun [Mon, 3 Aug 2020 00:50:30 +0000 (00:50 +0000)]
Merge "Mesh: Fix issues in Mesh Model Subscrition" into tizen

4 years agoMesh: Fix issues in Mesh Model Subscrition 16/240016/2
Anupam Roy [Fri, 31 Jul 2020 10:58:48 +0000 (16:28 +0530)]
Mesh: Fix issues in Mesh Model Subscrition

This patch fixes issues in following operations
- Get Mesh BT SIG & Vendor Model Subscription List
- Add missing Command timeout handling
- Fix gdbus data format for sending Model list
- Add missing privilege for Model Subscription List API

Change-Id: I671b3f109ae1b2c752115d30dcb26783e7133e1d
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Implement bluetooth service interface for model message 13/240013/1
Abhay Agarwal [Fri, 31 Jul 2020 03:21:49 +0000 (08:51 +0530)]
Mesh: Implement bluetooth service interface for model message

This patch implement bt-api and bt-service interface for mesh
model message comminications.

Change-Id: Ib7eed9cbce7c86ec204e87f64e495d08ca2026e9
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoMesh: Add mesh model support 12/240012/1
Abhay Agarwal [Fri, 31 Jul 2020 03:18:38 +0000 (08:48 +0530)]
Mesh: Add mesh model support

This patch add mesh model support in bluetooth service.
This interface can be used for mesh model communications.

Change-Id: I7cf6a2d896cfb06e5b31871eb356b2a0cbdc1bec
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoMesh: Add OAL interface for Mesh message execution 11/240011/1
Abhay Agarwal [Thu, 30 Jul 2020 16:56:47 +0000 (22:26 +0530)]
Mesh: Add OAL interface for Mesh message execution

Change-Id: Ib97aa28dd5b8fba288898f5e6763f9bb5997b057
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoMesh: Add HAL interface for Mesh messages 10/240010/1
Abhay Agarwal [Thu, 30 Jul 2020 16:56:28 +0000 (22:26 +0530)]
Mesh: Add HAL interface for Mesh messages

This patch introduces HAL interface which can be used
to send and receive mesh messages which needs to be
encrypted/decrypted using application key.

Change-Id: I19f603781eecb159c6eb2bd834fadbc08b65bd46
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoAdd the default deny rule for org.projectx.bt.mesh 45/239945/1 accepted/tizen/unified/20200803.122024 submit/tizen/20200731.001830
DoHyun Pyun [Fri, 31 Jul 2020 01:40:49 +0000 (10:40 +0900)]
Add the default deny rule for org.projectx.bt.mesh

There were some policy check errors, this patchset
resolves the issues.

/busconfig/policy[1]/allow[2] : For each allow own you must add a deny own in default context.
/busconfig/policy[1]/allow[4] : For each allow send_destination you must add a deny send_destination in default context.
/busconfig/policy[1]/allow[4] : For each allow send_destination you must add a deny own or deny own_prefix in default context.

Change-Id: Ib191d912b9f64354d77ceb57d5eeab295f53cda2
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
4 years agoMesh: Handle 'Browse'& 'Vendor Feat' cmd Timeout 98/239898/1
Anupam Roy [Thu, 30 Jul 2020 10:34:29 +0000 (16:04 +0530)]
Mesh: Handle 'Browse'& 'Vendor Feat' cmd Timeout

This patch handles Timeout of remote commands
(Mesh node browse & Mesh node vendor feature) and
sends Error to application.

Change-Id: I6013cbfa99dbed60d904bc7f7e422646160f645b
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoFix the dbus permission problem in mesh 18/239818/2
DoHyun Pyun [Thu, 30 Jul 2020 05:08:30 +0000 (14:08 +0900)]
Fix the dbus permission problem in mesh

Change-Id: I285396eb9d57ec3aa88833e1e54d9d0caa6951f6
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
4 years agoMesh: Fix & Refactor Mesh Model Subscription codes 26/239826/2
Anupam Roy [Thu, 30 Jul 2020 05:23:37 +0000 (10:53 +0530)]
Mesh: Fix & Refactor Mesh Model Subscription codes

This patch handles following
- Handle Timeout of Model Subscription Commands
 [bt-service should send error event and clear pending
 request in queue]
- Fix improper handling of Model Subscription status handling
- Add DEBUG prints

Change-Id: I811bc570df8091ce948595c05ebc9856ffd51be2
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Refactor Network group Removal logic 09/239709/2
Anupam Roy [Wed, 29 Jul 2020 06:19:37 +0000 (11:49 +0530)]
Mesh: Refactor Network group Removal logic

Network Groups (Mesh group & virtual Mesh group)
are created and saved in Network Configuration DB.
Therefore, removal of groups by user should remove these
groups from Conf DB also, instead of just removing handles
from application.

Apart from above, this patch refactors 'Get All Mesh groups'
logic. Instead of just fetching the group address, now it fetches
all informations of groups (Label UUID, if Virtual group)

Change-Id: I8ca483ddf46140c3e671070f41a6484b5a04935e
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMerge "Mesh: Apply stabilization fixes in FRWK" into tizen accepted/tizen/unified/20200729.165707 submit/tizen/20200727.225618
Pyun DoHyun [Mon, 27 Jul 2020 22:43:04 +0000 (22:43 +0000)]
Merge "Mesh: Apply stabilization fixes in FRWK" into tizen

4 years agoMesh: Apply stabilization fixes in FRWK 08/239508/2
Anupam Roy [Mon, 27 Jul 2020 07:50:06 +0000 (13:20 +0530)]
Mesh: Apply stabilization fixes in FRWK

This patch applies few fixes for bugs/issues
found during MESH API testing & stabilziation

Some of the notable changes applied are following-
1. Add missing event handling for Model AppKey Configure command
2. Add exception handling for Key Configuration command
  [Send failure event to app, in case of failure]
3. Fix bug in Saving AppKey in Mesh node structure
  [Instead of AppKey, netkey was used, resulting in error]
4. Bug in fetching ALL AppKey(s) bound to a node
  [Instead of retruning appkeys bound to a Netkey, FRWK
   was returning all appkeys bound to a node, resulting in
   unexpected behavior of the API]
5. Added few DEBUG Prints.

Change-Id: I3b704b2eccd9ea79f59bae5deddf4b50275b365f
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoFix the svace issues 23/239223/1 submit/tizen/20200724.011403
DoHyun Pyun [Thu, 23 Jul 2020 00:53:17 +0000 (09:53 +0900)]
Fix the svace issues

Change-Id: Ic678d8d880e0473d738f83dd6d4b21f379a9bd9c
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
4 years agoMerge "Mesh: SVACE defect fixes" into tizen
Pyun DoHyun [Wed, 22 Jul 2020 23:56:49 +0000 (23:56 +0000)]
Merge "Mesh: SVACE defect fixes" into tizen

4 years agoMesh: SVACE defect fixes 54/239054/2
anuj.bhumiya [Tue, 21 Jul 2020 10:45:05 +0000 (16:15 +0530)]
Mesh: SVACE defect fixes

Change-Id: I1afb0f6433dd5d976e5e859d2235e63c0346344d
Signed-off-by: anuj.bhumiya <anuj.bhumiya@samsung.com>
4 years agoMerge "Mesh: Add functionality to find unique app credentials" into tizen
Pyun DoHyun [Wed, 22 Jul 2020 06:18:55 +0000 (06:18 +0000)]
Merge "Mesh: Add functionality to find unique app credentials" into tizen

4 years agoHandle bluetooth-meshd life cycle 68/238968/2
DoHyun Pyun [Tue, 21 Jul 2020 01:18:12 +0000 (10:18 +0900)]
Handle bluetooth-meshd life cycle

Change-Id: I09abb6a7d647bc1462bb60eb273e7e1a0b58c254
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
4 years agoMerge "Mesh: Create mesh directory for configuration files" into tizen
Pyun DoHyun [Mon, 20 Jul 2020 22:34:06 +0000 (22:34 +0000)]
Merge "Mesh: Create mesh directory for configuration files" into tizen

4 years agoMesh: Add functionality to find unique app credentials 32/238932/1
Abhay Agarwal [Mon, 20 Jul 2020 08:33:05 +0000 (14:03 +0530)]
Mesh: Add functionality to find unique app credentials

Unique app credentials would be used to differentiate
and authenticate mesh applications

Change-Id: If8b19d802465282e78ebc3d60f845bed95a68660
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoMesh: Create mesh directory for configuration files 84/238884/1
Abhay Agarwal [Tue, 14 Jul 2020 04:32:56 +0000 (10:02 +0530)]
Mesh: Create mesh directory for configuration files

This patch creates a default dir which can be used to save
mesh configurations for applications

Change-Id: I40c3aec28a97eced3bb9244fc95721c2ac8dc848
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoFix the malfunction for gatt 74/238874/1
injun.yang [Thu, 16 Jul 2020 09:01:28 +0000 (18:01 +0900)]
Fix the malfunction for gatt

[Model] All
[BinType] AP
[Customer] OPEN

[Issue#] N/A
[Request] Internal
[Occurrence Version] N/A

[Problem] address comparison is wrong
[Cause & Measure] Fix the bug
[Checking Method]

[Team] Convergence BT
[Developer] Injun Yang
[Solution company] Samsung
[Change Type] Specification change

Change-Id: Ie54cea33efe3dbdaeb14c144a734a24a88936ba9
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
4 years agoMesh: Apply Fixes & code refactoring
Anupam Roy [Fri, 17 Jul 2020 18:45:30 +0000 (00:15 +0530)]
Mesh: Apply Fixes & code refactoring

This patch handles following.
1. Few Fixes(some of them are mentioned below)
2. Enable DEBUG logs across all layers
3. Minor code refactoring & indentations
3. Review comments from 'ble_mesh' dev branch
   3.1. Dont Free user data from request info
     [Patch: 237446]
   3.2. Fix typo's for following commits
     [Patch: 237447, 237445, 237440, 237435]

Some of the notable fixes applied are following:-
1. Fix bt-service crash during cleanup of mesh framework resources
   [Resolution: removing double free of Mesh model resources]
2. Fix crash in unit test app during Scan stop operation
   [Resolution: Dont allow Stop scan if scanning is not in progress]
3. Fix Node Browse event fail issue
   [Resolution: Handle wrong usage of event pointer]
4. Fix "Timer expired even if response is received within timeout" issue.
   [Resolution: Remove timer once event is received from stack]
5. Fix "TTL configured callback(CAPI callback)" is not invoked in case of success
   Resolution: Handle wrong usage of event pointer in service layer]
6. Fix NetKey configuration API failed due to mishandling of Key in Network
   [Resolution: Network Key handling is corrected]

Change-Id: I47d3b93c19650dea039ecdf0b8862be32d8d3a96
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Enable Build & Export Mesh Framework API
Anupam Roy [Fri, 17 Jul 2020 18:23:47 +0000 (23:53 +0530)]
Mesh: Enable Build & Export Mesh Framework API

Note: This patch also adds Mesh Network load API

Change-Id: Ice94d7932bcb286f87628fea9099639136d43db8
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Create & attach ELL main loop
Anupam Roy [Fri, 17 Jul 2020 18:13:57 +0000 (23:43 +0530)]
Mesh: Create & attach ELL main loop

This patch primarily attaches bt-service
with ELL mainloop and also initializes OAL

Change-Id: I2cb5d5afe77051160e530ffb74d44de409d35e18
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Add framework event handlers
Anupam Roy [Fri, 17 Jul 2020 17:54:37 +0000 (23:24 +0530)]
Mesh: Add framework event handlers

This patch handles following
- Catches events sent by bt-service
- Handles DBUS exception cases for Async requests

Change-Id: I2e74d2f177e76f12822da9aba30f96766268cc86
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Add IPC Events & signals entries
Anupam Roy [Fri, 17 Jul 2020 16:47:32 +0000 (22:17 +0530)]
Mesh: Add IPC Events & signals entries

Change-Id: I1d69e3ecda3e9c0164334f8037e8bcd2734913d8
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Handle OAL events
Anupam Roy [Fri, 17 Jul 2020 16:39:33 +0000 (22:09 +0530)]
Mesh: Handle OAL events

Change-Id: I28a26fdd986bc039d19eb657d555063235601cea
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Implement Node configuration API's
Anupam Roy [Fri, 17 Jul 2020 16:27:51 +0000 (21:57 +0530)]
Mesh: Implement Node configuration API's

This patch-set handles following
- Configure Keys
- Configure Publications (GET/SET)
- Configure Subscription (Get/Set)
- Model Binding
- Configure TTL (Time to Live)
- Browse Node's composition
- Browse Node's vendor features
- Configure Groups(Normal & Virtual)

 Note: application credential is requested
 in service layer to get access to Mesh Resources
 for formward coompatibility.
 Credentials are not yet fully handled.

Change-Id: I6e3dd9a17167b528725f7a472d248d7f883c61be
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Implement Configuration Client
Anupam Roy [Fri, 17 Jul 2020 14:10:42 +0000 (19:40 +0530)]
Mesh: Implement Configuration Client

This patchset primarily handles following
- Add Mesh Configuration Client
- Adds Node Operations
 a/ Save & retrieve Node composition & features
 b/ Save/Remove Keys added to node(s)
 c/ Save/Remove node(s) entry in CDB
- Mesh Group management

Change-Id: Ic2b455e122ea89086fb1db5373f0efe856806137
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Implement Network Key operations
Anupam Roy [Fri, 17 Jul 2020 11:15:45 +0000 (16:45 +0530)]
Mesh: Implement Network Key operations

Ths patch major handles following
- Create/Update/Delete Network Key
- Create/Update/Delete Application Key
- Set Network Friendly Name

Change-Id: I3f9a3588f11ee735352788fb86c6ec81882fc626
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Implement Mesh Framework API's
Anupam Roy [Fri, 17 Jul 2020 11:08:01 +0000 (16:38 +0530)]
Mesh: Implement Mesh Framework API's

This patch-set is the initial implementation
of basic Mesh network operations
- Create Network
- Scan for Unprovisioned devices
- Scan Cancel
- Set Network Provisioning capabilities
- Provision a device into the network

Change-Id: Ie23af0276055e666a06b9fcbf9dbd7e74c147e8b
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Add loading of Nodes & Keys from CDB
Anupam Roy [Fri, 17 Jul 2020 10:50:37 +0000 (16:20 +0530)]
Mesh: Add loading of Nodes & Keys from CDB

This patch adds following
- Load CDB from peviously configured network
- Load Nodes from CDB
- Load Keys from CDB
- Group management in CDB
- Network friendly name Get/Set
- Few helper functions

Change-Id: Ic6dcc266bea3994b0ba5cb3e9b808cc196414341
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Handle Key management operations
Anupam Roy [Fri, 17 Jul 2020 10:44:01 +0000 (16:14 +0530)]
Mesh: Handle Key management operations

This patch handles following
- Delete NetKey
- Unload of network
- NetKey Phase Set

Change-Id: I6a95631a369c8ef02f8a5dae7d5e93905efd0f36
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Add Stack event handlers
Anupam Roy [Fri, 17 Jul 2020 10:41:05 +0000 (16:11 +0530)]
Mesh: Add Stack event handlers

This patch adds following
- Handles Mesh OAL events
- Completes DBUS invocation contexts
- Sends Mesh events to application

TODO:
- Handle Network Key(Subnet & Application) events
- Handle DevKey cofigruation events

Change-Id: I2a505b7858bc65124bc94bd01bdabfe9daf18f5e
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Add Local Network Configuration
Anupam Roy [Fri, 17 Jul 2020 10:35:51 +0000 (16:05 +0530)]
Mesh: Add Local Network Configuration

This patch handles Network operations
& requests to Mesh OAL layer
- Network Create
- Scan for unprovisioned devices
- Provision devices to Mesh Network
- Set Provisioner capabilities
- Authentication Reply

TODO: Following will be added in subsequent patches
- Secuity Key management API's
- Node management API's

Change-Id: I2409e216abfcdadfb44d73a6c365941e22c699ca
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Add support for Configuration DB & Node API
Anupam Roy [Fri, 17 Jul 2020 10:30:54 +0000 (16:00 +0530)]
Mesh: Add support for Configuration DB & Node API

This patch handles following
- JSON DB for remembering configured network
- Structures & API for accessing provisioned nodes

Change-Id: I2abf92481863c18e8f3c970074f26151587c2c08
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
4 years agoMesh: Management of Keys in a local Network
Anupam Roy [Fri, 17 Jul 2020 10:14:19 +0000 (15:44 +0530)]
Mesh: Management of Keys in a local Network

This patch adds Local Key Management methods.
Some of the key methods are following.
- Create & manage Netkeys & appkeys
- Get NetKey list in a Network
- Get AppKey list bound to a NetKey in a network
- Get new Netkey and Appkey indecesMesh: Management of Keys in a local Network

This patch adds Local Key Management methods.
Some of the key methods are following.
- Create & manage Netkeys & appkeys
- Get NetKey list in a Network
- Get AppKey list bound to a NetKey in a network
- Get new Netkey and Appkey indeces

Change-Id: Ib752432f4908f33c260177956a2b15b15fccf316
Signed-off-by: Anupam Roy <anupam.r@samsung.com>