[Pkg-privacy-commits] [torbrowser-launcher] 03/10: Fail to launch Tor Browser if its version is earlier than the minimum version (#224)
Holger Levsen
holger at moszumanska.debian.org
Thu Mar 3 14:38:41 UTC 2016
This is an automated email from the git hooks/post-receive script.
holger pushed a commit to branch master
in repository torbrowser-launcher.
commit a8d1e803798251e051dcf41d9c8a1b2e00710a0c
Author: Micah Lee <micah at micahflee.com>
Date: Tue Mar 1 17:37:00 2016 +0100
Fail to launch Tor Browser if its version is earlier than the minimum version (#224)
---
torbrowser_launcher/launcher.py | 37 +++++++++++++++++++++++++++++++++----
1 file changed, 33 insertions(+), 4 deletions(-)
diff --git a/torbrowser_launcher/launcher.py b/torbrowser_launcher/launcher.py
index 37047a1..9815e84 100644
--- a/torbrowser_launcher/launcher.py
+++ b/torbrowser_launcher/launcher.py
@@ -56,6 +56,9 @@ class Launcher:
self.common = common
self.url_list = url_list
+ # this is the current version of Tor Browser, which should get updated with every release
+ self.min_version = '5.5.2'
+
# init launcher
self.set_gui(None, '', [])
self.launch_gui = True
@@ -92,7 +95,11 @@ class Launcher:
self.launch_gui = False
if self.launch_gui:
- # set up the window
+ # build the rest of the UI
+ self.build_ui()
+
+ def configure_window(self):
+ if not hasattr(self, 'window'):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title(_("Tor Browser"))
self.window.set_icon_from_file(self.common.paths['icon_file'])
@@ -101,9 +108,6 @@ class Launcher:
self.window.connect("delete_event", self.delete_event)
self.window.connect("destroy", self.destroy)
- # build the rest of the UI
- self.build_ui()
-
# there are different GUIs that might appear, this sets which one we want
def set_gui(self, gui, message, tasks, autostart=True):
self.gui = gui
@@ -129,6 +133,7 @@ class Launcher:
self.clear_ui()
self.box = gtk.VBox(False, 20)
+ self.configure_window()
self.window.add(self.box)
if 'error' in self.gui:
@@ -483,7 +488,31 @@ class Launcher:
self.run_task()
+ def check_min_version(self):
+ installed_version = None
+ for line in open(self.common.paths['tbb']['versions']).readlines():
+ if line.startswith('TORBROWSER_VERSION='):
+ installed_version = line.split('=')[1].strip()
+ break
+
+ if self.min_version <= installed_version:
+ return True
+
+ return False
+
def run(self, run_next_task=True):
+ # don't run if it isn't at least the minimum version
+ if not self.check_min_version():
+ message = _("The version of Tor Browser you have installed is earlier than it should be, which could be a sign of an attack!")
+ print message
+
+ md = gtk.MessageDialog(None, gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_WARNING, gtk.BUTTONS_CLOSE, _(message))
+ md.set_position(gtk.WIN_POS_CENTER)
+ md.run()
+ md.destroy()
+
+ return
+
# play modem sound?
if self.common.settings['modem_sound']:
def play_modem_sound():
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-privacy/packages/torbrowser-launcher.git
More information about the Pkg-privacy-commits
mailing list