1.1 --- a/OpenSecurity/bin/vmmanager.py Wed Dec 11 14:34:19 2013 +0100
1.2 +++ b/OpenSecurity/bin/vmmanager.py Wed Dec 11 14:49:34 2013 +0100
1.3 @@ -16,7 +16,7 @@
1.4 import string
1.5
1.6
1.7 -DEBUG = False
1.8 +DEBUG = True
1.9
1.10 class USBFilter:
1.11 vendorid = ""
1.12 @@ -225,14 +225,7 @@
1.13 def startVM(self, vm_name):
1.14 print('starting ' + vm_name)
1.15 cmd = 'VBoxManage startvm ' + vm_name + ' --type headless'
1.16 - result = self.execute(cmd)
1.17 - while result[0] != 0:
1.18 - print "Failed to start SDVM: ", vm_name, " retrying"
1.19 - time.sleep(1)
1.20 - result = self.execute(cmd)
1.21 - #verify against (0, 'Waiting for VM "SecurityDVM0" to power on...\r\nVM "SecurityDVM0" has been successfully started.\r\n', '')
1.22 - return result[0]
1.23 -
1.24 + print self.execute(cmd) #verify against (0, 'Waiting for VM "SecurityDVM0" to power on...\r\nVM "SecurityDVM0" has been successfully started.\r\n', '')
1.25
1.26 # stop VM
1.27 def stopVM(self, vm_name):
1.28 @@ -326,37 +319,25 @@
1.29 new_sdvm = self.generateSDVMName()
1.30 self.createVM(new_sdvm)
1.31 self.attachRSD(new_sdvm, connected_device)
1.32 -
1.33 -
1.34 + #sleep like method
1.35 + self.listSDVM()
1.36 self.startVM(new_sdvm)
1.37 - # wait for machine to come up
1.38 +
1.39 while new_ip == None:
1.40 time.sleep(1)
1.41 new_ip = self.getHostOnlyIP(new_sdvm)
1.42 while new_ip not in self.startNotifications:
1.43 time.sleep(1)
1.44 - if new_ip != None:
1.45 - self.mapNetworkDrive('h:', '\\\\' + new_ip + '\\USB', None, None)
1.46 #TODO: cleanup notifications somwhere else (eg. machine shutdown)
1.47 self.startNotifications.remove(new_ip)
1.48 VMManager.handleDeviceChangeLock.release()
1.49 return new_ip
1.50
1.51 def handleBrowsingRequest(self):
1.52 - if VMManager.handleDeviceChangeLock.acquire(True):
1.53 - new_ip = None
1.54 - new_sdvm = self.generateSDVMName()
1.55 - self.createVM(new_sdvm)
1.56 - self.genCertificateISO(new_sdvm)
1.57 - self.attachCertificateISO(new_sdvm)
1.58 - self.startVM(new_sdvm)
1.59 - # wait for machine to come up
1.60 - while new_ip == None:
1.61 - time.sleep(1)
1.62 - new_ip = self.getHostOnlyIP(new_sdvm)
1.63 - while new_ip not in self.startNotifications:
1.64 - time.sleep(1)
1.65 - VMManager.handleDeviceChangeLock.release()
1.66 + new_sdvm = self.generateSDVMName()
1.67 + self.createVM(new_sdvm)
1.68 + self.genCertificateISO(new_sdvm)
1.69 + self.attachCertificateISO(new_sdvm)
1.70 return new_sdvm
1.71
1.72 # executes command over ssh on guest vm
1.73 @@ -369,7 +350,7 @@
1.74 return self.execute(cmd)
1.75
1.76 # executes command over ssh on guest vm with X forwarding
1.77 - def sshGuestX11Execute(self, vm_name, prog, user_name='osecuser'):
1.78 + def sshGuestX11Execute(self, vm_name, prog, user_name='opensec'):
1.79 #TODO: verify if X server is running on user account
1.80 #TODO: set DISPLAY accordingly
1.81 address = self.getHostOnlyIP(vm_name)
1.82 @@ -429,13 +410,13 @@
1.83 return -1
1.84 return 1
1.85
1.86 -#if __name__ == '__main__':
1.87 +if __name__ == '__main__':
1.88
1.89 - #man = VMManager.getInstance()
1.90 + man = VMManager.getInstance()
1.91 #man.removeVM('SecurityDVM0')
1.92 #man.netUse('192.168.56.134', 'USB\\')
1.93 - #ip = '192.168.56.139'
1.94 - #man.mapNetworkDrive('h:', '\\\\' + ip + '\USB', None, None)
1.95 + ip = '192.168.56.139'
1.96 + man.mapNetworkDrive('h:', '\\\\' + ip + '\USB', None, None)
1.97
1.98 #man.cygwin_path = 'c:\\cygwin64\\bin\\'
1.99 #man.handleDeviceChange()