示例#1
0
 def __init__(self,
              host='127.0.0.1',
              port=5465,
              with_wx=True,
              local_echo=True,
              quiet=False,
              **kws):
     self.keep_alive = True
     self.port = port
     self.with_wx = HAS_WX and with_wx
     self.local_echo = local_echo
     self.quiet = quiet
     self.out_buffer = []
     self.keep_alive_time = time.time() + self.IDLE_TIME
     SimpleXMLRPCServer.__init__(self, (host, port),
                                 logRequests=False,
                                 allow_none=True,
                                 **kws)
     self.initialized = False
     self.register_introspection_functions()
     self.register_function(self.list_dir, 'ls')
     self.register_function(self.change_dir, 'chdir')
     self.register_function(self.current_dir, 'cwd')
     self.register_function(self.exit, 'exit')
     self.register_function(self.larch_exec, 'larch')
     self.register_function(self.wx_update, 'wx_update')
     self.register_function(self.get_data, 'get_data')
     self.register_function(self.get_messages, 'get_messages')
     self.register_function(self.len_messages, 'len_messages')
示例#2
0
def patched_init(self, addr, log_requests=1):
    self.request_queue_size = min(socket.SOMAXCONN, 256)
    SimpleXMLRPCServer.__init__(self,
                                addr,
                                SilenceableXMLRPCRequestHandler,
                                log_requests,
                                bind_and_activate=False)
    self.socket = socket.fromfd(listen_fds()[0], self.address_family,
                                self.socket_type)
示例#3
0
 def __init__(self, fs, addr, requestHandler=None, logRequests=True):
     kwds = dict(allow_none=True)
     if requestHandler is not None:
         kwds['requestHandler'] = requestHandler
     if logRequests is not None:
         kwds['logRequests'] = logRequests
     self.serve_more_requests = True
     SimpleXMLRPCServer.__init__(self, addr, **kwds)
     self.register_instance(RPCFSInterface(fs))
示例#4
0
    def __init__(self):
        SimpleXMLRPCServer.__init__(self, ("localhost", 9100))

        self.__thread = None

        self.__proxy = DRatsPluginProxy()
            
        self.register_function(self.__proxy.send_chat, "send_chat")
        self.register_function(self.__proxy.list_ports, "list_ports")
        self.register_function(self.__proxy.send_file, "send_file")
        self.register_function(self.__proxy.submit_rpcjob, "submit_rpcjob")
        self.register_function(self.__proxy.get_result, "get_result")
        self.register_function(self.__proxy.wait_for_chat, "wait_for_chat")
示例#5
0
    def __init__(self,
                 sspec,
                 pkite,
                 conns,
                 handler=UiRequestHandler,
                 ssl_pem_filename=None):
        SimpleXMLRPCServer.__init__(self, sspec, handler)
        self.pkite = pkite
        self.conns = conns
        self.secret = pkite.ConfigSecret()

        self.server_name = sspec[0]
        self.server_port = sspec[1]

        if ssl_pem_filename:
            ctx = socks.SSL.Context(socks.SSL.TLSv1_METHOD)
            ctx.set_cipher_list('HIGH:!MEDIUM:!LOW:!aNULL:!NULL:!SHA')
            ctx.use_privatekey_file(ssl_pem_filename)
            ctx.use_certificate_chain_file(ssl_pem_filename)
            self.socket = socks.SSL_Connect(ctx,
                                            socket.socket(
                                                self.address_family,
                                                self.socket_type),
                                            server_side=True)
            self.server_bind()
            self.server_activate()
            self.enable_ssl = True
        else:
            self.enable_ssl = False

        try:
            from pagekite import yamond
            gYamon = common.gYamon = yamond.YamonD(sspec)
            gYamon.vset('started', int(time.time()))
            gYamon.vset('version', APPVER)
            gYamon.vset('httpd_ssl_enabled', self.enable_ssl)
            gYamon.vset('errors', 0)
            gYamon.lcreate("tunnel_rtt", 100)
            gYamon.lcreate("tunnel_wrtt", 100)
            gYamon.lists['buffered_bytes'] = [1, 0, common.buffered_bytes]
            gYamon.views['selectables'] = (selectables.SELECTABLES, {
                'idle': [0, 0, self.conns.idle],
                'conns': [0, 0, self.conns.conns]
            })
        except:
            pass

        self.RCI = RemoteControlInterface(self, pkite, conns)
        self.register_introspection_functions()
        self.register_instance(self.RCI)
