summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2022-07-28 10:27:04 -0400
committerRay Strode <rstrode@redhat.com>2022-07-28 10:39:20 -0400
commit35a4410faf8a13755208ac8a6c1cdfcedac54875 (patch)
tree2ab683d3d0d088e9fab2d59f676e257913235d98
parentd1bdde95aab7bab193f06a0a1b9d0ac418772566 (diff)
downloadaccountsservice-35a4410faf8a13755208ac8a6c1cdfcedac54875.tar.gz
src: Run entire tree through uncrustify
The accountsservice coding style is less than pristine, and it would be good to improve that going forward. Its coding style is ostensibly the same as plymouths, though, and plymouth has an uncrustify config hammered out already. This commit runs the tree through that config to get things in better shape.
-rw-r--r--src/accounts-daemon.h2
-rw-r--r--src/daemon.c348
-rw-r--r--src/daemon.h33
-rw-r--r--src/extensions.c10
-rw-r--r--src/fgetpwent.c148
-rw-r--r--src/libaccountsservice/act-user-manager.c432
-rw-r--r--src/libaccountsservice/act-user-manager.h158
-rw-r--r--src/libaccountsservice/act-user-private.h32
-rw-r--r--src/libaccountsservice/act-user.c139
-rw-r--r--src/libaccountsservice/act-user.h170
-rw-r--r--src/main.c55
-rw-r--r--src/user-classify.h6
-rw-r--r--src/user.c429
-rw-r--r--src/user.h58
-rw-r--r--src/util.c67
-rw-r--r--src/util.h17
-rw-r--r--src/wtmp-helper.c42
-rw-r--r--src/wtmp-helper.h4
-rw-r--r--tests/util.c39
19 files changed, 1123 insertions, 1066 deletions
diff --git a/src/accounts-daemon.h b/src/accounts-daemon.h
index 84bb293..0949dae 100644
--- a/src/accounts-daemon.h
+++ b/src/accounts-daemon.h
@@ -23,7 +23,7 @@
#define TYPE_DAEMON (daemon_get_type ())
#define DAEMON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_DAEMON, Daemon))
-#define DAEMON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), TYPE_DAEMON, DaemonClass))
+#define DAEMON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_DAEMON, DaemonClass))
#define IS_DAEMON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_DAEMON))
#define IS_DAEMON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_DAEMON))
#define DAEMON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_DAEMON, DaemonClass))
diff --git a/src/daemon.c b/src/daemon.c
index 882bc26..df6810e 100644
--- a/src/daemon.c
+++ b/src/daemon.c
@@ -56,39 +56,45 @@
#define PATH_SHADOW "shadow"
#define PATH_GROUP "/etc/group"
-enum {
+enum
+{
PROP_0,
PROP_DAEMON_VERSION
};
-typedef struct {
+typedef struct
+{
GDBusConnection *bus_connection;
- GHashTable *users;
- gsize number_of_normal_users;
- GList *explicitly_requested_users;
+ GHashTable *users;
+ gsize number_of_normal_users;
+ GList *explicitly_requested_users;
- User *autologin;
+ User *autologin;
- GFileMonitor *passwd_monitor;
- GFileMonitor *shadow_monitor;
- GFileMonitor *group_monitor;
- GFileMonitor *gdm_monitor;
- GFileMonitor *wtmp_monitor;
+ GFileMonitor *passwd_monitor;
+ GFileMonitor *shadow_monitor;
+ GFileMonitor *group_monitor;
+ GFileMonitor *gdm_monitor;
+ GFileMonitor *wtmp_monitor;
- GQueue *pending_list_cached_users;
+ GQueue *pending_list_cached_users;
- guint reload_id;
- guint autologin_id;
+ guint reload_id;
+ guint autologin_id;
PolkitAuthority *authority;
- GHashTable *extension_ifaces;
+ GHashTable *extension_ifaces;
} DaemonPrivate;
-typedef struct passwd * (* EntryGeneratorFunc) (Daemon *, GHashTable *, gpointer *, struct spwd **shadow_entry);
+typedef struct passwd * (* EntryGeneratorFunc) (Daemon *,
+ GHashTable *,
+ gpointer *,
+ struct spwd **shadow_entry);
-typedef struct {
- Daemon *daemon;
+typedef struct
+{
+ Daemon *daemon;
GDBusMethodInvocation *context;
} ListUserData;
@@ -104,11 +110,11 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC (Daemon, g_object_unref)
static const GDBusErrorEntry accounts_error_entries[] =
{
- { ERROR_FAILED, "org.freedesktop.Accounts.Error.Failed" },
- { ERROR_USER_EXISTS, "org.freedesktop.Accounts.Error.UserExists" },
+ { ERROR_FAILED, "org.freedesktop.Accounts.Error.Failed" },
+ { ERROR_USER_EXISTS, "org.freedesktop.Accounts.Error.UserExists" },
{ ERROR_USER_DOES_NOT_EXIST, "org.freedesktop.Accounts.Error.UserDoesNotExist" },
- { ERROR_PERMISSION_DENIED, "org.freedesktop.Accounts.Error.PermissionDenied" },
- { ERROR_NOT_SUPPORTED, "org.freedesktop.Accounts.Error.NotSupported" }
+ { ERROR_PERMISSION_DENIED, "org.freedesktop.Accounts.Error.PermissionDenied" },
+ { ERROR_NOT_SUPPORTED, "org.freedesktop.Accounts.Error.NotSupported" }
};
GQuark
@@ -128,23 +134,22 @@ error_quark (void)
GType
error_get_type (void)
{
- static GType etype = 0;
-
- if (etype == 0)
- {
- static const GEnumValue values[] =
- {
- ENUM_ENTRY (ERROR_FAILED, "Failed"),
- ENUM_ENTRY (ERROR_USER_EXISTS, "UserExists"),
- ENUM_ENTRY (ERROR_USER_DOES_NOT_EXIST, "UserDoesntExist"),
- ENUM_ENTRY (ERROR_PERMISSION_DENIED, "PermissionDenied"),
- ENUM_ENTRY (ERROR_NOT_SUPPORTED, "NotSupported"),
- { 0, 0, 0 }
- };
- g_assert (NUM_ERRORS == G_N_ELEMENTS (values) - 1);
- etype = g_enum_register_static ("Error", values);
- }
- return etype;
+ static GType etype = 0;
+
+ if (etype == 0) {
+ static const GEnumValue values[] =
+ {
+ ENUM_ENTRY (ERROR_FAILED, "Failed"),
+ ENUM_ENTRY (ERROR_USER_EXISTS, "UserExists"),
+ ENUM_ENTRY (ERROR_USER_DOES_NOT_EXIST, "UserDoesntExist"),
+ ENUM_ENTRY (ERROR_PERMISSION_DENIED, "PermissionDenied"),
+ ENUM_ENTRY (ERROR_NOT_SUPPORTED, "NotSupported"),
+ { 0, 0, 0}
+ };
+ g_assert (NUM_ERRORS == G_N_ELEMENTS (values) - 1);
+ etype = g_enum_register_static ("Error", values);
+ }
+ return etype;
}
#ifndef HAVE_FGETPWENT
@@ -176,13 +181,15 @@ entry_generator_fgetpwent (Daemon *daemon,
{
struct passwd *pwent;
- struct {
+ struct
+ {
struct spwd spbuf;
- char buf[1024];
+ char buf[1024];
} *shadow_entry_buffers;
- struct {
- FILE *fp;
+ struct
+ {
+ FILE *fp;
GHashTable *users;
} *generator_state;
@@ -206,9 +213,9 @@ entry_generator_fgetpwent (Daemon *daemon,
do {
int ret = 0;
- shadow_entry_buffers = g_malloc0 (sizeof (*shadow_entry_buffers));
+ shadow_entry_buffers = g_malloc0 (sizeof(*shadow_entry_buffers));
- ret = fgetspent_r (fp, &shadow_entry_buffers->spbuf, shadow_entry_buffers->buf, sizeof (shadow_entry_buffers->buf), &shadow_entry);
+ ret = fgetspent_r (fp, &shadow_entry_buffers->spbuf, shadow_entry_buffers->buf, sizeof(shadow_entry_buffers->buf), &shadow_entry);
if (ret == 0) {
g_hash_table_insert (shadow_users, g_strdup (shadow_entry->sp_namp), shadow_entry_buffers);
} else {
@@ -235,7 +242,7 @@ entry_generator_fgetpwent (Daemon *daemon,
return NULL;
}
- generator_state = g_malloc0 (sizeof (*generator_state));
+ generator_state = g_malloc0 (sizeof(*generator_state));
generator_state->fp = fp;
generator_state->users = shadow_users;
@@ -251,7 +258,7 @@ entry_generator_fgetpwent (Daemon *daemon,
shadow_entry_buffers = g_hash_table_lookup (generator_state->users, pwent->pw_name);
if (shadow_entry_buffers != NULL) {
- *spent = &shadow_entry_buffers->spbuf;
+ *spent = &shadow_entry_buffers->spbuf;
}
/* Skip system users... */
@@ -281,7 +288,8 @@ entry_generator_cachedir (Daemon *daemon,
struct spwd **shadow_entry)
{
struct passwd *pwent;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
gboolean regular;
GHashTableIter iter;
gpointer key, value;
@@ -326,10 +334,9 @@ entry_generator_cachedir (Daemon *daemon,
} else if (errno == 0) {
g_debug ("user '%s' in cache dir but not present on system, removing", name);
remove_cache_files (name);
- }
- else {
+ } else {
g_warning ("failed to check if user '%s' in cache dir is present on system: %s",
- name, g_strerror (errno));
+ name, g_strerror (errno));
}
}
}
@@ -396,10 +403,10 @@ entry_generator_requested_users (Daemon *daemon,
}
static void
-load_entries (Daemon *daemon,
- GHashTable *users,
- gboolean explicitly_requested,
- EntryGeneratorFunc entry_generator)
+load_entries (Daemon *daemon,
+ GHashTable *users,
+ gboolean explicitly_requested,
+ EntryGeneratorFunc entry_generator)
{
DaemonPrivate *priv = daemon_get_instance_private (daemon);
gpointer generator_state = NULL;
@@ -482,8 +489,9 @@ reload_users (Daemon *daemon)
load_entries (daemon, users, FALSE, entry_generator_fgetpwent);
local = g_hash_table_new (g_str_hash, g_str_equal);
g_hash_table_iter_init (&iter, users);
- while (g_hash_table_iter_next (&iter, &name, NULL))
+ while (g_hash_table_iter_next (&iter, &name, NULL)) {
g_hash_table_add (local, name);
+ }
/* Now add/update users from other sources, possibly non-local */
load_entries (daemon, users, TRUE, entry_generator_cachedir);
@@ -568,10 +576,10 @@ reload_users_timeout (Daemon *daemon)
return FALSE;
}
-static gboolean load_autologin (Daemon *daemon,
- gchar **name,
- gboolean *enabled,
- GError **error);
+static gboolean load_autologin (Daemon *daemon,
+ gchar **name,
+ gboolean *enabled,
+ GError **error);
static gboolean
reload_autologin_timeout (Daemon *daemon)
@@ -580,7 +588,8 @@ reload_autologin_timeout (Daemon *daemon)
AccountsAccounts *accounts = ACCOUNTS_ACCOUNTS (daemon);
gboolean enabled;
g_autofree gchar *name = NULL;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
User *user = NULL;
priv->autologin_id = 0;
@@ -610,8 +619,7 @@ reload_autologin_timeout (Daemon *daemon)
priv->autologin = g_object_ref (user);
g_signal_emit_by_name (priv->autologin, "changed", 0);
}
- }
- else {
+ } else {
g_debug ("automatic login is disabled");
accounts_accounts_set_automatic_login_users (accounts, NULL);
}
@@ -632,7 +640,7 @@ queue_reload_users_eventually (Daemon *daemon)
* parsing doesn't hammer the cpu if the user is logging in
* and out in a continuous loop.
*/
- priv->reload_id = g_timeout_add_seconds (10, (GSourceFunc)reload_users_timeout, daemon);
+ priv->reload_id = g_timeout_add_seconds (10, (GSourceFunc) reload_users_timeout, daemon);
}
static void
@@ -647,7 +655,7 @@ queue_reload_users_soon (Daemon *daemon)
/* we wait half a second or so in case /etc/passwd and
* /etc/shadow are changed at the same time, or repeatedly.
*/
- priv->reload_id = g_timeout_add (500, (GSourceFunc)reload_users_timeout, daemon);
+ priv->reload_id = g_timeout_add (500, (GSourceFunc) reload_users_timeout, daemon);
}
static void
@@ -659,7 +667,7 @@ queue_reload_users (Daemon *daemon)
return;
}
- priv->reload_id = g_idle_add ((GSourceFunc)reload_users_timeout, daemon);
+ priv->reload_id = g_idle_add ((GSourceFunc) reload_users_timeout, daemon);
}
static void
@@ -671,15 +679,15 @@ queue_reload_autologin (Daemon *daemon)
return;
}
- priv->autologin_id = g_idle_add ((GSourceFunc)reload_autologin_timeout, daemon);
+ priv->autologin_id = g_idle_add ((GSourceFunc) reload_autologin_timeout, daemon);
}
static void
-on_users_monitor_changed (GFileMonitor *monitor,
- GFile *file,
- GFile *other_file,
- GFileMonitorEvent event_type,
- Daemon *daemon)
+on_users_monitor_changed (GFileMonitor *monitor,
+ GFile *file,
+ GFile *other_file,
+ GFileMonitorEvent event_type,
+ Daemon *daemon)
{
DaemonPrivate *priv = daemon_get_instance_private (daemon);
@@ -696,11 +704,11 @@ on_users_monitor_changed (GFileMonitor *monitor,
}
static void
-on_gdm_monitor_changed (GFileMonitor *monitor,
- GFile *file,
- GFile *other_file,
- GFileMonitorEvent event_type,
- Daemon *daemon)
+on_gdm_monitor_changed (GFileMonitor *monitor,
+ GFile *file,
+ GFile *other_file,
+ GFileMonitorEvent event_type,
+ Daemon *daemon)
{
if (event_type != G_FILE_MONITOR_EVENT_CHANGED &&
event_type != G_FILE_MONITOR_EVENT_CREATED) {
@@ -710,20 +718,20 @@ on_gdm_monitor_changed (GFileMonitor *monitor,
queue_reload_autologin (daemon);
}
-typedef void FileChangeCallback (GFileMonitor *monitor,
- GFile *file,
- GFile *other_file,
- GFileMonitorEvent event_type,
- Daemon *daemon);
+typedef void FileChangeCallback (GFileMonitor *monitor,
+ GFile *file,
+ GFile *other_file,
+ GFileMonitorEvent event_type,
+ Daemon *daemon);
static GFileMonitor *
setup_monitor (Daemon *daemon,
const gchar *path,
FileChangeCallback *callback)
{
- g_autoptr(GFile) file = NULL;
+ g_autoptr (GFile) file = NULL;
GFileMonitor *monitor;
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
if (!path) {
return NULL;
@@ -813,7 +821,8 @@ static gboolean
register_accounts_daemon (Daemon *daemon)
{
DaemonPrivate *priv = daemon_get_instance_private (daemon);
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
priv->authority = polkit_authority_get_sync (NULL, &error);
if (priv->authority == NULL) {
@@ -844,7 +853,7 @@ register_accounts_daemon (Daemon *daemon)
Daemon *
daemon_new (void)
{
- g_autoptr(Daemon) daemon = NULL;
+ g_autoptr (Daemon) daemon = NULL;
daemon = DAEMON (g_object_new (TYPE_DAEMON, NULL));
@@ -902,7 +911,7 @@ daemon_local_find_user_by_id (Daemon *daemon,
pwent = getpwuid (uid);
if (pwent == NULL) {
- g_debug ("unable to lookup uid %d", (int)uid);
+ g_debug ("unable to lookup uid %d", (int) uid);
return NULL;
}
@@ -952,6 +961,7 @@ User *
daemon_local_get_automatic_login_user (Daemon *daemon)
{
DaemonPrivate *priv = daemon_get_instance_private (daemon);
+
return priv->autologin;
}
@@ -960,16 +970,15 @@ daemon_find_user_by_id (AccountsAccounts *accounts,
GDBusMethodInvocation *context,
gint64 uid)
{
- Daemon *daemon = (Daemon*)accounts;
+ Daemon *daemon = (Daemon *) accounts;
User *user;
user = daemon_local_find_user_by_id (daemon, uid);
if (user) {
accounts_accounts_complete_find_user_by_id (NULL, context, user_get_object_path (user));
- }
- else {
- throw_error (context, ERROR_FAILED, "Failed to look up user with uid %d.", (int)uid);
+ } else {
+ throw_error (context, ERROR_FAILED, "Failed to look up user with uid %d.", (int) uid);
}
return TRUE;
@@ -980,15 +989,14 @@ daemon_find_user_by_name (AccountsAccounts *accounts,
GDBusMethodInvocation *context,
const gchar *name)
{
- Daemon *daemon = (Daemon*)accounts;
+ Daemon *daemon = (Daemon *) accounts;
User *user;
user = daemon_local_find_user_by_name (daemon, name);
if (user) {
accounts_accounts_complete_find_user_by_name (NULL, context, user_get_object_path (user));
- }
- else {
+ } else {
throw_error (context, ERROR_FAILED, "Failed to look up user with name %s.", name);
}
@@ -1020,7 +1028,8 @@ static void
finish_list_cached_users (ListUserData *data)
{
DaemonPrivate *priv = daemon_get_instance_private (data->daemon);
- g_autoptr(GPtrArray) object_paths = NULL;
+
+ g_autoptr (GPtrArray) object_paths = NULL;
GHashTableIter iter;
gpointer key, value;
@@ -1058,7 +1067,7 @@ static gboolean
daemon_list_cached_users (AccountsAccounts *accounts,
GDBusMethodInvocation *context)
{
- Daemon *daemon = (Daemon*)accounts;
+ Daemon *daemon = (Daemon *) accounts;
DaemonPrivate *priv = daemon_get_instance_private (daemon);
ListUserData *data;
@@ -1067,8 +1076,7 @@ daemon_list_cached_users (AccountsAccounts *accounts,
if (priv->reload_id > 0) {
/* reload pending -- finish call in reload_users_timeout */
g_queue_push_tail (priv->pending_list_cached_users, data);
- }
- else {
+ } else {
finish_list_cached_users (data);
}
@@ -1078,7 +1086,7 @@ daemon_list_cached_users (AccountsAccounts *accounts,
static int
sort_languages (gconstpointer element_1,
gconstpointer element_2,
- GHashTable *language_frequency_map)
+ GHashTable *language_frequency_map)
{
const char *language_1 = *(const char **) element_1;
const char *language_2 = *(const char **) element_2;
@@ -1098,12 +1106,14 @@ static gboolean
daemon_get_users_languages (AccountsAccounts *accounts,
GDBusMethodInvocation *context)
{
- Daemon *daemon = (Daemon*)accounts;
+ Daemon *daemon = (Daemon *) accounts;
DaemonPrivate *priv = daemon_get_instance_private (daemon);
- g_autoptr(GHashTable) language_frequency_map = NULL;
+
+ g_autoptr (GHashTable) language_frequency_map = NULL;
GHashTableIter users_iter, language_frequency_map_iter;
gpointer key, value;
- g_autoptr(GPtrArray) languages_array = NULL;
+
+ g_autoptr (GPtrArray) languages_array = NULL;
const char *system_locale;
language_frequency_map = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
@@ -1156,7 +1166,7 @@ daemon_get_users_languages (AccountsAccounts *accounts,
static const gchar *
daemon_get_daemon_version (AccountsAccounts *object)
{
- return VERSION;
+ return VERSION;
}
static void
@@ -1175,10 +1185,11 @@ cache_user (Daemon *daemon,
}
}
-typedef struct {
+typedef struct
+{
gchar *user_name;
gchar *real_name;
- gint account_type;
+ gint account_type;
} CreateUserData;
static void
@@ -1200,7 +1211,8 @@ daemon_create_user_authorized_cb (Daemon *daemon,
{
CreateUserData *cd = data;
User *user;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
const gchar *argv[9];
g_autofree gchar *admin_groups = NULL;
@@ -1216,13 +1228,13 @@ daemon_create_user_authorized_cb (Daemon *daemon,
argv[2] = "-c";
argv[3] = cd->real_name;
if (cd->account_type == ACCOUNT_TYPE_ADMINISTRATOR) {
- g_auto(GStrv) admin_groups_array = NULL;
- g_autoptr(GStrvBuilder) admin_groups_builder = g_strv_builder_new ();
+ g_auto (GStrv) admin_groups_array = NULL;
+ g_autoptr (GStrvBuilder) admin_groups_builder = g_strv_builder_new ();
g_strv_builder_add (admin_groups_builder, ADMIN_GROUP);
if (EXTRA_ADMIN_GROUPS != NULL && EXTRA_ADMIN_GROUPS[0] != '\0') {
- g_auto(GStrv) extra_admin_groups = NULL;
+ g_auto (GStrv) extra_admin_groups = NULL;
extra_admin_groups = g_strsplit (EXTRA_ADMIN_GROUPS, ",", 0);
for (gsize i = 0; extra_admin_groups[i] != NULL; i++) {
@@ -1240,13 +1252,11 @@ daemon_create_user_authorized_cb (Daemon *daemon,
argv[6] = "--";
argv[7] = cd->user_name;
argv[8] = NULL;
- }
- else if (cd->account_type == ACCOUNT_TYPE_STANDARD) {
+ } else if (cd->account_type == ACCOUNT_TYPE_STANDARD) {
argv[4] = "--";
argv[5] = cd->user_name;
argv[6] = NULL;
- }
- else {
+ } else {
throw_error (context, ERROR_FAILED, "Don't know how to add user of type %d", cd->account_type);
return;
}
@@ -1272,7 +1282,7 @@ daemon_create_user (AccountsAccounts *accounts,
const gchar *real_name,
gint account_type)
{
- Daemon *daemon = (Daemon*)accounts;
+ Daemon *daemon = (Daemon *) accounts;
CreateUserData *data;
data = g_new0 (CreateUserData, 1);
@@ -1286,7 +1296,7 @@ daemon_create_user (AccountsAccounts *accounts,
daemon_create_user_authorized_cb,
context,
data,
- (GDestroyNotify)create_data_free);
+ (GDestroyNotify) create_data_free);
return TRUE;
}
@@ -1298,7 +1308,7 @@ daemon_cache_user_authorized_cb (Daemon *daemon,
gpointer data)
{
const gchar *user_name = data;
- User *user;
+ User *user;
sys_log (context, "cache user '%s'", user_name);
@@ -1321,7 +1331,7 @@ daemon_cache_user (AccountsAccounts *accounts,
GDBusMethodInvocation *context,
const gchar *user_name)
{
- Daemon *daemon = (Daemon*)accounts;
+ Daemon *daemon = (Daemon *) accounts;
/* Can't have a slash in the user name */
if (strchr (user_name, '/') != NULL) {
@@ -1349,7 +1359,7 @@ daemon_uncache_user_authorized_cb (Daemon *daemon,
gpointer data)
{
const gchar *user_name = data;
- User *user;
+ User *user;
sys_log (context, "uncache user '%s'", user_name);
@@ -1378,7 +1388,7 @@ daemon_uncache_user (AccountsAccounts *accounts,
GDBusMethodInvocation *context,
const gchar *user_name)
{
- Daemon *daemon = (Daemon*)accounts;
+ Daemon *daemon = (Daemon *) accounts;
daemon_local_check_auth (daemon,
NULL,
@@ -1391,8 +1401,9 @@ daemon_uncache_user (AccountsAccounts *accounts,
return TRUE;
}
-typedef struct {
- uid_t uid;
+typedef struct
+{
+ uid_t uid;
gboolean remove_files;
} DeleteUserData;
@@ -1405,7 +1416,8 @@ daemon_delete_user_authorized_cb (Daemon *daemon,
{
DaemonPrivate *priv = daemon_get_instance_private (daemon);
DeleteUserData *ud = data;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
struct passwd *pwent;
const gchar *argv[6];
const gchar *homedir;
@@ -1451,8 +1463,7 @@ daemon_delete_user_authorized_cb (Daemon *daemon,
argv[3] = "--";
argv[4] = pwent->pw_name;
argv[5] = NULL;
- }
- else {
+ } else {
argv[1] = "-f";
argv[2] = "--";
argv[3] = pwent->pw_name;
@@ -1474,16 +1485,16 @@ daemon_delete_user (AccountsAccounts *accounts,
gint64 uid,
gboolean remove_files)
{
- Daemon *daemon = (Daemon*)accounts;
+ Daemon *daemon = (Daemon *) accounts;
DeleteUserData *data;
- if ((uid_t)uid == 0) {
+ if ((uid_t) uid == 0) {
throw_error (context, ERROR_FAILED, "Refuse to delete root user");
return TRUE;
}
data = g_new0 (DeleteUserData, 1);
- data->uid = (uid_t)uid;
+ data->uid = (uid_t) uid;
data->remove_files = remove_files;
daemon_local_check_auth (daemon,
@@ -1492,18 +1503,19 @@ daemon_delete_user (AccountsAccounts *accounts,
daemon_delete_user_authorized_cb,
context,
data,
- (GDestroyNotify)g_free);
+ (GDestroyNotify) g_free);
return TRUE;
}
-typedef struct {
- Daemon *daemon;
- User *user;
- AuthorizedCallback authorized_cb;
+typedef struct
+{
+ Daemon *daemon;
+ User *user;
+ AuthorizedCallback authorized_cb;
GDBusMethodInvocation *context;
- gpointer data;
- GDestroyNotify destroy_notify;
+ gpointer data;
+ GDestroyNotify destroy_notify;
} CheckAuthData;
static void
@@ -1527,21 +1539,19 @@ check_auth_cb (PolkitAuthority *authority,
{
CheckAuthData *cad = data;
PolkitAuthorizationResult *result;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
gboolean is_authorized = FALSE;
result = polkit_authority_check_authorization_finish (authority, res, &error);
if (error) {
throw_error (cad->context, ERROR_PERMISSION_DENIED, "Not authorized: %s", error->message);
- }
- else {
+ } else {
if (polkit_authorization_result_get_is_authorized (result)) {
is_authorized = TRUE;
- }
- else if (polkit_authorization_result_get_is_challenge (result)) {
+ } else if (polkit_authorization_result_get_is_challenge (result)) {
throw_error (cad->context, ERROR_PERMISSION_DENIED, "Authentication is required");
- }
- else {
+ } else {
throw_error (cad->context, ERROR_PERMISSION_DENIED, "Not authorized");
}
@@ -1549,10 +1559,10 @@ check_auth_cb (PolkitAuthority *authority,
}
if (is_authorized) {
- (* cad->authorized_cb) (cad->daemon,
- cad->user,
- cad->context,
- cad->data);
+ (*cad->authorized_cb) (cad->daemon,
+ cad->user,
+ cad->context,
+ cad->data);
}
check_auth_data_free (data);
@@ -1561,18 +1571,18 @@ check_auth_cb (PolkitAuthority *authority,
static gboolean
get_allow_interaction (GDBusMethodInvocation *invocation)
{
- /* GLib 2.46 is when G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION
- * was first released.
- */
-#if GLIB_CHECK_VERSION(2, 46, 0)
- GDBusMessage *message = g_dbus_method_invocation_get_message (invocation);
- GDBusMessageFlags message_flags = g_dbus_message_get_flags (message);
- if (message_flags & G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION)
- return TRUE;
- else
- return FALSE;
+ /* GLib 2.46 is when G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION
+ * was first released.
+ */
+#if GLIB_CHECK_VERSION (2, 46, 0)
+ GDBusMessage *message = g_dbus_method_invocation_get_message (invocation);
+ GDBusMessageFlags message_flags = g_dbus_message_get_flags (message);
+ if (message_flags & G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION)
+ return TRUE;
+ else
+ return FALSE;
#else
- return TRUE;
+ return TRUE;
#endif
}
@@ -1618,12 +1628,12 @@ daemon_local_check_auth (Daemon *daemon,
}
gboolean
-load_autologin (Daemon *daemon,
- gchar **name,
- gboolean *enabled,
- GError **error)
+load_autologin (Daemon *daemon,
+ gchar **name,
+ gboolean *enabled,
+ GError **error)
{
- g_autoptr(GKeyFile) keyfile = NULL;
+ g_autoptr (GKeyFile) keyfile = NULL;
GError *local_error = NULL;
g_autofree gchar *string = NULL;
@@ -1642,8 +1652,7 @@ load_autologin (Daemon *daemon,
}
if (string != NULL && (g_ascii_strcasecmp (string, "true") == 0 || strcmp (string, "1") == 0)) {
*enabled = TRUE;
- }
- else {
+ } else {
*enabled = FALSE;
}
@@ -1662,10 +1671,10 @@ save_autologin (Daemon *daemon,
gboolean enabled,
GError **error)
{
- g_autoptr(GKeyFile) keyfile = NULL;
+ g_autoptr (GKeyFile) keyfile = NULL;
g_autofree gchar *data = NULL;
gboolean result;
- g_autoptr(GError) local_error = NULL;
+ g_autoptr (GError) local_error = NULL;
keyfile = g_key_file_new ();
if (!g_key_file_load_from_file (keyfile,
@@ -1689,10 +1698,10 @@ save_autologin (Daemon *daemon,
}
gboolean
-daemon_local_set_automatic_login (Daemon *daemon,
- User *user,
- gboolean enabled,
- GError **error)
+daemon_local_set_automatic_login (Daemon *daemon,
+ User *user,
+ gboolean enabled,
+ GError **error)
{
DaemonPrivate *priv = daemon_get_instance_private (daemon);
@@ -1726,6 +1735,7 @@ GHashTable *
daemon_get_extension_ifaces (Daemon *daemon)
{
DaemonPrivate *priv = daemon_get_instance_private (daemon);
+
return priv->extension_ifaces;
}
diff --git a/src/daemon.h b/src/daemon.h
index 0555872..1e264a9 100644
--- a/src/daemon.h
+++ b/src/daemon.h
@@ -31,22 +31,25 @@
#define TYPE_DAEMON (daemon_get_type ())
#define DAEMON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_DAEMON, Daemon))
-#define DAEMON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), TYPE_DAEMON, DaemonClass))
+#define DAEMON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_DAEMON, DaemonClass))
#define IS_DAEMON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_DAEMON))
#define IS_DAEMON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_DAEMON))
#define DAEMON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_DAEMON, DaemonClass))
typedef struct DaemonClass DaemonClass;
-struct Daemon {
+struct Daemon
+{
AccountsAccountsSkeleton parent;
};
-struct DaemonClass {
+struct DaemonClass
+{
AccountsAccountsSkeletonClass parent_class;
};
-typedef enum {
+typedef enum
+{
ERROR_FAILED,
ERROR_USER_EXISTS,
ERROR_USER_DOES_NOT_EXIST,
@@ -61,16 +64,16 @@ GType error_get_type (void);
#define TYPE_ERROR (error_get_type ())
GQuark error_quark (void);
-GType daemon_get_type (void) G_GNUC_CONST;
-Daemon *daemon_new (void);
+GType daemon_get_type (void) G_GNUC_CONST;
+Daemon *daemon_new (void);
/* local methods */
-User *daemon_local_find_user_by_id (Daemon *daemon,
- uid_t uid);
-User *daemon_local_find_user_by_name (Daemon *daemon,
- const gchar *name);
-User *daemon_local_get_automatic_login_user (Daemon *daemon);
+User *daemon_local_find_user_by_id (Daemon *daemon,
+ uid_t uid);
+User *daemon_local_find_user_by_name (Daemon *daemon,
+ const gchar *name);
+User *daemon_local_get_automatic_login_user (Daemon *daemon);
typedef void (*AuthorizedCallback) (Daemon *daemon,
User *user,
@@ -85,10 +88,10 @@ void daemon_local_check_auth (Daemon *daemon,
gpointer data,
GDestroyNotify destroy_notify);
-gboolean daemon_local_set_automatic_login (Daemon *daemon,
- User *user,
- gboolean enabled,
- GError **error);
+gboolean daemon_local_set_automatic_login (Daemon *daemon,
+ User *user,
+ gboolean enabled,
+ GError **error);
GHashTable * daemon_read_extension_ifaces (void);
GHashTable * daemon_get_extension_ifaces (Daemon *daemon);
diff --git a/src/extensions.c b/src/extensions.c
index 038dcb2..354f476 100644
--- a/src/extensions.c
+++ b/src/extensions.c
@@ -55,8 +55,8 @@ static void
daemon_read_extension_file (GHashTable *ifaces,
const gchar *filename)
{
- g_autoptr(GError) error = NULL;
- g_autoptr(GDBusNodeInfo) node = NULL;
+ g_autoptr (GError) error = NULL;
+ g_autoptr (GDBusNodeInfo) node = NULL;
g_autofree gchar *contents = NULL;
gint i;
@@ -71,8 +71,9 @@ daemon_read_extension_file (GHashTable *ifaces,
return;
}
- for (i = 0; node->interfaces && node->interfaces[i]; i++)
+ for (i = 0; node->interfaces && node->interfaces[i]; i++) {
daemon_maybe_add_extension_interface (ifaces, node->interfaces[i]);
+ }
}
static void
@@ -125,8 +126,7 @@ daemon_read_extension_directory (GHashTable *ifaces,
const gchar * const prefix = "../../dbus-1/interfaces/";
if (g_str_has_prefix (symlink, prefix) && g_str_equal (symlink + strlen (prefix), name)) {
daemon_read_extension_file (ifaces, filename);
- }
- else {
+ } else {
g_warning ("Found accounts service vendor extension symlink %s, but it must be exactly "
"equal to '../../dbus-1/interfaces/%s' for forwards-compatibility reasons.",
filename, name);
diff --git a/src/fgetpwent.c b/src/fgetpwent.c
index 3a2d77c..a62f847 100644
--- a/src/fgetpwent.c
+++ b/src/fgetpwent.c
@@ -17,92 +17,90 @@
*
* Authors: Ryan Lortie <desrt@desrt.ca>
*/
-
static gchar *
fgetpwent_getline (FILE *fp)
{
- static GString str;
-
- /* We could be "more clever" here and avoid the strlen() but this is a
- * clear case of dumb is better.
- */
- str.len = 0;
- while (!str.len || str.str[str.len - 1] != '\n')
- {
- if (str.allocated_len < str.len + 32)
- {
- str.allocated_len = str.len + 32;
- str.str = g_realloc (str.str, str.allocated_len);
+ static GString str;
+
+ /* We could be "more clever" here and avoid the strlen() but this is a
+ * clear case of dumb is better.
+ */
+ str.len = 0;
+ while (!str.len || str.str[str.len - 1] != '\n') {
+ if (str.allocated_len < str.len + 32) {
+ str.allocated_len = str.len + 32;
+ str.str = g_realloc (str.str, str.allocated_len);
+ }
+
+ if (fgets (str.str + str.len, str.allocated_len - str.len, fp) == NULL)
+ return NULL;
+
+ str.len = strlen (str.str + str.len) + str.len;
}
- if (fgets (str.str + str.len, str.allocated_len - str.len, fp) == NULL)
- return NULL;
-
- str.len = strlen (str.str + str.len) + str.len;
- }
-
- /* chomp the '\n' */
- str.str[str.len - 1] = '\0';
+ /* chomp the '\n' */
+ str.str[str.len - 1] = '\0';
- return str.str;
+ return str.str;
}
static struct passwd *
fgetpwent (FILE *fp)
{
- static struct passwd pw;
- guint64 intval;
- gchar *line;
+ static struct passwd pw;
+ guint64 intval;
+ gchar *line;
- /* In case of failure, we ignore the line and start again */
+ /* In case of failure, we ignore the line and start again */
again:
- line = fgetpwent_getline (fp);
- if (!line)
- return NULL;
-
- while (g_ascii_isspace (*line))
- line++;
-
- /* comments, empty lines */
- if (line[0] == '#' || line[0] == '\0')
- goto again;
-
- /* username */
- pw.pw_name = line;
- if (!(line = strchr (line, ':')))
- goto again;
- *line++ = '\0';
-
- /* password */
- pw.pw_passwd = line;
- if (!(line = strchr (line, ':')))
- goto again;
- *line++ = '\0';
-
- /* uid */
- pw.pw_uid = intval = g_ascii_strtoull (line, &line, 10);
- if (pw.pw_uid != intval || *line++ != ':')
- goto again;
-
- /* gid */
- pw.pw_gid = intval = g_ascii_strtoull (line, &line, 10);
- if (pw.pw_gid != intval || *line++ != ':')
- goto again;
-
- /* gecos */
- pw.pw_gecos = line;
- if (!(line = strchr (line, ':')))
- goto again;
- *line++ = '\0';
-
- /* home directory */
- pw.pw_dir = line;
- if (!(line = strchr (line, ':')))
- goto again;
- *line++ = '\0';
-
- /* shell */
- pw.pw_shell = line;
-
- return &pw;
+ line = fgetpwent_getline (fp);
+ if (!line)
+ return NULL;
+
+ while (g_ascii_isspace (*line)) {
+ line++;
+ }
+
+ /* comments, empty lines */
+ if (line[0] == '#' || line[0] == '\0')
+ goto again;
+
+ /* username */
+ pw.pw_name = line;
+ if (!(line = strchr (line, ':')))
+ goto again;
+ *line++ = '\0';
+
+ /* password */
+ pw.pw_passwd = line;
+ if (!(line = strchr (line, ':')))
+ goto again;
+ *line++ = '\0';
+
+ /* uid */
+ pw.pw_uid = intval = g_ascii_strtoull (line, &line, 10);
+ if (pw.pw_uid != intval || *line++ != ':')
+ goto again;
+
+ /* gid */
+ pw.pw_gid = intval = g_ascii_strtoull (line, &line, 10);
+ if (pw.pw_gid != intval || *line++ != ':')
+ goto again;
+
+ /* gecos */
+ pw.pw_gecos = line;
+ if (!(line = strchr (line, ':')))
+ goto again;
+ *line++ = '\0';
+
+ /* home directory */
+ pw.pw_dir = line;
+ if (!(line = strchr (line, ':')))
+ goto again;
+ *line++ = '\0';
+
+ /* shell */
+ pw.pw_shell = line;
+
+ return &pw;
}
diff --git a/src/libaccountsservice/act-user-manager.c b/src/libaccountsservice/act-user-manager.c
index b1b7d7b..3b1a774 100644
--- a/src/libaccountsservice/act-user-manager.c
+++ b/src/libaccountsservice/act-user-manager.c
@@ -85,7 +85,8 @@
#define ACCOUNTS_PATH "/org/freedesktop/Accounts"
#define ACCOUNTS_INTERFACE "org.freedesktop.Accounts"
-typedef enum {
+typedef enum
+{
ACT_USER_MANAGER_SEAT_STATE_UNLOADED = 0,
ACT_USER_MANAGER_SEAT_STATE_GET_SESSION_ID,
ACT_USER_MANAGER_SEAT_STATE_GET_ID,
@@ -95,16 +96,17 @@ typedef enum {
typedef struct
{
- ActUserManagerSeatState state;
- char *id;
- char *session_id;
- guint load_idle_id;
- sd_login_monitor *session_monitor;
- GInputStream *session_monitor_stream;
- guint session_monitor_source_id;
+ ActUserManagerSeatState state;
+ char *id;
+ char *session_id;
+ guint load_idle_id;
+ sd_login_monitor *session_monitor;
+ GInputStream *session_monitor_stream;
+ guint session_monitor_source_id;
} ActUserManagerSeat;
-typedef enum {
+typedef enum
+{
ACT_USER_MANAGER_NEW_SESSION_STATE_UNLOADED = 0,
ACT_USER_MANAGER_NEW_SESSION_STATE_GET_UID,
ACT_USER_MANAGER_NEW_SESSION_STATE_GET_X11_DISPLAY,
@@ -114,69 +116,73 @@ typedef enum {
typedef struct
{
- ActUserManager *manager;
- ActUserManagerNewSessionState state;
- char *id;
- GCancellable *cancellable;
- uid_t uid;
- char *x11_display;
- gsize pending_calls;
+ ActUserManager *manager;
+ ActUserManagerNewSessionState state;
+ char *id;
+ GCancellable *cancellable;
+ uid_t uid;
+ char *x11_display;
+ gsize pending_calls;
} ActUserManagerNewSession;
-typedef enum {
+typedef enum
+{
ACT_USER_MANAGER_GET_USER_STATE_UNFETCHED = 0,
ACT_USER_MANAGER_GET_USER_STATE_WAIT_FOR_LOADED,
ACT_USER_MANAGER_GET_USER_STATE_ASK_ACCOUNTS_SERVICE,
ACT_USER_MANAGER_GET_USER_STATE_FETCHED
} ActUserManagerGetUserState;
-typedef enum {
+typedef enum
+{
ACT_USER_MANAGER_FETCH_USER_FROM_USERNAME_REQUEST,
ACT_USER_MANAGER_FETCH_USER_FROM_ID_REQUEST,
} ActUserManagerFetchUserRequestType;
typedef struct
{
- ActUserManager *manager;
- ActUserManagerGetUserState state;
- ActUser *user;
+ ActUserManager *manager;
+ ActUserManagerGetUserState state;
+ ActUser *user;
ActUserManagerFetchUserRequestType type;
- union {
- char *username;
- uid_t uid;
+ union
+ {
+ char *username;
+ uid_t uid;
};
- char *object_path;
- char *description;
+ char *object_path;
+ char *description;
} ActUserManagerFetchUserRequest;
typedef struct
{
- GHashTable *normal_users_by_name;
- GHashTable *system_users_by_name;
- GHashTable *users_by_object_path; /* (element-type utf8 ActUser) (owned) */
- GHashTable *sessions;
- GDBusConnection *connection;
- AccountsAccounts *accounts_proxy;
+ GHashTable *normal_users_by_name;
+ GHashTable *system_users_by_name;
+ GHashTable *users_by_object_path; /* (element-type utf8 ActUser) (owned) */
+ GHashTable *sessions;
+ GDBusConnection *connection;
+ AccountsAccounts *accounts_proxy;
- ActUserManagerSeat seat;
+ ActUserManagerSeat seat;
- GSList *new_sessions;
- GSList *new_users; /* (element-type ActUser) (owned) */
- GSList *new_users_inhibiting_load; /* (element-type ActUser) (unowned) */
- GSList *fetch_user_requests;
+ GSList *new_sessions;
+ GSList *new_users; /* (element-type ActUser) (owned) */
+ GSList *new_users_inhibiting_load; /* (element-type ActUser) (unowned) */
+ GSList *fetch_user_requests;
- GSList *exclude_usernames;
- GSList *include_usernames;
+ GSList *exclude_usernames;
+ GSList *include_usernames;
- guint load_id;
+ guint load_id;
- gboolean is_loaded;
- gboolean has_multiple_users;
- gboolean getting_sessions;
- gboolean list_cached_users_done;
+ gboolean is_loaded;
+ gboolean has_multiple_users;
+ gboolean getting_sessions;
+ gboolean list_cached_users_done;
} ActUserManagerPrivate;
-enum {
+enum
+{
PROP_0,
PROP_INCLUDE_USERNAMES_LIST,
PROP_EXCLUDE_USERNAMES_LIST,
@@ -184,7 +190,8 @@ enum {
PROP_HAS_MULTIPLE_USERS
};
-enum {
+enum
+{
USER_ADDED,
USER_REMOVED,
USER_IS_LOGGED_IN_CHANGED,
@@ -192,50 +199,52 @@ enum {
LAST_SIGNAL
};
-static guint signals [LAST_SIGNAL] = { 0, };
+static guint signals[LAST_SIGNAL] = { 0, };
static void act_user_manager_class_init (ActUserManagerClass *klass);
-static void act_user_manager_init (ActUserManager *user_manager);
-static void act_user_manager_finalize (GObject *object);
-
-static gboolean ensure_accounts_proxy (ActUserManager *manager);
-static gboolean load_seat_incrementally (ActUserManager *manager);
-static void unload_seat (ActUserManager *manager);
-static void load_users (ActUserManager *manager);
-static void load_user (ActUserManager *manager,
- const char *username);
+static void act_user_manager_init (ActUserManager *user_manager);
+static void act_user_manager_finalize (GObject *object);
+
+static gboolean ensure_accounts_proxy (ActUserManager *manager);
+static gboolean load_seat_incrementally (ActUserManager *manager);
+static void unload_seat (ActUserManager *manager);
+static void load_users (ActUserManager *manager);
+static void load_user (ActUserManager *manager,
+ const char *username);
static void act_user_manager_queue_load (ActUserManager *manager);
-static void queue_load_seat (ActUserManager *manager);
+static void queue_load_seat (ActUserManager *manager);
static void load_new_session_incrementally (ActUserManagerNewSession *new_session);
-static void set_is_loaded (ActUserManager *manager, gboolean is_loaded);
+static void set_is_loaded (ActUserManager *manager,
+ gboolean is_loaded);
static void on_new_user_loaded (ActUser *user,
GParamSpec *pspec,
ActUserManager *manager);
static void give_up (ActUserManager *manager,
ActUserManagerFetchUserRequest *request);
-static void fetch_user_incrementally (ActUserManagerFetchUserRequest *request);
+static void fetch_user_incrementally (ActUserManagerFetchUserRequest *request);
-static void maybe_set_is_loaded (ActUserManager *manager);
-static void update_user (ActUserManager *manager,
- ActUser *user);
+static void maybe_set_is_loaded (ActUserManager *manager);
+static void update_user (ActUserManager *manager,
+ ActUser *user);
static gpointer user_manager_object = NULL;
G_DEFINE_TYPE_WITH_PRIVATE (ActUserManager, act_user_manager, G_TYPE_OBJECT)
static const GDBusErrorEntry error_entries[] = {
- { ACT_USER_MANAGER_ERROR_FAILED, "org.freedesktop.Accounts.Error.Failed" },
- { ACT_USER_MANAGER_ERROR_USER_EXISTS, "org.freedesktop.Accounts.Error.UserExists" },
+ { ACT_USER_MANAGER_ERROR_FAILED, "org.freedesktop.Accounts.Error.Failed" },
+ { ACT_USER_MANAGER_ERROR_USER_EXISTS, "org.freedesktop.Accounts.Error.UserExists" },
{ ACT_USER_MANAGER_ERROR_USER_DOES_NOT_EXIST, "org.freedesktop.Accounts.Error.UserDoesNotExist" },
{ ACT_USER_MANAGER_ERROR_PERMISSION_DENIED, "org.freedesktop.Accounts.Error.PermissionDenied" },
- { ACT_USER_MANAGER_ERROR_NOT_SUPPORTED, "org.freedesktop.Accounts.Error.NotSupported" }
+ { ACT_USER_MANAGER_ERROR_NOT_SUPPORTED, "org.freedesktop.Accounts.Error.NotSupported" }
};
GQuark
act_user_manager_error_quark (void)
{
static volatile gsize ret = 0;
+
if (ret == 0) {
g_dbus_error_register_error_domain ("act_user_manager_error",
&ret,
@@ -251,9 +260,9 @@ activate_systemd_session_id (ActUserManager *manager,
const char *seat_id,
const char *session_id)
{
- g_autoptr(GDBusConnection) connection = NULL;
- g_autoptr(GVariant) reply = NULL;
- g_autoptr(GError) error = NULL;
+ g_autoptr (GDBusConnection) connection = NULL;
+ g_autoptr (GVariant) reply = NULL;
+ g_autoptr (GError) error = NULL;
connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
if (connection == NULL) {
@@ -286,15 +295,15 @@ static gboolean
session_is_login_window (ActUserManager *manager,
const char *session_id)
{
- int res;
+ int res;
g_autofree gchar *session_class = NULL;
res = sd_session_get_class (session_id, &session_class);
if (res < 0) {
- g_debug ("failed to determine class of session %s: %s",
- session_id,
- strerror (-res));
- return FALSE;
+ g_debug ("failed to determine class of session %s: %s",
+ session_id,
+ strerror (-res));
+ return FALSE;
}
return g_strcmp0 (session_class, "greeter") == 0;
@@ -305,7 +314,7 @@ session_is_on_our_seat (ActUserManager *manager,
const char *session_id)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
- int res;
+ int res;
g_autofree gchar *session_seat = NULL;
res = sd_session_get_seat (session_id, &session_seat);
@@ -334,7 +343,8 @@ act_user_manager_goto_login_session (ActUserManager *manager)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
gboolean res;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
g_return_val_if_fail (ACT_IS_USER_MANAGER (manager), FALSE);
g_return_val_if_fail (priv->is_loaded, FALSE);
@@ -349,7 +359,6 @@ act_user_manager_goto_login_session (ActUserManager *manager)
}
return res;
-
}
static gboolean
@@ -505,7 +514,7 @@ queue_load_seat_incrementally (ActUserManager *manager)
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
if (priv->seat.load_idle_id == 0) {
- priv->seat.load_idle_id = g_idle_add ((GSourceFunc) load_seat_incrementally, manager);
+ priv->seat.load_idle_id = g_idle_add ((GSourceFunc) load_seat_incrementally, manager);
}
}
@@ -567,7 +576,8 @@ static gboolean
_find_graphical_systemd_session (char **session_id)
{
char *local_session_id = NULL;
- g_auto(GStrv) sessions = NULL;
+
+ g_auto (GStrv) sessions = NULL;
int n_sessions;
/* filter level 0 means to include inactive and active sessions
@@ -615,7 +625,7 @@ static void
get_seat_id_for_current_session (ActUserManager *manager)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
- int res;
+ int res;
g_autofree gchar *seat_id = NULL;
if (priv->seat.session_id == NULL) {
@@ -653,8 +663,8 @@ username_in_exclude_list (ActUserManager *manager,
const char *username)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
- GSList *found;
- gboolean ret = FALSE;
+ GSList *found;
+ gboolean ret = FALSE;
if (priv->exclude_usernames != NULL) {
found = g_slist_find_custom (priv->exclude_usernames,
@@ -774,7 +784,6 @@ remove_user (ActUserManager *manager,
if (act_user_get_user_name (user) != NULL) {
g_hash_table_remove (priv->normal_users_by_name, act_user_get_user_name (user));
g_hash_table_remove (priv->system_users_by_name, act_user_get_user_name (user));
-
}
if (priv->is_loaded && priv->list_cached_users_done) {
@@ -1024,7 +1033,8 @@ on_new_user_in_accounts_service (GDBusProxy *proxy,
{
ActUserManager *manager = ACT_USER_MANAGER (user_data);
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
- g_autoptr(ActUser) user = NULL;
+
+ g_autoptr (ActUser) user = NULL;
/* Only track user changes if the user has requested a list
* of users */
@@ -1048,8 +1058,8 @@ on_user_removed_in_accounts_service (GDBusProxy *proxy,
{
ActUserManager *manager = ACT_USER_MANAGER (user_data);
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
- ActUser *user;
- GSList *node;
+ ActUser *user;
+ GSList *node;
/* Only track user changes if the user has requested a list
* of users */
@@ -1100,10 +1110,10 @@ unload_new_session (ActUserManagerNewSession *new_session)
ActUserManager *manager = new_session->manager;
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
- /* From here down to the check on pending_calls is idempotent,
- * like GObject dispose(); it can be called twice if the new session
- * is unloaded while there are still async calls pending.
- */
+ /* From here down to the check on pending_calls is idempotent,
+ * like GObject dispose(); it can be called twice if the new session
+ * is unloaded while there are still async calls pending.
+ */
if (new_session->cancellable != NULL &&
!g_cancellable_is_cancelled (new_session->cancellable)) {
@@ -1128,7 +1138,7 @@ unload_new_session (ActUserManagerNewSession *new_session)
if (new_session->pending_calls != 0) {
/* don't "finalize" until we run out of pending calls
- * that have us as their user_data */
+ * that have us as their user_data */
return;
}
@@ -1139,7 +1149,7 @@ static void
get_uid_for_new_session (ActUserManagerNewSession *new_session)
{
uid_t uid;
- int res;
+ int res;
res = sd_session_get_uid (new_session->id, &uid);
@@ -1158,14 +1168,15 @@ get_uid_for_new_session (ActUserManagerNewSession *new_session)
}
static void
-on_find_user_by_name_finished (GObject *object,
- GAsyncResult *result,
- gpointer data)
+on_find_user_by_name_finished (GObject *object,
+ GAsyncResult *result,
+ gpointer data)
{
AccountsAccounts *proxy = ACCOUNTS_ACCOUNTS (object);
ActUserManagerFetchUserRequest *request = data;
- g_autoptr(GError) error = NULL;
- char *user;
+
+ g_autoptr (GError) error = NULL;
+ char *user;
if (!accounts_accounts_call_find_user_by_name_finish (proxy, &user, result, &error)) {
if (error != NULL) {
@@ -1188,14 +1199,15 @@ on_find_user_by_name_finished (GObject *object,
}
static void
-on_find_user_by_id_finished (GObject *object,
- GAsyncResult *result,
- gpointer data)
+on_find_user_by_id_finished (GObject *object,
+ GAsyncResult *result,
+ gpointer data)
{
AccountsAccounts *proxy = ACCOUNTS_ACCOUNTS (object);
ActUserManagerFetchUserRequest *request = data;
- g_autoptr(GError) error = NULL;
- char *user;
+
+ g_autoptr (GError) error = NULL;
+ char *user;
if (!accounts_accounts_call_find_user_by_id_finish (proxy, &user, result, &error)) {
if (error != NULL) {
@@ -1229,25 +1241,24 @@ find_user_in_accounts_service (ActUserManager *manager,
request->description);
switch (request->type) {
- case ACT_USER_MANAGER_FETCH_USER_FROM_USERNAME_REQUEST:
- accounts_accounts_call_find_user_by_name (priv->accounts_proxy,
- request->username,
- G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION,
- -1,
- NULL,
- on_find_user_by_name_finished,
- request);
- break;
- case ACT_USER_MANAGER_FETCH_USER_FROM_ID_REQUEST:
- accounts_accounts_call_find_user_by_id (priv->accounts_proxy,
- request->uid,
- G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION,
- -1,
- NULL,
- on_find_user_by_id_finished,
- request);
- break;
-
+ case ACT_USER_MANAGER_FETCH_USER_FROM_USERNAME_REQUEST:
+ accounts_accounts_call_find_user_by_name (priv->accounts_proxy,
+ request->username,
+ G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION,
+ -1,
+ NULL,
+ on_find_user_by_name_finished,
+ request);
+ break;
+ case ACT_USER_MANAGER_FETCH_USER_FROM_ID_REQUEST:
+ accounts_accounts_call_find_user_by_id (priv->accounts_proxy,
+ request->uid,
+ G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION,
+ -1,
+ NULL,
+ on_find_user_by_id_finished,
+ request);
+ break;
}
}
@@ -1264,8 +1275,8 @@ set_is_loaded (ActUserManager *manager,
}
static void
-load_user_paths (ActUserManager *manager,
- const char * const * user_paths)
+load_user_paths (ActUserManager *manager,
+ const char * const *user_paths)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
@@ -1279,7 +1290,7 @@ load_user_paths (ActUserManager *manager,
g_debug ("ActUserManager: ListCachedUsers finished, will set loaded property after list is fully loaded");
for (i = 0; user_paths[i] != NULL; i++) {
- g_autoptr(ActUser) user = NULL;
+ g_autoptr (ActUser) user = NULL;
user = add_new_user_for_object_path (user_paths[i], manager);
if (!priv->is_loaded) {
@@ -1300,7 +1311,7 @@ load_included_usernames (ActUserManager *manager)
/* Add users who are specifically included */
for (l = priv->include_usernames; l != NULL; l = l->next) {
- g_debug ("ActUserManager: Adding included user %s", (char *)l->data);
+ g_debug ("ActUserManager: Adding included user %s", (char *) l->data);
load_user (manager, l->data);
}
@@ -1345,7 +1356,7 @@ get_x11_display_for_new_session (ActUserManagerNewSession *new_session)
new_session->id, x11_display);
}
- done:
+done:
new_session->x11_display = g_strdup (x11_display);
new_session->state++;
@@ -1356,8 +1367,8 @@ static void
maybe_add_new_session (ActUserManagerNewSession *new_session)
{
ActUserManager *manager;
- ActUser *user;
- gboolean is_ours;
+ ActUser *user;
+ gboolean is_ours;
manager = ACT_USER_MANAGER (new_session->manager);
@@ -1407,7 +1418,7 @@ match_new_session_cmpfunc (gconstpointer a,
gconstpointer b)
{
ActUserManagerNewSession *new_session;
- const char *session_id;
+ const char *session_id;
new_session = (ActUserManagerNewSession *) a;
session_id = (const char *) b;
@@ -1420,8 +1431,8 @@ _remove_session (ActUserManager *manager,
const char *session_id)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
- ActUser *user;
- GSList *found;
+ ActUser *user;
+ GSList *found;
g_debug ("ActUserManager: Session removed: %s", session_id);
@@ -1562,10 +1573,11 @@ _remove_stale_systemd_sessions (ActUserManager *manager,
static void
reload_systemd_sessions (ActUserManager *manager)
{
- int res;
- int i;
- g_auto(GStrv) sessions = NULL;
- g_autoptr(GHashTable) systemd_sessions = NULL;
+ int res;
+ int i;
+
+ g_auto (GStrv) sessions = NULL;
+ g_autoptr (GHashTable) systemd_sessions = NULL;
res = sd_get_sessions (&sessions);
if (res < 0) {
@@ -1577,7 +1589,7 @@ reload_systemd_sessions (ActUserManager *manager)
g_str_equal);
if (sessions != NULL) {
- for (i = 0; sessions[i] != NULL; i ++) {
+ for (i = 0; sessions[i] != NULL; i++) {
g_autofree gchar *state = NULL;
g_autofree gchar *session_class = NULL;
@@ -1605,7 +1617,6 @@ reload_systemd_sessions (ActUserManager *manager)
g_hash_table_insert (systemd_sessions,
sessions[i], NULL);
}
-
}
_add_new_systemd_sessions (manager, systemd_sessions);
@@ -1617,6 +1628,7 @@ on_session_monitor_event (GPollableInputStream *stream,
ActUserManager *manager)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
+
sd_login_monitor_flush (priv->seat.session_monitor);
reload_systemd_sessions (manager);
return TRUE;
@@ -1773,7 +1785,6 @@ fetch_user_incrementally (ActUserManagerFetchUserRequest *request)
request->description);
g_signal_connect (manager, "notify::is-loaded",
G_CALLBACK (on_user_manager_maybe_ready_for_request), request);
-
}
break;
@@ -1795,7 +1806,7 @@ fetch_user_incrementally (ActUserManagerFetchUserRequest *request)
g_assert_not_reached ();
}
- if (request->state == ACT_USER_MANAGER_GET_USER_STATE_FETCHED ||
+ if (request->state == ACT_USER_MANAGER_GET_USER_STATE_FETCHED ||
request->state == ACT_USER_MANAGER_GET_USER_STATE_UNFETCHED) {
g_debug ("ActUserManager: finished handling request for %s",
request->description);
@@ -1893,8 +1904,9 @@ load_user (ActUserManager *manager,
const char *username)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
- g_autoptr(ActUser) user = NULL;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (ActUser) user = NULL;
+ g_autoptr (GError) error = NULL;
char *object_path = NULL;
gboolean user_found;
@@ -2075,8 +2087,9 @@ static void
load_users (ActUserManager *manager)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
- g_autoptr(GError) error = NULL;
- g_auto(GStrv) user_paths = NULL;
+
+ g_autoptr (GError) error = NULL;
+ g_auto (GStrv) user_paths = NULL;
gboolean could_list = FALSE;
if (!ensure_accounts_proxy (manager)) {
@@ -2157,14 +2170,14 @@ queue_load_seat (ActUserManager *manager)
return;
}
- priv->load_id = g_idle_add ((GSourceFunc)load_idle, manager);
+ priv->load_id = g_idle_add ((GSourceFunc) load_idle, manager);
}
static void
-act_user_manager_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
+act_user_manager_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
{
ActUserManager *manager = ACT_USER_MANAGER (object);
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
@@ -2215,10 +2228,10 @@ set_exclude_usernames (ActUserManager *manager,
}
static void
-act_user_manager_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
+act_user_manager_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
ActUserManager *self;
@@ -2243,7 +2256,7 @@ act_user_manager_set_property (GObject *object,
static void
act_user_manager_class_init (ActUserManagerClass *klass)
{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->finalize = act_user_manager_finalize;
object_class->get_property = act_user_manager_get_property;
@@ -2360,9 +2373,9 @@ act_user_manager_queue_load (ActUserManager *manager)
}
static void
-on_name_owner_changed (GObject *object,
+on_name_owner_changed (GObject *object,
GParamSpec *pspec,
- gpointer user_data)
+ gpointer user_data)
{
ActUserManager *manager = ACT_USER_MANAGER (user_data);
GDBusProxy *accounts_proxy = G_DBUS_PROXY (object);
@@ -2380,7 +2393,8 @@ static gboolean
ensure_accounts_proxy (ActUserManager *manager)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
if (priv->accounts_proxy != NULL) {
return TRUE;
@@ -2425,7 +2439,8 @@ static void
act_user_manager_init (ActUserManager *manager)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
act_user_manager_error_quark (); /* register dbus errors */
@@ -2469,7 +2484,7 @@ act_user_manager_finalize (GObject *object)
{
ActUserManager *manager = ACT_USER_MANAGER (object);
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
- GSList *node;
+ GSList *node;
g_debug ("ActUserManager: finalizing user manager");
@@ -2486,7 +2501,7 @@ act_user_manager_finalize (GObject *object)
node = priv->new_users;
while (node != NULL) {
ActUser *user;
- GSList *next_node;
+ GSList *next_node;
user = ACT_USER (node->data);
next_node = node->next;
@@ -2578,6 +2593,7 @@ gboolean
act_user_manager_no_service (ActUserManager *manager)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
+
return priv->accounts_proxy == NULL;
}
@@ -2594,11 +2610,11 @@ act_user_manager_no_service (ActUserManager *manager)
* Returns: (transfer full): user object
*/
ActUser *
-act_user_manager_create_user (ActUserManager *manager,
- const char *username,
- const char *fullname,
- ActUserAccountType accounttype,
- GError **error)
+act_user_manager_create_user (ActUserManager *manager,
+ const char *username,
+ const char *fullname,
+ ActUserAccountType accounttype,
+ GError **error)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
GError *local_error = NULL;
@@ -2658,13 +2674,13 @@ act_user_manager_async_complete_handler (GObject *source,
* Since: 0.6.27
*/
void
-act_user_manager_create_user_async (ActUserManager *manager,
- const char *username,
- const char *fullname,
- ActUserAccountType accounttype,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
+act_user_manager_create_user_async (ActUserManager *manager,
+ const char *username,
+ const char *fullname,
+ ActUserAccountType accounttype,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
GTask *task;
@@ -2706,9 +2722,9 @@ act_user_manager_create_user_async (ActUserManager *manager,
* Since: 0.6.27
*/
ActUser *
-act_user_manager_create_user_finish (ActUserManager *manager,
- GAsyncResult *result,
- GError **error)
+act_user_manager_create_user_finish (ActUserManager *manager,
+ GAsyncResult *result,
+ GError **error)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
GAsyncResult *inner_result;
@@ -2741,9 +2757,9 @@ act_user_manager_create_user_finish (ActUserManager *manager,
* Returns: (transfer full): user object
*/
ActUser *
-act_user_manager_cache_user (ActUserManager *manager,
- const char *username,
- GError **error)
+act_user_manager_cache_user (ActUserManager *manager,
+ const char *username,
+ GError **error)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
GError *local_error = NULL;
@@ -2790,11 +2806,11 @@ act_user_manager_cache_user (ActUserManager *manager,
* Since: 0.6.27
*/
void
-act_user_manager_cache_user_async (ActUserManager *manager,
- const char *username,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
+act_user_manager_cache_user_async (ActUserManager *manager,
+ const char *username,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
GTask *task;
@@ -2831,9 +2847,9 @@ act_user_manager_cache_user_async (ActUserManager *manager,
* Since: 0.6.27
*/
ActUser *
-act_user_manager_cache_user_finish (ActUserManager *manager,
- GAsyncResult *result,
- GError **error)
+act_user_manager_cache_user_finish (ActUserManager *manager,
+ GAsyncResult *result,
+ GError **error)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
GAsyncResult *inner_result;
@@ -2869,9 +2885,9 @@ act_user_manager_cache_user_finish (ActUserManager *manager,
* Returns: %TRUE if successful, otherwise %FALSE
*/
gboolean
-act_user_manager_uncache_user (ActUserManager *manager,
- const char *username,
- GError **error)
+act_user_manager_uncache_user (ActUserManager *manager,
+ const char *username,
+ GError **error)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
GError *local_error = NULL;
@@ -2914,11 +2930,11 @@ act_user_manager_uncache_user (ActUserManager *manager,
* Since: 0.6.39
*/
void
-act_user_manager_uncache_user_async (ActUserManager *manager,
- const char *username,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
+act_user_manager_uncache_user_async (ActUserManager *manager,
+ const char *username,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
GTask *task;
@@ -2956,9 +2972,9 @@ act_user_manager_uncache_user_async (ActUserManager *manager,
* Since: 0.6.39
*/
gboolean
-act_user_manager_uncache_user_finish (ActUserManager *manager,
- GAsyncResult *result,
- GError **error)
+act_user_manager_uncache_user_finish (ActUserManager *manager,
+ GAsyncResult *result,
+ GError **error)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
GAsyncResult *inner_result;
@@ -2993,10 +3009,10 @@ act_user_manager_uncache_user_finish (ActUserManager *manager,
* Returns: %TRUE if the user account was successfully deleted
*/
gboolean
-act_user_manager_delete_user (ActUserManager *manager,
- ActUser *user,
- gboolean remove_files,
- GError **error)
+act_user_manager_delete_user (ActUserManager *manager,
+ ActUser *user,
+ gboolean remove_files,
+ GError **error)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
GError *local_error = NULL;
@@ -3040,12 +3056,12 @@ act_user_manager_delete_user (ActUserManager *manager,
* Since: 0.6.27
*/
void
-act_user_manager_delete_user_async (ActUserManager *manager,
- ActUser *user,
- gboolean remove_files,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
+act_user_manager_delete_user_async (ActUserManager *manager,
+ ActUser *user,
+ gboolean remove_files,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
GTask *task;
@@ -3083,9 +3099,9 @@ act_user_manager_delete_user_async (ActUserManager *manager,
* Since: 0.6.27
*/
gboolean
-act_user_manager_delete_user_finish (ActUserManager *manager,
- GAsyncResult *result,
- GError **error)
+act_user_manager_delete_user_finish (ActUserManager *manager,
+ GAsyncResult *result,
+ GError **error)
{
ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager);
GAsyncResult *inner_result;
diff --git a/src/libaccountsservice/act-user-manager.h b/src/libaccountsservice/act-user-manager.h
index 6355167..e19055b 100644
--- a/src/libaccountsservice/act-user-manager.h
+++ b/src/libaccountsservice/act-user-manager.h
@@ -27,7 +27,7 @@
#define ACT_TYPE_USER_MANAGER (act_user_manager_get_type ())
#define ACT_USER_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), ACT_TYPE_USER_MANAGER, ActUserManager))
-#define ACT_USER_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), ACT_TYPE_USER_MANAGER, ActUserManagerClass))
+#define ACT_USER_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), ACT_TYPE_USER_MANAGER, ActUserManagerClass))
#define ACT_IS_USER_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), ACT_TYPE_USER_MANAGER))
#define ACT_IS_USER_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), ACT_TYPE_USER_MANAGER))
#define ACT_USER_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), ACT_TYPE_USER_MANAGER, ActUserManagerClass))
@@ -45,16 +45,16 @@ struct _ActUserManager
struct _ActUserManagerClass
{
- GObjectClass parent_class;
-
- void (* user_added) (ActUserManager *user_manager,
- ActUser *user);
- void (* user_removed) (ActUserManager *user_manager,
- ActUser *user);
- void (* user_is_logged_in_changed) (ActUserManager *user_manager,
- ActUser *user);
- void (* user_changed) (ActUserManager *user_manager,
- ActUser *user);
+ GObjectClass parent_class;
+
+ void (* user_added) (ActUserManager *user_manager,
+ ActUser *user);
+ void (* user_removed) (ActUserManager *user_manager,
+ ActUser *user);
+ void (* user_is_logged_in_changed) (ActUserManager *user_manager,
+ ActUser *user);
+ void (* user_changed) (ActUserManager *user_manager,
+ ActUser *user);
};
typedef enum ActUserManagerError
@@ -68,79 +68,79 @@ typedef enum ActUserManagerError
#define ACT_USER_MANAGER_ERROR act_user_manager_error_quark ()
-GQuark act_user_manager_error_quark (void);
-GType act_user_manager_get_type (void);
+GQuark act_user_manager_error_quark (void);
+GType act_user_manager_get_type (void);
-ActUserManager * act_user_manager_get_default (void);
+ActUserManager * act_user_manager_get_default (void);
-gboolean act_user_manager_no_service (ActUserManager *manager);
-GSList * act_user_manager_list_users (ActUserManager *manager);
-ActUser * act_user_manager_get_user (ActUserManager *manager,
- const char *username);
-ActUser * act_user_manager_get_user_by_id (ActUserManager *manager,
- uid_t id);
+gboolean act_user_manager_no_service (ActUserManager *manager);
+GSList * act_user_manager_list_users (ActUserManager *manager);
+ActUser * act_user_manager_get_user (ActUserManager *manager,
+ const char *username);
+ActUser * act_user_manager_get_user_by_id (ActUserManager *manager,
+ uid_t id);
gboolean act_user_manager_activate_user_session (ActUserManager *manager,
ActUser *user);
-gboolean act_user_manager_can_switch (ActUserManager *manager);
-
-gboolean act_user_manager_goto_login_session (ActUserManager *manager);
-
-ActUser * act_user_manager_create_user (ActUserManager *manager,
- const char *username,
- const char *fullname,
- ActUserAccountType accounttype,
- GError **error);
-void act_user_manager_create_user_async (ActUserManager *manager,
- const gchar *username,
- const gchar *fullname,
- ActUserAccountType accounttype,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-ActUser * act_user_manager_create_user_finish (ActUserManager *manager,
- GAsyncResult *result,
- GError **error);
-
-ActUser * act_user_manager_cache_user (ActUserManager *manager,
- const char *username,
- GError **error);
-void act_user_manager_cache_user_async (ActUserManager *manager,
- const gchar *username,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-ActUser * act_user_manager_cache_user_finish (ActUserManager *manager,
- GAsyncResult *result,
- GError **error);
-
-gboolean act_user_manager_uncache_user (ActUserManager *manager,
- const char *username,
- GError **error);
-void act_user_manager_uncache_user_async (ActUserManager *manager,
- const gchar *username,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean act_user_manager_uncache_user_finish (ActUserManager *manager,
- GAsyncResult *result,
- GError **error);
-
-gboolean act_user_manager_delete_user (ActUserManager *manager,
- ActUser *user,
- gboolean remove_files,
- GError **error);
-void act_user_manager_delete_user_async (ActUserManager *manager,
- ActUser *user,
- gboolean remove_files,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean act_user_manager_delete_user_finish (ActUserManager *manager,
- GAsyncResult *result,
- GError **error);
-
-#if GLIB_CHECK_VERSION(2, 44, 0)
+gboolean act_user_manager_can_switch (ActUserManager *manager);
+
+gboolean act_user_manager_goto_login_session (ActUserManager *manager);
+
+ActUser * act_user_manager_create_user (ActUserManager *manager,
+ const char *username,
+ const char *fullname,
+ ActUserAccountType accounttype,
+ GError **error);
+void act_user_manager_create_user_async (ActUserManager *manager,
+ const gchar *username,
+ const gchar *fullname,
+ ActUserAccountType accounttype,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ActUser * act_user_manager_create_user_finish (ActUserManager *manager,
+ GAsyncResult *result,
+ GError **error);
+
+ActUser * act_user_manager_cache_user (ActUserManager *manager,
+ const char *username,
+ GError **error);
+void act_user_manager_cache_user_async (ActUserManager *manager,
+ const gchar *username,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ActUser * act_user_manager_cache_user_finish (ActUserManager *manager,
+ GAsyncResult *result,
+ GError **error);
+
+gboolean act_user_manager_uncache_user (ActUserManager *manager,
+ const char *username,
+ GError **error);
+void act_user_manager_uncache_user_async (ActUserManager *manager,
+ const gchar *username,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean act_user_manager_uncache_user_finish (ActUserManager *manager,
+ GAsyncResult *result,
+ GError **error);
+
+gboolean act_user_manager_delete_user (ActUserManager *manager,
+ ActUser *user,
+ gboolean remove_files,
+ GError **error);
+void act_user_manager_delete_user_async (ActUserManager *manager,
+ ActUser *user,
+ gboolean remove_files,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean act_user_manager_delete_user_finish (ActUserManager *manager,
+ GAsyncResult *result,
+ GError **error);
+
+#if GLIB_CHECK_VERSION (2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ActUserManager, g_object_unref)
#endif
diff --git a/src/libaccountsservice/act-user-private.h b/src/libaccountsservice/act-user-private.h
index f83eb51..f68d0d6 100644
--- a/src/libaccountsservice/act-user-private.h
+++ b/src/libaccountsservice/act-user-private.h
@@ -27,22 +27,22 @@
#include "act-user.h"
-void _act_user_update_from_object_path (ActUser *user,
- const char *object_path);
-void _act_user_update_as_nonexistent (ActUser *user);
-void _act_user_update_login_frequency (ActUser *user,
- int login_frequency);
-void _act_user_load_from_user (ActUser *user,
- ActUser *user_to_copy);
+void _act_user_update_from_object_path (ActUser *user,
+ const char *object_path);
+void _act_user_update_as_nonexistent (ActUser *user);
+void _act_user_update_login_frequency (ActUser *user,
+ int login_frequency);
+void _act_user_load_from_user (ActUser *user,
+ ActUser *user_to_copy);
/* 'Our' sessions are the graphical sessions on the same seat as the
- current process. The primary session of a user will always be
- choosen from one of our sessions and act_user_is_logged_in only
- considers our sessions.
-*/
+ * current process. The primary session of a user will always be
+ * choosen from one of our sessions and act_user_is_logged_in only
+ * considers our sessions.
+ */
-void _act_user_add_session (ActUser *user,
- const char *session_id,
- gboolean is_ours);
-void _act_user_remove_session (ActUser *user,
- const char *session_id);
+void _act_user_add_session (ActUser *user,
+ const char *session_id,
+ gboolean is_ours);
+void _act_user_remove_session (ActUser *user,
+ const char *session_id);
diff --git a/src/libaccountsservice/act-user.c b/src/libaccountsservice/act-user.c
index 484b15e..77b7b2f 100644
--- a/src/libaccountsservice/act-user.c
+++ b/src/libaccountsservice/act-user.c
@@ -69,7 +69,8 @@
#define ACCOUNTS_NAME "org.freedesktop.Accounts"
#define ACCOUNTS_USER_INTERFACE "org.freedesktop.Accounts.User"
-enum {
+enum
+{
PROP_0,
PROP_UID,
PROP_USER_NAME,
@@ -95,26 +96,28 @@ enum {
PROP_IS_LOADED
};
-enum {
+enum
+{
CHANGED,
SESSIONS_CHANGED,
LAST_SIGNAL
};
-struct _ActUser {
- GObject parent;
+struct _ActUser
+{
+ GObject parent;
GDBusConnection *connection;
AccountsUser *accounts_proxy;
- GList *our_sessions;
- GList *other_sessions;
+ GList *our_sessions;
+ GList *other_sessions;
- guint is_loaded : 1;
- guint nonexistent : 1;
+ guint is_loaded : 1;
+ guint nonexistent : 1;
};
-static void act_user_finalize (GObject *object);
+static void act_user_finalize (GObject *object);
static guint signals[LAST_SIGNAL] = { 0 };
@@ -143,9 +146,9 @@ _act_user_add_session (ActUser *user,
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (ssid != NULL);
- li = g_list_find_custom (user->our_sessions, ssid, (GCompareFunc)session_compare);
+ li = g_list_find_custom (user->our_sessions, ssid, (GCompareFunc) session_compare);
if (li == NULL)
- li = g_list_find_custom (user->other_sessions, ssid, (GCompareFunc)session_compare);
+ li = g_list_find_custom (user->other_sessions, ssid, (GCompareFunc) session_compare);
if (li == NULL) {
g_debug ("ActUser: adding session %s", ssid);
@@ -169,10 +172,10 @@ _act_user_remove_session (ActUser *user,
g_return_if_fail (ssid != NULL);
headp = &(user->our_sessions);
- li = g_list_find_custom (user->our_sessions, ssid, (GCompareFunc)session_compare);
+ li = g_list_find_custom (user->our_sessions, ssid, (GCompareFunc) session_compare);
if (li == NULL) {
headp = &(user->other_sessions);
- li = g_list_find_custom (user->other_sessions, ssid, (GCompareFunc)session_compare);
+ li = g_list_find_custom (user->other_sessions, ssid, (GCompareFunc) session_compare);
}
if (li != NULL) {
@@ -195,7 +198,7 @@ _act_user_remove_session (ActUser *user,
* Returns: the number of sessions
*/
guint
-act_user_get_num_sessions (ActUser *user)
+act_user_get_num_sessions (ActUser *user)
{
return g_list_length (user->our_sessions);
}
@@ -213,10 +216,10 @@ act_user_get_num_sessions (ActUser *user)
* Returns: the number of sessions
*/
guint
-act_user_get_num_sessions_anywhere (ActUser *user)
+act_user_get_num_sessions_anywhere (ActUser *user)
{
- return (g_list_length (user->our_sessions)
- + g_list_length (user->other_sessions));
+ return g_list_length (user->our_sessions)
+ + g_list_length (user->other_sessions);
}
static void
@@ -246,7 +249,6 @@ act_user_get_property (GObject *object,
property_name = g_param_spec_get_name (pspec);
g_object_get_property (G_OBJECT (user->accounts_proxy), property_name, value);
-
}
break;
}
@@ -423,7 +425,7 @@ act_user_class_init (ActUserClass *class)
"Locked",
"Locked",
FALSE,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_AUTOMATIC_LOGIN,
@@ -481,7 +483,7 @@ act_user_class_init (ActUserClass *class)
static void
act_user_init (ActUser *user)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
user->our_sessions = NULL;
user->other_sessions = NULL;
@@ -512,8 +514,8 @@ act_user_finalize (GObject *object)
}
static void
-set_is_loaded (ActUser *user,
- gboolean is_loaded)
+set_is_loaded (ActUser *user,
+ gboolean is_loaded)
{
if (user->is_loaded != is_loaded) {
user->is_loaded = is_loaded;
@@ -530,7 +532,6 @@ set_is_loaded (ActUser *user,
* Returns: a pointer to an array of characters which must not be modified or
* freed, or %NULL.
**/
-
uid_t
act_user_get_uid (ActUser *user)
{
@@ -717,7 +718,6 @@ act_user_get_location (ActUser *user)
* Returns: (transfer none): a pointer to an array of characters which must not be modified or
* freed, or %NULL.
**/
-
const char *
act_user_get_user_name (ActUser *user)
{
@@ -803,10 +803,10 @@ act_user_collate (ActUser *user1,
{
const char *str1;
const char *str2;
- int num1;
- int num2;
- guint len1;
- guint len2;
+ int num1;
+ int num2;
+ guint len1;
+ guint len2;
g_return_val_if_fail (ACT_IS_USER (user1), 0);
g_return_val_if_fail (ACT_IS_USER (user2), 0);
@@ -940,7 +940,7 @@ act_user_get_automatic_login (ActUser *user)
if (user->accounts_proxy == NULL)
return FALSE;
- return accounts_user_get_automatic_login (user->accounts_proxy);
+ return accounts_user_get_automatic_login (user->accounts_proxy);
}
/**
@@ -972,7 +972,7 @@ act_user_is_system_account (ActUser *user)
* Returns: %TRUE if the user is local
**/
gboolean
-act_user_is_local_account (ActUser *user)
+act_user_is_local_account (ActUser *user)
{
g_return_val_if_fail (ACT_IS_USER (user), FALSE);
@@ -991,7 +991,7 @@ act_user_is_local_account (ActUser *user)
* Returns: %TRUE if the user is nonexistent
**/
gboolean
-act_user_is_nonexistent (ActUser *user)
+act_user_is_nonexistent (ActUser *user)
{
g_return_val_if_fail (ACT_IS_USER (user), FALSE);
@@ -1199,8 +1199,9 @@ void
_act_user_update_from_object_path (ActUser *user,
const char *object_path)
{
- AccountsUser *accounts_proxy;
- g_autoptr(GError) error = NULL;
+ AccountsUser *accounts_proxy;
+
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (object_path != NULL);
@@ -1231,8 +1232,8 @@ _act_user_update_from_object_path (ActUser *user,
}
void
-_act_user_update_login_frequency (ActUser *user,
- int login_frequency)
+_act_user_update_login_frequency (ActUser *user,
+ int login_frequency)
{
if (act_user_get_login_frequency (user) == login_frequency) {
return;
@@ -1262,8 +1263,8 @@ copy_sessions_lists (ActUser *user,
}
void
-_act_user_load_from_user (ActUser *user,
- ActUser *user_to_copy)
+_act_user_load_from_user (ActUser *user,
+ ActUser *user_to_copy)
{
if (!user_to_copy->is_loaded) {
return;
@@ -1324,7 +1325,7 @@ act_user_get_password_expiration_policy (ActUser *user,
gint64 *days_to_warn,
gint64 *days_after_expiration_until_lock)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (ACCOUNTS_IS_USER (user->accounts_proxy));
@@ -1358,7 +1359,7 @@ void
act_user_set_user_expiration_policy (ActUser *user,
gint64 expiration_time)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (ACCOUNTS_IS_USER (user->accounts_proxy));
@@ -1393,7 +1394,7 @@ act_user_set_password_expiration_policy (ActUser *user,
gint64 days_to_warn,
gint64 days_after_expiration_until_lock)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (ACCOUNTS_IS_USER (user->accounts_proxy));
@@ -1425,7 +1426,7 @@ void
act_user_set_email (ActUser *user,
const char *email)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (email != NULL);
@@ -1456,7 +1457,7 @@ void
act_user_set_language (ActUser *user,
const char *language)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (language != NULL);
@@ -1488,7 +1489,7 @@ void
act_user_set_languages (ActUser *user,
const char * const *languages)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (languages != NULL);
@@ -1521,7 +1522,7 @@ void
act_user_set_x_session (ActUser *user,
const char *x_session)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (x_session != NULL);
@@ -1551,7 +1552,7 @@ void
act_user_set_session (ActUser *user,
const char *session)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (session != NULL);
@@ -1581,7 +1582,7 @@ void
act_user_set_session_type (ActUser *user,
const char *session_type)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (session_type != NULL);
@@ -1611,7 +1612,7 @@ void
act_user_set_location (ActUser *user,
const char *location)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (location != NULL);
@@ -1641,7 +1642,7 @@ void
act_user_set_user_name (ActUser *user,
const char *user_name)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (user_name != NULL);
@@ -1671,7 +1672,7 @@ void
act_user_set_real_name (ActUser *user,
const char *real_name)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (real_name != NULL);
@@ -1701,7 +1702,7 @@ void
act_user_set_icon_file (ActUser *user,
const char *icon_file)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (icon_file != NULL);
@@ -1728,10 +1729,10 @@ act_user_set_icon_file (ActUser *user,
* Note this function is synchronous and ignores errors.
**/
void
-act_user_set_account_type (ActUser *user,
- ActUserAccountType account_type)
+act_user_set_account_type (ActUser *user,
+ ActUserAccountType account_type)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (ACCOUNTS_IS_USER (user->accounts_proxy));
@@ -1767,8 +1768,8 @@ salt_char (GRand *rand)
static gchar *
generate_salt_for_crypt_hash (void)
{
- g_autoptr(GString) salt = NULL;
- g_autoptr(GRand) rand = NULL;
+ g_autoptr (GString) salt = NULL;
+ g_autoptr (GRand) rand = NULL;
gint i;
rand = g_rand_new ();
@@ -1806,11 +1807,11 @@ make_crypted (const gchar *plain)
* Note this function is synchronous and ignores errors.
**/
void
-act_user_set_password (ActUser *user,
- const gchar *password,
- const gchar *hint)
+act_user_set_password (ActUser *user,
+ const gchar *password,
+ const gchar *hint)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_autofree gchar *crypted = NULL;
g_return_if_fail (ACT_IS_USER (user));
@@ -1844,7 +1845,7 @@ void
act_user_set_password_hint (ActUser *user,
const gchar *hint)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (ACCOUNTS_IS_USER (user->accounts_proxy));
@@ -1873,10 +1874,10 @@ act_user_set_password_hint (ActUser *user,
* Note this function is synchronous and ignores errors.
**/
void
-act_user_set_password_mode (ActUser *user,
- ActUserPasswordMode password_mode)
+act_user_set_password_mode (ActUser *user,
+ ActUserPasswordMode password_mode)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (ACCOUNTS_IS_USER (user->accounts_proxy));
@@ -1899,10 +1900,10 @@ act_user_set_password_mode (ActUser *user,
* Note this function is synchronous and ignores errors.
**/
void
-act_user_set_locked (ActUser *user,
- gboolean locked)
+act_user_set_locked (ActUser *user,
+ gboolean locked)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (ACCOUNTS_IS_USER (user->accounts_proxy));
@@ -1930,10 +1931,10 @@ act_user_set_locked (ActUser *user,
* Note this function is synchronous and ignores errors.
**/
void
-act_user_set_automatic_login (ActUser *user,
- gboolean enabled)
+act_user_set_automatic_login (ActUser *user,
+ gboolean enabled)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (ACCOUNTS_IS_USER (user->accounts_proxy));
diff --git a/src/libaccountsservice/act-user.h b/src/libaccountsservice/act-user.h
index 7ce41b1..fe9a8a4 100644
--- a/src/libaccountsservice/act-user.h
+++ b/src/libaccountsservice/act-user.h
@@ -28,105 +28,107 @@
#include <glib.h>
#include <glib-object.h>
-#define ACT_TYPE_USER (act_user_get_type())
+#define ACT_TYPE_USER (act_user_get_type ())
G_DECLARE_FINAL_TYPE (ActUser, act_user, ACT, USER, GObject)
-typedef enum {
+typedef enum
+{
ACT_USER_ACCOUNT_TYPE_STANDARD,
ACT_USER_ACCOUNT_TYPE_ADMINISTRATOR,
} ActUserAccountType;
-typedef enum {
+typedef enum
+{
ACT_USER_PASSWORD_MODE_REGULAR,
ACT_USER_PASSWORD_MODE_SET_AT_LOGIN,
ACT_USER_PASSWORD_MODE_NONE,
} ActUserPasswordMode;
-const char *act_user_get_object_path (ActUser *user);
+const char *act_user_get_object_path (ActUser *user);
-uid_t act_user_get_uid (ActUser *user);
-const char *act_user_get_user_name (ActUser *user);
-const char *act_user_get_real_name (ActUser *user);
-ActUserAccountType act_user_get_account_type (ActUser *user);
-ActUserPasswordMode act_user_get_password_mode (ActUser *user);
-const char *act_user_get_password_hint (ActUser *user);
-const char *act_user_get_home_dir (ActUser *user);
-const char *act_user_get_shell (ActUser *user);
-const char *act_user_get_email (ActUser *user);
-const char *act_user_get_location (ActUser *user);
-guint act_user_get_num_sessions (ActUser *user);
-guint act_user_get_num_sessions_anywhere (ActUser *user);
-gboolean act_user_is_logged_in (ActUser *user);
-gboolean act_user_is_logged_in_anywhere (ActUser *user);
-int act_user_get_login_frequency (ActUser *user);
-gint64 act_user_get_login_time (ActUser *user);
-const GVariant*act_user_get_login_history (ActUser *user);
-gboolean act_user_get_saved (ActUser *user);
-gboolean act_user_get_locked (ActUser *user);
-gboolean act_user_get_automatic_login (ActUser *user);
-gboolean act_user_is_system_account (ActUser *user);
-gboolean act_user_is_local_account (ActUser *user);
-gboolean act_user_is_nonexistent (ActUser *user);
-const char *act_user_get_icon_file (ActUser *user);
-const char *act_user_get_language (ActUser *user);
-const char * const *act_user_get_languages (ActUser *user);
-const char *act_user_get_x_session (ActUser *user);
-const char *act_user_get_session (ActUser *user);
-const char *act_user_get_session_type (ActUser *user);
-const char *act_user_get_primary_session_id (ActUser *user);
+uid_t act_user_get_uid (ActUser *user);
+const char *act_user_get_user_name (ActUser *user);
+const char *act_user_get_real_name (ActUser *user);
+ActUserAccountType act_user_get_account_type (ActUser *user);
+ActUserPasswordMode act_user_get_password_mode (ActUser *user);
+const char *act_user_get_password_hint (ActUser *user);
+const char *act_user_get_home_dir (ActUser *user);
+const char *act_user_get_shell (ActUser *user);
+const char *act_user_get_email (ActUser *user);
+const char *act_user_get_location (ActUser *user);
+guint act_user_get_num_sessions (ActUser *user);
+guint act_user_get_num_sessions_anywhere (ActUser *user);
+gboolean act_user_is_logged_in (ActUser *user);
+gboolean act_user_is_logged_in_anywhere (ActUser *user);
+int act_user_get_login_frequency (ActUser *user);
+gint64 act_user_get_login_time (ActUser *user);
+const GVariant *act_user_get_login_history (ActUser *user);
+gboolean act_user_get_saved (ActUser *user);
+gboolean act_user_get_locked (ActUser *user);
+gboolean act_user_get_automatic_login (ActUser *user);
+gboolean act_user_is_system_account (ActUser *user);
+gboolean act_user_is_local_account (ActUser *user);
+gboolean act_user_is_nonexistent (ActUser *user);
+const char *act_user_get_icon_file (ActUser *user);
+const char *act_user_get_language (ActUser *user);
+const char * const *act_user_get_languages (ActUser *user);
+const char *act_user_get_x_session (ActUser *user);
+const char *act_user_get_session (ActUser *user);
+const char *act_user_get_session_type (ActUser *user);
+const char *act_user_get_primary_session_id (ActUser *user);
-gint act_user_collate (ActUser *user1,
- ActUser *user2);
-gboolean act_user_is_loaded (ActUser *user);
+gint act_user_collate (ActUser *user1,
+ ActUser *user2);
+gboolean act_user_is_loaded (ActUser *user);
-void act_user_get_password_expiration_policy (ActUser *user,
- gint64 *expiration_time,
- gint64 *last_change_time,
- gint64 *min_days_between_changes,
- gint64 *max_days_between_changes,
- gint64 *days_to_warn,
- gint64 *days_after_expiration_until_lock);
+void act_user_get_password_expiration_policy (ActUser *user,
+ gint64 *expiration_time,
+ gint64 *last_change_time,
+ gint64 *min_days_between_changes,
+ gint64 *max_days_between_changes,
+ gint64 *days_to_warn,
+ gint64 *days_after_expiration_until_lock);
-void act_user_set_password_expiration_policy (ActUser *user,
- gint64 min_days_between_changes,
- gint64 max_days_between_changes,
- gint64 days_to_warn,
- gint64 days_after_expiration_until_lock);
+void act_user_set_password_expiration_policy (ActUser *user,
+ gint64 min_days_between_changes,
+ gint64 max_days_between_changes,
+ gint64 days_to_warn,
+ gint64 days_after_expiration_until_lock);
-void act_user_set_user_expiration_policy (ActUser *user,
- gint64 expiration_time);
+void act_user_set_user_expiration_policy (ActUser *user,
+ gint64 expiration_time);
-void act_user_set_language (ActUser *user,
- const char *language);
-void act_user_set_languages (ActUser *user,
- const char * const *languages);
+void act_user_set_language (ActUser *user,
+ const char *language);
+void act_user_set_languages (ActUser *user,
+ const char * const *languages);
-void act_user_set_email (ActUser *user,
- const char *email);
-void act_user_set_x_session (ActUser *user,
- const char *x_session);
-void act_user_set_session (ActUser *user,
- const char *session);
-void act_user_set_session_type (ActUser *user,
- const char *session_type);
-void act_user_set_location (ActUser *user,
- const char *location);
-void act_user_set_user_name (ActUser *user,
- const char *user_name);
-void act_user_set_real_name (ActUser *user,
- const char *real_name);
-void act_user_set_icon_file (ActUser *user,
- const char *icon_file);
-void act_user_set_account_type (ActUser *user,
- ActUserAccountType account_type);
-void act_user_set_password (ActUser *user,
- const gchar *password,
- const gchar *hint);
-void act_user_set_password_hint (ActUser *user,
- const gchar *hint);
-void act_user_set_password_mode (ActUser *user,
- ActUserPasswordMode password_mode);
-void act_user_set_locked (ActUser *user,
- gboolean locked);
-void act_user_set_automatic_login (ActUser *user,
- gboolean enabled);
+void act_user_set_email (ActUser *user,
+ const char *email);
+void act_user_set_x_session (ActUser *user,
+ const char *x_session);
+void act_user_set_session (ActUser *user,
+ const char *session);
+void act_user_set_session_type (ActUser *user,
+ const char *session_type);
+void act_user_set_location (ActUser *user,
+ const char *location);
+void act_user_set_user_name (ActUser *user,
+ const char *user_name);
+void act_user_set_real_name (ActUser *user,
+ const char *real_name);
+void act_user_set_icon_file (ActUser *user,
+ const char *icon_file);
+void act_user_set_account_type (ActUser *user,
+ ActUserAccountType account_type);
+void act_user_set_password (ActUser *user,
+ const gchar *password,
+ const gchar *hint);
+void act_user_set_password_hint (ActUser *user,
+ const gchar *hint);
+void act_user_set_password_mode (ActUser *user,
+ ActUserPasswordMode password_mode);
+void act_user_set_locked (ActUser *user,
+ gboolean locked);
+void act_user_set_automatic_login (ActUser *user,
+ gboolean enabled);
diff --git a/src/main.c b/src/main.c
index a2f3729..c0e1d66 100644
--- a/src/main.c
+++ b/src/main.c
@@ -40,9 +40,9 @@
#define NAME_TO_CLAIM "org.freedesktop.Accounts"
static gboolean
-ensure_directory (const char *path,
- gint mode,
- GError **error)
+ensure_directory (const char *path,
+ gint mode,
+ GError **error)
{
GStatBuf stat_buffer = { 0 };
@@ -81,9 +81,9 @@ ensure_directory (const char *path,
}
static gboolean
-ensure_file_permissions (const char *dir_path,
- gint file_mode,
- GError **error)
+ensure_file_permissions (const char *dir_path,
+ gint file_mode,
+ GError **error)
{
GDir *dir = NULL;
const gchar *filename;
@@ -126,13 +126,14 @@ ensure_file_permissions (const char *dir_path,
}
static void
-on_bus_acquired (GDBusConnection *connection,
- const gchar *name,
- gpointer user_data)
+on_bus_acquired (GDBusConnection *connection,
+ const gchar *name,
+ gpointer user_data)
{
GMainLoop *loop = user_data;
Daemon *daemon;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
if (!ensure_directory (get_icondir (), 0775, &error) ||
!ensure_directory (get_userdir (), 0700, &error) ||
@@ -155,9 +156,9 @@ on_bus_acquired (GDBusConnection *connection,
}
static void
-on_name_lost (GDBusConnection *connection,
- const gchar *name,
- gpointer user_data)
+on_name_lost (GDBusConnection *connection,
+ const gchar *name,
+ gpointer user_data)
{
GMainLoop *loop = user_data;
@@ -168,12 +169,12 @@ on_name_lost (GDBusConnection *connection,
static gboolean debug;
static void
-on_log_debug (const gchar *log_domain,
+on_log_debug (const gchar *log_domain,
GLogLevelFlags log_level,
- const gchar *message,
- gpointer user_data)
+ const gchar *message,
+ gpointer user_data)
{
- g_autoptr(GString) string = NULL;
+ g_autoptr (GString) string = NULL;
const gchar *progname;
int ret G_GNUC_UNUSED;
@@ -181,7 +182,7 @@ on_log_debug (const gchar *log_domain,
progname = g_get_prgname ();
g_string_append_printf (string, "(%s:%lu): %s%sDEBUG: %s\n",
- progname ? progname : "process", (gulong)getpid (),
+ progname ? progname : "process", (gulong) getpid (),
log_domain ? log_domain : "", log_domain ? "-" : "",
message ? message : "(NULL) message");
@@ -211,18 +212,19 @@ on_signal_quit (gpointer data)
}
int
-main (int argc, char *argv[])
+main (int argc,
+ char *argv[])
{
- g_autoptr(GMainLoop) loop = NULL;
- g_autoptr(GError) error = NULL;
+ g_autoptr (GMainLoop) loop = NULL;
+ g_autoptr (GError) error = NULL;
GBusNameOwnerFlags flags;
- g_autoptr(GOptionContext) context = NULL;
+ g_autoptr (GOptionContext) context = NULL;
static gboolean replace;
static gboolean show_version;
static GOptionEntry entries[] = {
- { "version", 0, 0, G_OPTION_ARG_NONE, &show_version, N_("Output version information and exit"), NULL },
- { "replace", 0, 0, G_OPTION_ARG_NONE, &replace, N_("Replace existing instance"), NULL },
- { "debug", 0, 0, G_OPTION_ARG_NONE, &debug, N_("Enable debugging code"), NULL },
+ { "version", 0, 0, G_OPTION_ARG_NONE, &show_version, N_ ("Output version information and exit"), NULL },
+ { "replace", 0, 0, G_OPTION_ARG_NONE, &replace, N_ ("Replace existing instance"), NULL },
+ { "debug", 0, 0, G_OPTION_ARG_NONE, &debug, N_ ("Enable debugging code"), NULL },
{ NULL }
};
@@ -241,7 +243,7 @@ main (int argc, char *argv[])
context = g_option_context_new (NULL);
g_option_context_set_translation_domain (context, GETTEXT_PACKAGE);
- g_option_context_set_summary (context, _("Provides D-Bus interfaces for querying and manipulating\nuser account information."));
+ g_option_context_set_summary (context, _ ("Provides D-Bus interfaces for querying and manipulating\nuser account information."));
g_option_context_add_main_entries (context, entries, NULL);
if (!g_option_context_parse (context, &argc, &argv, &error)) {
g_warning ("%s", error->message);
@@ -286,4 +288,3 @@ main (int argc, char *argv[])
return EXIT_SUCCESS;
}
-
diff --git a/src/user-classify.h b/src/user-classify.h
index 5eab070..9314ccf 100644
--- a/src/user-classify.h
+++ b/src/user-classify.h
@@ -23,6 +23,6 @@
#include <sys/types.h>
#include <glib.h>
-gboolean user_classify_is_human (uid_t uid,
- const gchar *username,
- const gchar *shell);
+gboolean user_classify_is_human (uid_t uid,
+ const gchar *username,
+ const gchar *shell);
diff --git a/src/user.c b/src/user.c
index d480d1e..2203e69 100644
--- a/src/user.c
+++ b/src/user.c
@@ -1,24 +1,24 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
- *
- * Copyright (C) 2004-2005 James M. Cape <jcape@ignore-your.tv>.
- * Copyright (C) 2007-2008 William Jon McCann <mccann@jhu.edu>
- * Copyright (C) 2009-2010 Red Hat, Inc.
- * Copyright © 2013 Canonical Limited
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
+ *
+ * Copyright (C) 2004-2005 James M. Cape <jcape@ignore-your.tv>.
+ * Copyright (C) 2007-2008 William Jon McCann <mccann@jhu.edu>
+ * Copyright (C) 2009-2010 Red Hat, Inc.
+ * Copyright © 2013 Canonical Limited
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#define _BSD_SOURCE
@@ -48,35 +48,36 @@
#include "accounts-user-generated.h"
#include "util.h"
-struct User {
+struct User
+{
AccountsUserSkeleton parent;
- GDBusConnection *system_bus_connection;
- gchar *object_path;
+ GDBusConnection *system_bus_connection;
+ gchar *object_path;
+
+ Daemon *daemon;
+
+ GKeyFile *keyfile;
- Daemon *daemon;
-
- GKeyFile *keyfile;
-
- gid_t gid;
- GDateTime *user_expiration_time;
- GDateTime *last_change_time;
- gint64 min_days_between_changes;
- gint64 max_days_between_changes;
- gint64 days_to_warn;
- gint64 days_after_expiration_until_lock;
- GVariant *login_history;
- gchar *icon_file;
- gchar *default_icon_file;
- gchar *gecos;
- gboolean account_expiration_policy_known;
- gboolean cached;
- gboolean template_loaded;
-
- guint *extension_ids;
- guint n_extension_ids;
-
- guint changed_timeout_id;
+ gid_t gid;
+ GDateTime *user_expiration_time;
+ GDateTime *last_change_time;
+ gint64 min_days_between_changes;
+ gint64 max_days_between_changes;
+ gint64 days_to_warn;
+ gint64 days_after_expiration_until_lock;
+ GVariant *login_history;
+ gchar *icon_file;
+ gchar *default_icon_file;
+ gchar *gecos;
+ gboolean account_expiration_policy_known;
+ gboolean cached;
+ gboolean template_loaded;
+
+ guint *extension_ids;
+ guint n_extension_ids;
+
+ guint changed_timeout_id;
};
typedef struct UserClass
@@ -85,7 +86,8 @@ typedef struct UserClass
} UserClass;
static void user_accounts_user_iface_init (AccountsUserIface *iface);
-static void user_update_from_keyfile (User *user, GKeyFile *keyfile);
+static void user_update_from_keyfile (User *user,
+ GKeyFile *keyfile);
G_DEFINE_TYPE_WITH_CODE (User, user, ACCOUNTS_TYPE_USER_SKELETON, G_IMPLEMENT_INTERFACE (ACCOUNTS_TYPE_USER, user_accounts_user_iface_init));
@@ -119,7 +121,7 @@ static void
user_reset_icon_file (User *user)
{
const char *icon_file;
- gboolean icon_is_default;
+ gboolean icon_is_default;
const char *home_dir;
icon_file = accounts_user_get_icon_file (ACCOUNTS_USER (user));
@@ -155,8 +157,8 @@ is_valid_shell_identifier_character (char c,
gboolean first)
{
return (!first && g_ascii_isdigit (c)) ||
- c == '_' ||
- g_ascii_isalpha (c);
+ c == '_' ||
+ g_ascii_isalpha (c);
}
static char *
@@ -198,8 +200,9 @@ expand_template_variables (User *user,
}
start = p;
while (*p != '\0' &&
- is_valid_shell_identifier_character (*p, p == start))
+ is_valid_shell_identifier_character (*p, p == start)) {
p++;
+ }
if (p == start || (brackets && *p != '}')) {
g_string_append_c (s, '$');
if (brackets)
@@ -233,6 +236,7 @@ load_template_environment_file (User *user,
const char *file)
{
g_autofree char *contents = NULL;
+
g_auto (GStrv) lines = NULL;
g_autoptr (GError) error = NULL;
gboolean file_loaded;
@@ -255,24 +259,28 @@ load_template_environment_file (User *user,
const char *value;
p = lines[i];
- while (g_ascii_isspace (*p))
+ while (g_ascii_isspace (*p)) {
p++;
+ }
if (*p == '#' || *p == '\0')
continue;
variable = p;
- while (is_valid_shell_identifier_character (*p, p == variable))
+ while (is_valid_shell_identifier_character (*p, p == variable)) {
p++;
+ }
variable_end = p;
- while (g_ascii_isspace (*p))
+ while (g_ascii_isspace (*p)) {
p++;
+ }
if (variable_end == variable || *p != '=') {
g_debug ("template environment file %s has invalid line '%s'\n", file, lines[i]);
continue;
}
*variable_end = '\0';
p++;
- while (g_ascii_isspace (*p))
+ while (g_ascii_isspace (*p)) {
p++;
+ }
value = p;
if (g_hash_table_lookup (variables, variable) == NULL) {
@@ -280,7 +288,6 @@ load_template_environment_file (User *user,
g_strdup (variable),
g_strdup (value));
}
-
}
}
@@ -306,6 +313,7 @@ static void
user_update_from_template (User *user)
{
g_autofree char *filename = NULL;
+
g_autoptr (GKeyFile) key_file = NULL;
g_autoptr (GError) error = NULL;
g_autoptr (GHashTable) template_variables = NULL;
@@ -316,12 +324,14 @@ user_update_from_template (User *user)
g_get_system_data_dirs (),
NULL
};
+
g_autoptr (GPtrArray) dirs = NULL;
AccountType account_type;
const char *account_type_string;
size_t i, j;
g_autofree char *contents = NULL;
g_autofree char *expanded = NULL;
+
g_auto (GStrv) lines = NULL;
if (user->template_loaded)
@@ -403,7 +413,8 @@ user_update_from_pwent (User *user,
g_autofree gchar *real_name = NULL;
gboolean is_system_account;
const gchar *passwd;
- g_autoptr(GDateTime) start_time = NULL;
+
+ g_autoptr (GDateTime) start_time = NULL;
gboolean locked;
PasswordMode mode;
AccountType account_type;
@@ -419,8 +430,7 @@ user_update_from_pwent (User *user,
valid_utf8_name = pwent->pw_gecos;
first_comma = g_utf8_strchr (valid_utf8_name, -1, ',');
user->gecos = g_strdup (pwent->pw_gecos);
- }
- else {
+ } else {
g_warning ("User %s has invalid UTF-8 in GECOS field. "
"It would be a good thing to check /etc/passwd.",
pwent->pw_name ? pwent->pw_name : "");
@@ -428,20 +438,17 @@ user_update_from_pwent (User *user,
if (first_comma) {
real_name = g_strndup (valid_utf8_name,
- (first_comma - valid_utf8_name));
- }
- else if (valid_utf8_name) {
+ (first_comma - valid_utf8_name));
+ } else if (valid_utf8_name) {
real_name = g_strdup (valid_utf8_name);
- }
- else {
+ } else {
real_name = NULL;
}
if (real_name && real_name[0] == '\0') {
g_clear_pointer (&real_name, g_free);
}
- }
- else {
+ } else {
real_name = NULL;
}
@@ -465,8 +472,7 @@ user_update_from_pwent (User *user,
if (passwd && passwd[0] == '!') {
locked = TRUE;
- }
- else {
+ } else {
locked = FALSE;
}
@@ -474,8 +480,7 @@ user_update_from_pwent (User *user,
if (passwd == NULL || passwd[0] != 0) {
mode = PASSWORD_MODE_REGULAR;
- }
- else {
+ } else {
mode = PASSWORD_MODE_NONE;
}
@@ -487,15 +492,14 @@ user_update_from_pwent (User *user,
start_time = g_date_time_new_from_unix_utc (0);
if (spent->sp_expire < 0) {
user->user_expiration_time = NULL;
- }
- else {
+ } else {
user->user_expiration_time = g_date_time_add_days (start_time, spent->sp_expire);
}
user->last_change_time = g_date_time_add_days (start_time, spent->sp_lstchg);
user->min_days_between_changes = spent->sp_min;
user->max_days_between_changes = spent->sp_max;
- user->days_to_warn = spent->sp_warn;
+ user->days_to_warn = spent->sp_warn;
user->days_after_expiration_until_lock = spent->sp_inact;
user->account_expiration_policy_known = TRUE;
}
@@ -582,10 +586,10 @@ user_update_from_keyfile (User *user,
}
if (g_key_file_has_key (keyfile, "User", "SystemAccount", NULL)) {
- gboolean system_account;
+ gboolean system_account;
- system_account = g_key_file_get_boolean (keyfile, "User", "SystemAccount", NULL);
- accounts_user_set_system_account (ACCOUNTS_USER (user), system_account);
+ system_account = g_key_file_get_boolean (keyfile, "User", "SystemAccount", NULL);
+ accounts_user_set_system_account (ACCOUNTS_USER (user), system_account);
}
g_clear_pointer (&user->keyfile, g_key_file_unref);
@@ -596,7 +600,8 @@ void
user_update_from_cache (User *user)
{
g_autofree gchar *filename = NULL;
- g_autoptr(GKeyFile) key_file = NULL;
+
+ g_autoptr (GKeyFile) key_file = NULL;
filename = g_build_filename (get_userdir (), accounts_user_get_user_name (ACCOUNTS_USER (user)), NULL);
@@ -613,15 +618,15 @@ user_update_from_cache (User *user)
}
void
-user_update_local_account_property (User *user,
- gboolean local)
+user_update_local_account_property (User *user,
+ gboolean local)
{
accounts_user_set_local_account (ACCOUNTS_USER (user), local);
}
void
-user_update_system_account_property (User *user,
- gboolean system)
+user_update_system_account_property (User *user,
+ gboolean system)
{
accounts_user_set_system_account (ACCOUNTS_USER (user), system);
}
@@ -636,7 +641,7 @@ user_save_to_keyfile (User *user,
g_key_file_set_string (keyfile, "User", "Email", accounts_user_get_email (ACCOUNTS_USER (user)));
if (accounts_user_get_languages (ACCOUNTS_USER (user))) {
- const gchar * const* languages;
+ const gchar * const *languages;
languages = accounts_user_get_languages (ACCOUNTS_USER (user));
g_key_file_set_string_list (keyfile, "User", "Languages", languages, g_strv_length ((char **) languages));
} else if (accounts_user_get_language (ACCOUNTS_USER (user))) {
@@ -674,7 +679,8 @@ save_extra_data (User *user)
{
g_autofree gchar *data = NULL;
g_autofree gchar *filename = NULL;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
user_save_to_keyfile (user, user->keyfile);
@@ -733,8 +739,7 @@ user_extension_get_value (User *user,
if (g_str_equal (annotation->key, "org.freedesktop.Accounts.DefaultValue.String")) {
if (g_str_equal (property->signature, "s"))
return g_variant_ref_sink (g_variant_new_string (annotation->value));
- }
- else if (g_str_equal (annotation->key, "org.freedesktop.Accounts.DefaultValue")) {
+ } else if (g_str_equal (annotation->key, "org.freedesktop.Accounts.DefaultValue")) {
value = g_variant_parse (type, annotation->value, NULL, NULL, NULL);
if (value != NULL)
return value;
@@ -752,14 +757,14 @@ user_extension_get_property (User *user,
GDBusMethodInvocation *invocation)
{
const GDBusPropertyInfo *property = g_dbus_method_invocation_get_property_info (invocation);
- g_autoptr(GVariant) value = NULL;
+
+ g_autoptr (GVariant) value = NULL;
value = user_extension_get_value (user, interface, property);
if (value) {
g_dbus_method_invocation_return_value (invocation, g_variant_new ("(v)", value));
- }
- else {
+ } else {
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS,
"Key '%s' is not set and has no default value",
property->name);
@@ -778,7 +783,7 @@ user_extension_get_all_properties (User *user,
g_variant_builder_init (&builder, G_VARIANT_TYPE_VARDICT);
for (i = 0; interface->properties && interface->properties[i]; i++) {
GDBusPropertyInfo *property = interface->properties[i];
- g_autoptr(GVariant) value = NULL;
+ g_autoptr (GVariant) value = NULL;
value = user_extension_get_value (user, interface, property);
@@ -796,7 +801,8 @@ user_extension_set_property (User *user,
GDBusMethodInvocation *invocation)
{
const GDBusPropertyInfo *property = g_dbus_method_invocation_get_property_info (invocation);
- g_autoptr(GVariant) value = NULL;
+
+ g_autoptr (GVariant) value = NULL;
g_autofree gchar *printed = NULL;
g_autofree gchar *prev = NULL;
@@ -885,19 +891,16 @@ user_extension_method_call (GDBusConnection *connection,
if (g_str_equal (method_name, "Set")) {
annotation_name = "org.freedesktop.Accounts.Authentication.ChangeOwn";
action_id = "org.freedesktop.accounts.change-own-user-data";
- }
- else {
+ } else {
annotation_name = "org.freedesktop.Accounts.Authentication.ReadOwn";
action_id = ""; /* reading allowed by default */
}
- }
- else {
+ } else {
/* Operation on someone else's User object */
if (g_str_equal (method_name, "Set")) {
annotation_name = "org.freedesktop.Accounts.Authentication.ChangeAny";
action_id = "org.freedesktop.accounts.user-administration";
- }
- else {
+ } else {
annotation_name = "org.freedesktop.Accounts.Authentication.ReadAny";
action_id = ""; /* reading allowed by default */
}
@@ -916,8 +919,7 @@ user_extension_method_call (GDBusConnection *connection,
if (action_id[0] == '\0') {
/* Should always allow this call, so just do it now */
user_extension_authentication_done (user->daemon, user, invocation, iface_info);
- }
- else {
+ } else {
daemon_local_check_auth (user->daemon, user, action_id,
user_extension_authentication_done,
invocation, iface_info, NULL);
@@ -949,10 +951,11 @@ user_register_extensions (User *user)
* they won't happen and (b) even if they do, we still want to
* publish the main user interface.
*/
- while (g_hash_table_iter_next (&iter, NULL, &iface))
+ while (g_hash_table_iter_next (&iter, NULL, &iface)) {
user->extension_ids[i++] = g_dbus_connection_register_object (user->system_bus_connection,
g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (user)), iface,
&vtable, user, NULL, NULL);
+ }
}
static gchar *
@@ -987,7 +990,7 @@ on_user_property_notify (User *user)
void
user_register (User *user)
{
- g_autoptr(GError) error = NULL;
+ g_autoptr (GError) error = NULL;
g_autofree gchar *object_path = NULL;
user->system_bus_connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
@@ -1016,7 +1019,7 @@ user_register (User *user)
void
user_save (User *user)
{
- save_extra_data (user);
+ save_extra_data (user);
}
void
@@ -1076,7 +1079,7 @@ user_get_system_account (User *user)
gboolean
user_get_local_account (User *user)
{
- return accounts_user_get_local_account (ACCOUNTS_USER (user));;
+ return accounts_user_get_local_account (ACCOUNTS_USER (user));
}
const gchar *
@@ -1092,9 +1095,9 @@ user_get_uid (User *user)
}
const gchar *
-user_get_shell(User *user)
+user_get_shell (User *user)
{
- return accounts_user_get_shell (ACCOUNTS_USER (user));
+ return accounts_user_get_shell (ACCOUNTS_USER (user));
}
gboolean
@@ -1104,15 +1107,15 @@ user_get_cached (User *user)
}
void
-user_set_cached (User *user,
- gboolean cached)
+user_set_cached (User *user,
+ gboolean cached)
{
user->cached = cached;
}
void
-user_set_saved (User *user,
- gboolean saved)
+user_set_saved (User *user,
+ gboolean saved)
{
accounts_user_set_saved (ACCOUNTS_USER (user), saved);
}
@@ -1142,7 +1145,8 @@ user_change_real_name_authorized_cb (Daemon *daemon,
{
gchar *name = data;
g_autofree gchar *new_gecos = NULL;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
const gchar *first_comma = NULL;
const gchar *argv[6];
@@ -1188,7 +1192,7 @@ user_set_real_name (AccountsUser *auser,
GDBusMethodInvocation *context,
const gchar *real_name)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
int uid;
const gchar *action_id;
@@ -1213,7 +1217,7 @@ user_set_real_name (AccountsUser *auser,
user_change_real_name_authorized_cb,
context,
g_strdup (real_name),
- (GDestroyNotify)g_free);
+ (GDestroyNotify) g_free);
return TRUE;
}
@@ -1227,7 +1231,8 @@ user_change_user_name_authorized_cb (Daemon *daemon,
{
gchar *name = data;
gchar *old_name;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
const gchar *argv[6];
if (g_strcmp0 (accounts_user_get_user_name (ACCOUNTS_USER (user)), name) != 0) {
@@ -1264,14 +1269,15 @@ user_set_user_name (AccountsUser *auser,
GDBusMethodInvocation *context,
const gchar *user_name)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
+
daemon_local_check_auth (user->daemon,
user,
"org.freedesktop.accounts.user-administration",
user_change_user_name_authorized_cb,
context,
g_strdup (user_name),
- (GDestroyNotify)g_free);
+ (GDestroyNotify) g_free);
return TRUE;
}
@@ -1301,7 +1307,7 @@ user_set_email (AccountsUser *auser,
GDBusMethodInvocation *context,
const gchar *email)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
int uid;
const gchar *action_id;
@@ -1321,7 +1327,7 @@ user_set_email (AccountsUser *auser,
user_change_email_authorized_cb,
context,
g_strdup (email),
- (GDestroyNotify)g_free);
+ (GDestroyNotify) g_free);
return TRUE;
}
@@ -1333,7 +1339,7 @@ user_change_languages_authorized_cb (Daemon *daemon,
gpointer data)
{
- const gchar * const* languages = data;
+ const gchar * const *languages = data;
guint i;
for (i = 0; languages[i] != NULL; i++) {
@@ -1362,7 +1368,7 @@ user_set_languages (AccountsUser *auser,
GDBusMethodInvocation *context,
const gchar * const *languages)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
int uid;
const gchar *action_id;
@@ -1382,7 +1388,7 @@ user_set_languages (AccountsUser *auser,
user_change_languages_authorized_cb,
context,
g_strdupv ((gchar **) languages),
- (GDestroyNotify)g_strfreev);
+ (GDestroyNotify) g_strfreev);
return TRUE;
}
@@ -1424,7 +1430,7 @@ user_set_language (AccountsUser *auser,
GDBusMethodInvocation *context,
const gchar *language)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
int uid;
const gchar *action_id;
@@ -1444,7 +1450,7 @@ user_set_language (AccountsUser *auser,
user_change_language_authorized_cb,
context,
g_strdup (language),
- (GDestroyNotify)g_free);
+ (GDestroyNotify) g_free);
return TRUE;
}
@@ -1472,7 +1478,7 @@ user_set_session (AccountsUser *auser,
GDBusMethodInvocation *context,
const gchar *session)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
int uid;
const gchar *action_id;
@@ -1520,7 +1526,7 @@ user_set_session_type (AccountsUser *auser,
GDBusMethodInvocation *context,
const gchar *session_type)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
int uid;
const gchar *action_id;
@@ -1568,7 +1574,7 @@ user_set_x_session (AccountsUser *auser,
GDBusMethodInvocation *context,
const gchar *x_session)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
int uid;
const gchar *action_id;
@@ -1600,7 +1606,7 @@ user_get_password_expiration_policy_authorized_cb (Daemon *daemon
gpointer data)
{
- gint64 user_expiration_time;
+ gint64 user_expiration_time;
guint64 last_change_time;
if (!user->account_expiration_policy_known) {
@@ -1609,8 +1615,7 @@ user_get_password_expiration_policy_authorized_cb (Daemon *daemon
}
if (user->user_expiration_time == NULL) {
user_expiration_time = -1;
- }
- else {
+ } else {
user_expiration_time = g_date_time_to_unix (user->user_expiration_time);
}
last_change_time = g_date_time_to_unix (user->last_change_time);
@@ -1628,7 +1633,7 @@ static gboolean
user_get_password_expiration_policy (AccountsUser *auser,
GDBusMethodInvocation *context)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
int uid;
const gchar *action_id;
@@ -1655,11 +1660,10 @@ user_get_password_expiration_policy (AccountsUser *auser,
typedef struct PasswordExpirationPolicy
{
- char *min_days_between_changes;
- char *max_days_between_changes;
- char *days_to_warn;
- char *days_after_expiration_until_lock;
-
+ char *min_days_between_changes;
+ char *max_days_between_changes;
+ char *days_to_warn;
+ char *days_after_expiration_until_lock;
} PasswordExpirationPolicy;
static void
@@ -1680,7 +1684,8 @@ user_set_password_expiration_policy_authorized_cb (Daemon *daemon
{
PasswordExpirationPolicy *pwd_expiration = data;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
const gchar *argv[11];
sys_log (context,
@@ -1719,7 +1724,7 @@ user_set_password_expiration_policy (AccountsUser *auser,
gint64 days_to_warn,
gint64 days_after_expiration_until_lock)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
int uid;
const gchar *action_id;
PasswordExpirationPolicy *pwd_expiration = NULL;
@@ -1746,7 +1751,7 @@ user_set_password_expiration_policy (AccountsUser *auser,
user_set_password_expiration_policy_authorized_cb,
context,
pwd_expiration,
- (GDestroyNotify)free_password_expiration);
+ (GDestroyNotify) free_password_expiration);
return TRUE;
}
@@ -1759,6 +1764,7 @@ user_set_user_expiration_policy_authorized_cb (Daemon *daemon,
{
g_autofree gchar *expiration_time = NULL;
+
g_autoptr (GError) error = NULL;
g_autoptr (GDateTime) time = NULL;
const gchar *argv[5];
@@ -1770,11 +1776,10 @@ user_set_user_expiration_policy_authorized_cb (Daemon *daemon,
g_object_freeze_notify (G_OBJECT (user));
- if ((gint64)data != -1) {
- time = g_date_time_new_from_unix_local ((gint64)data);
+ if ((gint64) data != -1) {
+ time = g_date_time_new_from_unix_local ((gint64) data);
expiration_time = g_date_time_format (time, "%F");
- }
- else {
+ } else {
expiration_time = g_strdup ("-1");
}
argv[0] = "/usr/bin/chage";
@@ -1798,7 +1803,7 @@ user_set_user_expiration_policy (AccountsUser *auser,
GDBusMethodInvocation *context,
gint64 user_expiration_time)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
int uid;
const gchar *action_id;
@@ -1817,7 +1822,7 @@ user_set_user_expiration_policy (AccountsUser *auser,
action_id,
user_set_user_expiration_policy_authorized_cb,
context,
- (gpointer)user_expiration_time,
+ (gpointer) user_expiration_time,
NULL);
return TRUE;
@@ -1846,7 +1851,7 @@ user_set_location (AccountsUser *auser,
GDBusMethodInvocation *context,
const gchar *location)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
int uid;
const gchar *action_id;
@@ -1866,7 +1871,7 @@ user_set_location (AccountsUser *auser,
user_change_location_authorized_cb,
context,
g_strdup (location),
- (GDestroyNotify)g_free);
+ (GDestroyNotify) g_free);
return TRUE;
}
@@ -1879,7 +1884,8 @@ user_change_home_dir_authorized_cb (Daemon *daemon,
{
gchar *home_dir = data;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
const gchar *argv[7];
if (g_strcmp0 (accounts_user_get_home_directory (ACCOUNTS_USER (user)), home_dir) != 0) {
@@ -1915,14 +1921,15 @@ user_set_home_directory (AccountsUser *auser,
GDBusMethodInvocation *context,
const gchar *home_dir)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
+
daemon_local_check_auth (user->daemon,
user,
"org.freedesktop.accounts.user-administration",
user_change_home_dir_authorized_cb,
context,
g_strdup (home_dir),
- (GDestroyNotify)g_free);
+ (GDestroyNotify) g_free);
return TRUE;
}
@@ -1935,7 +1942,8 @@ user_change_shell_authorized_cb (Daemon *daemon,
{
gchar *shell = data;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
const gchar *argv[6];
if (g_strcmp0 (accounts_user_get_shell (ACCOUNTS_USER (user)), shell) != 0) {
@@ -1968,14 +1976,15 @@ user_set_shell (AccountsUser *auser,
GDBusMethodInvocation *context,
const gchar *shell)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
+
daemon_local_check_auth (user->daemon,
user,
"org.freedesktop.accounts.user-administration",
user_change_shell_authorized_cb,
context,
g_strdup (shell),
- (GDestroyNotify)g_free);
+ (GDestroyNotify) g_free);
return TRUE;
}
@@ -2001,8 +2010,9 @@ user_change_icon_file_authorized_cb (Daemon *daemon,
{
g_autofree gchar *filename = NULL;
- g_autoptr(GFile) file = NULL;
- g_autoptr(GFileInfo) info = NULL;
+
+ g_autoptr (GFile) file = NULL;
+ g_autoptr (GFileInfo) info = NULL;
guint32 mode;
GFileType type;
guint64 size;
@@ -2012,8 +2022,8 @@ user_change_icon_file_authorized_cb (Daemon *daemon,
if (filename == NULL ||
*filename == '\0') {
g_autofree gchar *dest_path = NULL;
- g_autoptr(GFile) dest = NULL;
- g_autoptr(GError) error = NULL;
+ g_autoptr (GFile) dest = NULL;
+ g_autoptr (GError) error = NULL;
g_clear_pointer (&filename, g_free);
@@ -2038,8 +2048,8 @@ user_change_icon_file_authorized_cb (Daemon *daemon,
filename = g_file_get_path (file);
info = g_file_query_info (file, G_FILE_ATTRIBUTE_UNIX_MODE ","
- G_FILE_ATTRIBUTE_STANDARD_TYPE ","
- G_FILE_ATTRIBUTE_STANDARD_SIZE,
+ G_FILE_ATTRIBUTE_STANDARD_TYPE ","
+ G_FILE_ATTRIBUTE_STANDARD_SIZE,
0, NULL, NULL);
mode = g_file_info_get_attribute_uint32 (info, G_FILE_ATTRIBUTE_UNIX_MODE);
type = g_file_info_get_file_type (info);
@@ -2062,12 +2072,12 @@ user_change_icon_file_authorized_cb (Daemon *daemon,
(!g_str_has_prefix (filename, DATADIR) &&
!g_str_has_prefix (filename, get_icondir ()))) {
g_autofree gchar *dest_path = NULL;
- g_autoptr(GFile) dest = NULL;
+ g_autoptr (GFile) dest = NULL;
const gchar *argv[3];
gint std_out;
- g_autoptr(GError) error = NULL;
- g_autoptr(GInputStream) input = NULL;
- g_autoptr(GOutputStream) output = NULL;
+ g_autoptr (GError) error = NULL;
+ g_autoptr (GInputStream) input = NULL;
+ g_autoptr (GOutputStream) output = NULL;
gint uid;
gssize bytes;
struct passwd *pw;
@@ -2092,7 +2102,7 @@ user_change_icon_file_authorized_cb (Daemon *daemon,
pw = getpwuid (uid);
- if (!g_spawn_async_with_pipes (NULL, (gchar**)argv, NULL, 0, become_user, pw, NULL, NULL, &std_out, NULL, &error)) {
+ if (!g_spawn_async_with_pipes (NULL, (gchar **) argv, NULL, 0, become_user, pw, NULL, NULL, &std_out, NULL, &error)) {
throw_error (context, ERROR_FAILED, "reading file '%s' failed: %s", filename, error->message);
return;
}
@@ -2100,7 +2110,7 @@ user_change_icon_file_authorized_cb (Daemon *daemon,
input = g_unix_input_stream_new (std_out, FALSE);
bytes = g_output_stream_splice (output, input, G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET, NULL, &error);
- if (bytes < 0 || (gsize)bytes != size) {
+ if (bytes < 0 || (gsize) bytes != size) {
throw_error (context, ERROR_FAILED, "copying file '%s' to '%s' failed: %s", filename, dest_path, error ? error->message : "unknown reason");
g_file_delete (dest, NULL, NULL);
return;
@@ -2124,7 +2134,7 @@ user_set_icon_file (AccountsUser *auser,
GDBusMethodInvocation *context,
const gchar *filename)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
int uid;
const gchar *action_id;
@@ -2144,7 +2154,7 @@ user_set_icon_file (AccountsUser *auser,
user_change_icon_file_authorized_cb,
context,
g_strdup (filename),
- (GDestroyNotify)g_free);
+ (GDestroyNotify) g_free);
return TRUE;
}
@@ -2157,7 +2167,8 @@ user_change_locked_authorized_cb (Daemon *daemon,
{
gboolean locked = GPOINTER_TO_INT (data);
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
const gchar *argv[5];
if (accounts_user_get_locked (ACCOUNTS_USER (user)) != locked) {
@@ -2180,25 +2191,25 @@ user_change_locked_authorized_cb (Daemon *daemon,
accounts_user_set_locked (ACCOUNTS_USER (user), locked);
if (accounts_user_get_automatic_login (ACCOUNTS_USER (user))) {
- User *automatic_login_user;
-
- automatic_login_user = daemon_local_get_automatic_login_user (daemon);
- if (accounts_user_get_locked (ACCOUNTS_USER (user))) {
- /* If automatic login is enabled for the user then
- * disable it in the config file, but keep the state
- * attached to the user unharmed so it can be restored
- * later in the session
- */
- if (user == automatic_login_user) {
- daemon_local_set_automatic_login (daemon, user, FALSE, NULL);
- accounts_user_set_automatic_login (ACCOUNTS_USER (user), TRUE);
- }
- } else {
- if (automatic_login_user == NULL) {
- accounts_user_set_automatic_login (ACCOUNTS_USER (user), FALSE);
- daemon_local_set_automatic_login (daemon, user, TRUE, NULL);
- }
- }
+ User *automatic_login_user;
+
+ automatic_login_user = daemon_local_get_automatic_login_user (daemon);
+ if (accounts_user_get_locked (ACCOUNTS_USER (user))) {
+ /* If automatic login is enabled for the user then
+ * disable it in the config file, but keep the state
+ * attached to the user unharmed so it can be restored
+ * later in the session
+ */
+ if (user == automatic_login_user) {
+ daemon_local_set_automatic_login (daemon, user, FALSE, NULL);
+ accounts_user_set_automatic_login (ACCOUNTS_USER (user), TRUE);
+ }
+ } else {
+ if (automatic_login_user == NULL) {
+ accounts_user_set_automatic_login (ACCOUNTS_USER (user), FALSE);
+ daemon_local_set_automatic_login (daemon, user, TRUE, NULL);
+ }
+ }
}
accounts_user_emit_changed (ACCOUNTS_USER (user));
@@ -2214,7 +2225,8 @@ user_set_locked (AccountsUser *auser,
GDBusMethodInvocation *context,
gboolean locked)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
+
daemon_local_check_auth (user->daemon,
user,
"org.freedesktop.accounts.user-administration",
@@ -2234,11 +2246,13 @@ user_change_account_type_authorized_cb (Daemon *daemon,
{
AccountType account_type = GPOINTER_TO_INT (data);
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
gid_t *groups;
gint ngroups;
- g_autoptr(GString) str = NULL;
- g_auto(GStrv) extra_admin_groups = NULL;
+
+ g_autoptr (GString) str = NULL;
+ g_auto (GStrv) extra_admin_groups = NULL;
g_autofree gid_t *extra_admin_groups_gids = NULL;
gsize n_extra_admin_groups_gids = 0;
gid_t admin_gid;
@@ -2265,17 +2279,19 @@ user_change_account_type_authorized_cb (Daemon *daemon,
if (groups[i] == admin_gid)
group_is_admin = TRUE;
- for (gsize j = 0; j < n_extra_admin_groups_gids; j++)
+ for (gsize j = 0; j < n_extra_admin_groups_gids; j++) {
if (groups[i] == extra_admin_groups_gids[j])
group_is_admin = TRUE;
+ }
if (!group_is_admin)
g_string_append_printf (str, "%d,", groups[i]);
}
switch (account_type) {
case ACCOUNT_TYPE_ADMINISTRATOR:
- for (i = 0; i < n_extra_admin_groups_gids; i++)
+ for (i = 0; i < n_extra_admin_groups_gids; i++) {
g_string_append_printf (str, "%d,", extra_admin_groups_gids[i]);
+ }
g_string_append_printf (str, "%d", admin_gid);
break;
@@ -2315,7 +2331,8 @@ user_set_account_type (AccountsUser *auser,
GDBusMethodInvocation *context,
gint account_type)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
+
if (account_type < 0 || account_type > ACCOUNT_TYPE_LAST) {
throw_error (context, ERROR_FAILED, "unknown account type: %d", account_type);
return TRUE;
@@ -2340,7 +2357,8 @@ user_change_password_mode_authorized_cb (Daemon *daemon,
{
PasswordMode mode = GPOINTER_TO_INT (data);
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
const gchar *argv[6];
if (((PasswordMode) accounts_user_get_password_mode (ACCOUNTS_USER (user))) != mode) {
@@ -2354,7 +2372,6 @@ user_change_password_mode_authorized_cb (Daemon *daemon,
if (mode == PASSWORD_MODE_SET_AT_LOGIN ||
mode == PASSWORD_MODE_NONE) {
-
argv[0] = "/usr/bin/passwd";
argv[1] = "-d";
argv[2] = "--";
@@ -2386,8 +2403,7 @@ user_change_password_mode_authorized_cb (Daemon *daemon,
* unlocking the account
*/
accounts_user_set_locked (ACCOUNTS_USER (user), FALSE);
- }
- else if (accounts_user_get_locked (ACCOUNTS_USER (user))) {
+ } else if (accounts_user_get_locked (ACCOUNTS_USER (user))) {
argv[0] = "/usr/sbin/usermod";
argv[1] = "-U";
argv[2] = "--";
@@ -2417,7 +2433,7 @@ user_set_password_mode (AccountsUser *auser,
GDBusMethodInvocation *context,
gint mode)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
const gchar *action_id;
gint uid;
@@ -2455,7 +2471,8 @@ user_change_password_authorized_cb (Daemon *daemon,
{
gchar **strings = data;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
const gchar *argv[6];
sys_log (context,
@@ -2501,7 +2518,7 @@ user_set_password (AccountsUser *auser,
const gchar *password,
const gchar *hint)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
gchar **data;
const gchar *action_id;
gint uid;
@@ -2527,9 +2544,9 @@ user_set_password (AccountsUser *auser,
user_change_password_authorized_cb,
context,
data,
- (GDestroyNotify)free_passwords);
+ (GDestroyNotify) free_passwords);
- memset ((char*)password, 0, strlen (password));
+ memset ((char *) password, 0, strlen (password));
return TRUE;
}
@@ -2561,7 +2578,7 @@ user_set_password_hint (AccountsUser *auser,
GDBusMethodInvocation *context,
const gchar *hint)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
int uid;
const gchar *action_id;
@@ -2581,7 +2598,7 @@ user_set_password_hint (AccountsUser *auser,
user_change_password_hint_authorized_cb,
context,
g_strdup (hint),
- (GDestroyNotify)g_free);
+ (GDestroyNotify) g_free);
return TRUE;
}
@@ -2593,7 +2610,8 @@ user_change_automatic_login_authorized_cb (Daemon *daemon,
gpointer data)
{
gboolean enabled = GPOINTER_TO_INT (data);
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
sys_log (context,
"%s automatic login for user '%s' (%d)",
@@ -2619,7 +2637,8 @@ user_set_automatic_login (AccountsUser *auser,
GDBusMethodInvocation *context,
gboolean enabled)
{
- User *user = (User*)auser;
+ User *user = (User *) auser;
+
daemon_local_check_auth (user->daemon,
user,
"org.freedesktop.accounts.user-administration",
@@ -2639,7 +2658,7 @@ user_finalize (GObject *object)
user = USER (object);
if (user->changed_timeout_id != 0)
- g_source_remove (user->changed_timeout_id);
+ g_source_remove (user->changed_timeout_id);
g_clear_pointer (&user->keyfile, g_key_file_unref);
diff --git a/src/user.h b/src/user.h
index 7e482ab..760a4eb 100644
--- a/src/user.h
+++ b/src/user.h
@@ -34,13 +34,15 @@
#define USER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), TYPE_USER, User))
#define IS_USER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), TYPE_USER))
-typedef enum {
+typedef enum
+{
ACCOUNT_TYPE_STANDARD,
ACCOUNT_TYPE_ADMINISTRATOR,
#define ACCOUNT_TYPE_LAST ACCOUNT_TYPE_ADMINISTRATOR
} AccountType;
-typedef enum {
+typedef enum
+{
PASSWORD_MODE_REGULAR,
PASSWORD_MODE_SET_AT_LOGIN,
PASSWORD_MODE_NONE,
@@ -49,33 +51,33 @@ typedef enum {
/* local methods */
-GType user_get_type (void) G_GNUC_CONST;
-User * user_new (Daemon *daemon,
- uid_t uid);
+GType user_get_type (void) G_GNUC_CONST;
+User * user_new (Daemon *daemon,
+ uid_t uid);
-void user_update_from_pwent (User *user,
- struct passwd *pwent,
- struct spwd *spent);
-void user_update_from_cache (User *user);
-void user_update_local_account_property (User *user,
- gboolean local);
-void user_update_system_account_property (User *user,
- gboolean system);
-gboolean user_get_cached (User *user);
-void user_set_cached (User *user,
- gboolean cached);
-void user_set_saved (User *user,
- gboolean saved);
+void user_update_from_pwent (User *user,
+ struct passwd *pwent,
+ struct spwd *spent);
+void user_update_from_cache (User *user);
+void user_update_local_account_property (User *user,
+ gboolean local);
+void user_update_system_account_property (User *user,
+ gboolean system);
+gboolean user_get_cached (User *user);
+void user_set_cached (User *user,
+ gboolean cached);
+void user_set_saved (User *user,
+ gboolean saved);
-void user_register (User *user);
-void user_unregister (User *user);
-void user_changed (User *user);
+void user_register (User *user);
+void user_unregister (User *user);
+void user_changed (User *user);
-void user_save (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);
-const gchar * user_get_object_path (User *user);
-uid_t user_get_uid (User *user);
-const gchar * user_get_shell (User *user);
+const gchar * user_get_user_name (User *user);
+gboolean user_get_system_account (User *user);
+gboolean user_get_local_account (User *user);
+const gchar * user_get_object_path (User *user);
+uid_t user_get_uid (User *user);
+const gchar * user_get_shell (User *user);
diff --git a/src/util.c b/src/util.c
index 0994401..c8ba4cd 100644
--- a/src/util.c
+++ b/src/util.c
@@ -41,7 +41,8 @@ get_cmdline_of_pid (GPid pid)
g_autofree gchar *filename = NULL;
g_autofree gchar *contents = NULL;
gsize contents_len;
- g_autoptr(GError) error = NULL;
+
+ g_autoptr (GError) error = NULL;
guint n;
filename = g_strdup_printf ("/proc/%d/cmdline", (int) pid);
@@ -70,8 +71,8 @@ static gboolean
get_caller_pid (GDBusMethodInvocation *context,
GPid *pid)
{
- g_autoptr(GVariant) reply = NULL;
- g_autoptr(GError) error = NULL;
+ g_autoptr (GVariant) reply = NULL;
+ g_autoptr (GError) error = NULL;
guint32 pid_as_int;
reply = g_dbus_connection_call_sync (g_dbus_method_invocation_get_connection (context),
@@ -103,7 +104,7 @@ get_caller_pid (GDBusMethodInvocation *context,
void
sys_log (GDBusMethodInvocation *context,
const gchar *format,
- ...)
+ ...)
{
va_list args;
g_autofree gchar *msg = NULL;
@@ -159,7 +160,7 @@ static gboolean
compat_check_exit_status (int estatus,
GError **error)
{
-#if GLIB_CHECK_VERSION(2, 33, 12)
+#if GLIB_CHECK_VERSION (2, 33, 12)
return g_spawn_check_exit_status (estatus, error);
#else
if (!WIFEXITED (estatus)) {
@@ -174,7 +175,7 @@ compat_check_exit_status (int estatus,
G_SPAWN_ERROR,
G_SPAWN_ERROR_FAILED,
"Exited with code %d",
- WEXITSTATUS(estatus));
+ WEXITSTATUS (estatus));
return FALSE;
}
return TRUE;
@@ -182,26 +183,26 @@ compat_check_exit_status (int estatus,
}
gboolean
-spawn_sync (const gchar *argv[],
- GError **error)
+spawn_sync (const gchar *argv[],
+ GError **error)
{
gboolean ret = FALSE;
gint status;
- if (!g_spawn_sync (NULL, (gchar**) argv, NULL, 0, NULL, NULL, NULL, NULL, &status, error))
+ if (!g_spawn_sync (NULL, (gchar **) argv, NULL, 0, NULL, NULL, NULL, NULL, &status, error))
goto out;
if (!compat_check_exit_status (status, error))
goto out;
ret = TRUE;
- out:
+out:
return ret;
}
gint
-get_user_groups (const gchar *user,
- gid_t group,
- gid_t **groups)
+get_user_groups (const gchar *user,
+ gid_t group,
+ gid_t **groups)
{
gint res;
gint ngroups;
@@ -239,7 +240,7 @@ get_admin_groups (gid_t *admin_gid_out,
gid_t **groups_out,
gsize *n_groups_out)
{
- g_auto(GStrv) extra_admin_groups = NULL;
+ g_auto (GStrv) extra_admin_groups = NULL;
g_autofree gid_t *extra_admin_groups_gids = NULL;
gsize n_extra_admin_groups_gids = 0;
gsize i;
@@ -292,8 +293,8 @@ gboolean
get_caller_uid (GDBusMethodInvocation *context,
gint *uid)
{
- g_autoptr(GVariant) reply = NULL;
- g_autoptr(GError) error = NULL;
+ g_autoptr (GVariant) reply = NULL;
+ g_autoptr (GError) error = NULL;
reply = g_dbus_connection_call_sync (g_dbus_method_invocation_get_connection (context),
"org.freedesktop.DBus",
@@ -325,18 +326,18 @@ get_caller_uid (GDBusMethodInvocation *context,
*/
enum
{
- COMPONENT_CODESET = 1 << 0,
+ COMPONENT_CODESET = 1 << 0,
COMPONENT_TERRITORY = 1 << 1,
- COMPONENT_MODIFIER = 1 << 2,
- COMPONENT_LANGUAGE = 1 << 3,
+ COMPONENT_MODIFIER = 1 << 2,
+ COMPONENT_LANGUAGE = 1 << 3,
};
/* Returns TRUE if value was non-empty */
static gboolean
-match_info_fetch_named_non_empty (GMatchInfo *match_info,
- const char *match_name,
- char **variable)
+match_info_fetch_named_non_empty (GMatchInfo *match_info,
+ const char *match_name,
+ char **variable)
{
g_autofree char *value = NULL;
@@ -349,14 +350,14 @@ match_info_fetch_named_non_empty (GMatchInfo *match_info,
}
static guint
-explode_locale (const gchar *locale,
- gchar **language,
- gchar **territory,
- gchar **codeset,
- gchar **modifier)
+explode_locale (const gchar *locale,
+ gchar **language,
+ gchar **territory,
+ gchar **codeset,
+ gchar **modifier)
{
- g_autoptr(GRegex) regex = NULL;
- g_autoptr(GMatchInfo) match_info = NULL;
+ g_autoptr (GRegex) regex = NULL;
+ g_autoptr (GMatchInfo) match_info = NULL;
guint mask = 0;
if (locale == NULL)
@@ -387,7 +388,7 @@ explode_locale (const gchar *locale,
gboolean
verify_xpg_locale (const char *locale)
{
- return (explode_locale (locale, NULL, NULL, NULL, NULL) & COMPONENT_LANGUAGE);
+ return explode_locale (locale, NULL, NULL, NULL, NULL) & COMPONENT_LANGUAGE;
}
gboolean
@@ -405,8 +406,8 @@ static char *icondir = NULL;
void
init_dirs (void)
{
- if (getuid() != 0 &&
- geteuid() != 0 &&
+ if (getuid () != 0 &&
+ geteuid () != 0 &&
g_getenv ("ROOTDIR") != NULL) {
userdir = g_build_filename (g_getenv ("ROOTDIR"), USERDIR, NULL);
icondir = g_build_filename (g_getenv ("ROOTDIR"), ICONDIR, NULL);
@@ -442,5 +443,5 @@ get_sysconfdir (void)
const char *
get_icondir (void)
{
- return icondir;
+ return icondir;
}
diff --git a/src/util.h b/src/util.h
index cc46f3e..43e080b 100644
--- a/src/util.h
+++ b/src/util.h
@@ -25,23 +25,24 @@
void sys_log (GDBusMethodInvocation *context,
const gchar *format,
- ...);
+ ...);
-gboolean get_caller_uid (GDBusMethodInvocation *context, gint *uid);
+gboolean get_caller_uid (GDBusMethodInvocation *context,
+ gint *uid);
-gboolean spawn_sync (const gchar *argv[],
- GError **error);
+gboolean spawn_sync (const gchar *argv[],
+ GError **error);
gboolean get_admin_groups (gid_t *admin_gid_out,
gid_t **groups_out,
gsize *n_groups_out);
-gint get_user_groups (const gchar *username,
- gid_t group,
- gid_t **groups);
+gint get_user_groups (const gchar *username,
+ gid_t group,
+ gid_t **groups);
gboolean verify_xpg_locale (const char *locale);
-gboolean verify_locale (const char *locale);
+gboolean verify_locale (const char *locale);
void init_dirs (void);
void free_dirs (void);
diff --git a/src/wtmp-helper.c b/src/wtmp-helper.c
index 01caa2e..1e3b942 100644
--- a/src/wtmp-helper.c
+++ b/src/wtmp-helper.c
@@ -29,16 +29,18 @@
#include <utmpx.h>
-typedef struct {
+typedef struct
+{
guint64 frequency;
- gint64 time;
- GList *previous_logins;
+ gint64 time;
+ GList *previous_logins;
} UserAccounting;
-typedef struct {
- gchar *id;
- gint64 login_time;
- gint64 logout_time;
+typedef struct
+{
+ gchar *id;
+ gint64 login_time;
+ gint64 logout_time;
} UserPreviousLogin;
static void
@@ -52,20 +54,20 @@ static gboolean
wtmp_helper_start (void)
{
#if defined(HAVE_SETUTXDB)
- if (setutxdb (UTXDB_LOG, NULL) != 0) {
- return FALSE;
- }
+ if (setutxdb (UTXDB_LOG, NULL) != 0) {
+ return FALSE;
+ }
#elif defined(PATH_WTMP)
- if (utmpxname (PATH_WTMP) != 0) {
- return FALSE;
- }
+ if (utmpxname (PATH_WTMP) != 0) {
+ return FALSE;
+ }
- setutxent ();
+ setutxent ();
#else
#error You have utmpx.h, but no known way to use it for wtmp entries
#endif
- return TRUE;
+ return TRUE;
}
void
@@ -87,7 +89,7 @@ wtmp_helper_update_login_frequencies (GHashTable *users)
logout_hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
while ((wtmp_entry = getutxent ())) {
- UserAccounting *accounting;
+ UserAccounting *accounting;
UserPreviousLogin *previous_login;
gboolean shutdown_or_reboot = FALSE;
@@ -157,11 +159,11 @@ wtmp_helper_update_login_frequencies (GHashTable *users)
g_hash_table_iter_init (&iter, login_hash);
while (g_hash_table_iter_next (&iter, &key, &value)) {
- UserAccounting *accounting = (UserAccounting *) value;
+ UserAccounting *accounting = (UserAccounting *) value;
UserPreviousLogin *previous_login;
- gboolean changed = FALSE;
- guint64 old_login_frequency;
- guint64 old_login_time;
+ gboolean changed = FALSE;
+ guint64 old_login_frequency;
+ guint64 old_login_time;
user = g_hash_table_lookup (users, key);
if (user == NULL) {
diff --git a/src/wtmp-helper.h b/src/wtmp-helper.h
index ff076ef..9cb7521 100644
--- a/src/wtmp-helper.h
+++ b/src/wtmp-helper.h
@@ -26,5 +26,5 @@
#include <shadow.h>
#endif
-const gchar * wtmp_helper_get_path_for_monitor (void);
-void wtmp_helper_update_login_frequencies (GHashTable *users);
+const gchar * wtmp_helper_get_path_for_monitor (void);
+void wtmp_helper_update_login_frequencies (GHashTable *users);
diff --git a/tests/util.c b/tests/util.c
index abfc03e..b166d10 100644
--- a/tests/util.c
+++ b/tests/util.c
@@ -8,7 +8,7 @@ main (int argc,
{
guint i;
- setlocale(LC_ALL, "C.UTF-8");
+ setlocale (LC_ALL, "C.UTF-8");
if (argc > 1) {
for (i = 1; i < argc; i++) {
@@ -33,36 +33,37 @@ main (int argc,
return 0;
}
- struct {
+ struct
+ {
const char *locale;
const char *lang;
const char *territory;
const char *codeset;
const char *modifier;
} tests[] = {
- { "en", "en", NULL, NULL, NULL },
- { "en_GB", "en", "GB", NULL, NULL },
- { "en_GB.UTF-8", "en", "GB", "UTF-8", NULL },
- { "en_GB.UTF-8@latin", "en", "GB", "UTF-8", "latin" },
- { "en_GB@latin", "en", "GB", NULL, "latin" },
- { "en_GB.iso8859-1", "en", "GB", "iso8859-1", NULL },
- { "1234", NULL, NULL, NULL, NULL },
- { "Test Language 1", NULL, NULL, NULL, NULL },
- { "en_GB.UTF-8@latin WOOP", NULL, NULL, NULL, NULL },
- { "ace", "ace", NULL, NULL, NULL },
- { "be@latin", "be", NULL, NULL, "latin" },
- { "ca.us-ascii", "ca", NULL, "us-ascii", NULL },
- { "cs.cp1250", "cs", NULL, "cp1250", NULL },
- { "_GB.UTF-8", NULL, NULL, NULL, NULL },
+ { "en", "en", NULL, NULL, NULL },
+ { "en_GB", "en", "GB", NULL, NULL },
+ { "en_GB.UTF-8", "en", "GB", "UTF-8", NULL },
+ { "en_GB.UTF-8@latin", "en", "GB", "UTF-8", "latin" },
+ { "en_GB@latin", "en", "GB", NULL, "latin" },
+ { "en_GB.iso8859-1", "en", "GB", "iso8859-1", NULL },
+ { "1234", NULL, NULL, NULL, NULL },
+ { "Test Language 1", NULL, NULL, NULL, NULL },
+ { "en_GB.UTF-8@latin WOOP", NULL, NULL, NULL, NULL },
+ { "ace", "ace", NULL, NULL, NULL },
+ { "be@latin", "be", NULL, NULL, "latin" },
+ { "ca.us-ascii", "ca", NULL, "us-ascii", NULL },
+ { "cs.cp1250", "cs", NULL, "cp1250", NULL },
+ { "_GB.UTF-8", NULL, NULL, NULL, NULL },
/* qaa-qtz is a fake locale erroneously generated by some
* downstream distributions because of a mistaken entry
* shipped in iso-codes. The ISO 639.2 registration authority
* intended all codes starting with "q" less than "qu" to be
* reserved for local use. Ensure the fake locale isn't
* allowed. */
- { "qaa-qtz", NULL, NULL, NULL, NULL },
- { "ru_RU.KOI8-R", "ru", "RU", "KOI8-R", NULL },
- { "", NULL, NULL, NULL, NULL },
+ { "qaa-qtz", NULL, NULL, NULL, NULL },
+ { "ru_RU.KOI8-R", "ru", "RU", "KOI8-R", NULL },
+ { "", NULL, NULL, NULL, NULL },
{ NULL },
};