Service cache doesn't update as services change

Bug #1393470 reported by Alberto Mardegan on 2014-11-17
This bug affects 3 people
Affects Status Importance Assigned to Milestone
libaccounts-glib (Ubuntu)

Bug Description

libaccounts-glib caches the list of current services inside its SQLite database, along with some basic information about the service (including the provider ID).
However, if a .service file changes its <provider> element, libaccounts-glib does not detect the change and still keeps the outdated information in its DB.

One possible solution for this is to add a function like ag_account_manager_rebuild_cache() which re-reads all the .service files, and invoke this function from our "account-service" hook program.

Thomas Strehl (strehl-t) on 2014-11-18
Changed in libaccounts-glib (Ubuntu):
importance: Undecided → Critical
tags: added: rtm14
Thomas Strehl (strehl-t) wrote :

Even worse, it seems a malicious app could ship a broken service file and with that corrupt the database.

Thomas Strehl (strehl-t) wrote :

It'll only break for the one app that ships the broken service file, so it shouldn't impact the db on a global level. Still, this is extremely annoying for devs.

Changed in libaccounts-glib (Ubuntu):
importance: Critical → High
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in libaccounts-glib (Ubuntu):
status: New → Confirmed
Robert Schroll (rschroll) wrote :

Note that this can cause confusion for apps that ship with a .service file. A fix may not take effect, or a breakage may not be noticed, since the old, working configuration persisted. (This latter case bit me.)

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers