def do_POST(self):

        if self.auth_map != None:
            if self.headers.has_key('authorization') and self.headers[
                    'authorization'].startswith('Basic '):
                authenticationString = base64.b64decode(
                    self.headers['authorization'].split(' ')[1])
                if authenticationString.find(':') != -1:
                    username, password = authenticationString.split(':', 1)
                    self.logger.info('Got request from %s:%s' %
                                     (username, password))

                    if self.auth_map.has_key(username) and self.verifyPassword(
                            username, password):
                        return SimpleJSONRPCRequestHandler.do_POST(self)
                    else:
                        self.logger.error('Authentication failed for %s:%s' %
                                          (username, password))

            self.logger.error('Authentication failed')
            self.send_response(401)
            self.end_headers()
            return False

        return SimpleJSONRPCRequestHandler.do_POST(self)
Пример #2
0
 def do_POST(self):
     # pylint: disable=E1101
     if self.path == '/RPC2':
         SimpleJSONRPCRequestHandler.do_POST(self)
     else:
         __pychecker__ = 'no-classattr'
         SimpleHTTPRequestHandler.do_POST(self)
Пример #3
0
        def setup(self):
                """Prepare to handle a request."""

                rv = SimpleRPCRequestHandler.setup(self)

                # StreamRequestHandler will have duped our PipeSocket via
                # makefile(), so close the connection socket here.
                self.connection.close()
                return rv
Пример #4
0
    def setup(self):
        """Prepare to handle a request."""

        rv = SimpleRPCRequestHandler.setup(self)

        # StreamRequestHandler will have duped our PipeSocket via
        # makefile(), so close the connection socket here.
        self.connection.close()
        return rv
Пример #5
0
    def do_POST(self):

        if self.auth_map != None:
            if self.headers.has_key('authorization') and self.headers['authorization'].startswith('Basic '):
                authenticationString = base64.b64decode(self.headers['authorization'].split(' ')[1])
                if authenticationString.find(':') != -1:
                    username, password = authenticationString.split(':', 1)
                    self.logger.info('Got request from %s:%s' % (username, password))

                    if self.auth_map.has_key(username) and self.verifyPassword(username, password):
                        return SimpleJSONRPCRequestHandler.do_POST(self)
                    else:
                        self.logger.error('Authentication failed for %s:%s' % (username, password))
            
            self.logger.error('Authentication failed')
            self.send_response(401)
            self.end_headers()
            return False

        return SimpleJSONRPCRequestHandler.do_POST(self)
Пример #6
0
 def parse_request(self):
     # first, call the original implementation which returns
     # True if all OK so far
     if SimpleJSONRPCRequestHandler.parse_request(self):
         try:
             self.server.authenticate(self.headers)
             return True
         except (RPCAuthCredentialsInvalid, RPCAuthCredentialsMissing,
                 RPCAuthUnsupportedType) as e:
             self.send_error(401, str(e))
         except BaseException as e:
             logging.exception("")
             self.send_error(500, str(e))
     return False
Пример #7
0
 def parse_request(myself):
     # first, call the original implementation which returns
     # True if all OK so far
     if SimpleJSONRPCRequestHandler.parse_request(myself):
         try:
             self.authenticate(myself.headers)
             return True
         except (RPCAuthCredentialsInvalid, RPCAuthCredentialsMissing,
                 RPCAuthUnsupportedType) as e:
             myself.send_error(401, str(e))
         except BaseException as e:
             import traceback, sys
             traceback.print_exc(file=sys.stderr)
             myself.send_error(500, str(e))
     return False
Пример #8
0
 def parse_request(myself):
     # first, call the original implementation which returns
     # True if all OK so far
     if SimpleJSONRPCRequestHandler.parse_request(myself):
         try:
             self.authenticate(myself.headers)
             return True
         except (RPCAuthCredentialsInvalid, RPCAuthCredentialsMissing,
                 RPCAuthUnsupportedType) as e:
             myself.send_error(401, str(e))
         except BaseException as e:
             import traceback, sys
             traceback.print_exc(file=sys.stderr)
             myself.send_error(500, str(e))
     return False
