vbox-ng 0.1.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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'