summaryrefslogtreecommitdiffstats
path: root/binding/bluetooth-pbap-binding.c
AgeCommit message (Collapse)AuthorFilesLines
2020-10-26fix history segfault following transport disconnectneedlefish_13.93.0needlefish/13.93.0marlin_12.93.0marlin_12.92.0marlin_12.91.0marlin_12.90.1marlin_12.90.0marlin/12.93.0marlin/12.92.0marlin/12.91.0marlin/12.90.1marlin/12.90.0lamprey_11.92.0lamprey_11.91.0lamprey/11.92.0lamprey/11.91.0koi_10.93.0koi_10.92.0koi_10.91.0koi/10.93.0koi/10.92.0koi/10.91.013.93.012.93.012.92.012.91.012.90.112.90.011.92.011.91.010.93.010.92.010.91.0Raquel Medina1-2/+9
The segmentation fault manifests if the remote disconnects pbap transport followed by a refresh pbap data operation. The root cause is a read operation of vcard data for the calls history, ignoring the error triggered while attempting to access the corresponding file on the remote device. The current patch introduces the missing check for errors. SPEC-3652 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I916ba5b8b5fc29aa9b928dbf2ed3e7c892d15891 test & deleteme Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I9efa151af54ae87cbf7e67bb6b985a76e0814549
2020-10-06fix contacts data caching mechanismRaquel Medina1-30/+35
* Substitute calls to persistence binding's non existent 'write' verb with 'insert' verb (part of the current api), eliminating runtime warnings. * Update code to conform to v3 bindings: 'afb_service_call_sync' is a deprecated method for appfw v3 bindings, substitute with the recommended 'afb_api_call_sync' method. * Rebalance refcount for query object. Bug-AGL: SPEC-3619 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I1453a86ca24b9e90128d9e8bd2ee8f588fe5faa8
2019-11-28binding: pbap: add missing return after afb_req_fail callicefish_8.99.5icefish_8.99.4icefish_8.99.3icefish_8.99.2icefish/8.99.5icefish/8.99.4icefish/8.99.3icefish/8.99.28.99.58.99.48.99.38.99.2Matt Ranostay1-0/+1
To avoid calling afb_req_success after failure return after the afb_req_fail call in contacts verb. Bug-AGL: SPEC-2630 Change-Id: I2d521d7c04a4be7dd49e8a63cf1ac267de636de8 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-09-04fix(bluetooth-pbap-binding.c): Remove -Wformat warningLi Xiaoming1-1/+1
agl-service-bluetooth/agl-service-bluetooth-pbap/binding/ bluetooth-pbap-binding.c:173:13: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 7 has type ‘size_t’ {aka ‘unsigned int’} [-Wformat=] AFB_ERROR("Read only %ld/%ld bytes from %s", n, size, filename); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ agl-service-bluetooth/agl-service-bluetooth-pbap/binding/ bluetooth-pbap-binding.c:173:13: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 8 has type ‘size_t’ {aka ‘unsigned int’} [-Wformat=] Bug-AGL: SPEC-2422 Change-Id: I90504163278b3bbd415b73021bd32eaa2a759572 Signed-off-by: Li Xiaoming <lixm.fnst@cn.fujitsu.com>
2019-07-29binding: pbap: move data transfer results to shared directoryMatt Ranostay1-1/+1
Data transfers needs to be stored in /run/user/UID/usrshr to get the User::App-Shared Smack label on creation from obexd Bug-AGL: SPEC-2695 Change-Id: Ib32b1d02bb008311bbad975263af28452bf1647e Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-07-29binding: bluetooth-pbap: add check on file pointerMatt Ranostay1-5/+9
Avoid segfaulting if obex data transfer result cannot be accessed due to permissions. Bug-AGL: SPEC-2695 Change-Id: Iae75af3e44f7e8265f1a9a52d2343d358c985bfc Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-06-21binding: bluetooth-pbap: add import verb to improve transfer of contactsMatt Ranostay1-16/+45
Previously contacts are requested on every connection of a device by OBEX transfers, and due to issues with transfer rates it should be only done when requested. import verb requests new phonebook transfer, and returns data as the contacts verb currently does. Also this patchset switchs from the canonical MAC address to using the identifier from the Bluetooth stack for better connection tracking. Bug-AGL: SPEC-2541 Change-Id: I27ad0626248e8dba0cacd65f34843b8eec2ca754 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-05-16binding: bluetooth-pbap: add vcard parser frameworkMatt Ranostay1-14/+13
Parse the vCard information within the binding itself, and reduce service consumers processing and dependencies. Bug-AGL: SPEC-2392 Change-Id: Ie7654c4ba6d269cb8224e61021e19739614afb4e Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-04-10binding: bluetooth-pbap: save cached contacts by per deviceMatt Ranostay1-2/+7
Use the respective device's MAC address as an key for caching of contacts. This allows multiple devices to be paired with each having their own cached results. Bug-AGL: SPEC-2311 Change-Id: Iadc4da383a5e0860866414c9228e2e10ba238395 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-04-10binding: bluetooth-pbap: use persistence binding for cachingMatt Ranostay1-24/+58
Caching of contacts moved into storing in the persistence binding Bug-AGL: SPEC-2311 Change-Id: Ie9fa7b3e01f84f17101b211204575fc77bdc9a67 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-01-29binding: bluetooth-pbap: fix device disconnect checkMatt Ranostay1-5/+6
address parameter in properties isn't usually sent in a disconnect so just use the bluetooth stack device name. Change-Id: I75a7a7212fe06f63816e8cdadd0f29610ce80c82 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-01-29binding: bluetooth-pbap: cache contacts list on connectionMatt Ranostay1-2/+31
Populating the contacts list can take several seconds for the OBEX transfer to complete. So to avoid phone UI delays service is started at startup, and populates a cached version of contacts for clients. Change-Id: I1687fc6bc075964b71be4515c5048bff1861b4ec Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-01-04binding: bluetooth-pbap: fix hang when an invalid handle was requestedhalibut_7.90.0halibut/7.90.0guppy_6.99.4guppy/6.99.47.90.06.99.4Matt Ranostay1-14/+37
If an invalid handle was requested the wait condition wouldn't ever return. This patchset handlest the error condition and gracefully alerts the user. Change-Id: I05fdc6dfff998789aaa9332b1cc755b8e3fd970a Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-01-04binding: bluetooth: change 'card' to 'handle' as field nameMatt Ranostay1-1/+1
To keep parameter and field repsonses consistent name 'card' to 'handle' which entry verb uses. Bug-AGL: SPEC-2095 Change-Id: I7964469a631b5aeb19814b595c4c4f4ca394040a Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-11-12binding: bluetooth-pbap: upgrade bluetooth binding calls to version 2.0guppy_6.99.3guppy_6.99.2guppy_6.99.1guppy/6.99.3guppy/6.99.2guppy/6.99.16.99.36.99.26.99.1Matt Ranostay1-39/+81
Bug-AGL: SPEC-1630 Change-Id: If9efc97fb5f89a31ca08eb1189156a3519475601 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-10-15binding: pbap: upgrade afb framework to version 3Matt Ranostay1-48/+41
Change-Id: I8c580ca04151e10581bcdf51dca7fc408ae85f7b Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-06-20Send connection status upon event subscribeguppy_6.90.0guppy/6.90.0flounder_5.99.6flounder_5.99.5flounder_5.99.4flounder_5.99.3flounder_5.99.2flounder_5.99.1flounder/5.99.6flounder/5.99.5flounder/5.99.4flounder/5.99.3flounder/5.99.2flounder/5.99.16.90.05.99.65.99.55.99.45.99.35.99.25.99.1Matt Porter1-8/+18
When the status event is subscribed, immediately send the current PBAP connection status. Bug-AGL: SPEC-1519 Change-Id: I222789f81040c80fb67dac63c889c96586ba0dbd Signed-off-by: Matt Porter <mporter@konsulko.com>
2018-06-20Add connection status event and verbMatt Porter1-2/+66
Adds a status event and a verb which reports the current PBAP device connection status. This allows applications to determine when to refresh data or display alternative data if a PBAP connection is unavailable. Bug-AGL: SPEC-1519 Change-Id: I7c3bd7081be3a850cebb3c708a0be95fc685a6fc Signed-off-by: Matt Porter <mporter@konsulko.com>
2018-06-14Initial Bluetooth PBAP bindingMatt Porter1-0/+615
Supports the following features: - retrieval of phonebook contacts - retrieval of call history (incoming/outgoing/missed/combined lists) - retrieval of individual contact entry by handle - search for contact by phone number Bug-AGL: SPEC-1437 Change-Id: I1d0d5c4c02e5ba4a5db1bcfc932421fd9d478426 Signed-off-by: Matt Porter <mporter@konsulko.com>