From c3306592fbb54fab0da44a8faaa8a1c6954537fd Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Thu, 18 Jan 2018 15:37:18 +0100 Subject: [feat] report missing polkit properly from main UI also refactor and move polkit_agent so that it does not depend on having bitmask on the path. --- src/leap/bitmask/vpn/helpers/linux/polkit_agent.py | 88 ---------------------- 1 file changed, 88 deletions(-) delete mode 100644 src/leap/bitmask/vpn/helpers/linux/polkit_agent.py (limited to 'src/leap/bitmask/vpn/helpers/linux/polkit_agent.py') diff --git a/src/leap/bitmask/vpn/helpers/linux/polkit_agent.py b/src/leap/bitmask/vpn/helpers/linux/polkit_agent.py deleted file mode 100644 index 5ca1a2f0..00000000 --- a/src/leap/bitmask/vpn/helpers/linux/polkit_agent.py +++ /dev/null @@ -1,88 +0,0 @@ -# -*- coding: utf-8 -*- -# polkit_agent.py -# Copyright (C) 2013 LEAP -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -""" -Daemonizes polkit authentication agent. -""" - -import os -import subprocess -import sys - -import daemon - - -POLKIT_PATHS = ( - '/usr/bin/lxpolkit', - '/usr/bin/lxqt-policykit-agent', - '/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1', - '/usr/lib/x86_64-linux-gnu/polkit-mate/polkit-mate-authentication-agent-1', - '/usr/lib/mate-polkit/polkit-mate-authentication-agent-1', - '/usr/lib/x86_64-linux-gnu/libexec/polkit-kde-authentication-agent-1', - '/usr/lib/kde4/libexec/polkit-kde-authentication-agent-1', - # now we get weird - '/usr/libexec/policykit-1-pantheon/pantheon-agent-polkit', - '/usr/lib/polkit-1-dde/dde-polkit-agent', - # do you know some we're still missing? :) -) - - -# TODO write tests for this piece. -def _get_polkit_agent(): - """ - Return a valid polkit agent to use. - - :rtype: str or None - """ - for polkit in POLKIT_PATHS: - if os.path.isfile(polkit): - return polkit - - return None - - -def _launch_agent(): - """ - Launch a polkit authentication agent on a subprocess. - """ - polkit_agent = _get_polkit_agent() - - if polkit_agent is None: - print("No usable polkit was found.") - return - - print('Launching polkit auth agent') - try: - # XXX fix KDE launch. See: #3755 - subprocess.call(polkit_agent) - except Exception as e: - print('Error launching polkit authentication agent %r' % (e, )) - - -def launch(): - """ - Launch a polkit authentication agent as a daemon. - """ - with daemon.DaemonContext(): - _launch_agent() - - -if __name__ == "__main__": - if '--nodaemon' in sys.argv: - _launch_agent() - else: - launch() -- cgit v1.2.3