summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--common/gdm-settings-keys.h2
-rw-r--r--daemon/gdm-simple-slave.c16
-rw-r--r--data/gdm.schemas.in.in10
4 files changed, 36 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 59072a0d..14d080ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-09-03 Ray Strode <rstrode@redhat.com>
+
+ * common/gdm-settings-keys.h:
+ * daemon/gdm-simple-slave.c
+ (get_timed_login_details):
+ * data/gdm.schemas.in.in:
+ Make old AutomaticLogin key initiate a timed login
+ of 0 seconds for backward compatibility.
+
2008-09-02 William Jon McCann <jmccann@redhat.com>
* gui/simple-greeter/gdm-greeter-login-window.c
diff --git a/common/gdm-settings-keys.h b/common/gdm-settings-keys.h
index a7683bd1..081b2b2f 100644
--- a/common/gdm-settings-keys.h
+++ b/common/gdm-settings-keys.h
@@ -27,6 +27,8 @@ G_BEGIN_DECLS
#define GDM_KEY_USER "daemon/User"
#define GDM_KEY_GROUP "daemon/Group"
+#define GDM_KEY_AUTO_LOGIN_ENABLE "daemon/AutomaticLoginEnable"
+#define GDM_KEY_AUTO_LOGIN_USER "daemon/AutomaticLogin"
#define GDM_KEY_TIMED_LOGIN_ENABLE "daemon/TimedLoginEnable"
#define GDM_KEY_TIMED_LOGIN_USER "daemon/TimedLogin"
#define GDM_KEY_TIMED_LOGIN_DELAY "daemon/TimedLoginDelay"
diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
index 3a9fd4b0..a91f6b89 100644
--- a/daemon/gdm-simple-slave.c
+++ b/daemon/gdm-simple-slave.c
@@ -442,12 +442,26 @@ get_timed_login_details (GdmSimpleSlave *slave,
gboolean res;
enabled = FALSE;
+ res = gdm_settings_client_get_boolean (GDM_KEY_AUTO_LOGIN_ENABLE, &enabled);
+ if (enabled) {
+
+ *username = NULL;
+ res = gdm_settings_client_get_string (GDM_KEY_AUTO_LOGIN_USER, username);
+ }
+
+ if (enabled && *username != NULL)
+ {
+ *delay = 0;
+ return TRUE;
+ }
+
+ *username = NULL;
+ enabled = FALSE;
res = gdm_settings_client_get_boolean (GDM_KEY_TIMED_LOGIN_ENABLE, &enabled);
if (! enabled) {
return FALSE;
}
- *username = NULL;
res = gdm_settings_client_get_string (GDM_KEY_TIMED_LOGIN_USER, username);
if (username == NULL) {
diff --git a/data/gdm.schemas.in.in b/data/gdm.schemas.in.in
index ef8a9f49..bcb00e9d 100644
--- a/data/gdm.schemas.in.in
+++ b/data/gdm.schemas.in.in
@@ -12,6 +12,16 @@
<default>@GDM_GROUPNAME@</default>
</schema>
<schema>
+ <key>daemon/AutomaticLoginEnable</key>
+ <signature>b</signature>
+ <default>false</default>
+ </schema>
+ <schema>
+ <key>daemon/AutomaticLogin</key>
+ <signature>s</signature>
+ <default></default>
+ </schema>
+ <schema>
<key>daemon/TimedLoginEnable</key>
<signature>b</signature>
<default>false</default>