platform/core/connectivity/ua-manager.git
4 years agoAdd ua-manager core APIs to insert payload information
Abhay agarwal [Fri, 29 Nov 2019 05:52:07 +0000 (11:22 +0530)]
Add ua-manager core APIs to insert payload information

Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
4 years agoRemove payload from device
Abhay agarwal [Thu, 28 Nov 2019 11:35:41 +0000 (17:05 +0530)]
Remove payload from device

payload would be added to device-service instead of only being device specific

Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
4 years agoSeperate payload database table from device table
Abhay agarwal [Thu, 28 Nov 2019 10:48:30 +0000 (16:18 +0530)]
Seperate payload database table from device table

For a device, each service can have different payload.

Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
4 years agoRename duid to device_uid
Abhay agarwal [Thu, 28 Nov 2019 04:23:38 +0000 (09:53 +0530)]
Rename duid to device_uid

Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
4 years agoRename ble payload purpose to secondary key
Abhay agarwal [Wed, 27 Nov 2019 06:36:02 +0000 (12:06 +0530)]
Rename ble payload purpose to secondary key

Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
4 years agoRename ble payload service_id to primary_key
Abhay agarwal [Wed, 27 Nov 2019 06:08:41 +0000 (11:38 +0530)]
Rename ble payload service_id to primary_key

Renamed to hide SEC BLE Adv format

Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
4 years agoFix crash issue accepted/tizen/unified/20191213.042448 submit/tizen/20191212.070841
saerome.kim [Thu, 12 Dec 2019 06:10:38 +0000 (15:10 +0900)]
Fix crash issue

- problem: Crash takes place when doing adding a device and detection
  simultaneously.
- Cause: timer callback tries to remove freed memory.
- Solution: Remove timer when removing an async request.

Change-Id: I24be2a3c53ee18e8f3c97be46348a05b03a0782d
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoChange UAM_ASYNC_REQUEST_TIMEOUT to 11 from 10 sec
Lokesh [Wed, 11 Dec 2019 10:19:41 +0000 (15:49 +0530)]
Change UAM_ASYNC_REQUEST_TIMEOUT to 11 from 10 sec

Problem: While adding wifi device with broadcast mac address, and device is not
discoverable, the request_list is cleaned by __uam_request_context_timeout_cb()
before plugin callback came (within 10 sec).
Solution: Plugin tries for 10 seconds, so wait for 11 seconds.

Change-Id: I2bbfc38ccfec65035ecfbb61bf30c20749ee44dd
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoRemove unnecessary error log accepted/tizen/unified/20191205.142656 submit/tizen/20191205.122156
saerome.kim [Thu, 5 Dec 2019 10:25:17 +0000 (19:25 +0900)]
Remove unnecessary error log

Change-Id: I4fa6b31e6511ccef0e3b827b939663146eb9a4bc
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoFix that the device is not added while detecting devices.
saerome.kim [Thu, 5 Dec 2019 09:22:22 +0000 (18:22 +0900)]
Fix that the device is not added while detecting devices.

- Problem: If adding a device while detecting the device, the first device
  detection callback is not called.
- Cause: If the broadcast MAC is used as a source filed in APR Request packet,
  can't distinguish ARP Response whether the device detected or the device added.
- Solution: Modified the device is not added while detecting devices.

Change-Id: Iad779411cecc89869b1aa77522cefd22e7106ecb
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoIncrease 'enable' method timeout
saerome.kim [Thu, 5 Dec 2019 08:35:55 +0000 (17:35 +0900)]
Increase 'enable' method timeout

- Problem: At the time of booting, failt to start ua-manager.
- Cause: It takes a long time for sensor framework to operate.
- Solution: Temporarily increase the response waiting time of the enable method
  to start ua-amanger.

Change-Id: I136d689180535ffe86431c97ad82eb00fb259632
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoFix the issue that MAC cannot be updated when adding a device to broadcast MAC
saerome.kim [Thu, 5 Dec 2019 05:38:06 +0000 (14:38 +0900)]
Fix the issue that MAC cannot be updated when adding a device to broadcast MAC

- Problem: The actual MAC is not applied even if the ARP response is received
  from the device added with broadcast MAC.
- Cause: MAC is managed as a unique key.
- Solution: Modified so that MAC can be changed.

Change-Id: Ic9f1b1b0a9b5694b9275302354df9e36a78d3da4
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoRevert "Add DB functionality for device users mapping"
Lokesh [Wed, 4 Dec 2019 08:49:57 +0000 (14:19 +0530)]
Revert "Add DB functionality for device users mapping"

This reverts commit 1afd2d3aeb9758f4f894c3aa917874da82d33c3b.

Change-Id: I5a76569e7190643c7dfc726dbdeca01d1cb27723

4 years agoRevert "Identify whether device is already registered and not"
Lokesh [Wed, 4 Dec 2019 08:49:12 +0000 (14:19 +0530)]
Revert "Identify whether device is already registered and not"

This reverts commit 5ac8bb7cef537a0db489b1a364c4bffbf8ca0dbf.

Change-Id: I5164eb00ff30c9006786ce963ba1810023588364

