# HG changeset patch # User mb # Date 1386323246 -3600 # Node ID 11dc05750aead44a29a0cdb5bda71d6c8ef53a16 # Parent 27aa3b16eebb9b0b8106123ac69dd3b95dbdc2ff bug fixes in VMManager.py and rebuild USBEventSvc. New binaries deployed diff -r 27aa3b16eebb -r 11dc05750aea server/opensecurityd.py --- a/server/opensecurityd.py Wed Dec 04 18:01:06 2013 +0100 +++ b/server/opensecurityd.py Fri Dec 06 10:47:26 2013 +0100 @@ -111,9 +111,11 @@ """OpenSecurity '/device_change' handler""" def GET(self): + print 'received device_change' gvm_mgr.cygwin_path = 'c:\\cygwin64\\bin\\' + gvm_mgr.handleDeviceChange() + #gvm_mgr.configureHostNetworking() - print 'received device_change' return "os_device_change" diff -r 27aa3b16eebb -r 11dc05750aea server/opensecurityd.pyc Binary file server/opensecurityd.pyc has changed diff -r 27aa3b16eebb -r 11dc05750aea server/vmmanager/vmmanager.py --- a/server/vmmanager/vmmanager.py Wed Dec 04 18:01:06 2013 +0100 +++ b/server/vmmanager/vmmanager.py Fri Dec 06 10:47:26 2013 +0100 @@ -83,7 +83,7 @@ def listRSDS(self): cmd = 'VBoxManage list usbhost' - results = self.execute(cmd) + results = self.execute(cmd)[1] results = results.split('Host USB Devices:')[1].strip() items = list( "UUID:"+result for result in results.split('UUID:') if result != '') @@ -134,7 +134,7 @@ attached_devices = dict() for vm in vms: rsd_filter = self.getUSBFilter(vm) - if filter != None: + if rsd_filter != None: attached_devices[vm] = rsd_filter return attached_devices @@ -163,7 +163,8 @@ self.execute(cmd) cmd = 'VBoxManage storagectl ' + vm_name + ' --name contr1 --add sata --portcount 2' self.execute(cmd) - cmd = 'VBoxManage storageattach ' + vm_name + ' --storagectl contr1 --port 0 --device 0 --type hdd --mtype normal --medium \"'+ machineFolder + '\SecurityDVM\SecurityDVM.vmdk\"' + cmd = 'VBoxManage storageattach ' + vm_name + ' --storagectl contr1 --port 0 --device 0 --type hdd --medium \"'+ machineFolder + '\SecurityDVM\SecurityDVM.vmdk\"' + #--mtype immutable self.execute(cmd) return @@ -207,7 +208,7 @@ # return the description set for an existing VM def getVMInfo(self, vm_name): cmd = 'VBoxManage showvminfo ' + vm_name + ' --machinereadable' - results = self.execute(cmd) + results = self.execute(cmd)[1] props = dict((k.strip(),v.strip().strip('"')) for k,v in (line.split('=', 1) for line in results.splitlines())) return props @@ -256,19 +257,25 @@ attached_devices = self.getAttachedRSDs() connected_devices = self.listRSDS() for vm_name in attached_devices.keys(): - if attached_devices[vm_name] not in connected_devices.values(): + if connected_devices and attached_devices[vm_name] not in connected_devices.values(): + # self.netUse(vm_name) self.stopVM(vm_name) self.removeVM(vm_name) attached_devices = self.getAttachedRSDs() for connected_device in connected_devices.values(): - if connected_device not in attached_devices.values(): + if attached_devices or connected_device not in attached_devices.values(): new_sdvm = self.generateSDVMName() self.createVM(new_sdvm) - self.genCertificateISO(new_sdvm) - self.attachCertificateISO(new_sdvm) self.attachRSD(new_sdvm, connected_device) self.startVM(new_sdvm) + self.netUse(new_sdvm) + + def handleBrowsingRequest(self): + new_sdvm = self.generateSDVMName() + self.createVM(new_sdvm) + self.genCertificateISO(new_sdvm) + self.attachCertificateISO(new_sdvm) # executes command over ssh on guest vm def sshGuestExecute(self, vm_name, prog, user_name='opensec'): @@ -292,7 +299,7 @@ # executes NET USE and connects to samba share on guestos def netUse(self, vm_name): ip = self.getHostOnlyIP(vm_name) - cmd = 'net use H: \\' + ip + '\RSD_Device' + cmd = 'net use H: \\' + ip + '\USB' return self.execute(cmd) diff -r 27aa3b16eebb -r 11dc05750aea server/vmmanager/vmmanager.pyc Binary file server/vmmanager/vmmanager.pyc has changed diff -r 27aa3b16eebb -r 11dc05750aea server/windows/USBEventSvc/Debug/OpenSecUSBEventSvc.exe Binary file server/windows/USBEventSvc/Debug/OpenSecUSBEventSvc.exe has changed diff -r 27aa3b16eebb -r 11dc05750aea server/windows/USBEventSvc/Debug/OpenSecUSBEventSvc.ilk Binary file server/windows/USBEventSvc/Debug/OpenSecUSBEventSvc.ilk has changed diff -r 27aa3b16eebb -r 11dc05750aea server/windows/USBEventSvc/Debug/OpenSecUSBEventSvc.pdb Binary file server/windows/USBEventSvc/Debug/OpenSecUSBEventSvc.pdb has changed diff -r 27aa3b16eebb -r 11dc05750aea server/windows/USBEventSvc/OpenSecUSBEventSvc/OpenSecUSBEventSvc.cpp --- a/server/windows/USBEventSvc/OpenSecUSBEventSvc/OpenSecUSBEventSvc.cpp Wed Dec 04 18:01:06 2013 +0100 +++ b/server/windows/USBEventSvc/OpenSecUSBEventSvc/OpenSecUSBEventSvc.cpp Fri Dec 06 10:47:26 2013 +0100 @@ -336,7 +336,7 @@ case SERVICE_CONTROL_DEVICEEVENT: SvcReportEvent(EVENTLOG_INFORMATION_TYPE, _T("Received SERVICE_CONTROL_DEVICEEVENT")); - //NotifyOpenSecManager(); + NotifyOpenSecManager(); break; default: diff -r 27aa3b16eebb -r 11dc05750aea server/windows/USBEventSvc/Release/OpenSecUSBEventSvc.exe Binary file server/windows/USBEventSvc/Release/OpenSecUSBEventSvc.exe has changed diff -r 27aa3b16eebb -r 11dc05750aea server/windows/USBEventSvc/Release/OpenSecUSBEventSvc.pdb Binary file server/windows/USBEventSvc/Release/OpenSecUSBEventSvc.pdb has changed diff -r 27aa3b16eebb -r 11dc05750aea server/windows/USBEventSvc/USBEventSvc.sdf Binary file server/windows/USBEventSvc/USBEventSvc.sdf has changed diff -r 27aa3b16eebb -r 11dc05750aea server/windows/USBEventSvc/USBEventSvc.v12.suo Binary file server/windows/USBEventSvc/USBEventSvc.v12.suo has changed diff -r 27aa3b16eebb -r 11dc05750aea server/windows/USBEventSvc/x64/Debug/OpenSecUSBEventSvc.exe Binary file server/windows/USBEventSvc/x64/Debug/OpenSecUSBEventSvc.exe has changed diff -r 27aa3b16eebb -r 11dc05750aea server/windows/USBEventSvc/x64/Debug/OpenSecUSBEventSvc.ilk Binary file server/windows/USBEventSvc/x64/Debug/OpenSecUSBEventSvc.ilk has changed diff -r 27aa3b16eebb -r 11dc05750aea server/windows/USBEventSvc/x64/Debug/OpenSecUSBEventSvc.pdb Binary file server/windows/USBEventSvc/x64/Debug/OpenSecUSBEventSvc.pdb has changed diff -r 27aa3b16eebb -r 11dc05750aea server/windows/USBEventSvc/x64/Release/OpenSecUSBEventSvc.exe Binary file server/windows/USBEventSvc/x64/Release/OpenSecUSBEventSvc.exe has changed diff -r 27aa3b16eebb -r 11dc05750aea server/windows/USBEventSvc/x64/Release/OpenSecUSBEventSvc.pdb Binary file server/windows/USBEventSvc/x64/Release/OpenSecUSBEventSvc.pdb has changed