[gnome-shell/wip/rstrode/login-screen-extensions: 6/134] gdm: only unlock with smartcard, if smartcard used for login




commit 92a4438c0aca7ff8172ad4145a5e364530fb637c
Author: Ray Strode <rstrode redhat com>
Date:   Mon Sep 28 19:56:53 2015 -0400

    gdm: only unlock with smartcard, if smartcard used for login
    
    If a smartcard is used for login, we need to make sure the smartcard
    gets used for unlock, too.

 js/gdm/util.js | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/js/gdm/util.js b/js/gdm/util.js
index 2e9935250b..2b80e1dd95 100644
--- a/js/gdm/util.js
+++ b/js/gdm/util.js
@@ -126,7 +126,6 @@ var ShellUserVerifier = class {
         this._settings = new Gio.Settings({ schema_id: LOGIN_SCREEN_SCHEMA });
         this._settings.connect('changed',
                                this._updateDefaultService.bind(this));
-        this._updateDefaultService();
 
         this._fprintManager = Fprint.FprintManager();
         this._smartcardManager = SmartcardManager.getSmartcardManager();
@@ -138,6 +137,8 @@ var ShellUserVerifier = class {
         this.smartcardDetected = false;
         this._checkForSmartcard();
 
+        this._updateDefaultService();
+
         this._smartcardInsertedId = this._smartcardManager.connect('smartcard-inserted',
                                                                    this._checkForSmartcard.bind(this));
         this._smartcardRemovedId = this._smartcardManager.connect('smartcard-removed',
@@ -407,7 +408,9 @@ var ShellUserVerifier = class {
     }
 
     _updateDefaultService() {
-        if (this._settings.get_boolean(PASSWORD_AUTHENTICATION_KEY))
+        if (this._smartcardManager.loggedInWithToken())
+            this._defaultService = SMARTCARD_SERVICE_NAME;
+        else if (this._settings.get_boolean(PASSWORD_AUTHENTICATION_KEY))
             this._defaultService = PASSWORD_SERVICE_NAME;
         else if (this._settings.get_boolean(SMARTCARD_AUTHENTICATION_KEY))
             this._defaultService = SMARTCARD_SERVICE_NAME;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]