Beispiel #1
0
if __name__ == "__main__":
    parser = OptionParser()
    parser.add_option("-p", "--port", dest='port'  , default=8443, type="int", help="TCP Port to listen on")
    parser.add_option("-i", "--ip", dest='ipaddress' , default="0.0.0.0", help="IP Address to listen on (all IPs by default)")
    parser.add_option("-d", "--debug",action="store_true", dest="debug", default=False, help="turn on debugging output")    

    (options,args) = parser.parse_args()    
    
    
    logging.info("starting SOAP server on %s" %(options.port))
    ctx = SSL.Context('sslv23')
    
    try:
        ctx.load_verify_locations('certs/ca.crt')
        ctx.load_cert(certfile='certs/pyiocserver.pem',keyfile='certs/pyiocserver.key')#pem cert file
    except SSL.SSLError as e:
        sys.stderr.write("Error loading SSL Certs: %s\n"%(e))
        sys.stderr.write("Server expects a ./certs directory with pyiocserver.pem,pyiocserver.key and ca.crt files\n")
        sys.stderr.write("You can create simple certs using the 'simpleca.sh' script included with the pyioc distribution\n")
        sys.stderr.write("example: ./simpleca.sh pyiocserver\n")
        sys.exit(1)
    
    server = ThreadingSOAPServer((options.ipaddress, options.port),ssl_context=ctx)
    server.registerFunction(logEntry)
    server.registerFunction(iocList)
    server.registerFunction(getIOCFile)
    server.registerFunction(confList)
    server.registerFunction(getConfFile)
    server.registerFunction(iocResult)
    server.serve_forever()
 def server_bind(self):
     """Override server_bind to store the server name."""
     ThreadingSOAPServer.server_bind(self)
     self.setup_environ()
Beispiel #3
0
rootLogger.addHandler(consoleHandler)

## Globals
global commands

if __name__ == '__main__':
    threading.init()
    ssl_context = SSL.Context()
    ssl_context.load_cert('../certificates/server.pem')

    ## Loading Plugins
    print 'Loading plugins in ' + PluginFolder 
    Manager = PluginManager()
    Manager.setPluginPlaces(PluginFolder)
    Manager.collectPlugins()
    commands = base_commands()
        
    for plugin in Manager.getAllPlugins():
        Manager.activatePluginByName(plugin.name)
        for i in inspect.getmembers(plugin.plugin_object, predicate=inspect.ismethod):
            if 'activate' not in i[0]:
                if '__init__' not in i[0]:
                    setattr(commands, i[0], i[1])
                    print "Add plugin: ", i[0]
    print 'Plugins loaded sucesfully\n Start listening on port 3333'
    server = ThreadingSOAPServer(("0.0.0.0",3333), ssl_context = ssl_context)
    server.registerObject(commands)
    server.serve_forever()


 def __init__(self, endpoint, www_dir=""):
     ThreadingSOAPServer.__init__(self, endpoint, MixedHTTPRequestHandler)
     self.www_dir = www_dir
     self.wsgi_mods = {'/sample_wsgi': wsgi_sample_app}
     self.__endpoint = endpoint
Beispiel #5
0
                      help="turn on debugging output")

    (options, args) = parser.parse_args()

    logging.info("starting SOAP server on %s" % (options.port))
    ctx = SSL.Context('sslv23')

    try:
        ctx.load_verify_locations('certs/ca.crt')
        ctx.load_cert(certfile='certs/pyiocserver.pem',
                      keyfile='certs/pyiocserver.key')  #pem cert file
    except SSL.SSLError as e:
        sys.stderr.write("Error loading SSL Certs: %s\n" % (e))
        sys.stderr.write(
            "Server expects a ./certs directory with pyiocserver.pem,pyiocserver.key and ca.crt files\n"
        )
        sys.stderr.write(
            "You can create simple certs using the 'simpleca.sh' script included with the pyioc distribution\n"
        )
        sys.stderr.write("example: ./simpleca.sh pyiocserver\n")
        sys.exit(1)

    server = ThreadingSOAPServer((options.ipaddress, options.port),
                                 ssl_context=ctx)
    server.registerFunction(logEntry)
    server.registerFunction(iocList)
    server.registerFunction(getIOCFile)
    server.registerFunction(confList)
    server.registerFunction(getConfFile)
    server.registerFunction(iocResult)
    server.serve_forever()