diff options
author | Ray Strode <rstrode@redhat.com> | 2015-03-17 09:06:48 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2015-03-19 20:26:35 -0400 |
commit | a21fbb4acf8503dc552c74942a601c91d803939e (patch) | |
tree | b725ca266cbb00e70ee690d8aa0476b1b3f5bc00 /daemon/gdm-display.c | |
parent | c6674e7bcc940207969b2dcee5ab83356abf3404 (diff) | |
download | gdm-a21fbb4acf8503dc552c74942a601c91d803939e.tar.gz |
display: move gdm_display_get_timed_login_details to manager
The function is no longer virtualized among the display types,
and it doesn't actually have a full picture of whether or not the
display should do automatic/timed login so move it up to the manager,
where all the information is.
https://bugzilla.gnome.org/show_bug.cgi?id=746492
Diffstat (limited to 'daemon/gdm-display.c')
-rw-r--r-- | daemon/gdm-display.c | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/daemon/gdm-display.c b/daemon/gdm-display.c index b2a53a2d..20cda938 100644 --- a/daemon/gdm-display.c +++ b/daemon/gdm-display.c @@ -395,98 +395,6 @@ gdm_display_add_user_authorization (GdmDisplay *self, return TRUE; } -void -gdm_display_get_timed_login_details (GdmDisplay *self, - gboolean *enabledp, - char **usernamep, - int *delayp) -{ - gboolean res; - gboolean enabled; - int delay; - char *username = NULL; - - enabled = FALSE; - username = NULL; - delay = 0; - - if (!self->priv->allow_timed_login) { - goto out; - } - -#ifdef WITH_SYSTEMD - /* FIXME: More careful thought needs to happen before we - * can support auto/timed login on auxilliary seats in the - * systemd path. - */ - if (LOGIND_RUNNING()) { - if (g_strcmp0 (self->priv->seat_id, "seat0") != 0) { - goto out; - } - } -#endif - - res = gdm_settings_direct_get_boolean (GDM_KEY_AUTO_LOGIN_ENABLE, &enabled); - if (res && enabled) { - res = gdm_settings_direct_get_string (GDM_KEY_AUTO_LOGIN_USER, &username); - } - - if (enabled && res && username != NULL && username[0] != '\0') { - goto out; - } - - g_free (username); - username = NULL; - enabled = FALSE; - - res = gdm_settings_direct_get_boolean (GDM_KEY_TIMED_LOGIN_ENABLE, &enabled); - if (res && ! enabled) { - goto out; - } - - res = gdm_settings_direct_get_string (GDM_KEY_TIMED_LOGIN_USER, &username); - if (res && (username == NULL || username[0] == '\0')) { - enabled = FALSE; - g_free (username); - username = NULL; - goto out; - } - - delay = 0; - res = gdm_settings_direct_get_int (GDM_KEY_TIMED_LOGIN_DELAY, &delay); - - if (res && delay <= 0) { - /* we don't allow the timed login to have a zero delay */ - delay = 10; - } - - out: - if (enabled) { - g_debug ("GdmDisplay: Got timed login details for display %s (seat %s): %d %s %d", - self->priv->x11_display_name? self->priv->x11_display_name : "", - self->priv->seat_id, - enabled, - username, - delay); - } else { - g_debug ("GdmDisplay: Got timed login details for display %s (seat %s): 0", - self->priv->x11_display_name? self->priv->x11_display_name : "", - self->priv->seat_id); - } - - if (enabledp != NULL) { - *enabledp = enabled; - } - if (usernamep != NULL) { - *usernamep = username; - } else { - g_free (username); - } - if (delayp != NULL) { - *delayp = delay; - } -} - gboolean gdm_display_remove_user_authorization (GdmDisplay *self, const char *username, |