diff options
author | Ray Strode <rstrode@redhat.com> | 2011-07-12 10:16:18 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2011-07-12 10:26:26 -0400 |
commit | 5d3a19d89e787e4350cb6465194fbf14aad96db8 (patch) | |
tree | 441024663e11559a2acc6ca23b756522d4993d41 /gui | |
parent | d29a3c138c5315fb80efea87275693a1610d7aa9 (diff) | |
download | gdm-5d3a19d89e787e4350cb6465194fbf14aad96db8.tar.gz |
greeter: "unified" extension fixes
If gdm is built without --enable-split-authentication,
then the "gdm" service gets used instead of the
"gdm-password" service.
The "Other" option (or when the user list is disabled)
assumes "gdm-password" is right service to use.
This commit fixes it to select "gdm" or "gdm-password" as
appropriate.
Diffstat (limited to 'gui')
-rw-r--r-- | gui/simple-greeter/gdm-greeter-login-window.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gui/simple-greeter/gdm-greeter-login-window.c b/gui/simple-greeter/gdm-greeter-login-window.c index 2300ed52..ba8a0c53 100644 --- a/gui/simple-greeter/gdm-greeter-login-window.c +++ b/gui/simple-greeter/gdm-greeter-login-window.c @@ -752,10 +752,14 @@ static void begin_other_verification (GdmGreeterLoginWindow *login_window) { /* FIXME: we should drop this code and do all OTHER handling - * entirely from within the password plugin + * entirely from within the extension * (ala how smart card manages its "Smartcard Authentication" item) */ - begin_single_service_verification (login_window, "gdm-password"); + if (find_extension_with_service_name (login_window, "gdm-password") != NULL) { + begin_single_service_verification (login_window, "gdm-password"); + } else { + begin_single_service_verification (login_window, "gdm"); + } } static void @@ -985,7 +989,8 @@ handle_stopped_conversation (GdmGreeterLoginWindow *login_window, * * FIXME: we need to get this policy out of the source code */ - if (strcmp (service_name, "gdm-password") == 0) { + if (strcmp (service_name, "gdm-password") == 0 || + strcmp (service_name, "gdm") == 0) { g_debug ("GdmGreeterLoginWindow: main conversation failed, starting over"); restart_conversations (login_window); reset_dialog_after_messages (login_window, MODE_SELECTION); |