4 years agoRevert "Fix the problem that can't access the device-users table"
Lokesh [Wed, 4 Dec 2019 08:47:51 +0000 (14:17 +0530)]
Revert "Fix the problem that can't access the device-users table"

This reverts commit 798a02d0faca05dc6a7a5124c382471e43efd381.

Change-Id: Iae2c03b1fa6c9826c420f9e3d9a6de07820643a4
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoFix memory leak
saerome.kim [Tue, 3 Dec 2019 12:29:45 +0000 (21:29 +0900)]
Fix memory leak

- Problem: Even clients app. died, ua-manager keeps dead client's
  monitor handle.
- Cause: ua-manager does not care for the dead client app.
- Solution: Remove the client's monitor handle if the client requests un-initialization.

Change-Id: I992bf5a6234675fbc3b81fad7f97b530e4019ae4
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years ago[Fix] Write service specific device last_seen in DB accepted/tizen/unified/20191201.221537 submit/tizen/20191129.113310
Lokesh [Fri, 29 Nov 2019 08:19:46 +0000 (13:49 +0530)]
[Fix] Write service specific device last_seen in DB

Issue:
On device detection, update service specific device last_seen in DB.
At time of service_add_device/user(), this last_seen must initialisze from 0,
as per jira statement(https://code.sec.samsung.net/jira/browse/TSYSCON-1948).

Change-Id: I4c7d46fc6ff43f6a09d27df671805eb5f33bfb69
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoFix the problem that can't access the device-users table submit/tizen/20191129.055159
saerome.kim [Fri, 29 Nov 2019 04:43:17 +0000 (13:43 +0900)]
Fix the problem that can't access the device-users table

- Problem: After DB reset, ua-manager can't create the device-users table.
- Cause: Attempt to access a table that does not exist.
- Solution: Modified the device-users table name as intended.

Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoRemove error-logging when removing un-opened DB accepted/tizen/unified/20191126.124635 submit/tizen/20191126.004258
saerome.kim [Mon, 25 Nov 2019 11:43:29 +0000 (20:43 +0900)]
Remove error-logging when removing un-opened DB

- Problem: An error is displayed while attempting to delete an unopened DB.
- Cause: vendor plugin tried to clear DB but ua-manager did not open DB file.
- Solution: If the DB is not open, the error is returned.

Change-Id: Ifc3f13cc18ab362ebd1c18910ee6a430449b0732
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoMake unclear code as clear
saerome.kim [Mon, 25 Nov 2019 11:33:14 +0000 (20:33 +0900)]
Make unclear code as clear

- Problem: The Coverity regarded that ua-manager refering freed() pointer.
- Cause: The input param and the param in the list may not be the same value.
- Solution: Clarify variable name.

Change-Id: I13597ecfcd79843e7ba7222b2282e6e5dd8b6dc3
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoIdentify whether device is already registered and not
Lokesh [Fri, 22 Nov 2019 02:04:04 +0000 (07:34 +0530)]
Identify whether device is already registered and not

Change-Id: I14be9dd70c03f3d40e2b4d4e953b5ad72c2c5c33
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoAdd DB functionality for device users mapping
Lokesh [Fri, 22 Nov 2019 02:04:04 +0000 (07:34 +0530)]
Add DB functionality for device users mapping

Change-Id: Id41e248ce14ed1f1fdb75fec2aa2680077e5855d
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoFix build error occurred in sensor plugins accepted/tizen/unified/20191125.135542 submit/tizen/20191122.014017
saerome.kim [Fri, 22 Nov 2019 01:31:15 +0000 (10:31 +0900)]
Fix build error occurred in sensor plugins

- Problem: Build break took place when building Light/Motion plugins.
- Cause: member variable name had been changed in uas_sensor_info_t.
- Solution: Backout the change.

Change-Id: Id8c10d798a28427451d81b16772603490f24dcd0
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoProvide pending request TRUE only for already registered but not verified device.
Nishant Chaprana [Thu, 21 Nov 2019 14:12:36 +0000 (19:42 +0530)]
Provide pending request TRUE only for already registered but not verified device.

- Problem: Pending request returns TRUE when last registered device which is not
           yet verified by plugin, even for different device.
- Cause: __uam_manager_is_request_pending() only checks for matching function
         before returning result.
- Solution: Match device_id for UAM_REQUEST_ADD_DEVICE before returning result.

Change-Id: Ie0d148f821932eb195547c47939917bb7bdbba60
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
4 years agoFix handle leak when loading plugins
Nishant Chaprana [Thu, 21 Nov 2019 14:04:41 +0000 (19:34 +0530)]
Fix handle leak when loading plugins

- Problem: dlopen() returned handle was leaking when loading plugins in loop.
- Cause: dlcose() not called when plugin add operation fails.
- Solution: Call dlcose() when plugin add operation fails.

Change-Id: Id3c1d9a42fb2ef8b9b9e5b64393c40f6e771d9fc
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
4 years agoFix crash issue
saerome.kim [Thu, 21 Nov 2019 08:33:14 +0000 (17:33 +0900)]
Fix crash issue

- Problem: A crash may occur in a multi-client environment.
- Cause: A crash may occur if a request is deleted in the middle while
  processing the async request included in the list.
- Solution: Modified so that the list is not broken by deleting the request
  while processing the request.

Change-Id: Ic51e4571ea10d7922b429d2712b8a3ed4dccc512
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoUpdate a missing column for device-services table
saerome.kim [Thu, 21 Nov 2019 08:29:56 +0000 (17:29 +0900)]
Update a missing column for device-services table

Change-Id: I1f9b7864cc44bb37e63c51dc713e7c0c38d07194
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoChange the last seen that has never been added or detected by the service to 0
saerome.kim [Thu, 21 Nov 2019 04:39:37 +0000 (13:39 +0900)]
Change the last seen that has never been added or detected by the service to 0

- Problem: The last_seen information may not be 0 even if the service is not executed.
- Cause: We are adding the last_seen info regardless the service.
- Solution: The device information added to the service is initialized to 0.

Change-Id: I14249599db420b25e47098c83eaa17ed1d65182e
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoFix the problem that can't add a device from next time once add_device_failed.
saerome.kim [Thu, 21 Nov 2019 04:39:37 +0000 (13:39 +0900)]
Fix the problem that can't add a device from next time once add_device_failed.

- Problem: Once add_device failed, we can't add the device anymore.
- Cause: The request stored in the internal queue is not deleted.
- Solution: If the request is not processed for a certain period of time,
  remove the request from the queue

Change-Id: I14990e3854d599ca3adfed491f64bb215e94d232
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoModify to store last seen information of device added by service in DB
saerome.kim [Wed, 20 Nov 2019 11:10:56 +0000 (20:10 +0900)]
Modify to store last seen information of device added by service in DB

- Problem: Once a client app restarts, the previous last seen information is 0.
- Cause: As a requirement, last seen information of service-specific device
  should be stored in DB
- Solution: Save the last seen information to the DB.

Change-Id: Ifd1e41c0c822b2274262d3aea6c723e192945822
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoReduce calls to _uam_get_timestamp() accepted/tizen/unified/20191119.133204 submit/tizen/20191119.082254
Lokesh [Tue, 19 Nov 2019 05:36:17 +0000 (11:06 +0530)]
Reduce calls to _uam_get_timestamp()

Instead use the value stored in tech->timestamp

Change-Id: I1017043c45a0fd53cd2f962c6168a1e7a902c7d2
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoSupport multiple timestamp for each service
Lokesh [Mon, 18 Nov 2019 14:00:04 +0000 (19:30 +0530)]
Support multiple timestamp for each service

Change-Id: I67acdcfa5e4ba8a6d8de68f7e37dfcd4f58adf01
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoFix memory leak
saerome.kim [Mon, 18 Nov 2019 04:13:03 +0000 (13:13 +0900)]
Fix memory leak

- Problem: heap is increasing a bit by bit.
- Cause: BT_MAC is not freed.
- Solution: make BT_MAC free.

Change-Id: I0f118ba74c2e62c81561080751338a4925044b2a
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoChange the timestamp value to use the monotonic timer accepted/tizen/unified/20191115.125601 submit/tizen/20191115.102151
saerome.kim [Thu, 14 Nov 2019 09:59:11 +0000 (18:59 +0900)]
Change the timestamp value to use the monotonic timer

- Problem: real-time timestamp causes various problems.
- Cause: If the time zone is changed or the system time is initialized,
  the wrong timestamp may be generated.
- Solution:
  1. Change to use the monotonic timer when creating a timestamp.
  2. Add new plugin API that enables the BLE plugin can save real-time
  timestamp.

Change-Id: I2508ecdb15977f6278fb2eeec89dc5caba77537f
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoChange the timestamp value to use the monotonic timer
saerome.kim [Thu, 14 Nov 2019 09:59:11 +0000 (18:59 +0900)]
Change the timestamp value to use the monotonic timer

- Problem: real-time timestamp causes various problems.
- Cause: If the time zone is changed or the system time is initialized,
  the wrong timestamp may be generated.
- Solution:
  1. Change to use the monotonic timer when creating a timestamp.
  2. Add new plugin API that enables the BLE plugin can save real-time
  timestamp.

Change-Id: I24c1dbbec39417f6f13ec87dfff8c3239572722c
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoChange position of _uam_pm_stop_detection()
Lokesh [Thu, 14 Nov 2019 11:28:00 +0000 (16:58 +0530)]
Change position of _uam_pm_stop_detection()

Do _uam_pm_stop_detection() for both presence and absence together,
so that motion plugin sends detection_stopped event.

Change-Id: I9fb0e1696c16cb59eb0c3c7f910101844364b5ec
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoStart continuous detection only on sensors present in monitor
Abhay agarwal [Mon, 11 Nov 2019 06:10:05 +0000 (11:40 +0530)]
Start continuous detection only on sensors present in monitor

Instead of always starting continuous detection, start only when particular
environmental sensor is being detected by atleast one application.

Change-Id: I0e4baac40074fcd7b1cedf139dfe1e773b1c7049
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
4 years agoIn detection_stopped event, consider when no environmental sensors exist
Lokesh [Mon, 11 Nov 2019 01:43:55 +0000 (07:13 +0530)]
In detection_stopped event, consider when no environmental sensors exist

1/ If there is no environmental sensor, send UAM_DETECTION_CYCLE_END only once.
2/ First update service->remaining_time, then start various detections.
3/ Environmental sensors may send detection_stopped before start_detection of
connectivity sensor, which results in multiple detection stopped events to CAPI
within a detection window.

Change-Id: I1c149fe8be8f3f86bf053ac8167df765948df72e
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoDetection stopped event updated with detection cycle mid/end
Lokesh [Wed, 6 Nov 2019 10:12:39 +0000 (15:42 +0530)]
Detection stopped event updated with detection cycle mid/end

Every one minute we receive environmental presence/absence and detection
stopped calls. Earlier _uam_core_handle_detection_stopped() sends
detection_stopped_event which then called __ua_user_state_clean() and
cleaned recorded WIFI/BLE data in CAPI. Hence it cannot be used for
next one minute cycles of environmental sensors.

Change-Id: Ibad4cbf5e05840b31a593984a0f00f1ca4b72ae9
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoFix first detection stopped callback due to motion sensor
Lokesh [Thu, 7 Nov 2019 08:40:25 +0000 (14:10 +0530)]
Fix first detection stopped callback due to motion sensor

_uam_core_handle_detection_stopped() should work only if detection has been
started on that sensor previously.

Change-Id: I32b04ed63bc108606a59c0d64066cf9efa42ad52
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoFix memory leak
saerome.kim [Thu, 14 Nov 2019 03:37:49 +0000 (12:37 +0900)]
Fix memory leak

- Problem: during aging test, heap is increasing bit by bit.
- Cause: when updating the device list, the BLE payload is not freed.
- Solution: release BLE payload after updating the device list.

Change-Id: I2019643888883ca1c53ea16d9565e178ab6ec28f
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoAdd functionality that allow changing user's name accepted/tizen/unified/20191111.152608 submit/tizen/20191111.122616
saerome.kim [Mon, 11 Nov 2019 10:34:35 +0000 (19:34 +0900)]
Add functionality that allow changing user's name

- Problem: Users want to change their name.
- Cause: it is not supported to change the user name once user information
  added to ua-manager DB.
- Solution: Make the user can change his name even user-information added.

Change-Id: I54901e5c24da13239e8cce7d35063d15ed6ca975
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoFix crash issue on sensor status change event
Abhay agarwal [Mon, 11 Nov 2019 07:40:05 +0000 (13:10 +0530)]
Fix crash issue on sensor status change event

ua-manager crash was observed with sensor status change event
Destination: [(null)], event: [UNKNOWN ERROR], signal: [SensorStatusChanged]

Change-Id: I04610425e6019c51d3bd083ee59084a706e93eff
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
4 years agoAdd the compiler flag required for performing GTest
saerome.kim [Fri, 8 Nov 2019 09:46:19 +0000 (18:46 +0900)]
Add the compiler flag required for performing GTest

Change-Id: I3d3b21e4f0dc34e351dd060d4aeff5a72fbee575
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoFixed the problem where enabler method fails
saerome.kim [Fri, 8 Nov 2019 08:52:10 +0000 (17:52 +0900)]
Fixed the problem where enabler method fails

- Problem: The net.uamd.enabler method call fails.
- Cause: Invoke the 'enable' method to an object is not registered in
  dbus system.
- Solution: Remove 'enabler' interface and combine 'enabler' to
  '/net/uamd' interface

Change-Id: Ia40394ceb7d83a4305b0c0ab953ea6ffc423f9df
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoApply secure option
saerome.kim [Fri, 8 Nov 2019 08:44:37 +0000 (17:44 +0900)]
Apply secure option

- Problem: There is no FORTIFY option.
- Cause: Unlike the SSP that catches the stack BOF, a protection technique is
  needed to catch the BOF that occurs in a general memory buffer.
- Solution: apply FORTIFY and stack-canar options.

Change-Id: I1c1d45f1edfb0e017bdd8a3a3c1f42469f324220
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoFix the problem of not removing the device added to the default user or service
saerome.kim [Fri, 8 Nov 2019 06:19:09 +0000 (15:19 +0900)]
Fix the problem of not removing the device added to the default user or service

- Problem: can't remove a device from default-user.
- Cause: A device can be added to a default user or a default service,
  but can not be deleted.
- Solution: Deleting the default user checker.

Change-Id: I7bcce4fd4ac45e411e1be19fb793cf1532d366f7
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoCountermeasure if time() returns -1
saerome.kim [Fri, 8 Nov 2019 06:02:23 +0000 (15:02 +0900)]
Countermeasure if time() returns -1

- Problem: timestamp value may contain abnormal value.
- Cause: time() can retuern -1.
- Solution: We agreed to set the timestamp to 0 when time() returns -1.

Change-Id: I8d6189212589d28f09bac75b6075d7652415f4c7
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoSet default values for payload
Lokesh [Tue, 5 Nov 2019 08:55:43 +0000 (14:25 +0530)]
Set default values for payload

Change-Id: I2d863d2c0ff566bab6a5910613adc6912adddc38
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoImprove error handling by returning error code
Abhay agarwal [Mon, 4 Nov 2019 15:28:37 +0000 (20:58 +0530)]
Improve error handling by returning error code

Change-Id: Idb6b9e9f2076972a0a4d4a2dedd173d7badfbc48
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
4 years agoRemove duplicate code to copy device
Abhay agarwal [Mon, 4 Nov 2019 05:35:20 +0000 (11:05 +0530)]
Remove duplicate code to copy device

Change-Id: Idb87db47775d437a19d9c18f4321de6e41870f4f
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
4 years agoReturn error code while handling devices
Abhay agarwal [Mon, 4 Nov 2019 04:38:29 +0000 (10:08 +0530)]
Return error code while handling devices

- Improve error handling by returning error code

Change-Id: I6d0da4c9a819345b808aaa913c2fa31e00f431a4
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
4 years agoModify DB transactions to return when fail
Abhay agarwal [Thu, 31 Oct 2019 06:16:07 +0000 (11:46 +0530)]
Modify DB transactions to return when fail

- Problem: If the transaction fails, more queries are being run on database
to insert/update/delete data from it without starting the transaction.
- Solution: Rollback and return from the function when transaction fails.

Change-Id: I086e56cae6a4964925fd8ee63b486469fe052314
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
4 years agoFix the problem that can't add a device to a user
saerome.kim [Fri, 1 Nov 2019 01:10:13 +0000 (10:10 +0900)]
Fix the problem that can't add a device to a user

- Problem: Once user_id exceeded 0xFFFF then can't add a device to the
  user anymore.
- Cause: ua-manager is managing user_id as a maximun 16-bit unsigned
  integer.
- Solution: change user_id type to 32-bit integer.

Change-Id: I31cdf1fe7bc7ed580091f81fd50f48882f715cbe
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoFix NULL dereferencing
Lokesh [Thu, 31 Oct 2019 09:29:40 +0000 (14:59 +0530)]
Fix NULL dereferencing

Check null dereferencing while reading payload variables from device database.

Change-Id: Icd52bf9ebe27c6380b3974635f9dce524f94c837
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoFix memcpy's size parameter
Lokesh [Thu, 31 Oct 2019 07:43:48 +0000 (13:13 +0530)]
Fix memcpy's size parameter

Change-Id: Ie61b3d2aa18a1967d7b833d322584fdbf933ff65
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoFix the problem that the device can not be added to default_user accepted/tizen/unified/20191101.042011 submit/tizen/20191030.083316
saerome.kim [Wed, 30 Oct 2019 01:54:48 +0000 (10:54 +0900)]
Fix the problem that the device can not be added to default_user

- Problem: Unable to add device to default_user.
- Cause: ua-manager regards default_user's ID is always 1.
  However, If ua-manager has a problem occurred while accessing user-db,
  so all user information is deleted. In this case the user id of the default user
  is added to a value that is not 1.
- Solution: Deletes the hard-coded default user ID is 1.

Change-Id: I0d79364107aa7416c5b64b9481d2edc83801fbc4
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoFix the problem that DB cannot be deleted if DB is not initialized.
saerome.kim [Mon, 28 Oct 2019 12:33:16 +0000 (21:33 +0900)]
Fix the problem that DB cannot be deleted if DB is not initialized.

- Problem: During factory reset, vendor-plugin can't initialize the DB.
- Cause: The DB was not opened before the DB initialization.
- Solution: Delete the DB when reset_cb() is called.

Change-Id: I65394d0c4ab9b9719cbe3f9f63f1ef82d243a583
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoAdd supoort for database transactions submit/tizen/20191024.123502
Abhay agarwal [Thu, 24 Oct 2019 07:58:13 +0000 (13:28 +0530)]
Add supoort for database transactions

Change-Id: I5b1d1d07ad15385d4186647694f4f3bbbeb3aad0
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
4 years agoModify ua-manager to support the vendor-plugin
saerome.kim [Wed, 23 Oct 2019 12:31:58 +0000 (21:31 +0900)]
Modify ua-manager to support the vendor-plugin

- Problem: we decided to remove the power-plugin.
- Cause: Recently, we decided to remove the power plugin and use the
  power-plugin.
- Solution: Modify ua-manager to support the vendor-plugin instead of
  the power plugin.

Change-Id: I3b726d46282fd6dfd437f7121a6209020ea4251d
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoModify to add the sensor status to sensor information
saerome.kim [Tue, 22 Oct 2019 07:24:41 +0000 (16:24 +0900)]
Modify to add the sensor status to sensor information

Change-Id: Ifc5394bde0f83e057b006072faebd254d3500ad9
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoFix the problem that the Sensor Frameowk and UAF use different data
saerome.kim [Mon, 21 Oct 2019 11:44:26 +0000 (20:44 +0900)]
Fix the problem that the Sensor Frameowk and UAF use different data
format

- Problem: The data format of timestamp is not different from the sensor framework.
- Cause: The UAF uses 32 bit timestamp but the sensor framework uses 64
bit timestamp.
- Solution: Change timestamps in UAF with 64-bit unsigned long long.

Change-Id: I237f7201d7e7fed00858c47ca9350fcb1ad655c4
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoAdd functionality to report instant sensor status change
saerome.kim [Mon, 21 Oct 2019 11:35:16 +0000 (20:35 +0900)]
Add functionality to report instant sensor status change

- Problem: in ABSENCE case, even the motion sensor detects ABSENCE
ua-manager reports this ABSENCE state after the detection window complete.
- Cause: If ABSENCE case, the ABSENCE can be jurged only when the
detction window complete.
- Solution: Whenever the sensor status is changed, plugin reports status
changed event immediately so that the user can recognize ABSENCE event
takes place during uncompleted ABSENCE detection window.

Change-Id: Ia5b12304976db4b89e5fa0977ea366a08361fc0e
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoAdd new API to set low power mode accepted/tizen_5.5_unified_mobile_hotfix tizen_5.5_mobile_hotfix accepted/tizen/5.5/unified/20191031.023909 accepted/tizen/5.5/unified/mobile/hotfix/20201027.083806 accepted/tizen/unified/20191018.052936 submit/tizen/20191018.005538 submit/tizen_5.5/20191031.000003 submit/tizen_5.5_mobile_hotfix/20201026.185103 tizen_5.5.m2_release
saerome.kim [Thu, 17 Oct 2019 09:32:00 +0000 (18:32 +0900)]
Add new API to set low power mode

- Problem: it is needed that new API that can set low power mode
- Cause: without adding new API, build break occurs.
- Solution: add new API to set low power mode.

Change-Id: Ib5f9d4a4492953a146a383abdf32f7b7a7947d62
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoModify APIs to set low power mode for individual plugin
Abhay agarwal [Wed, 16 Oct 2019 15:23:23 +0000 (20:53 +0530)]
Modify APIs to set low power mode for individual plugin

Change-Id: I582417d1ee1df84043b17e36a97e4b8c06153016
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
4 years agoReturn detailed error_code in _uam_add_ibeacon_adv_data() 94/215694/1 accepted/tizen/unified/20191017.035503 submit/tizen/20191017.002636
Lokesh [Mon, 14 Oct 2019 03:51:55 +0000 (09:21 +0530)]
Return detailed error_code in _uam_add_ibeacon_adv_data()

Change-Id: I17f3d23aa5c7fdd8c5332858ae4190a439abc6f5
Signed-off-by: Lokesh <l.kasana@samsung.com>
4 years agoAdd APIs to support update service functionality accepted/tizen/unified/20191014.005011 submit/tizen/20191011.095843
Abhay Agarwal [Fri, 11 Oct 2019 06:24:57 +0000 (15:24 +0900)]
Add APIs to support update service functionality

Update service functionality is required to update service information
like presence threshold and absence threshold.

Change-Id: Ic7e8ab3c4efeef1c33d491bbc848a8e67e0de360
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoFix a problem that ADD_DEVICE operation failed accepted/tizen/unified/20191011.101532 submit/tizen/20191011.062256
saerome.kim [Fri, 11 Oct 2019 02:06:14 +0000 (11:06 +0900)]
Fix a problem that ADD_DEVICE operation failed

- Problem: if the wrong information is entered and failed to ADD_DEVICE.
  user apps can't add devices anymore.
- Cause: When one app removes the user information  while adding the device,
  there is no way to know how the ADD_DEVICE  operation succeeded or not.
- Solution: notify the user with an error when ADD_DEVICE failed.

Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoManage device and service number with autoincrement property of sqlite accepted/tizen/unified/20191011.015435 submit/tizen/20191009.230917
Abhay Agarwal [Tue, 8 Oct 2019 09:25:36 +0000 (18:25 +0900)]
Manage device and service number with autoincrement property of sqlite

This patch modifies to manage database table field service_number, device_number
user_id and ibeacon_id with autoincrement property of sqlite.
Managing these field manually can result in unnecessary conflicts.

Change-Id: I159b9491d6984c56047a815d02f6d35123feb60d
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoFix busy handler implementation and update database handle name
Abhay Agarwal [Tue, 8 Oct 2019 03:04:14 +0000 (12:04 +0900)]
Fix busy handler implementation and update database handle name

Use a more specific database handle name instead of using 'database', since this
may conflict with other global variables from external libraries by accident

Change-Id: If1cca3013dc8558d80722f3582c416243a4e41df
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoFix to print proper error message from the sqlite database handle in error case
Abhay Agarwal [Tue, 8 Oct 2019 06:42:17 +0000 (15:42 +0900)]
Fix to print proper error message from the sqlite database handle in error case

Change-Id: Ic08a3e880931dba225decbd757b456a303b2bb76
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoRemove database recovery logic when sqlite command fails
Abhay Agarwal [Mon, 7 Oct 2019 09:57:57 +0000 (18:57 +0900)]
Remove database recovery logic when sqlite command fails

Current database recovery logic delete the current database and create a new database when
SQLite command fail, although SQLite cammand can also fail in case database is busy or locked.

Change-Id: Ib361c118427a5ef9f3ce6142c4d44d75475a045e
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years ago[Fix] Dereference after free issue in _pm_util_uas_device_info_free() accepted/tizen/unified/20191008.101528 accepted/tizen/unified/20191008.101533 submit/tizen/20191008.005850 submit/tizen/20191008.043811
Nishant Chaprana [Mon, 7 Oct 2019 06:15:12 +0000 (11:45 +0530)]
[Fix] Dereference after free issue in _pm_util_uas_device_info_free()

Change-Id: I813852e34b52bd72f11fcb59e5b9e71f661f8515
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
4 years agoFixed potential memory leak issue and prevent crash accepted/tizen/unified/20191007.234839 submit/tizen/20191007.022831
saerome.kim [Fri, 4 Oct 2019 09:45:56 +0000 (18:45 +0900)]
Fixed potential memory leak issue and prevent crash

There is a process of removing the user's device in the user remove process.
At that time, the tech_info that was put in the service list was not deleted
from the list.

Change-Id: If9cb86e2684b8cb434275560f719588f5f18b4d4
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoAdded support to get service specific device discriminant
Abhay Agarwal [Fri, 4 Oct 2019 07:06:26 +0000 (16:06 +0900)]
Added support to get service specific device discriminant

Change-Id: I9c39654fd4d64731f680e425b31e53b0f42b3ede
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoImprove error handling and return error code in case of failure
Abhay Agarwal [Fri, 4 Oct 2019 01:39:47 +0000 (10:39 +0900)]
Improve error handling and return error code in case of failure

This commit improves the error handling in ua-manager by returning error codes
in case of failures instead of just giving warnings.

Change-Id: I2eddd477c04e2fd2a5d33842d8659fceff6b65d7
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoImprove database API names
Abhay Agarwal [Fri, 4 Oct 2019 01:10:28 +0000 (10:10 +0900)]
Improve database API names

This commit modifies and improves the names of database APIs.
This changes API names from _ua_ to _uam_ to follow consistency in ua-manager.

Change-Id: I84132dbd0af3ddd3e5865eed0384921310810f63
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoAdd Database APIs to provide device service info during init
Abhay Agarwal [Wed, 2 Oct 2019 11:49:04 +0000 (20:49 +0900)]
Add Database APIs to provide device service info during init

Change-Id: Icc1e80615aafdde423c53ec9e3d4e64372d0d323
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoHandle service device mapping and filter detected devices
Abhay Agarwal [Wed, 2 Oct 2019 10:30:24 +0000 (19:30 +0900)]
Handle service device mapping and filter detected devices

This commit handles the service specific device discriminant and filters
the detected devices from plugins based on this discriminant.

Change-Id: I5c2194f455a51403161a6011665d606c0677a4ed
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agocleanup device services table when a device is removed
Abhay Agarwal [Wed, 2 Oct 2019 07:00:01 +0000 (16:00 +0900)]
cleanup device services table when a device is removed

This commit cleanup the corresponding device entries from device_services table.

Change-Id: Ie8d3166f520a7577f547c22966907b92f1a7b054
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoDatabase APIs to update device service information
Abhay Agarwal [Wed, 2 Oct 2019 01:02:49 +0000 (10:02 +0900)]
Database APIs to update device service information

Change-Id: I61ccb0da2cbcf76e8c7a38ba7f2e8b8a77e047c1
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoDatabase modifications to handle service specific discriminant
Abhay Agarwal [Wed, 2 Oct 2019 02:36:30 +0000 (11:36 +0900)]
Database modifications to handle service specific discriminant

Change-Id: I836d476ef93e473f8dfe2119b25cb400e4628b5c
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoProvide service based device discriminant
Abhay Agarwal [Tue, 1 Oct 2019 03:59:31 +0000 (12:59 +0900)]
Provide service based device discriminant

Change-Id: I4e88160885fcdd80679a45539126890080718a9f
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoUA-API Modification for service based device discriminant
Abhay Agarwal [Tue, 1 Oct 2019 01:08:46 +0000 (10:08 +0900)]
UA-API Modification for service based device discriminant

Change-Id: If9a8e63f2b2ed0fdd0638abee09bee4105cf3430
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoSend presence/absence events when sensor info is NULL accepted/tizen/unified/20191004.003626 submit/tizen/20191002.073539
Abhay Agarwal [Wed, 2 Oct 2019 02:10:54 +0000 (11:10 +0900)]
Send presence/absence events when sensor info is NULL

This commit sends the presence/absence events to capi with NULL
values in case sensor info received is NULL.

1087646: var_deref_model: Passing null pointer sensor_info to
         __send_sensor_presence_event, which dereferences it.

Change-Id: I9f18cf338e94b41d40211e0d8d7bd3218d775366
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoFixed crash issue
saerome.kim [Tue, 1 Oct 2019 22:49:07 +0000 (07:49 +0900)]
Fixed crash issue

A crash occurs in a harsh environment because the memory is broken.
To prevent incorrect access, make variables allocated to heap as null after
variable free().

Change-Id: Iee9c4df9af93354ff96e179765d22c39aa2df685
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoProvide sensor information in absence callback submit/tizen/20191001.125608
Abhay Agarwal [Tue, 1 Oct 2019 06:23:06 +0000 (15:23 +0900)]
Provide sensor information in absence callback

This commit modifies the absence sensor callback and provides the detected
sensor information to CAPI for environmental sensors.

Change-Id: Ib80eaa7377c69c630bdc76703445f16e23d2fd86
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years ago[Fix] [GLib Err] GLib-0x08: g_variant_unref: assertion 'value->ref_count > 0' failed accepted/tizen/unified/20191002.013423 submit/tizen/20191001.112138
Nishant Chaprana [Mon, 30 Sep 2019 14:55:22 +0000 (20:25 +0530)]
[Fix] [GLib Err] GLib-0x08: g_variant_unref: assertion 'value->ref_count > 0' failed

Change-Id: I2eb368406a9ad8684fa28269194fa674c1995ca6
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
4 years agoFixed a problem that can't create DB.
saerome.kim [Mon, 30 Sep 2019 12:24:31 +0000 (21:24 +0900)]
Fixed a problem that can't create DB.

If there is no DB file or the size is 0, the DB file is not created.

Change-Id: If967a1ae63f1d0d61a344ff805663e1be647bbe0
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years ago[Fix] services receiving detection callback on every detection for connectivity sensors.
Abhay Agarwal [Mon, 30 Sep 2019 08:18:05 +0000 (17:18 +0900)]
[Fix] services receiving detection callback on every detection for connectivity sensors.

Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
This patch fix the issue of services receiving detection callback after every detection.
After this patch services will only receive detection event only once in their detection cycle.
This patch does not affect the environmental sensors callback.

Change-Id: Idea2cf785dbe302c921ef18f67d70bc500896dbd

4 years ago[Fix] possible null pointer dereference
Nishant Chaprana [Fri, 27 Sep 2019 07:22:13 +0000 (12:52 +0530)]
[Fix] possible null pointer dereference

Change-Id: I7200c678c1aa3d9c40b44cab18c5fe84a065b9a3
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
4 years agoSet default light threshold as 2
saerome.kim [Fri, 27 Sep 2019 06:24:42 +0000 (15:24 +0900)]
Set default light threshold as 2

Change-Id: I4a4da9d914bffb0535a803b5f24080aaa26fb850
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoAllow device to be removed when discriminant disabled accepted/tizen/unified/20190929.221439 submit/tizen/20190927.055416
Abhay Agarwal [Fri, 27 Sep 2019 03:51:07 +0000 (12:51 +0900)]
Allow device to be removed when discriminant disabled

Change-Id: I5aeb906656032597a6656ccceeed02706239e4e7
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoFixed svace issues.
saerome.kim [Fri, 27 Sep 2019 01:38:01 +0000 (10:38 +0900)]
Fixed svace issues.

410291: Potential Memory Leak.
410713: Handle leak of SQLLite statement.
401702, 410740, 410741: Memory leak.
410742: Missing null-check.

Change-Id: I709b77dc29699c434e94bc5645455bcfdeb53bed
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoUpdate default presence/absence threshold
Abhay Agarwal [Thu, 26 Sep 2019 05:30:15 +0000 (14:30 +0900)]
Update default presence/absence threshold

Change-Id: I3ef0ad7c4cdecaa7e2dcabb4d696f2bc53623e6b
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoAPI Support for set presence/absence threshold
Abhay Agarwal [Wed, 25 Sep 2019 10:42:45 +0000 (19:42 +0900)]
API Support for set presence/absence threshold

Change-Id: I74daf1f806afa4df35fbb8c6e20acefd86b57151
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agosensor info memory issues
Abhay Agarwal [Tue, 24 Sep 2019 03:53:06 +0000 (12:53 +0900)]
sensor info memory issues

Change-Id: I5a8cfee673741c30cb7c1cb24dbb562256669efe
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoProvide sensor information in detection callback
Abhay Agarwal [Fri, 20 Sep 2019 10:13:35 +0000 (19:13 +0900)]
Provide sensor information in detection callback

Change-Id: Ic36c9180ad27660ab20059f05cd5441a3cbc6ae1
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
4 years agoAdded script to create .ua-manager-data.db
saerome.kim [Tue, 24 Sep 2019 03:50:05 +0000 (12:50 +0900)]
Added script to create .ua-manager-data.db
Added APACHE-2.0 license in ua_db.sql

Change-Id: I6068784d0b2bd60d5a7478922ca12d20b188bd94
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
4 years agoupdate ua_db.sql for db migration support
Abhay Agarwal [Tue, 24 Sep 2019 01:39:12 +0000 (10:39 +0900)]
update ua_db.sql for db migration support

Change-Id: I7b7b5dfd85e196e6e71243955f9e38861d597d6a
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>