Example #1
0
static void
_handle_user_get_by_name (
		InputUser *user)
{
    GumUser *guser = NULL;

    guser = gum_user_get_by_name_sync (user->user_name, offline_mode);
    if (!guser) return;

    INFO ("User retrieved by name successfully");
    _print_user_prop (guser);

    g_object_unref (guser);
}
Example #2
0
        const gchar *user_name,
        gboolean delete)
{
    uid_t uid = 0;
    gid_t gid = 0;
    gchar *home_dir = NULL;
    GError *error = NULL;
    gboolean ret = FALSE;
    guint umask = 022;

    (void) delete;

    g_return_val_if_fail (plugin && TLM_IS_ACCOUNT_PLUGIN_GUMD(plugin), FALSE);
    g_return_val_if_fail (user_name && user_name[0], FALSE);

    GumUser *guser = gum_user_get_by_name_sync (user_name, FALSE);
    if (!guser) {
        WARN ("Failed to cleanup user %s", user_name);
        return FALSE;
    }

    g_object_get (G_OBJECT (guser), "uid", &uid, "gid", &gid, "homedir",
            &home_dir, NULL);

    if (!gum_file_delete_home_dir (home_dir, &error)) {
        goto _finished;
    }

    if (!gum_file_create_home_dir (home_dir, uid, gid, umask, &error)) {
        goto _finished;
    }