[Pkg-privacy-commits] [obfsproxy] 323/353: Use more readable error messages.

Ximin Luo infinity0 at moszumanska.debian.org
Sat Aug 22 13:02:17 UTC 2015


This is an automated email from the git hooks/post-receive script.

infinity0 pushed a commit to branch master
in repository obfsproxy.

commit b498fe6feffda4a4d73112a099ecc9cdc134ffb6
Author: Philipp Winter <phw at torproject.org>
Date:   Sun Mar 9 00:45:27 2014 +0100

    Use more readable error messages.
    
    To a user, it's not immediately clear that a given password was not well
    formed.  The refactored error messages should fix that.  See bug
    <https://bugs.torproject.org/11143> for context.
---
 obfsproxy/transports/scramblesuit/scramblesuit.py | 28 +++++++++++++++++------
 1 file changed, 21 insertions(+), 7 deletions(-)

diff --git a/obfsproxy/transports/scramblesuit/scramblesuit.py b/obfsproxy/transports/scramblesuit/scramblesuit.py
index 87a7370..8e04cc5 100644
--- a/obfsproxy/transports/scramblesuit/scramblesuit.py
+++ b/obfsproxy/transports/scramblesuit/scramblesuit.py
@@ -117,8 +117,16 @@ class ScrambleSuitTransport( base.BaseTransport ):
         if cls.weAreServer and not cls.weAreExternal:
             cfg  = transportConfig.getServerTransportOptions()
             if cfg and "password" in cfg:
-                cls.uniformDHSecret = base64.b32decode(util.sanitiseBase32(
-                        cfg["password"]))
+                try:
+                    cls.uniformDHSecret = base64.b32decode(util.sanitiseBase32(
+                            cfg["password"]))
+                except TypeError as error:
+                    log.error(error.message)
+                    raise base.PluggableTransportError("Given password '%s' " \
+                            "is not valid Base32!  Run " \
+                            "'generate_password.py' to generate a good " \
+                            "password." % cfg["password"])
+
                 cls.uniformDHSecret = cls.uniformDHSecret.strip()
 
     @classmethod
@@ -562,9 +570,9 @@ class ScrambleSuitTransport( base.BaseTransport ):
                                      args.uniformDHSecret))
         except (TypeError, AttributeError) as error:
             log.error(error.message)
-            raise base.PluggableTransportError(
-                "UniformDH password '%s' isn't valid base32!"
-                % args.uniformDHSecret)
+            raise base.PluggableTransportError("Given password '%s' is not " \
+                    "valid Base32!  Run 'generate_password.py' to generate " \
+                    "a good password." % args.uniformDHSecret)
 
         parentalApproval = super(
             ScrambleSuitTransport, cls).validate_external_mode_cli(args)
@@ -611,8 +619,14 @@ class ScrambleSuitTransport( base.BaseTransport ):
             log.warning("A UniformDH password was already specified over "
                         "the command line.  Using the SOCKS secret instead.")
 
-        self.uniformDHSecret = base64.b32decode(util.sanitiseBase32(
-                                      args[0].split('=')[1].strip()))
+        try:
+            self.uniformDHSecret = base64.b32decode(util.sanitiseBase32(
+                                          args[0].split('=')[1].strip()))
+        except TypeError as error:
+            log.error(error.message)
+            raise base.PluggableTransportError("Given password '%s' is not " \
+                    "valid Base32!  Run 'generate_password.py' to generate " \
+                    "a good password." % args[0].split('=')[1].strip())
 
         rawLength = len(self.uniformDHSecret)
         if rawLength != const.SHARED_SECRET_LENGTH:

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-privacy/packages/obfsproxy.git



More information about the Pkg-privacy-commits mailing list