Public bug reported:

[ Impact ]

When the ebook (EDS) phonebook backend is in use, PBAP phonebook pull
requests fail with "Internal Server Error" and no data is returned to
the client.

This means users cannot download contacts (phonebook entries) over
Bluetooth PBAP when obexd is built with/using the ebook backend. For
example, copying a vCard from the phonebook fails.

Root cause: phonebook_pull() in phonebook-ebook.c does not set *err = 0
on the success path, unlike the tracker and dummy backends. The caller
vobject_pull_open() in pbap.c declares 'ret' without initialization and
passes &ret to phonebook_pull(), so 'ret' retains an indeterminate stack
value. The subsequent 'if (ret < 0)' check then incorrectly triggers and
rejects the request.

The fix sets *err = 0 on the success path in phonebook-ebook.c, and
additionally initializes 'ret' to 0 in vobject_pull_open() as a
defensive measure to guard against any backend that omits this
assignment.

Upstream fix:
https://github.com/bluez/bluez/commit/7a0c8ebf91e69c3b2d2d48f8f4b0074fddde1fa4

[ Test Plan ]

Pair and connect a phone (or other device with a populated phonebook) to
the machine running the affected obexd/ebook backend.

Using obexctl, run:
1. obexctl
2. connect 8C:FD:F0:96:52:80 pbap
   (replace with the target device's Bluetooth address)
3. cd pb
4. cp *.vcf contact.vcf

Without the fix: the pull fails with "Internal Server Error" and no
vCard is retrieved.

With the fix: the phonebook is pulled successfully and contact.vcf is
created containing the expected vCard data.

[ Where problems could occur ]

The change touches the PBAP phonebook pull path in obexd. If the fix
were wrong, it could show up as PBAP pull requests returning incorrect
or empty data, or errors, when retrieving contacts.

The scope is limited to the phonebook pull code path, so any regression
would be confined to PBAP phonebook operations and would not affect
other Bluetooth profiles or obexd functionality.

** Affects: bluez (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: fixed-upstream

** Tags added: fixed-upstream

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2164618

Title:
  [SRU][Resolute] Fix PBAP PullPhoneBook failure with ebook backend

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/2164618/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to