'Receive arguments `args\' passed over a SOCKS connection.
The SOCKS authentication mechanism is (ab)used to pass arguments to
pluggable transports.  This method receives these arguments and parses
them.  As argument, we only expect a UniformDH shared secret.'

def handle_socks_args(self, args):

    if (len(args) != 1):
        raise base.SOCKSArgsError(('Too    many    SOCKS    arguments    (expected    1    but    got    %d).' % len(args)))
    if (not args[0].startswith('password=')):
        raise base.SOCKSArgsError("The    SOCKS    argument    must    start    with    `password='.")
    if self.uniformDHSecret:
        log.warning('A    UniformDH    password    was    already    specified    over    the    command    line.        Using    the    SOCKS    secret    instead.')
    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):
        raise base.PluggableTransportError(('The    UniformDH    password    must    be    %d    bytes    in    length    but    %d    bytes    are    given.' % (const.SHARED_SECRET_LENGTH, rawLength)))
    self.uniformdh = uniformdh.new(self.uniformDHSecret, self.weAreServer)
