summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2013-05-20 14:44:20 -0400
committerRay Strode <rstrode@redhat.com>2013-05-20 19:49:12 -0400
commit64e896b741c40f3b9213427eece0374eafa7f699 (patch)
treed77cf415952bdc1e9db23d0ed12e8442367ccf63
parent87c06b7a0104bd9bb8a3eda528a1b1af8dfcd2f4 (diff)
downloadaccountsservice-64e896b741c40f3b9213427eece0374eafa7f699.tar.gz
daemon: make cache_user do a full save
The cache_user function currently just does: comment = g_strdup_printf ("# Cached file for %s\n\n", user_name); g_file_set_contents (filename, comment, -1, &error); This commit changes it to write out a full key file. https://bugs.freedesktop.org/show_bug.cgi?id=64769
-rw-r--r--src/daemon.c12
-rw-r--r--src/user.c6
-rw-r--r--src/user.h2
3 files changed, 9 insertions, 11 deletions
diff --git a/src/daemon.c b/src/daemon.c
index 67048d9..264434e 100644
--- a/src/daemon.c
+++ b/src/daemon.c
@@ -1103,9 +1103,7 @@ static void
cache_user (Daemon *daemon,
User *user)
{
- GError *error = NULL;
gchar *filename;
- gchar *comment;
const char *user_name;
/* Always use the canonical user name looked up */
@@ -1113,15 +1111,7 @@ cache_user (Daemon *daemon,
filename = g_build_filename (USERDIR, user_name, NULL);
if (!g_file_test (filename, G_FILE_TEST_EXISTS)) {
- comment = g_strdup_printf ("# Cached file for %s\n\n", user_name);
- g_file_set_contents (filename, comment, -1, &error);
- g_free (comment);
-
- if (error != NULL) {
- g_warning ("Couldn't write user cache file: %s: %s",
- filename, error->message);
- g_error_free (error);
- }
+ user_save (user);
}
g_free (filename);
diff --git a/src/user.c b/src/user.c
index 98c2cce..ed0c8b2 100644
--- a/src/user.c
+++ b/src/user.c
@@ -469,6 +469,12 @@ user_register (User *user)
}
void
+user_save (User *user)
+{
+ save_extra_data (user);
+}
+
+void
user_unregister (User *user)
{
g_dbus_interface_skeleton_unexport (G_DBUS_INTERFACE_SKELETON (user));
diff --git a/src/user.h b/src/user.h
index 5362556..937e1b9 100644
--- a/src/user.h
+++ b/src/user.h
@@ -63,6 +63,8 @@ void user_update_local_account_property (User *user,
void user_register (User *user);
void user_unregister (User *user);
+void user_save (User *user);
+
const gchar * user_get_user_name (User *user);
gboolean user_get_system_account (User *user);
gboolean user_get_local_account (User *user);