1.1 --- a/OpenSecurity/bin/opensecurityd.pyw Wed Apr 30 12:10:34 2014 +0200
1.2 +++ b/OpenSecurity/bin/opensecurityd.pyw Wed Apr 30 12:43:51 2014 +0200
1.3 @@ -342,26 +342,16 @@
1.4
1.5 - GET: terminate the opensecurityd.
1.6
1.7 - YES: this here is bonkers. But the web.py http
1.8 - server runs infinite until a SystemExit exception
1.9 - or KeyboardInterrupt exception is raised.
1.10 -
1.11 - see: site-packages/web/httpserver.py - line 157ff
1.12 - see: site-packages/web/wsgiserver/__init__.py - line 1682ff
1.13 -
1.14 - So, we invoke a sys.exit(0) here to trigger server.stop().
1.15 -
1.16 TODO: need to find a better way doing this, and not via the
1.17 REST api. Maybe hack web.py server code?
1.18 """
1.19
1.20 def GET(self):
1.21 log_call(web.ctx.environ)
1.22 + global gvm_mgr
1.23 + gvm_mgr.cleanup()
1.24 global server
1.25 server.stop()
1.26 - global gvm_mgr
1.27 - gvm_mgr.cleanup()
1.28 - sys.exit(0)
1.29 return None
1.30
1.31
1.32 @@ -414,15 +404,16 @@
1.33 def main():
1.34 """main startup for the opensecuirityd"""
1.35
1.36 + global gvm_mgr
1.37 + global server
1.38 +
1.39 logger.debug('Starting OpenSecurity REST server')
1.40
1.41 # ensure a VMManger is yet loaded
1.42 - global gvm_mgr
1.43 gvm_mgr = vmmanager.VMManager.getInstance()
1.44
1.45 # tweak sys.argv to control wep.py server start behavior
1.46 sys.argv = [__file__, "8080"]
1.47 - global server
1.48 server = web.application(opensecurity_urls, globals(), autoreload = False)
1.49 server.run()
1.50