[gnome-shell/wip/rstrode/rhel-8.0.0: 6/50] gdm: only unlock with smartcard, if smartcard used for login



commit 04d526e9f5a5ecbfec61f7f72e6c34c2741d5278
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 261e1e433..3d6d69c10 100644
--- a/js/gdm/util.js
+++ b/js/gdm/util.js
@@ -134,7 +134,6 @@ var ShellUserVerifier = new Lang.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();
@@ -146,6 +145,8 @@ var ShellUserVerifier = new Lang.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',
@@ -412,7 +413,9 @@ var ShellUserVerifier = new Lang.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]