示例#6
0
    def __init__(self):
        SimpleXMLRPCServer.__init__(self, ("localhost", TEST_PORT), requestHandler=RequestHandler)
        # /XMLRPC interface
        self.register_function(self.new_system_user_pass, "registration.new_system_user_pass")
        self.register_function(self.refresh_hw_profile, "registration.refresh_hw_profile")
        self.register_function(self.virt_notify, "registration.virt_notify")
        # /xml/api interface
        self.register_function(self.auth_login, "auth.login")
        self.register_function(self.get_channel_details, "channel.software.getDetails")
        self.register_function(self.create_channel, "channel.software.create")
        self.register_function(self.set_map_for_org, "distchannel.setMapForOrg")
        self.register_function(self.get_user_details, "user.getDetails")

        self.channel_created = False
        self.created_system = None
    def __init__(self,
                 host='localhost',
                 port=4966,
                 logRequests=False,
                 allow_none=True,
                 keepalive_time=3 * 24 * 3600):
        self.out_buffer = []

        self.larch = Interpreter(writer=self)
        self.larch.input.prompt = ''
        self.larch.input.prompt2 = ''
        self.larch.run_init_scripts()

        self.larch('_sys.client = group(keepalive_time=%f)' % keepalive_time)
        self.larch('_sys.wx = group(wxapp=None)')
        _sys = self.larch.symtable._sys
        _sys.color_exceptions = False
        _sys.client.last_event = int(time())
        _sys.client.pid_server = int(os.getpid())
        _sys.client.app = 'unknown'
        _sys.client.pid = 0
        _sys.client.user = '******'
        _sys.client.machine = 'unknown'

        self.client = self.larch.symtable._sys.client

        SimpleXMLRPCServer.__init__(self, (host, port),
                                    logRequests=logRequests,
                                    allow_none=allow_none)

        self.register_introspection_functions()
        self.register_function(self.larch_exec, 'larch')

        for method in ('ls', 'chdir', 'cd', 'cwd', 'shutdown',
                       'set_keepalive_time', 'set_client_info',
                       'get_client_info', 'get_data', 'get_rawdata',
                       'get_messages', 'len_messages'):
            self.register_function(getattr(self, method), method)

        # sys.stdout = self
        self.finished = False
        signal.signal(signal.SIGINT, self.signal_handler)
        self.activity_thread = Thread(target=self.check_activity)
示例#8
0
    def __init__(self, host='localhost', port=4966,
                 logRequests=False, allow_none=True,
                 keepalive_time=3*24*3600):
        self.out_buffer = []

        self.larch = Interpreter(writer=self)
        self.larch.input.prompt = ''
        self.larch.input.prompt2 = ''
        self.larch.run_init_scripts()

        self.larch('_sys.client = group(keepalive_time=%f)' % keepalive_time)
        self.larch('_sys.wx = group(wxapp=None)')
        _sys = self.larch.symtable._sys
        _sys.color_exceptions = False
        _sys.client.last_event = int(time())
        _sys.client.pid_server = int(os.getpid())
        _sys.client.app = 'unknown'
        _sys.client.pid = 0
        _sys.client.user = '******'
        _sys.client.machine = socket.getfqdn()

        self.client = self.larch.symtable._sys.client
        self.port = port
        SimpleXMLRPCServer.__init__(self, (host, port),
                                    logRequests=logRequests,
                                    allow_none=allow_none)

        self.register_introspection_functions()
        self.register_function(self.larch_exec, 'larch')

        for method in ('ls', 'chdir', 'cd', 'cwd', 'shutdown',
                        'set_keepalive_time', 'set_client_info',
                        'get_client_info', 'get_data', 'get_rawdata',
                        'get_messages', 'len_messages'):
            self.register_function(getattr(self, method), method)

        # sys.stdout = self
        self.finished = False
        signal.signal(signal.SIGINT, self.signal_handler)
        self.activity_thread = Thread(target=self.check_activity)
示例#9
0
 def __init__(self, host='127.0.0.1', port=5465, with_wx=True,
              local_echo=True, quiet=False, **kws):
     self.keep_alive = True
     self.port = port
     self.with_wx = HAS_WX and with_wx
     self.local_echo = local_echo
     self.quiet = quiet
     self.out_buffer = []
     self.keep_alive_time = time.time() + self.IDLE_TIME
     SimpleXMLRPCServer.__init__(self, (host, port),
                                 logRequests=False, allow_none=True, **kws)
     self.initialized = False
     self.register_introspection_functions()
     self.register_function(self.list_dir,      'ls')
     self.register_function(self.change_dir,    'chdir')
     self.register_function(self.current_dir,   'cwd')
     self.register_function(self.exit,          'exit')
     self.register_function(self.larch_exec,    'larch')
     self.register_function(self.wx_update,     'wx_update')
     self.register_function(self.get_data,      'get_data')
     self.register_function(self.get_messages,  'get_messages')
     self.register_function(self.len_messages,  'len_messages')
示例#10
0
    def __init__(self, urls, addr):
        """Constructor
        
        :param urls: list of URL pattern and RPC end point class
        :param addr: listening address
        :type urls: list
        :type addr: tuple
        """
        SimpleXMLRPCServer.__init__(self,
                                    addr=addr,
                                    requestHandler=SimpleJSONRPCRequestHandler,
                                    allow_none=True,
                                    encoding='UTF-8',
                                    logRequests=False)

        self._dispatcher_patterns = []
        for url_pattern, method_pattern, endpoint_cls in urls:
            if method_pattern:
                method_c_pattern = re.compile(method_pattern)
            else:
                method_c_pattern = None
            self._dispatcher_patterns.append(
                (re.compile(url_pattern), method_c_pattern, endpoint_cls))
示例#11
0
 def __init__(self, *args, **kwargs):
     SimpleXMLRPCServer.__init__(self, *args, **kwargs)