示例#1
0
def main():
    server_username = "******"
    subprocess_username = "******"
    host = "0.0.0.0"
    port = 10123

    srv_uid, srv_gid = get_uid_gid(server_username)
    sp_uid, sp_gid = get_uid_gid(subprocess_username)

    Privileges.set_low(subprocess_username, sp_uid, sp_gid)
    Privileges.set_high(server_username, srv_uid, srv_gid)

    uid = os.getuid()
    if uid == 0:
        info("Running as a root. Trying to lose privileges.")
        demote_server()
    else:
        info("Running as a normal user. Warning! Dangerous code will have the same rights as the server, enabling a malicious user to kill the server!")
    
    # Run the server
    server = bjsonrpc.createserver(host=host, port=port, handler_factory=ConnectionHandler)
    server.debug_socket(False)
    for i in range(10):
        if 0 == os.fork():
            server.serve()
            os._exit(0)
    os.waitpid(-1, 0)
示例#2
0
def start():
    global server,  server_thread
    if server: return
    server = createserver(handler_factory=ServerHandler)
    server_thread = threading.Thread(target=server.serve)
    server_thread.daemon = True
    server_thread.start()
 def create_server(self):
     if self.host is None or self.port is None:
         print "HOST AND/OR PORT HASN'T BEEN SET YET!"
     else:
         self.tournament_server = bjsonrpc.createserver(host=self.host,
                                                        port=self.port,
                                                        handler_factory=TournamentService)
示例#4
0
 def create_server(self):
     if self.host is None or self.port is None:
         print "HOST AND/OR PORT HASN'T BEEN SET YET!"
     else:
         self.tournament_server = bjsonrpc.createserver(
             host=self.host,
             port=self.port,
             handler_factory=TournamentService)
示例#5
0
def start(verbose = False):
    global thread_server
    #signal.signal(signal.SIGINT, handler)
    rpcserver = bjsonrpc.createserver(host="0.0.0.0", port=10123, handler_factory=ServerHandler)        
    rpcserver.debug_socket(verbose)
    thread_server = threading.Thread(target=rpcserver.serve)
    thread_server.daemon = True
    thread_server.start()
示例#6
0
文件: testserver1.py 项目: oleg84/CDS
def start():
    global server,  server_thread
    if server: return
    server = createserver(handler_factory=ServerHandler)
    server.debug_socket(True)
    server.debug_dispatch(True)
    server_thread = threading.Thread(target=server.serve)
    server_thread.daemon = True
    server_thread.start()
示例#7
0
def start(*args, **kwargs):
    """The final startup step in the system.

    Create the server.

    """
    s = bjsonrpc.createserver(host="0.0.0.0", handler_factory=Monitor)
    s.serve()
    print("served!")
示例#8
0
def server_thread():
    try:
        s = bjsonrpc.createserver(host="0.0.0.0", port=JSONRPC_EXT_PORT, handler_factory=ElementumRPCServer)
        log.info("elementum: starting jsonrpc service")
        s.serve()
        log.info("elementum: exiting jsonrpc service")
    except Exception:
        import traceback
        map(log.error, traceback.format_exc().split("\n"))
        raise
示例#9
0
def server_thread():
    try:
        s = bjsonrpc.createserver(port=JSONRPC_EXT_PORT, handler_factory=PulsarRPCServer)
        log.info("pulsar: starting jsonrpc service")
        s.serve()
        log.info("pulsar: exiting jsonrpc service")
    except Exception, e:
        import traceback
        map(log.info, traceback.format_exc().split("\n"))
        raise
示例#10
0
def start(verbose=False):
    global thread_server
    #signal.signal(signal.SIGINT, handler)
    rpcserver = bjsonrpc.createserver(host="0.0.0.0",
                                      port=10123,
                                      handler_factory=ServerHandler)
    rpcserver.debug_socket(verbose)
    thread_server = threading.Thread(target=rpcserver.serve)
    thread_server.daemon = True
    thread_server.start()