Пример #9
0
 def parse_request(myself):
     # first, call the original implementation which returns
     # True if all OK so far
     if SimpleJSONRPCRequestHandler.parse_request(myself):
         # Do not authenticate OPTIONS-requests
         if myself.command.strip() == 'OPTIONS':
             return True
         try:
             self.authenticate(myself.headers)
             return True
         except (RPCAuthCredentialsInvalid, RPCAuthCredentialsMissing,
                 RPCAuthUnsupportedType) as e:
             myself.send_error(401, str(e))
         except BaseException as e:
             self.logger.exception('')
             myself.send_error(500, str(e))
     return False
Пример #10
0
 def end_headers(self):
     self.send_header("Access-Control-Allow-Origin", "*")
     SimpleJSONRPCRequestHandler.end_headers(self)
Пример #11
0
 def end_headers(self):
     self.send_header("Access-Control-Allow-Origin", "*")
     SimpleJSONRPCRequestHandler.end_headers(self)
Пример #12
0
  def __init__(self, request, client_address, server):
    global rpc_instance
    rpc_instance.client_address, _ = client_address

    SimpleJSONRPCRequestHandler.__init__(self, request, client_address, server)
Пример #13
0
 def __init__(self, request, client_address, server, client_digest=None):
     self.logger = logging.getLogger(__name__)
     self.auth_map = server.auth_map
     SimpleJSONRPCRequestHandler.__init__(self, request, client_address, server)
     self.client_digest = client_digest
 def __init__(self, request, client_address, server, client_digest=None):
     self.logger = logging.getLogger(__name__)
     self.auth_map = server.auth_map
     SimpleJSONRPCRequestHandler.__init__(self, request, client_address,
                                          server)
     self.client_digest = client_digest
Пример #15
0
 def finish(self):
     for sig in _MASKED_SIGS:
         signal.signal(sig, _SIG_HANDLERS[sig])
     if _deferred_sig:
         os.kill(os.getpid(), _deferred_sig)
     return handler.finish(self)
Пример #16
0
 def handle(self):
     return handler.handle(self)
Пример #17
0
 def setup(self):
     for sig in _MASKED_SIGS:
         signal.signal(sig, _defer_sig)
     return handler.setup(self)
Пример #18
0
	def do_POST(self):
		if self.client_address[0] not in allowed_ips:
			self.send_error(403,"Your address is not in allowed_ips")
			return
		SimpleJSONRPCRequestHandler.do_POST(self)
Пример #19
0
 def end_headers(self):
     self.send_header("Access-Control-Allow-Headers",
                      "Origin, X-Requested-With, Content-Type, Accept")
     self.send_header("Access-Control-Allow-Origin", "*")
     SimpleJSONRPCRequestHandler.end_headers(self)
Пример #20
0
 def finish(self):
     for sig in _MASKED_SIGS:
         signal.signal(sig, _SIG_HANDLERS[sig])
     if _deferred_sig:
         os.kill(os.getpid(), _deferred_sig)
     return handler.finish(self)
Пример #21
0
 def handle(self):
     return handler.handle(self)
Пример #22
0
 def setup(self):
     for sig in _MASKED_SIGS:
         signal.signal(sig, _defer_sig)
     return handler.setup(self)
Пример #23
0
 def end_headers(self):
     self.send_header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")
     self.send_header("Access-Control-Allow-Origin", "*")  # "http://localhost:%d" % (server_address[1],))
     SimpleJSONRPCRequestHandler.end_headers(self)
Пример #24
0
 def end_headers(self):
     self.send_header("Access-Control-Allow-Headers",
                      "Origin, X-Requested-With, Content-Type, Accept")
     self.send_header("Access-Control-Allow-Origin", "*")
     SimpleJSONRPCRequestHandler.end_headers(self)
Пример #25
0
 def __init__(self, request, client_address, server):
     #print "init of request handler", request, time.ctime(), self.timeout
     SimpleJSONRPCRequestHandler.__init__(self, request, client_address, server)