]> git.lizzy.rs Git - torbrowser-launcher.git/commitdiff
launcher.py: Add method calls to common.refresh_keyring on signature verify failures.
authorDan Snider <dan@dephekt.net>
Thu, 13 Apr 2017 22:24:42 +0000 (17:24 -0500)
committerDan Snider <dan@dephekt.net>
Thu, 13 Apr 2017 22:24:42 +0000 (17:24 -0500)
torbrowser_launcher/common.py
torbrowser_launcher/launcher.py

index 0a111094fff6dd84c1b4c3ddfaa3cecad5eeaea4..17a2b12c80f2a2e12a3cf48759a16da51329f347 100644 (file)
@@ -212,16 +212,14 @@ class Common:
                                   '--keyserver', 'pool.sks-keyservers.net',
                                   '--recv-keys', fingerprint], stderr=subprocess.PIPE)
 
-            for output in p.stderr.readlines():
-                print output
+            print('Refreshing Missing public key(s): ' + fingerprint)
         else:
             p = subprocess.Popen(['/usr/bin/gpg', '--status-fd', '2',
                                   '--homedir', self.paths['gnupg_homedir'],
                                   '--keyserver', 'pool.sks-keyservers.net',
                                   '--refresh-keys'], stderr=subprocess.PIPE)
 
-            for output in p.stderr.readlines():
-                print output
+            print('Refreshing local keyring.')
 
     def import_key_and_check_status(self, key):
         """Import a GnuPG key and check that the operation was successful.
index 2c70b61f7b57163155a609e4820e541f1ef1d4ea..b09548babcc85e788f7c3fdd897d9fd1884ad73f 100644 (file)
@@ -526,7 +526,9 @@ class Launcher:
             """
             sigerror = 'SIGNATURE VERIFICATION FAILED!\n\nError Code: {0}\n\nYou might be under attack, there might' \
                        ' be a network\nproblem, or you may be missing a recently added\nTor Browser verification key.' \
-                       '\n\nFor support, report the above error code.\nClick Start to try again.'.format(sigerror)
+                       '\nClick Start to refresh the keyring and try again. If the message persists report the above' \
+                       ' error code here:\nhttps://github.com/micahflee/torbrowser-launcher/issues'.format(sigerror)
+
             self.set_gui('task', sigerror, ['start_over'], False)
             self.clear_ui()
             self.build_ui()
@@ -545,6 +547,7 @@ class Launcher:
                     if result[1] == 'Bad signature':
                         gui_raise_sigerror(self, str(e))
                     elif result[1] == 'No public key':
+                        self.common.refresh_keyring(result[0])
                         gui_raise_sigerror(self, str(e))
                 else:
                     self.run_task()
@@ -557,7 +560,8 @@ class Launcher:
             if p.returncode == 0:
                 self.run_task()
             else:
-                gui_raise_sigerror(self, 'VERIFY_FAIL_NO_GPGME')
+                self.common.refresh_keyring()
+                gui_raise_sigerror(self, 'GENERIC_VERIFY_FAIL')
                 if not reactor.running:
                     reactor.run()