示例#11
0
def server_thread():
    try:
        bjsonrpc.bjsonrpc_options['threaded'] = True
        s = bjsonrpc.createserver(host="0.0.0.0", port=JSONRPC_EXT_PORT, handler_factory=da_incRPCServer)
        log.info("da_inc: starting jsonrpc service")
        s.serve()
        log.info("da_inc: exiting jsonrpc service")
    except Exception:
        import traceback
        map(log.error, traceback.format_exc().split("\n"))
        raise
示例#12
0
def server_thread():
    try:
        bjsonrpc.bjsonrpc_options['threaded'] = True
        s = bjsonrpc.createserver(port=JSONRPC_EXT_PORT, handler_factory=QuasarRPCServer)
        log.info("quasar: starting jsonrpc service")
        s.serve()
        log.info("quasar: exiting jsonrpc service")
    except Exception:
        import traceback
        list(map(log.error, traceback.format_exc().split("\n")))
        raise
示例#13
0
def start(santiago, *args, **kwargs):
    """The final startup step in the system.

    Create the server.

    """
    global SANTIAGO_INSTANCE, BJSONRPC_SERVER
    SANTIAGO_INSTANCE = santiago
    BJSONRPC_SERVER = bjsonrpc.createserver(host="127.0.0.1",
                                            handler_factory=BjsonRpcHost)
    BJSONRPC_SERVER.serve()
    print("served!")
示例#14
0
def start(santiago_to_use, *args, **kwargs):
    """The final startup step in the system.

    Create the server.

    """
    global SANTIAGO_INSTANCE, BJSONRPC_SERVER
    SANTIAGO_INSTANCE = santiago_to_use
    BJSONRPC_SERVER = bjsonrpc.createserver(host="127.0.0.1",
                                            handler_factory=BjsonRpcHost)
    BJSONRPC_SERVER.serve()
    print("served!")
示例#15
0
def server_thread():
    import xbmc
    import bjsonrpc
    try:
        s = bjsonrpc.createserver(port=JSONRPC_EXT_PORT, handler_factory=PulsarRPCServer)
        s._do_serve = lambda: (not xbmc.abortRequested)
        log.info("pulsar: starting jsonrpc service")
        s.serve()
        log.info("pulsar: exiting jsonrpc service")
    except Exception, e:
        import traceback
        map(log.info, traceback.format_exc().split("\n"))
        raise
 def create_server(self):
     success = False
     if self.host is None or self.port is None:
         pass
     else:
         try:
             self.tournament_server = bjsonrpc.createserver(host=self.host,
                                                            port=self.port,
                                                            handler_factory=TournamentService)
             success = True
         except Exception:
             success = None
     return success
示例#17
0
    def __init__(self, config, database, sessions, prefixes):
        self.config = config
        self.database = database
        self.sessions = sessions
        self.prefixes = prefixes
        self.thread = None

        # TODO: add ability to bind RPC to alternative IP not just localhost
        self.s = createserver(host=self.config.ipc.rpcip, port=int(self.config.ipc.port), \
                              handler_factory=TBRPCServerHandler._factory(self.config, \
                                                                 self.database, \
                                                                 self.sessions, \
                                                                 self.prefixes))
示例#18
0
def server_thread():
    import xbmc
    import bjsonrpc
    try:
        s = bjsonrpc.createserver(port=JSONRPC_EXT_PORT, handler_factory=PulsarRPCServer)
        s._do_serve = lambda: (not xbmc.abortRequested)
        xbmc.log("pulsar: starting jsonrpc service")
        s.serve()
        xbmc.log("pulsar: exiting jsonrpc service")
    except Exception, e:
        import traceback
        map(xbmc.log, traceback.format_exc().split("\n"))
        raise
