vbox-ng 0.1.3 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,52 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ include VBOX
4
+
5
+ describe "VBOX::CmdLineAPI" do
6
+
7
+ # d0 -> d1, d2, d3
8
+ # d1 -> d1.1, d1.2, d1.3
9
+ # d1.1 -> d1.1.1, d1.1.2, d1.1.3
10
+ # xx -> xx.1, xx.2, xx.3
11
+ describe "_gen_vm_name" do
12
+ it "should generate names from parent 'd0' -> d1, d2, d3" do
13
+ api = CmdLineAPI.new
14
+ api.stub! :list_vms => []
15
+ api._gen_vm_name("d0").should == "d1"
16
+ api.stub! :list_vms => [ VM.new(:name => 'd1') ]
17
+ api._gen_vm_name("d0").should == "d2"
18
+ api.stub! :list_vms => [ VM.new(:name => 'd1'), VM.new(:name => 'd2') ]
19
+ api._gen_vm_name("d0").should == "d3"
20
+ end
21
+
22
+ it "should generate names from parent 'd1' -> d1.1, d1.2, d1.3" do
23
+ api = CmdLineAPI.new
24
+ api.stub! :list_vms => []
25
+ api._gen_vm_name("d1").should == "d1.1"
26
+ api.stub! :list_vms => [ VM.new(:name => 'd1.1') ]
27
+ api._gen_vm_name("d1").should == "d1.2"
28
+ api.stub! :list_vms => [ VM.new(:name => 'd1.1'), VM.new(:name => 'd1.2') ]
29
+ api._gen_vm_name("d1").should == "d1.3"
30
+ end
31
+
32
+ it "should generate names from parent 'd1.1' -> d1.1.1, d1.1.2, d1.1.3" do
33
+ api = CmdLineAPI.new
34
+ api.stub! :list_vms => []
35
+ api._gen_vm_name("d1.1").should == "d1.1.1"
36
+ api.stub! :list_vms => [ VM.new(:name => 'd1.1.1') ]
37
+ api._gen_vm_name("d1.1").should == "d1.1.2"
38
+ api.stub! :list_vms => [ VM.new(:name => 'd1.1.1'), VM.new(:name => 'd1.1.2') ]
39
+ api._gen_vm_name("d1.1").should == "d1.1.3"
40
+ end
41
+
42
+ it "should generate names from parent 'xx' -> xx.1, xx.2, xx.3" do
43
+ api = CmdLineAPI.new
44
+ api.stub! :list_vms => []
45
+ api._gen_vm_name("xx").should == "xx.1"
46
+ api.stub! :list_vms => [ VM.new(:name => 'xx.1') ]
47
+ api._gen_vm_name("xx").should == "xx.2"
48
+ api.stub! :list_vms => [ VM.new(:name => 'xx.1'), VM.new(:name => 'xx.2') ]
49
+ api._gen_vm_name("xx").should == "xx.3"
50
+ end
51
+ end
52
+ end
@@ -1,3 +1,6 @@
1
+ require 'simplecov'
2
+ SimpleCov.start
3
+
1
4
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
5
  $LOAD_PATH.unshift(File.dirname(__FILE__))
3
6
  require 'rspec'
@@ -7,6 +10,48 @@ require 'vbox-ng'
7
10
  # in ./support/ and its subdirectories.
8
11
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
12
 
13
+ # Cross-platform way of finding an executable in the $PATH.
14
+ # which('ruby') #=> /usr/bin/ruby
15
+ #
16
+ # http://stackoverflow.com/questions/2108727/which-in-ruby-checking-if-program-exists-in-path-from-ruby
17
+ def which(cmd)
18
+ exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
19
+ ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
20
+ exts.each { |ext|
21
+ exe = "#{path}/#{cmd}#{ext}"
22
+ return exe if File.executable? exe
23
+ }
24
+ end
25
+ return nil
26
+ end
27
+
10
28
  RSpec.configure do |config|
11
-
29
+ config.before :suite do
30
+ if ENV['SIMULATE_VBOXMANAGE'] || !which('VBoxManage')
31
+ puts "[*] VBoxManage executable not found in $PATH, using simulation..."
32
+ VBoxManageSimulator.load
33
+ elsif ENV['RECORD_VBOXMANAGE']
34
+ VBoxManageSimulator.mode = :record
35
+ end
36
+ end
37
+
38
+ config.before :all do
39
+ VBoxManageSimulator.before_all
40
+ end
41
+
42
+ config.before :each do
43
+ VBoxManageSimulator.before_each example
44
+ end
45
+
46
+ config.after :each do
47
+ VBoxManageSimulator.after_each example
48
+ end
49
+
50
+ config.after :all do
51
+ VBoxManageSimulator.after_all
52
+ end
53
+
54
+ config.after :suite do
55
+ VBoxManageSimulator.save if ENV['RECORD_VBOXMANAGE']
56
+ end
12
57
  end
