OpenSecurity/bin/opensecurityd.pyw
changeset 74 a17c4cf8cd38
parent 66 d768c98d1e48
child 79 617009c32da0
     1.1 --- a/OpenSecurity/bin/opensecurityd.pyw	Tue Feb 18 14:38:24 2014 +0100
     1.2 +++ b/OpenSecurity/bin/opensecurityd.pyw	Wed Feb 19 12:18:03 2014 +0100
     1.3 @@ -43,6 +43,7 @@
     1.4  
     1.5  # local
     1.6  from environment import Environment
     1.7 +from opensecurity_util import logger
     1.8  
     1.9  
    1.10  # ------------------------------------------------------------
    1.11 @@ -82,6 +83,7 @@
    1.12      """OpenSecurity '/device_change' handler"""
    1.13      
    1.14      def GET(self):
    1.15 +        log_call(web.ctx.environ)
    1.16          try:
    1.17              new_ip = gvm_mgr.handleDeviceChange()
    1.18              return new_ip
    1.19 @@ -96,6 +98,7 @@
    1.20      """
    1.21      
    1.22      def GET(self):
    1.23 +        log_call(web.ctx.environ)
    1.24          try:
    1.25              browsingVM = gvm_mgr.handleBrowsingRequest()
    1.26              return browsingVM
    1.27 @@ -106,6 +109,7 @@
    1.28      """OpenSecurity '/sdvm_started' handler"""
    1.29      
    1.30      def GET(self):
    1.31 +        log_call(web.ctx.environ)
    1.32          remote_ip = web.ctx.environ['REMOTE_ADDR']
    1.33          gvm_mgr.putStartNotification(remote_ip)
    1.34          return "os_sdvm_started"
    1.35 @@ -118,9 +122,11 @@
    1.36      """
    1.37      
    1.38      def GET(self, name):
    1.39 +        log_call(web.ctx.environ)
    1.40          return gvm_mgr.getVMInfo(name)
    1.41  
    1.42      def DELETE(self, name):
    1.43 +        log_call(web.ctx.environ)
    1.44          return gvm_mgr.removeVM(name)
    1.45              
    1.46  
    1.47 @@ -131,8 +137,8 @@
    1.48      """
    1.49      
    1.50      def GET(self, name, command):
    1.51 +        log_call(web.ctx.environ)
    1.52          command = '/' + command
    1.53 -        print('---> request to launch application in VM -- ' + name + ':' + command + ' <---')
    1.54          result = Cygwin.sshExecuteX11(command, gvm_mgr.getHostOnlyIP(name), 'osecuser', Cygwin.cygPath(gvm_mgr.getMachineFolder()) + '/' + name + '/dvm_key'  )
    1.55          self.poweroffVM(name)
    1.56          return gvm_mgr.removeVM(name)
    1.57 @@ -145,6 +151,7 @@
    1.58      """
    1.59      
    1.60      def GET(self, name):
    1.61 +        log_call(web.ctx.environ)
    1.62          return gvm_mgr.getHostOnlyIP(name)
    1.63              
    1.64  
    1.65 @@ -155,6 +162,7 @@
    1.66      """
    1.67      
    1.68      def GET(self, name):
    1.69 +        log_call(web.ctx.environ)
    1.70          return gvm_mgr.startVM(name)
    1.71              
    1.72  
    1.73 @@ -165,6 +173,7 @@
    1.74      """
    1.75      
    1.76      def GET(self, name):
    1.77 +        log_call(web.ctx.environ)
    1.78          return gvm_mgr.stopVM(name)
    1.79              
    1.80  
    1.81 @@ -177,11 +186,13 @@
    1.82      
    1.83      def GET(self):
    1.84          """get the list of SDVMs"""
    1.85 +        log_call(web.ctx.environ)
    1.86          return gvm_mgr.listSDVM() 
    1.87              
    1.88      def POST(self):
    1.89          """create a new SDVM"""
    1.90 -
    1.91 +        log_call(web.ctx.environ)
    1.92 +        
    1.93          # get a new vm-name
    1.94          name = gvm_mgr.generateSDVMName()
    1.95          try:
    1.96 @@ -198,6 +209,7 @@
    1.97      """
    1.98      
    1.99      def GET(self, name):
   1.100 +        log_call(web.ctx.environ)
   1.101          return gvm_mgr.getVMInfo(name)
   1.102              
   1.103  
   1.104 @@ -208,6 +220,7 @@
   1.105      """
   1.106      
   1.107      def GET(self):
   1.108 +        log_call(web.ctx.environ)
   1.109          return gvm_mgr.listVM() 
   1.110              
   1.111  
   1.112 @@ -218,6 +231,7 @@
   1.113      """
   1.114      
   1.115      def GET(self):
   1.116 +        log_call(web.ctx.environ)
   1.117          res = "'os_server': { "
   1.118          res += "'version': '" + __version__ + "', "
   1.119          res += "'machine_folder': '" + gvm_mgr.getDefaultMachineFolder() + "' "
   1.120 @@ -232,8 +246,18 @@
   1.121      
   1.122      def GET(self):
   1.123          #return gvm_mgr.guestExecute('SecurityDVM', 'sudo apt-get -y update')
   1.124 +        log_call(web.ctx.environ)
   1.125          return gvm_mgr.updateTemplate()
   1.126  
   1.127 +
   1.128 +def log_call(web_environ):
   1.129 +    """log the incoming call to the REST api"""
   1.130 +    try:
   1.131 +        call = 'REST ' +  web_environ['REQUEST_METHOD'] + ' ' + web_environ['REQUEST_URI'] + ' from ' + web_environ['REMOTE_ADDR'] + ':' + web_environ['REMOTE_PORT']
   1.132 +        logger.debug(call)
   1.133 +    except:
   1.134 +        pass
   1.135 +
   1.136  # start
   1.137  if __name__ == "__main__":
   1.138      server = web.application(opensecurity_urls, globals())