示例#19
0
    def __init__(self, config, database, sessions, prefixes):
        self.config = config
        self.database = database
        self.sessions = sessions
        self.prefixes = prefixes
        self.thread = None

        # TODO: add ability to bind RPC to alternative IP not just localhost
        self.s = createserver(host=self.config.ipc.rpcip, port=int(self.config.ipc.port), \
                              handler_factory=TBRPCServerHandler._factory(self.config, \
                                                                 self.database, \
                                                                 self.sessions, \
                                                                 self.prefixes))
 def create_server(self):
     success = False
     if self.host is None or self.port is None:
         pass
     else:
         try:
             self.tournament_server = bjsonrpc.createserver(
                 host=self.host,
                 port=self.port,
                 handler_factory=TournamentService)
             success = True
         except Exception:
             success = None
     return success
示例#21
0
 def run(self):
     sensor_events = bjsonrpc.createserver(host="0.0.0.0", port=9001, handler_factory=SensorEvents)
     sensor_events.serve()
示例#22
0
class SdpServer(BaseHandler):
    def _setup(self):
        print("_setup")

    def setId(self, playerID: int):
        print("setId: {}".format(playerID))
        global conns
        conns[playerID] = self._conn

    def setSdp(self, playerA: int, playerB: int, sdp: str):
        print("setSdp: {} -> {}: {}".format(playerA, playerB, sdp))
        global conns
        if playerB in conns:
            conns[playerB].call.onSdp(playerA, playerB, sdp)
        else:
            print("remote player {} not connected".format(playerB))

    def addHostedGame(self, hostPlayerId: int, hostPlayerLogin: str):
        global games
        games.append((hostPlayerId, hostPlayerLogin))

    def hostedGames(self):
        global games
        return games


s = bjsonrpc.createserver(handler_factory=SdpServer,
                          port=10123,
                          host="127.0.0.1")
s.serve()
示例#23
0
    def getrandom(self):
        return random.randint(0,100)
    
    def gettotal(self):
        self._conn.notify.notify("total")
        return self.value_total
        
    def getcount(self):
        return self.value_count
        
    def echo(self, string):
        #print self._addr 
        #print self._conn 
        #print self._methods 
        print(string)
        return string

import threading
def thread1():  
    time.sleep(0.2)  
    conn = bjsonrpc.connect(host="127.0.0.1",port=10123)
    conn.call.echo("Hello world")
    conn.close()
    

s = bjsonrpc.createserver(handler_factory=MyHandler._factory(domain="yourdomain-dot-com"), port = 10123, host = "0.0.0.0")
s.debug_socket(True)
threading.Thread(target=thread1).start()

s.serve()
示例#24
0
import bjsonrpc
from bjsonrpc.handlers import BaseHandler


class MyServerHandler(BaseHandler):
    def hello(self, txt):
        response = "hello, %s!." % txt
        print("*%s" % response)
        return response


s = bjsonrpc.createserver(host='0.0.0.0',
                          port=8002,
                          handler_factory=MyServerHandler)
s.debug_socket(True)
s.serve()
示例#25
0
        if self._username:
            self._usernames.remove(self._username)
        self._post(u" -*- User '%s' is now known as '%s' -*- " % (self._username, name))
            
        self._username = name
        self._usernames.append(self._username)
        self._update()
        return "Username changed to '%s'" % self._username
    
    def get_userlist(self):
        """
            leer los nombres de los usuarios.
        """
        return self._usernames
    
    def whoami(self):
        """
            obtener el nombre de usuario para esta conexión.
        """
        return self._username
        
    

s = createserver(handler_factory=Chatter, host="0.0.0.0") # creamos el servidor

s.debug_socket(True) # imprimir las tramas enviadas y recibidas.

s.serve() # empieza el bucle infinito de servicio. 


示例#26
0
                      help="Valid password to connect DB. Default '%default'.")

    parser.add_option("-H",
                      "--host",
                      dest="host",
                      default="127.0.0.1",
                      help="Host where is the DB. Default '%default'.")

    parser.add_option("-P",
                      "--port",
                      dest="port",
                      default="5432",
                      help="Port of the host to acces DB. Default '%default'.")

    (options, args) = parser.parse_args()
    try:
        conn = psycopg2.connect("dbname=" + options.dbname + " user="******" password="******" host=" + options.host +
                                " port=" + options.port)
    except:
        import sys
        print "Could not connect to DB."
        parser.print_help()
        sys.exit(1)

    s = createserver(handler_factory=LlampexProject,
                     host="0.0.0.0")  # creamos el servidor
    s.debug_socket(True)  # imprimir las tramas enviadas y recibidas.
    s.serve()  # empieza el bucle infinito de servicio.
