Service cache doesn't update as services change

Bug #1393470 reported by Alberto Mardegan
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
libaccounts-glib (Ubuntu)
Confirmed
High
Unassigned

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.

Tags: rtm14
Thomas Strehl (strehl-t)
Changed in libaccounts-glib (Ubuntu):
importance: Undecided → Critical
tags: added: rtm14
Revision history for this message
Thomas Strehl (strehl-t) wrote :

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

Revision history for this message
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
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in libaccounts-glib (Ubuntu):
status: New → Confirmed
Revision history for this message
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  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.