@@ -0,0 +1,136 @@
1
+ require 'vbox/cmdlineapi'
2
+ require 'digest/md5'
3
+ require 'yaml'
4
+
5
+ class VBoxManageSimulator
6
+
7
+ # a weird way of defining class variables
8
+ @log = Hash.new{ |k,v| k[v] = [] }
9
+ @responses = {}
10
+ @replaypos = Hash.new(0)
11
+ @debug = false
12
+
13
+ DATAFILE = __FILE__.sub(/\.rb$/,'') + ".yml"
14
+
15
+ class << self
16
+ attr_accessor :mode
17
+
18
+ def before_all
19
+ puts "#{self}: BEFORE ALL".yellow if @debug
20
+ @current_test_description = nil
21
+ end
22
+
23
+ def after_all
24
+ puts "#{self}: AFTER ALL".yellow if @debug
25
+ @current_test_description = nil
26
+ end
27
+
28
+ def before_each example
29
+ puts "#{self}: BEFORE EACH".yellow if @debug
30
+ @current_test_description = example.full_description
31
+ return if @mode != :replay
32
+
33
+ Open3.should_not_receive(:popen3)
34
+ Object.any_instance.should_not_receive(:system)
35
+ #Object.any_instance.should_not_receive(:`)
36
+ Object.any_instance.stub(:`) do |cmdline|
37
+ if cmdline =~ /^du /
38
+ "99\t."
39
+ else
40
+ raise "[!] unemulated cmdline #{cmdline.inspect}"
41
+ end
42
+ end
43
+
44
+ Array(@log[@current_test_description]).each do |args,md5|
45
+ puts "[d] WANT: #{args.inspect}" if @debug
46
+ response = @responses[md5]
47
+ VBOX.api.should_receive(:vboxmanage).with(*args).and_return(response)
48
+ end
49
+ end
50
+
51
+ def after_each example
52
+ puts "#{self}: AFTER EACH".yellow if @debug
53
+ @current_test_description = nil
54
+ end
55
+
56
+ def record args, r
57
+ md5 = Digest::MD5.hexdigest(r)
58
+
59
+ # make MD5 hashes readable by saving them in default encoding instead of binary
60
+ if md5.to_yaml['binary']
61
+ md5.encode!(Encoding.default_external)
62
+ raise "cannot properly encode #{md5} to ASCII yaml" if md5.to_yaml['binary']
63
+ end
64
+
65
+ @responses[md5] = r
66
+ @log[@current_test_description] << [args, md5]
67
+ r
68
+ end
69
+
70
+ def replay args
71
+ pos = @replaypos[@current_test_description]
72
+ args, md5 = @log[@current_test_description][pos]
73
+ @replaypos[@current_test_description] += 1
74
+ @responses[md5]
75
+ end
76
+
77
+ def process_cmd args, &block
78
+ puts "[d] GOT: #{args.inspect} in #{@current_test_description.inspect}" if @debug
79
+ case @mode
80
+ when :record
81
+ record args, yield
82
+ when :replay
83
+ @current_test_description ? yield : replay(args)
84
+ else
85
+ # do nothing
86
+ yield
87
+ end
88
+ end
89
+
90
+ def save fname = DATAFILE
91
+ data = { 'log' => @log, 'responses' => @responses }.to_yaml
92
+ puts
93
+ puts "[*] VBoxManageEmulator: #{@log.size} actions, #{@responses.size} unique responses, #{data.size} bytes"
94
+ puts "[*] VBoxManageEmulator: saving #{fname} .. "
95
+ if @log.empty? || @responses.empty?
96
+ raise "refusing to save empty log"
97
+ end
98
+ File.open(fname,"w") do |f|
99
+ f << data
100
+ end
101
+ end
102
+
103
+ def load fname = DATAFILE
104
+ data = YAML::load_file(fname)
105
+ @log, @responses = data['log'], data['responses']
106
+ @mode = :replay
107
+ end
108
+ end
109
+ end
110
+
111
+ module VBOX
112
+ class CmdLineAPI
113
+
114
+ alias :orig_vboxmanage :vboxmanage
115
+ def vboxmanage *args
116
+ VBoxManageSimulator.process_cmd(args) do
117
+ puts "[d] calling original".red if @debug
118
+ orig_vboxmanage *args
119
+ end
120
+ end
121
+
122
+ alias :orig_success? :success?
123
+ def success?
124
+ if VBoxManageSimulator.mode == :replay
125
+ true
126
+ else
127
+ orig_success?
128
+ end
129
+ end
130
+
131
+ end
132
+ end
133
+
134
+ #at_exit do
135
+ # VBoxManageSimulator.save if VBoxManageSimulator.mode == :record
136
+ #end
@@ -0,0 +1,1171 @@
1
+ ---
2
+ log:
3
+ ! '':
4
+ - - - :showvminfo
5
+ - vbox-ng-test-vm
6
+ - --machinereadable
7
+ - d41d8cd98f00b204e9800998ecf8427e
8
+ - - - :createvm
9
+ - :name: vbox-ng-test-vm
10
+ :register: ''
11
+ :uuid: ae340307-f472-4d63-80e7-855fca6808cb
12
+ - ed88ef9f06427bc20384d5530516ba46
13
+ - - - :showvminfo
14
+ - ae340307-f472-4d63-80e7-855fca6808cb
15
+ - --machinereadable
16
+ - 1862786f699d10d7c0aea242627376d1
17
+ - - - :showvminfo
18
+ - vbox-ng-test-vm2
19
+ - --machinereadable
20
+ - 30e77bc3a7fd09810a587d5c489d41db
21
+ - - - :unregistervm
22
+ - 1a456021-2a41-4545-9f11-18f51b81ab6f
23
+ - --delete
24
+ - d41d8cd98f00b204e9800998ecf8427e
25
+ - - - :showvminfo
26
+ - vbox-ng-test-vm
27
+ - --machinereadable
28
+ - a4421007bf6bd48152900e2d051cc429
29
+ - - - :unregistervm
30
+ - ae340307-f472-4d63-80e7-855fca6808cb
31
+ - --delete
32
+ - d41d8cd98f00b204e9800998ecf8427e
33
+ VBOX::VM all() returns array:
34
+ - - - :list
35
+ - :vms
36
+ - e11bf438f69f85c8b034b218aff50ddc
37
+ - - - :list
38
+ - :runningvms
39
+ - d41d8cd98f00b204e9800998ecf8427e
40
+ VBOX::VM all() returns array of VBOX::VM:
41
+ - - - :list
42
+ - :vms
43
+ - e11bf438f69f85c8b034b218aff50ddc
44
+ - - - :list
45
+ - :runningvms
46
+ - d41d8cd98f00b204e9800998ecf8427e
47
+ VBOX::VM first returns VBOX::VM:
48
+ - - - :list
49
+ - :vms
50
+ - e11bf438f69f85c8b034b218aff50ddc
51
+ - - - :list
52
+ - :runningvms
53
+ - d41d8cd98f00b204e9800998ecf8427e
54
+ VBOX::VM find finds VM by name:
55
+ - - - :showvminfo
56
+ - vbox-ng-test-vm
57
+ - --machinereadable
58
+ - 1862786f699d10d7c0aea242627376d1
59
+ VBOX::VM find finds VM by uuid:
60
+ - - - :showvminfo
61
+ - ae340307-f472-4d63-80e7-855fca6808cb
62
+ - --machinereadable
63
+ - 1862786f699d10d7c0aea242627376d1
64
+ VBOX::VM find finds VM by {uuid}:
65
+ - - - :showvminfo
66
+ - ! '{ae340307-f472-4d63-80e7-855fca6808cb}'
67
+ - --machinereadable
68
+ - 1862786f699d10d7c0aea242627376d1
69
+ VBOX::VM find finds nothing:
70
+ - - - :showvminfo
71
+ - blah-blah-blah-unexistant-vm-139487098347510
72
+ - --machinereadable
73
+ - d41d8cd98f00b204e9800998ecf8427e
74
+ VBOX::VM [] finds VM by name:
75
+ - - - :showvminfo
76
+ - vbox-ng-test-vm
77
+ - --machinereadable
78
+ - 1862786f699d10d7c0aea242627376d1
79
+ VBOX::VM [] finds VM by uuid:
80
+ - - - :showvminfo
81
+ - ae340307-f472-4d63-80e7-855fca6808cb
82
+ - --machinereadable
83
+ - 1862786f699d10d7c0aea242627376d1
84
+ VBOX::VM [] finds VM by {uuid}:
85
+ - - - :showvminfo
86
+ - ! '{ae340307-f472-4d63-80e7-855fca6808cb}'
87
+ - --machinereadable
88
+ - 1862786f699d10d7c0aea242627376d1
89
+ VBOX::VM [] finds nothing:
90
+ - - - :showvminfo
91
+ - blah-blah-blah-unexistant-vm-139487098347510
92
+ - --machinereadable
93
+ - d41d8cd98f00b204e9800998ecf8427e
94
+ VBOX::VM dir_size should be > 0:
95
+ - - - :list
96
+ - :vms
97
+ - e11bf438f69f85c8b034b218aff50ddc
98
+ - - - :list
99
+ - :runningvms
100
+ - d41d8cd98f00b204e9800998ecf8427e
101
+ - - - :showvminfo
102
+ - ! '{ae340207-f472-4d63-80e7-855fca6808cb}'
103
+ - --machinereadable
104
+ - 383eee36a66ce3ebb0887322ae705fc2
105
+ VBOX::VM start! should respond to start!:
106
+ - - - :list
107
+ - :vms
108
+ - e11bf438f69f85c8b034b218aff50ddc
109
+ - - - :list
110
+ - :runningvms
111
+ - d41d8cd98f00b204e9800998ecf8427e
112
+ VBOX::VM pause! should respond to pause!:
113
+ - - - :list
114
+ - :vms
115
+ - e11bf438f69f85c8b034b218aff50ddc
116
+ - - - :list
117
+ - :runningvms
118
+ - d41d8cd98f00b204e9800998ecf8427e
119
+ VBOX::VM resume! should respond to resume!:
120
+ - - - :list
121
+ - :vms
122
+ - e11bf438f69f85c8b034b218aff50ddc
123
+ - - - :list
124
+ - :runningvms
125
+ - d41d8cd98f00b204e9800998ecf8427e
126
+ VBOX::VM reset! should respond to reset!:
127
+ - - - :list
128
+ - :vms
129
+ - e11bf438f69f85c8b034b218aff50ddc
130
+ - - - :list
131
+ - :runningvms
132
+ - d41d8cd98f00b204e9800998ecf8427e
133
+ VBOX::VM poweroff! should respond to poweroff!:
134
+ - - - :list
135
+ - :vms
136
+ - e11bf438f69f85c8b034b218aff50ddc
137
+ - - - :list
138
+ - :runningvms
139
+ - d41d8cd98f00b204e9800998ecf8427e
140
+ VBOX::VM savestate! should respond to savestate!:
141
+ - - - :list
142
+ - :vms
143
+ - e11bf438f69f85c8b034b218aff50ddc
144
+ - - - :list
145
+ - :runningvms
146
+ - d41d8cd98f00b204e9800998ecf8427e
147
+ VBOX::VM acpipowerbutton! should respond to acpipowerbutton!:
148
+ - - - :list
149
+ - :vms
150
+ - e11bf438f69f85c8b034b218aff50ddc
151
+ - - - :list
152
+ - :runningvms
153
+ - d41d8cd98f00b204e9800998ecf8427e
154
+ VBOX::VM acpisleepbutton! should respond to acpisleepbutton!:
155
+ - - - :list
156
+ - :vms
157
+ - e11bf438f69f85c8b034b218aff50ddc
158
+ - - - :list
159
+ - :runningvms
160
+ - d41d8cd98f00b204e9800998ecf8427e
161
+ VBOX::VM destroy! should respond to destroy!:
162
+ - - - :list
163
+ - :vms
164
+ - e11bf438f69f85c8b034b218aff50ddc
165
+ - - - :list
166
+ - :runningvms
167
+ - d41d8cd98f00b204e9800998ecf8427e
168
+ VBOX::VM clone! should respond to clone!:
169
+ - - - :list
170
+ - :vms
171
+ - e11bf438f69f85c8b034b218aff50ddc
172
+ - - - :list
173
+ - :runningvms
174
+ - d41d8cd98f00b204e9800998ecf8427e
175
+ VBOX::VM create should create VM:
176
+ - - - :showvminfo
177
+ - vbox-ng-test-vm2
178
+ - --machinereadable
179
+ - d41d8cd98f00b204e9800998ecf8427e
180
+ - - - :createvm
181
+ - :name: vbox-ng-test-vm2
182
+ :register: ''
183
+ - ad8802d4535419fa6b2c0aebe3f6ec53
184
+ - - - :showvminfo
185
+ - vbox-ng-test-vm2
186
+ - --machinereadable
187
+ - 1251279f67fe1d8f6121d470f2c09644
188
+ - - - :showvminfo
189
+ - 80385d79-fb24-439c-bb7a-286d5b6e8934
190
+ - --machinereadable
191
+ - 1251279f67fe1d8f6121d470f2c09644
192
+ VBOX::VM set_var should set vars:
193
+ - - - :showvminfo
194
+ - vbox-ng-test-vm
195
+ - --machinereadable
196
+ - 1862786f699d10d7c0aea242627376d1
197
+ - - - :modifyvm
198
+ - ae340307-f472-4d63-80e7-855fca6808cb
199
+ - memory: '1024'
200
+ vram: '16'
201
+ cpus: '4'
202
+ - d41d8cd98f00b204e9800998ecf8427e
203
+ - - - :showvminfo
204
+ - ae340307-f472-4d63-80e7-855fca6808cb
205
+ - --machinereadable
206
+ - 3cf87e0b83b95e0e7422eb4111e6d484
207
+ - - - :modifyvm
208
+ - ae340307-f472-4d63-80e7-855fca6808cb
209
+ - memory: '512'
210
+ vram: '8'
211
+ cpus: '2'
212
+ acpi: 'off'
213
+ - d41d8cd98f00b204e9800998ecf8427e
214
+ - - - :showvminfo
215
+ - ae340307-f472-4d63-80e7-855fca6808cb
216
+ - --machinereadable
217
+ - a4421007bf6bd48152900e2d051cc429
218
+ VBOX::VM set_vars should set vars:
219
+ - - - :showvminfo
220
+ - vbox-ng-test-vm
221
+ - --machinereadable
222
+ - a4421007bf6bd48152900e2d051cc429
223
+ - - - :modifyvm
224
+ - ae340307-f472-4d63-80e7-855fca6808cb
225
+ - memory: '1024'
226
+ vram: '16'
227
+ cpus: '4'
228
+ acpi: 'on'
229
+ - d41d8cd98f00b204e9800998ecf8427e
230
+ - - - :showvminfo
231
+ - ae340307-f472-4d63-80e7-855fca6808cb
232
+ - --machinereadable
233
+ - 3cf87e0b83b95e0e7422eb4111e6d484
234
+ - - - :modifyvm
235
+ - ae340307-f472-4d63-80e7-855fca6808cb
236
+ - memory: '512'
237
+ vram: '8'
238
+ cpus: '2'
239
+ acpi: 'off'
240
+ - d41d8cd98f00b204e9800998ecf8427e
241
+ - - - :showvminfo
242
+ - ae340307-f472-4d63-80e7-855fca6808cb
243
+ - --machinereadable
244
+ - a4421007bf6bd48152900e2d051cc429
245
+ responses:
246
+ d41d8cd98f00b204e9800998ecf8427e: ''
247
+ ed88ef9f06427bc20384d5530516ba46: ! 'Virtual machine ''vbox-ng-test-vm'' is created
248
+ and registered.
249
+
250
+ UUID: ae340307-f472-4d63-80e7-855fca6808cb
251
+
252
+ Settings file: ''/home/zed/VirtualBox VMs/vbox-ng-test-vm/vbox-ng-test-vm.vbox'''
253
+ 1862786f699d10d7c0aea242627376d1: ! 'name="vbox-ng-test-vm"
254
+
255
+ groups="/"
256
+
257
+ ostype="Other/Unknown"
258
+
259
+ UUID="ae340307-f472-4d63-80e7-855fca6808cb"
260
+
261
+ CfgFile="/home/zed/VirtualBox VMs/vbox-ng-test-vm/vbox-ng-test-vm.vbox"
262
+
263
+ SnapFldr="/home/zed/VirtualBox VMs/vbox-ng-test-vm/Snapshots"
264
+
265
+ LogFldr="/home/zed/VirtualBox VMs/vbox-ng-test-vm/Logs"
266
+
267
+ hardwareuuid="ae340307-f472-4d63-80e7-855fca6808cb"
268
+
269
+ memory=128
270
+
271
+ pagefusion="off"
272
+
273
+ vram=8
274
+
275
+ cpuexecutioncap=100
276
+
277
+ hpet="off"
278
+
279
+ chipset="piix3"
280
+
281
+ firmware="BIOS"
282
+
283
+ cpus=1
284
+
285
+ synthcpu="off"
286
+
287
+ bootmenu="messageandmenu"
288
+
289
+ boot1="floppy"
290
+
291
+ boot2="dvd"
292
+
293
+ boot3="disk"
294
+
295
+ boot4="none"
296
+
297
+ acpi="on"
298
+
299
+ ioapic="off"
300
+
301
+ pae="on"
302
+
303
+ Time offset=0rtcuseutc="off"
304
+
305
+ hwvirtex="on"
306
+
307
+ hwvirtexexcl="on"
308
+
309
+ nestedpaging="on"
310
+
311
+ largepages="off"
312
+
313
+ vtxvpid="on"
314
+
315
+ VMState="poweroff"
316
+
317
+ VMStateChangeTime="2012-12-08T17:50:49.111000000"
318
+
319
+ monitorcount=1
320
+
321
+ accelerate3d="off"
322
+
323
+ accelerate2dvideo="off"
324
+
325
+ teleporterenabled="off"
326
+
327
+ teleporterport=0
328
+
329
+ teleporteraddress=""
330
+
331
+ teleporterpassword=""
332
+
333
+ tracing-enabled="off"
334
+
335
+ tracing-allow-vm-access="off"
336
+
337
+ tracing-config=""
338
+
339
+ autostart-enabled="off"
340
+
341
+ autostart-delay=0
342
+
343
+ nic1="none"
344
+
345
+ nic2="none"
346
+
347
+ nic3="none"
348
+
349
+ nic4="none"
350
+
351
+ nic5="none"
352
+
353
+ nic6="none"
354
+
355
+ nic7="none"
356
+
357
+ nic8="none"
358
+
359
+ hidpointing="ps2mouse"
360
+
361
+ hidkeyboard="ps2kbd"
362
+
363
+ uart1="off"
364
+
365
+ uart2="off"
366
+
367
+ lpt1="off"
368
+
369
+ lpt2="off"
370
+
371
+ audio="none"
372
+
373
+ clipboard="disabled"
374
+
375
+ draganddrop="disabled"
376
+
377
+ vrde="off"
378
+
379
+ usb="off"
380
+
381
+ ehci="off"
382
+
383
+ VRDEActiveConnection="off"
384
+
385
+ VRDEClients=0
386
+
387
+ GuestMemoryBalloon=0'
388
+ e11bf438f69f85c8b034b218aff50ddc: ! '"xp" {df193aad-f295-4398-9497-7677ba7d3ab8}
389
+
390
+ "usb boot test" {e0a8e0c0-e68a-4f52-ac9f-b40820423e6d}
391
+
392
+ "rescue" {b8711e6f-1c0b-40b9-951b-abfd15d14bfd}
393
+
394
+ "ubuntu 12.04.1" {261b7b5d-ba72-4972-ac0e-fee4f0933ed4}
395
+
396
+ "u1" {b0beb519-a70f-4b46-91c2-cba6531a8a18}
397
+
398
+ "u2" {0a0e6b5c-568f-40a7-a81a-68e0e8ef79c4}
399
+
400
+ "u3" {d8bbc26e-dd2b-4ec0-bc4a-732d61c331ff}
401
+
402
+ "rwthCTF2012 vulnbox final" {ceec9d79-004e-43cb-b1dd-38939a552c74}
403
+
404
+ "d0" {ae340207-f472-4d63-80e7-855fca6808cb}
405
+
406
+ "d1" {1e86e599-5910-4047-bdb3-6c6b88081eda}
407
+
408
+ "d2" {3ab8874b-c3de-4bc1-adca-c3396cc2e897}
409
+
410
+ "d3" {b97d344a-5c8a-4e1e-b380-03da9d5c8c0f}
411
+
412
+ "d4" {6997e5fb-935d-4c62-a3ad-6dc1bfb2948b}
413
+
414
+ "d5" {6f600fab-a7a6-4584-911a-84169cddf058}
415
+
416
+ "d6" {8d42de9a-0127-4cb8-bc52-fa745e80e66c}
417
+
418
+ "d7" {6af50a5f-96c6-42b2-9436-74d52a378bb2}
419
+
420
+ "d8" {6ada1923-a712-41ac-9fe1-df45c5bb0113}
421
+
422
+ "d9" {0adaf999-bb86-4009-8013-a3b43bfa6083}
423
+
424
+ "d10" {1f10c353-dd90-4c17-b90c-a95961cb143a}
425
+
426
+ "foo" {79f57c49-c9b4-4a4b-8331-57ffd5aee94b}
427
+
428
+ "vbox-ng-test-vm2" {1a456021-2a41-4545-9f11-18f51b81ab6f}
429
+
430
+ "vbox-ng-test-vm" {ae340307-f472-4d63-80e7-855fca6808cb}'
431
+ 383eee36a66ce3ebb0887322ae705fc2: ! 'name="d0"
432
+
433
+ groups="/"
434
+
435
+ ostype="Debian (64 bit)"
436
+
437
+ UUID="ae340207-f472-4d63-80e7-855fca6808cb"
438
+
439
+ CfgFile="/home/zed/VirtualBox VMs/d0/d0.vbox"
440
+
441
+ SnapFldr="/home/zed/VirtualBox VMs/d0/Snapshots"
442
+
443
+ LogFldr="/home/zed/VirtualBox VMs/d0/Logs"
444
+
445
+ hardwareuuid="ae340207-f472-4d63-80e7-855fca6808cb"
446
+
447
+ memory=384
448
+
449
+ pagefusion="off"
450
+
451
+ vram=12
452
+
453
+ cpuexecutioncap=100
454
+
455
+ hpet="off"
456
+
457
+ chipset="piix3"
458
+
459
+ firmware="BIOS"
460
+
461
+ cpus=1
462
+
463
+ synthcpu="off"
464
+
465
+ bootmenu="messageandmenu"
466
+
467
+ boot1="floppy"
468
+
469
+ boot2="dvd"
470
+
471
+ boot3="disk"
472
+
473
+ boot4="none"
474
+
475
+ acpi="on"
476
+
477
+ ioapic="on"
478
+
479
+ pae="off"
480
+
481
+ Time offset=0rtcuseutc="on"
482
+
483
+ hwvirtex="on"
484
+
485
+ hwvirtexexcl="on"
486
+
487
+ nestedpaging="on"
488
+
489
+ largepages="off"
490
+
491
+ vtxvpid="on"
492
+
493
+ VMState="poweroff"
494
+
495
+ VMStateChangeTime="2012-12-05T15:59:59.000000000"
496
+
497
+ monitorcount=1
498
+
499
+ accelerate3d="off"
500
+
501
+ accelerate2dvideo="off"
502
+
503
+ teleporterenabled="off"
504
+
505
+ teleporterport=0
506
+
507
+ teleporteraddress=""
508
+
509
+ teleporterpassword=""
510
+
511
+ tracing-enabled="off"
512
+
513
+ tracing-allow-vm-access="off"
514
+
515
+ tracing-config=""
516
+
517
+ autostart-enabled="off"
518
+
519
+ autostart-delay=0
520
+
521
+ storagecontrollername0="IDE"
522
+
523
+ storagecontrollertype0="PIIX4"
524
+
525
+ storagecontrollerinstance0="0"
526
+
527
+ storagecontrollermaxportcount0="2"
528
+
529
+ storagecontrollerportcount0="2"
530
+
531
+ storagecontrollerbootable0="on"
532
+
533
+ storagecontrollername1="SATA"
534
+
535
+ storagecontrollertype1="IntelAhci"
536
+
537
+ storagecontrollerinstance1="0"
538
+
539
+ storagecontrollermaxportcount1="30"
540
+
541
+ storagecontrollerportcount1="1"
542
+
543
+ storagecontrollerbootable1="on"
544
+
545
+ "IDE-0-0"="none"
546
+
547
+ "IDE-0-1"="none"
548
+
549
+ "IDE-1-0"="emptydrive"
550
+
551
+ "IDE-IsEjected"="off"
552
+
553
+ "IDE-1-1"="none"
554
+
555
+ "SATA-0-0"="/home/zed/VirtualBox VMs/d0/Snapshots/{89614af7-1a48-499e-831e-900cc9d8bc44}.vdi"
556
+
557
+ "SATA-ImageUUID-0-0"="89614af7-1a48-499e-831e-900cc9d8bc44"
558
+
559
+ bridgeadapter1="eth0"
560
+
561
+ macaddress1="DEC0DE000000"
562
+
563
+ cableconnected1="on"
564
+
565
+ nic1="bridged"
566
+
567
+ nictype1="82540EM"
568
+
569
+ nicspeed1="0"
570
+
571
+ nic2="none"
572
+
573
+ nic3="none"
574
+
575
+ nic4="none"
576
+
577
+ nic5="none"
578
+
579
+ nic6="none"
580
+
581
+ nic7="none"
582
+
583
+ nic8="none"
584
+
585
+ hidpointing="usbtablet"
586
+
587
+ hidkeyboard="ps2kbd"
588
+
589
+ uart1="off"
590
+
591
+ uart2="off"
592
+
593
+ lpt1="off"
594
+
595
+ lpt2="off"
596
+
597
+ audio="none"
598
+
599
+ clipboard="disabled"
600
+
601
+ draganddrop="disabled"
602
+
603
+ vrde="off"
604
+
605
+ usb="on"
606
+
607
+ ehci="on"
608
+
609
+ VRDEActiveConnection="off"
610
+
611
+ VRDEClients=0
612
+
613
+ GuestMemoryBalloon=0
614
+
615
+ SnapshotName="for d1"
616
+
617
+ SnapshotUUID="0d8f305c-e896-408f-8894-0489bf5d053a"
618
+
619
+ SnapshotName-1="for d1"
620
+
621
+ SnapshotUUID-1="b339522d-9d66-49c1-86a2-f91c523e5a21"
622
+
623
+ SnapshotName-1-1="noswap"
624
+
625
+ SnapshotUUID-1-1="41e1df14-92f0-4680-a517-0a8ba9deb8f3"'
626
+ 30e77bc3a7fd09810a587d5c489d41db: ! 'name="vbox-ng-test-vm2"
627
+
628
+ groups="/"
629
+
630
+ ostype="Other/Unknown"
631
+
632
+ UUID="1a456021-2a41-4545-9f11-18f51b81ab6f"
633
+
634
+ CfgFile="/home/zed/VirtualBox VMs/vbox-ng-test-vm2/vbox-ng-test-vm2.vbox"
635
+
636
+ SnapFldr="/home/zed/VirtualBox VMs/vbox-ng-test-vm2/Snapshots"
637
+
638
+ LogFldr="/home/zed/VirtualBox VMs/vbox-ng-test-vm2/Logs"
639
+
640
+ hardwareuuid="1a456021-2a41-4545-9f11-18f51b81ab6f"
641
+
642
+ memory=128
643
+
644
+ pagefusion="off"
645
+
646
+ vram=8
647
+
648
+ cpuexecutioncap=100
649
+
650
+ hpet="off"
651
+
652
+ chipset="piix3"
653
+
654
+ firmware="BIOS"
655
+
656
+ cpus=1
657
+
658
+ synthcpu="off"
659
+
660
+ bootmenu="messageandmenu"
661
+
662
+ boot1="floppy"
663
+
664
+ boot2="dvd"
665
+
666
+ boot3="disk"
667
+
668
+ boot4="none"
669
+
670
+ acpi="on"
671
+
672
+ ioapic="off"
673
+
674
+ pae="on"
675
+
676
+ Time offset=0rtcuseutc="off"
677
+
678
+ hwvirtex="on"
679
+
680
+ hwvirtexexcl="on"
681
+
682
+ nestedpaging="on"
683
+
684
+ largepages="off"
685
+
686
+ vtxvpid="on"
687
+
688
+ VMState="poweroff"
689
+
690
+ VMStateChangeTime="2012-12-08T17:50:40.000000000"
691
+
692
+ monitorcount=1
693
+
694
+ accelerate3d="off"
695
+
696
+ accelerate2dvideo="off"
697
+
698
+ teleporterenabled="off"
699
+
700
+ teleporterport=0
701
+
702
+ teleporteraddress=""
703
+
704
+ teleporterpassword=""
705
+
706
+ tracing-enabled="off"
707
+
708
+ tracing-allow-vm-access="off"
709
+
710
+ tracing-config=""
711
+
712
+ autostart-enabled="off"
713
+
714
+ autostart-delay=0
715
+
716
+ nic1="none"
717
+
718
+ nic2="none"
719
+
720
+ nic3="none"
721
+
722
+ nic4="none"
723
+
724
+ nic5="none"
725
+
726
+ nic6="none"
727
+
728
+ nic7="none"
729
+
730
+ nic8="none"
731
+
732
+ hidpointing="ps2mouse"
733
+
734
+ hidkeyboard="ps2kbd"
735
+
736
+ uart1="off"
737
+
738
+ uart2="off"
739
+
740
+ lpt1="off"
741
+
742
+ lpt2="off"
743
+
744
+ audio="none"
745
+
746
+ clipboard="disabled"
747
+
748
+ draganddrop="disabled"
749
+
750
+ vrde="off"
751
+
752
+ usb="off"
753
+
754
+ ehci="off"
755
+
756
+ VRDEActiveConnection="off"
757
+
758
+ VRDEClients=0
759
+
760
+ GuestMemoryBalloon=0'
761
+ ad8802d4535419fa6b2c0aebe3f6ec53: ! 'Virtual machine ''vbox-ng-test-vm2'' is created
762
+ and registered.
763
+
764
+ UUID: 80385d79-fb24-439c-bb7a-286d5b6e8934
765
+
766
+ Settings file: ''/home/zed/VirtualBox VMs/vbox-ng-test-vm2/vbox-ng-test-vm2.vbox'''
767
+ 1251279f67fe1d8f6121d470f2c09644: ! 'name="vbox-ng-test-vm2"
768
+
769
+ groups="/"
770
+
771
+ ostype="Other/Unknown"
772
+
773
+ UUID="80385d79-fb24-439c-bb7a-286d5b6e8934"
774
+
775
+ CfgFile="/home/zed/VirtualBox VMs/vbox-ng-test-vm2/vbox-ng-test-vm2.vbox"
776
+
777
+ SnapFldr="/home/zed/VirtualBox VMs/vbox-ng-test-vm2/Snapshots"
778
+
779
+ LogFldr="/home/zed/VirtualBox VMs/vbox-ng-test-vm2/Logs"
780
+
781
+ hardwareuuid="80385d79-fb24-439c-bb7a-286d5b6e8934"
782
+
783
+ memory=128
784
+
785
+ pagefusion="off"
786
+
787
+ vram=8
788
+
789
+ cpuexecutioncap=100
790
+
791
+ hpet="off"
792
+
793
+ chipset="piix3"
794
+
795
+ firmware="BIOS"
796
+
797
+ cpus=1
798
+
799
+ synthcpu="off"
800
+
801
+ bootmenu="messageandmenu"
802
+
803
+ boot1="floppy"
804
+
805
+ boot2="dvd"
806
+
807
+ boot3="disk"
808
+
809
+ boot4="none"
810
+
811
+ acpi="on"
812
+
813
+ ioapic="off"
814
+
815
+ pae="on"
816
+
817
+ Time offset=0rtcuseutc="off"
818
+
819
+ hwvirtex="on"
820
+
821
+ hwvirtexexcl="on"
822
+
823
+ nestedpaging="on"
824
+
825
+ largepages="off"
826
+
827
+ vtxvpid="on"
828
+
829
+ VMState="poweroff"
830
+
831
+ VMStateChangeTime="2012-12-08T17:50:50.305000000"
832
+
833
+ monitorcount=1
834
+
835
+ accelerate3d="off"
836
+
837
+ accelerate2dvideo="off"
838
+
839
+ teleporterenabled="off"
840
+
841
+ teleporterport=0
842
+
843
+ teleporteraddress=""
844
+
845
+ teleporterpassword=""
846
+
847
+ tracing-enabled="off"
848
+
849
+ tracing-allow-vm-access="off"
850
+
851
+ tracing-config=""
852
+
853
+ autostart-enabled="off"
854
+
855
+ autostart-delay=0
856
+
857
+ nic1="none"
858
+
859
+ nic2="none"
860
+
861
+ nic3="none"
862
+
863
+ nic4="none"
864
+
865
+ nic5="none"
866
+
867
+ nic6="none"
868
+
869
+ nic7="none"
870
+
871
+ nic8="none"
872
+
873
+ hidpointing="ps2mouse"
874
+
875
+ hidkeyboard="ps2kbd"
876
+
877
+ uart1="off"
878
+
879
+ uart2="off"
880
+
881
+ lpt1="off"
882
+
883
+ lpt2="off"
884
+
885
+ audio="none"
886
+
887
+ clipboard="disabled"
888
+
889
+ draganddrop="disabled"
890
+
891
+ vrde="off"
892
+
893
+ usb="off"
894
+
895
+ ehci="off"
896
+
897
+ VRDEActiveConnection="off"
898
+
899
+ VRDEClients=0
900
+
901
+ GuestMemoryBalloon=0'
902
+ 3cf87e0b83b95e0e7422eb4111e6d484: ! 'name="vbox-ng-test-vm"
903
+
904
+ groups="/"
905
+
906
+ ostype="Other/Unknown"
907
+
908
+ UUID="ae340307-f472-4d63-80e7-855fca6808cb"
909
+
910
+ CfgFile="/home/zed/VirtualBox VMs/vbox-ng-test-vm/vbox-ng-test-vm.vbox"
911
+
912
+ SnapFldr="/home/zed/VirtualBox VMs/vbox-ng-test-vm/Snapshots"
913
+
914
+ LogFldr="/home/zed/VirtualBox VMs/vbox-ng-test-vm/Logs"
915
+
916
+ hardwareuuid="ae340307-f472-4d63-80e7-855fca6808cb"
917
+
918
+ memory=1024
919
+
920
+ pagefusion="off"
921
+
922
+ vram=16
923
+
924
+ cpuexecutioncap=100
925
+
926
+ hpet="off"
927
+
928
+ chipset="piix3"
929
+
930
+ firmware="BIOS"
931
+
932
+ cpus=4
933
+
934
+ synthcpu="off"
935
+
936
+ bootmenu="messageandmenu"
937
+
938
+ boot1="floppy"
939
+
940
+ boot2="dvd"
941
+
942
+ boot3="disk"
943
+
944
+ boot4="none"
945
+
946
+ acpi="on"
947
+
948
+ ioapic="off"
949
+
950
+ pae="on"
951
+
952
+ Time offset=0rtcuseutc="off"
953
+
954
+ hwvirtex="on"
955
+
956
+ hwvirtexexcl="on"
957
+
958
+ nestedpaging="on"
959
+
960
+ largepages="off"
961
+
962
+ vtxvpid="on"
963
+
964
+ VMState="poweroff"
965
+
966
+ VMStateChangeTime="2012-12-08T17:50:49.111000000"
967
+
968
+ monitorcount=1
969
+
970
+ accelerate3d="off"
971
+
972
+ accelerate2dvideo="off"
973
+
974
+ teleporterenabled="off"
975
+
976
+ teleporterport=0
977
+
978
+ teleporteraddress=""
979
+
980
+ teleporterpassword=""
981
+
982
+ tracing-enabled="off"
983
+
984
+ tracing-allow-vm-access="off"
985
+
986
+ tracing-config=""
987
+
988
+ autostart-enabled="off"
989
+
990
+ autostart-delay=0
991
+
992
+ nic1="none"
993
+
994
+ nic2="none"
995
+
996
+ nic3="none"
997
+
998
+ nic4="none"
999
+
1000
+ nic5="none"
1001
+
1002
+ nic6="none"
1003
+
1004
+ nic7="none"
1005
+
1006
+ nic8="none"
1007
+
1008
+ hidpointing="ps2mouse"
1009
+
1010
+ hidkeyboard="ps2kbd"
1011
+
1012
+ uart1="off"
1013
+
1014
+ uart2="off"
1015
+
1016
+ lpt1="off"
1017
+
1018
+ lpt2="off"
1019
+
1020
+ audio="none"
1021
+
1022
+ clipboard="disabled"
1023
+
1024
+ draganddrop="disabled"
1025
+
1026
+ vrde="off"
1027
+
1028
+ usb="off"
1029
+
1030
+ ehci="off"
1031
+
1032
+ VRDEActiveConnection="off"
1033
+
1034
+ VRDEClients=0
1035
+
1036
+ GuestMemoryBalloon=0'
1037
+ a4421007bf6bd48152900e2d051cc429: ! 'name="vbox-ng-test-vm"
1038
+
1039
+ groups="/"
1040
+
1041
+ ostype="Other/Unknown"
1042
+
1043
+ UUID="ae340307-f472-4d63-80e7-855fca6808cb"
1044
+
1045
+ CfgFile="/home/zed/VirtualBox VMs/vbox-ng-test-vm/vbox-ng-test-vm.vbox"
1046
+
1047
+ SnapFldr="/home/zed/VirtualBox VMs/vbox-ng-test-vm/Snapshots"
1048
+
1049
+ LogFldr="/home/zed/VirtualBox VMs/vbox-ng-test-vm/Logs"
1050
+
1051
+ hardwareuuid="ae340307-f472-4d63-80e7-855fca6808cb"
1052
+
1053
+ memory=512
1054
+
1055
+ pagefusion="off"
1056
+
1057
+ vram=8
1058
+
1059
+ cpuexecutioncap=100
1060
+
1061
+ hpet="off"
1062
+
1063
+ chipset="piix3"
1064
+
1065
+ firmware="BIOS"
1066
+
1067
+ cpus=2
1068
+
1069
+ synthcpu="off"
1070
+
1071
+ bootmenu="messageandmenu"
1072
+
1073
+ boot1="floppy"
1074
+
1075
+ boot2="dvd"
1076
+
1077
+ boot3="disk"
1078
+
1079
+ boot4="none"
1080
+
1081
+ acpi="off"
1082
+
1083
+ ioapic="off"
1084
+
1085
+ pae="on"
1086
+
1087
+ Time offset=0rtcuseutc="off"
1088
+
1089
+ hwvirtex="on"
1090
+
1091
+ hwvirtexexcl="on"
1092
+
1093
+ nestedpaging="on"
1094
+
1095
+ largepages="off"
1096
+
1097
+ vtxvpid="on"
1098
+
1099
+ VMState="poweroff"
1100
+
1101
+ VMStateChangeTime="2012-12-08T17:50:49.111000000"
1102
+
1103
+ monitorcount=1
1104
+
1105
+ accelerate3d="off"
1106
+
1107
+ accelerate2dvideo="off"
1108
+
1109
+ teleporterenabled="off"
1110
+
1111
+ teleporterport=0
1112
+
1113
+ teleporteraddress=""
1114
+
1115
+ teleporterpassword=""
1116
+
1117
+ tracing-enabled="off"
1118
+
1119
+ tracing-allow-vm-access="off"
1120
+
1121
+ tracing-config=""
1122
+
1123
+ autostart-enabled="off"
1124
+
1125
+ autostart-delay=0
1126
+
1127
+ nic1="none"
1128
+
1129
+ nic2="none"
1130
+
1131
+ nic3="none"
1132
+
1133
+ nic4="none"
1134
+
1135
+ nic5="none"
1136
+
1137
+ nic6="none"
1138
+
1139
+ nic7="none"
1140
+
1141
+ nic8="none"
1142
+
1143
+ hidpointing="ps2mouse"
1144
+
1145
+ hidkeyboard="ps2kbd"
1146
+
1147
+ uart1="off"
1148
+
1149
+ uart2="off"
1150
+
1151
+ lpt1="off"
1152
+
1153
+ lpt2="off"
1154
+
1155
+ audio="none"
1156
+
1157
+ clipboard="disabled"
1158
+
1159
+ draganddrop="disabled"
1160
+
1161
+ vrde="off"
1162
+
1163
+ usb="off"
1164
+
1165
+ ehci="off"
1166
+
1167
+ VRDEActiveConnection="off"
1168
+
1169
+ VRDEClients=0
1170
+
1171
+ GuestMemoryBalloon=0'