示例#27
0
        """
        self._end = time.time()
        self._state = 0

    def lapse(self):
        """
            devuelve la cantidad de tiempo en segundos que ha pasado
            desde el inicio del crono hasta su fin 
            (o hasta ahora si no ha parado)
        """
        return self.end() - self.begin()

    def stoplapse(self, arg1):
        self.stop()
        return self.lapse()


s = createserver(handler_factory=Chronometer)  # creamos el servidor
# handler_factory especifica qué objeto es que se crea con cada conexión.
# por defecto escucha en "127.0.0.1" pero se puede definir con host=".."
# por defecto el puerto es el 10123 pero se puede cambiar con port=123

s.debug_socket(True)  # Esto indica que debe imprimir por pantalla lo que
# se envía y se recibe por el socket. Es útil para entender cómo funciona el
# protocolo.

s.serve(
)  # empieza el bucle infinito de servicio. Sale de la función en cuanto
# se tenga que detener el programa. Normalmente por fallo inesperado o porque
# se recibe una señal de detener (SIGINT, SIGTERM) del sistema operativo.
示例#28
0
    )

    parser.add_option(
        "-P", "--port", dest="port", default="5432", help="Port of the host to acces DB. Default '%default'."
    )

    (options, args) = parser.parse_args()
    try:
        conn = psycopg2.connect(
            "dbname="
            + options.dbname
            + " user="******" password="******" host="
            + options.host
            + " port="
            + options.port
        )
    except:
        import sys

        print "Could not connect to DB."
        parser.print_help()
        sys.exit(1)

    s = createserver(handler_factory=LlampexProject, host="0.0.0.0")  # creamos el servidor
    s.debug_socket(True)  # imprimir las tramas enviadas y recibidas.
    s.serve()  # empieza el bucle infinito de servicio.
示例#29
0
            raise ValueError, "username '%s' is too long! (maximum 8 characters)" % name
        if self._username:
            self._usernames.remove(self._username)
        self._post(u" -*- User '%s' is now known as '%s' -*- " %
                   (self._username, name))

        self._username = name
        self._usernames.append(self._username)
        self._update()
        return "Username changed to '%s'" % self._username

    def get_userlist(self):
        """
            leer los nombres de los usuarios.
        """
        return self._usernames

    def whoami(self):
        """
            obtener el nombre de usuario para esta conexión.
        """
        return self._username


s = createserver(handler_factory=Chatter,
                 host="0.0.0.0")  # creamos el servidor

s.debug_socket(True)  # imprimir las tramas enviadas y recibidas.

s.serve()  # empieza el bucle infinito de servicio.
示例#30
0
def bigShowServer(port):
	s = bjsonrpc.createserver( host = '', port=port, handler_factory = BigShowServerHandler )
	s.debug_socket(True)
	s.serve()
示例#31
0
def slaveSimplateServer(port):
	s = bjsonrpc.createserver( host = '', port=port, handler_factory = SlaveSimplateHandler )
	s.debug_socket(True)
	s.serve()
示例#32
0
def bigShowServer(port):
    s = bjsonrpc.createserver(host='',
                              port=port,
                              handler_factory=BigShowServerHandler)
    s.debug_socket(True)
    s.serve()
示例#33
0
from vBBU_client import attachNSSF
from bjsonrpc.handlers import BaseHandler
from bjsonrpc import createserver
import time


# class for server handlers
class ServerHandler(BaseHandler):
    def attachvBBU(self, ueAttachedObj):
        return attachNSSF(ueAttachedObj)


# creating the server to listen
print "\n"
print "...initializing vBBU"
time.sleep(1)
print "vBBU initialized\n"
s = createserver(host="192.168.186.61",
                 port=10123,
                 handler_factory=ServerHandler)
s.serve()  #.setmaxtimeout("write", 10)
示例#34
0
        self._end = time.time()
        self._state = 0
        
    def lapse(self):
        """
            devuelve la cantidad de tiempo en segundos que ha pasado
            desde el inicio del crono hasta su fin 
            (o hasta ahora si no ha parado)
        """
        return self.end() - self.begin()

    def stoplapse(self,arg1):
        self.stop()
        return self.lapse()
        

s = createserver(handler_factory=Chronometer) # creamos el servidor
# handler_factory especifica qué objeto es que se crea con cada conexión.
# por defecto escucha en "127.0.0.1" pero se puede definir con host=".."
# por defecto el puerto es el 10123 pero se puede cambiar con port=123

s.debug_socket(True) # Esto indica que debe imprimir por pantalla lo que
# se envía y se recibe por el socket. Es útil para entender cómo funciona el 
# protocolo.

s.serve() # empieza el bucle infinito de servicio. Sale de la función en cuanto
# se tenga que detener el programa. Normalmente por fallo inesperado o porque
# se recibe una señal de detener (SIGINT, SIGTERM) del sistema operativo.


示例#35
0
        return self.value_total
        
    def getcount(self):
        return self.value_count
        
    def echo(self, string):
        #print self._addr 
        #print self._conn 
        #print self._methods 
        print(string)
        return string

# Note: for testing: sudo socat pty,link=/dev/ttyS0,raw,echo=0,crnl pty,link=/dev/ttyS1,raw,echo=0,crnl

# Serial port /dev/ttyS0: 115200,8,N,1, no timeout

import threading
def thread1():  
    time.sleep(.2)
    conn_socket = bjsonrpc.serialsocket.SerialSocket(serial.Serial('/dev/ttyS1', 115200))
    conn = bjsonrpc.connect(sock = conn_socket)
    conn.call.echo("Hello world")
    conn.close()

serv_socket = bjsonrpc.serialsocket.SerialSocket(serial.Serial('/dev/ttyS0', 115200))
s = bjsonrpc.createserver(handler_factory = MyHandler._factory(domain="yourdomain-dot-com"), sock = serv_socket)
s.debug_socket(True)
threading.Thread(target=thread1).start()

s.serve()
示例#36
0
    def set_socket_trig_string(self, value):
        m_configure.socket_trig_string = value
        return "OK"

    def get_socket_trig_string(self):
        return m_configure.socket_trig_string

    def set_task_mapper(self, value):
        m_configure.task_mapper = value
        return "OK"

    def get_task_mapper(self):
        return m_configure.task_mapper

    def trig(self):
        m_configure.rpc_trig = True
        return "OK"

    def set_eth0_ip(self, newip):
        m_configure.eth0_ip = newip
        print newip
        swtichIP(newip)
        return "OK"

    def get_eth0_ip(self):
        return m_configure.eth0_ip


rpcserver = createserver(host="0.0.0.0", handler_factory=ServerHandler)
示例#37
0
    def getcount(self):
        return self.value_count

    def echo(self, string):
        #print self._addr
        #print self._conn
        #print self._methods
        print string
        return string


import threading


def thread1():
    time.sleep(0.2)
    conn = bjsonrpc.connect(host="127.0.0.1", port=10123)
    conn.call.echo("Hello world")
    conn.close()


s = bjsonrpc.createserver(
    handler_factory=MyHandler._factory(domain="yourdomain-dot-com"),
    port=10123,
    host="0.0.0.0")
s.debug_socket(True)
threading.Thread(target=thread1).start()

s.serve()
示例#38
0
def slaveSimplateServer(port):
    s = bjsonrpc.createserver(host='',
                              port=port,
                              handler_factory=SlaveSimplateHandler)
    s.debug_socket(True)
    s.serve()