[gnome-shell] thunderbolt: honor boltd's AuthMode property
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] thunderbolt: honor boltd's AuthMode property
- Date: Mon, 5 Mar 2018 21:11:33 +0000 (UTC)
commit 190a31dd5f34b83a93f4472af8812328f3f1971f
Author: Christian Kellner <christian kellner me>
Date: Mon Mar 5 21:05:32 2018 +0100
thunderbolt: honor boltd's AuthMode property
boltd 0.2 gained a property that indicates if it is authorizing
devices or not. If it indeed is not authorizing then we wont
try to enroll new devices because that would otherwise lead to
and error.
js/ui/status/thunderbolt.js | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
---
diff --git a/js/ui/status/thunderbolt.js b/js/ui/status/thunderbolt.js
index e12131302..6c97ac832 100644
--- a/js/ui/status/thunderbolt.js
+++ b/js/ui/status/thunderbolt.js
@@ -17,6 +17,7 @@ const PanelMenu = imports.ui.panelMenu;
const BoltClientInterface = '<node> \
<interface name="org.freedesktop.bolt1.Manager"> \
<property name="Probing" type="b" access="read"></property> \
+ <property name="AuthMode" type="s" access="readwrite"></property> \
<method name="EnrollDevice"> \
<arg type="s" name="uid" direction="in"> </arg> \
<arg type="s" name="policy" direction="in"> </arg> \
@@ -73,6 +74,9 @@ var AuthFlags = {
NONE: 'none',
};
+var AuthMode = {
+ DISABLED: 'disabled',
+ ENABLED: 'enabled'
};
const BOLT_DBUS_NAME = 'org.freedesktop.bolt';
@@ -150,6 +154,10 @@ var Client = new Lang.Class({
path);
callback(device, null);
});
+ },
+
+ get authMode () {
+ return this._proxy.AuthMode;
}
});
@@ -183,6 +191,14 @@ var AuthRobot = new Lang.Class({
if (dev.Status !== Status.CONNECTED)
return;
+ /* check if authorization is enabled in the daemon. if not
+ * we won't even bother authorizing, because we will only
+ * get an error back. The exact contents of AuthMode might
+ * change in the future, but must contain AuthMode.ENABLED
+ * if it is enabled. */
+ if (!cli.authMode.split('|').includes(AuthMode.ENABLED))
+ return;
+
/* check if we should enroll the device */
let res = [false];
this.emit('enroll-device', dev, res);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]