metasploit_data_models 0.7.0-java → 0.11.2-java
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/.travis.yml +1 -0
- data/app/models/mdm/host.rb +352 -26
- data/app/models/mdm/loot.rb +72 -7
- data/app/models/mdm/{module_action.rb → module/action.rb} +3 -3
- data/app/models/mdm/{module_arch.rb → module/arch.rb} +3 -3
- data/app/models/mdm/{module_author.rb → module/author.rb} +3 -3
- data/app/models/mdm/module/detail.rb +280 -0
- data/app/models/mdm/{module_mixin.rb → module/mixin.rb} +3 -3
- data/app/models/mdm/{module_platform.rb → module/platform.rb} +3 -3
- data/app/models/mdm/module/ref.rb +48 -0
- data/app/models/mdm/{module_target.rb → module/target.rb} +3 -3
- data/app/models/mdm/note.rb +61 -6
- data/app/models/mdm/ref.rb +39 -1
- data/app/models/mdm/service.rb +85 -7
- data/app/models/mdm/session.rb +100 -6
- data/app/models/mdm/vuln.rb +104 -24
- data/db/migrate/20130228214900_change_required_columns_to_null_false_in_web_vulns.rb +1 -17
- data/db/migrate/20130412154159_change_foreign_key_in_module_actions.rb +25 -0
- data/db/migrate/20130412171844_change_foreign_key_in_module_archs.rb +25 -0
- data/db/migrate/20130412173121_change_foreign_key_in_module_authors.rb +25 -0
- data/db/migrate/20130412173640_change_foreign_key_in_module_mixins.rb +25 -0
- data/db/migrate/20130412174254_change_foreign_key_in_module_platforms.rb +25 -0
- data/db/migrate/20130412174719_change_foreign_key_in_module_refs.rb +25 -0
- data/db/migrate/20130412175040_change_foreign_key_in_module_targets.rb +25 -0
- data/db/migrate/20130430151353_change_required_columns_to_null_false_in_hosts.rb +11 -0
- data/db/migrate/20130430162145_enforce_address_uniqueness_in_workspace_in_hosts.rb +23 -0
- data/lib/mdm/module.rb +4 -0
- data/lib/metasploit_data_models.rb +1 -0
- data/lib/metasploit_data_models/change_required_columns_to_null_false.rb +23 -0
- data/lib/metasploit_data_models/version.rb +1 -1
- data/spec/app/models/mdm/host_spec.rb +411 -0
- data/spec/app/models/mdm/host_tag_spec.rb +13 -0
- data/spec/app/models/mdm/{module_action_spec.rb → module/action_spec.rb} +6 -6
- data/spec/app/models/mdm/{module_arch_spec.rb → module/arch_spec.rb} +6 -6
- data/spec/app/models/mdm/{module_author_spec.rb → module/author_spec.rb} +6 -6
- data/spec/app/models/mdm/{module_detail_spec.rb → module/detail_spec.rb} +101 -11
- data/spec/app/models/mdm/{module_mixin_spec.rb → module/mixin_spec.rb} +6 -6
- data/spec/app/models/mdm/{module_platform_spec.rb → module/platform_spec.rb} +6 -6
- data/spec/app/models/mdm/module/ref_spec.rb +62 -0
- data/spec/app/models/mdm/{module_target_spec.rb → module/target_spec.rb} +6 -6
- data/spec/app/models/mdm/ref_spec.rb +62 -0
- data/spec/app/models/mdm/tag_spec.rb +13 -0
- data/spec/app/models/mdm/vuln_ref_spec.rb +13 -0
- data/spec/app/models/mdm/vuln_spec.rb +231 -0
- data/spec/dummy/db/schema.rb +20 -20
- data/spec/factories/mdm/host_tags.rb +9 -0
- data/spec/factories/mdm/hosts.rb +65 -0
- data/spec/factories/mdm/module/actions.rb +14 -0
- data/spec/factories/mdm/module/archs.rb +14 -0
- data/spec/factories/mdm/{module_authors.rb → module/authors.rb} +4 -4
- data/spec/factories/mdm/module/details.rb +66 -0
- data/spec/factories/mdm/module/mixins.rb +14 -0
- data/spec/factories/mdm/module/platforms.rb +14 -0
- data/spec/factories/mdm/module/refs.rb +14 -0
- data/spec/factories/mdm/{module_targets.rb → module/targets.rb} +3 -3
- data/spec/factories/mdm/refs.rb +9 -0
- data/spec/factories/mdm/tags.rb +14 -0
- data/spec/factories/mdm/vuln_refs.rb +4 -0
- data/spec/factories/mdm/vulns.rb +20 -0
- metadata +75 -42
- data/app/models/mdm/module_detail.rb +0 -59
- data/app/models/mdm/module_ref.rb +0 -24
- data/spec/app/models/mdm/module_ref_spec.rb +0 -38
- data/spec/factories/mdm/module_actions.rb +0 -14
- data/spec/factories/mdm/module_archs.rb +0 -14
- data/spec/factories/mdm/module_details.rb +0 -9
- data/spec/factories/mdm/module_mixins.rb +0 -14
- data/spec/factories/mdm/module_platforms.rb +0 -14
- data/spec/factories/mdm/module_refs.rb +0 -14
@@ -0,0 +1,14 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
factory :mdm_module_action, :class => Mdm::Module::Action do
|
3
|
+
name { generate :mdm_module_action_name }
|
4
|
+
|
5
|
+
#
|
6
|
+
# Associations
|
7
|
+
#
|
8
|
+
association :detail, :factory => :mdm_module_detail
|
9
|
+
end
|
10
|
+
|
11
|
+
sequence :mdm_module_action_name do |n|
|
12
|
+
"Mdm::Module::Action#name #{n}"
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
factory :mdm_module_arch, :class => Mdm::Module::Arch do
|
3
|
+
name { generate :mdm_module_arch_name }
|
4
|
+
|
5
|
+
#
|
6
|
+
# Associations
|
7
|
+
#
|
8
|
+
association :detail, :factory => :mdm_module_detail
|
9
|
+
end
|
10
|
+
|
11
|
+
sequence :mdm_module_arch_name do |n|
|
12
|
+
"Mdm::Module::Arch#name #{n}"
|
13
|
+
end
|
14
|
+
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
FactoryGirl.define do
|
2
|
-
factory :mdm_module_author, :class => Mdm::
|
2
|
+
factory :mdm_module_author, :class => Mdm::Module::Author do
|
3
3
|
name { generate :mdm_module_author_name }
|
4
4
|
|
5
5
|
#
|
6
6
|
# Associations
|
7
7
|
#
|
8
|
-
association :
|
8
|
+
association :detail, :factory => :mdm_module_detail
|
9
9
|
|
10
10
|
factory :full_mdm_module_author do
|
11
11
|
email { generate :mdm_module_author_name }
|
@@ -13,10 +13,10 @@ FactoryGirl.define do
|
|
13
13
|
end
|
14
14
|
|
15
15
|
sequence :mdm_module_author_name do |n|
|
16
|
-
"Mdm::
|
16
|
+
"Mdm::Module::Author#name #{n}"
|
17
17
|
end
|
18
18
|
|
19
19
|
sequence :mdm_module_author_email do |n|
|
20
|
-
"Mdm::
|
20
|
+
"Mdm::Module::Author#email #{n}"
|
21
21
|
end
|
22
22
|
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
factory :mdm_module_detail, :class => Mdm::Module::Detail do
|
3
|
+
ignore do
|
4
|
+
root {
|
5
|
+
MetasploitDataModels.root
|
6
|
+
}
|
7
|
+
modules_pathname { root.join('modules') }
|
8
|
+
end
|
9
|
+
|
10
|
+
description { generate :mdm_module_detail_description }
|
11
|
+
disclosure_date { generate :mdm_module_detail_disclosure_date }
|
12
|
+
license { generate :mdm_module_detail_license }
|
13
|
+
mtime { generate :mdm_module_detail_mtime }
|
14
|
+
mtype { generate :mdm_module_detail_mtype }
|
15
|
+
privileged { generate :mdm_module_detail_privileged }
|
16
|
+
name { generate :mdm_module_detail_name }
|
17
|
+
rank { generate :mdm_module_detail_rank }
|
18
|
+
refname { generate :mdm_module_detail_refname }
|
19
|
+
fullname { "#{mtype}/#{refname}" }
|
20
|
+
stance { generate :mdm_module_detail_stance }
|
21
|
+
|
22
|
+
file {
|
23
|
+
type_directory = Mdm::Module::Detail::DIRECTORY_BY_TYPE[mtype]
|
24
|
+
|
25
|
+
modules_pathname.join(
|
26
|
+
type_directory,
|
27
|
+
"#{refname}.rb"
|
28
|
+
).to_path
|
29
|
+
}
|
30
|
+
end
|
31
|
+
|
32
|
+
sequence :mdm_module_detail_disclosure_date do |n|
|
33
|
+
# @todo https://www.pivotaltracker.com/story/show/48450593
|
34
|
+
Date.today - n
|
35
|
+
end
|
36
|
+
|
37
|
+
sequence :mdm_module_detail_description do |n|
|
38
|
+
"Module Description #{n}"
|
39
|
+
end
|
40
|
+
|
41
|
+
sequence :mdm_module_detail_license do |n|
|
42
|
+
"Module License v#{n}"
|
43
|
+
end
|
44
|
+
|
45
|
+
sequence :mdm_module_detail_privileged, Mdm::Module::Detail::PRIVILEGES.cycle
|
46
|
+
|
47
|
+
sequence :mdm_module_detail_mtime do |n|
|
48
|
+
Time.now.utc - n.seconds
|
49
|
+
end
|
50
|
+
|
51
|
+
ordered_types = Mdm::Module::Detail::DIRECTORY_BY_TYPE.keys.sort
|
52
|
+
sequence :mdm_module_detail_mtype, ordered_types.cycle
|
53
|
+
|
54
|
+
sequence :mdm_module_detail_name do |n|
|
55
|
+
"Module Name #{n}"
|
56
|
+
end
|
57
|
+
|
58
|
+
ordered_ranks = Mdm::Module::Detail::RANK_BY_NAME.values.sort
|
59
|
+
sequence :mdm_module_detail_rank, ordered_ranks.cycle
|
60
|
+
|
61
|
+
sequence :mdm_module_detail_refname do |n|
|
62
|
+
"module/ref/name#{n}"
|
63
|
+
end
|
64
|
+
|
65
|
+
sequence :mdm_module_detail_stance, Mdm::Module::Detail::STANCES.cycle
|
66
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
factory :mdm_module_mixin, :class => Mdm::Module::Mixin do
|
3
|
+
name { generate :mdm_module_mixin_name }
|
4
|
+
|
5
|
+
#
|
6
|
+
# Associations
|
7
|
+
#
|
8
|
+
association :detail, :factory => :mdm_module_detail
|
9
|
+
end
|
10
|
+
|
11
|
+
sequence :mdm_module_mixin_name do |n|
|
12
|
+
"Mdm::Module::Mixin#name #{n}"
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
factory :mdm_module_platform, :class => Mdm::Module::Platform do
|
3
|
+
name { generate :mdm_module_platform_name }
|
4
|
+
|
5
|
+
#
|
6
|
+
# Associations
|
7
|
+
#
|
8
|
+
association :detail, :factory => :mdm_module_detail
|
9
|
+
end
|
10
|
+
|
11
|
+
sequence :mdm_module_platform_name do |n|
|
12
|
+
"Mdm::Module::Platform#name #{n}"
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
factory :mdm_module_ref, :class => Mdm::Module::Ref do
|
3
|
+
name { generate :mdm_module_ref_name }
|
4
|
+
|
5
|
+
#
|
6
|
+
# Associations
|
7
|
+
#
|
8
|
+
association :detail, :factory => :mdm_module_detail
|
9
|
+
end
|
10
|
+
|
11
|
+
sequence :mdm_module_ref_name do |n|
|
12
|
+
"Mdm::Module::Ref#name #{n}"
|
13
|
+
end
|
14
|
+
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
FactoryGirl.define do
|
2
|
-
factory :mdm_module_target, :class => Mdm::
|
2
|
+
factory :mdm_module_target, :class => Mdm::Module::Target do
|
3
3
|
index { generate :mdm_module_target_index }
|
4
4
|
name { generate :mdm_module_target_name }
|
5
5
|
|
6
6
|
#
|
7
7
|
# Associations
|
8
8
|
#
|
9
|
-
association :
|
9
|
+
association :detail, :factory => :mdm_module_detail
|
10
10
|
end
|
11
11
|
|
12
12
|
sequence :mdm_module_target_index do |n|
|
@@ -14,6 +14,6 @@ FactoryGirl.define do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
sequence :mdm_module_target_name do |n|
|
17
|
-
"Mdm::
|
17
|
+
"Mdm::Module::Target#name #{n}"
|
18
18
|
end
|
19
19
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
factory :mdm_tag, :class => Mdm::Tag do
|
3
|
+
desc { generate :mdm_tag_desc }
|
4
|
+
name { generate :mdm_tag_name }
|
5
|
+
end
|
6
|
+
|
7
|
+
sequence :mdm_tag_desc do |n|
|
8
|
+
"Mdm::Tag#description #{n}"
|
9
|
+
end
|
10
|
+
|
11
|
+
sequence :mdm_tag_name do |n|
|
12
|
+
"mdm_tag_name#{n}"
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
factory :mdm_vuln, :class => Mdm::Vuln do
|
3
|
+
name { generate :mdm_vuln_name }
|
4
|
+
|
5
|
+
trait :host do
|
6
|
+
association :host, :factory => :mdm_host
|
7
|
+
end
|
8
|
+
|
9
|
+
trait :service do
|
10
|
+
association :service, :factory => :mdm_service
|
11
|
+
end
|
12
|
+
|
13
|
+
factory :mdm_host_vuln, :traits => [:host]
|
14
|
+
factory :mdm_service_vuln, :traits => [:service]
|
15
|
+
end
|
16
|
+
|
17
|
+
sequence :mdm_vuln_name do |n|
|
18
|
+
"Mdm::Vuln#name #{n}"
|
19
|
+
end
|
20
|
+
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: metasploit_data_models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.
|
5
|
+
version: 0.11.2
|
6
6
|
platform: java
|
7
7
|
authors:
|
8
8
|
- Samuel Huckins
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-05-
|
14
|
+
date: 2013-05-13 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rake
|
@@ -188,14 +188,14 @@ files:
|
|
188
188
|
- app/models/mdm/loot.rb
|
189
189
|
- app/models/mdm/macro.rb
|
190
190
|
- app/models/mdm/mod_ref.rb
|
191
|
-
- app/models/mdm/
|
192
|
-
- app/models/mdm/
|
193
|
-
- app/models/mdm/
|
194
|
-
- app/models/mdm/
|
195
|
-
- app/models/mdm/
|
196
|
-
- app/models/mdm/
|
197
|
-
- app/models/mdm/
|
198
|
-
- app/models/mdm/
|
191
|
+
- app/models/mdm/module/action.rb
|
192
|
+
- app/models/mdm/module/arch.rb
|
193
|
+
- app/models/mdm/module/author.rb
|
194
|
+
- app/models/mdm/module/detail.rb
|
195
|
+
- app/models/mdm/module/mixin.rb
|
196
|
+
- app/models/mdm/module/platform.rb
|
197
|
+
- app/models/mdm/module/ref.rb
|
198
|
+
- app/models/mdm/module/target.rb
|
199
199
|
- app/models/mdm/nexpose_console.rb
|
200
200
|
- app/models/mdm/note.rb
|
201
201
|
- app/models/mdm/profile.rb
|
@@ -307,11 +307,22 @@ files:
|
|
307
307
|
- db/migrate/20120625000008_add_fail_message.rb
|
308
308
|
- db/migrate/20120718202805_add_owner_and_payload_to_web_vulns.rb
|
309
309
|
- db/migrate/20130228214900_change_required_columns_to_null_false_in_web_vulns.rb
|
310
|
+
- db/migrate/20130412154159_change_foreign_key_in_module_actions.rb
|
311
|
+
- db/migrate/20130412171844_change_foreign_key_in_module_archs.rb
|
312
|
+
- db/migrate/20130412173121_change_foreign_key_in_module_authors.rb
|
313
|
+
- db/migrate/20130412173640_change_foreign_key_in_module_mixins.rb
|
314
|
+
- db/migrate/20130412174254_change_foreign_key_in_module_platforms.rb
|
315
|
+
- db/migrate/20130412174719_change_foreign_key_in_module_refs.rb
|
316
|
+
- db/migrate/20130412175040_change_foreign_key_in_module_targets.rb
|
310
317
|
- db/migrate/20130423211152_add_creds_counter_cache.rb
|
318
|
+
- db/migrate/20130430151353_change_required_columns_to_null_false_in_hosts.rb
|
319
|
+
- db/migrate/20130430162145_enforce_address_uniqueness_in_workspace_in_hosts.rb
|
311
320
|
- lib/mdm.rb
|
312
321
|
- lib/mdm/host/operating_system_normalization.rb
|
322
|
+
- lib/mdm/module.rb
|
313
323
|
- lib/metasploit_data_models.rb
|
314
324
|
- lib/metasploit_data_models/base64_serializer.rb
|
325
|
+
- lib/metasploit_data_models/change_required_columns_to_null_false.rb
|
315
326
|
- lib/metasploit_data_models/engine.rb
|
316
327
|
- lib/metasploit_data_models/serialized_prefs.rb
|
317
328
|
- lib/metasploit_data_models/validators/ip_format_validator.rb
|
@@ -320,14 +331,20 @@ files:
|
|
320
331
|
- lib/tasks/yard.rake
|
321
332
|
- metasploit_data_models.gemspec
|
322
333
|
- script/rails
|
323
|
-
- spec/app/models/mdm/
|
324
|
-
- spec/app/models/mdm/
|
325
|
-
- spec/app/models/mdm/
|
326
|
-
- spec/app/models/mdm/
|
327
|
-
- spec/app/models/mdm/
|
328
|
-
- spec/app/models/mdm/
|
329
|
-
- spec/app/models/mdm/
|
330
|
-
- spec/app/models/mdm/
|
334
|
+
- spec/app/models/mdm/host_spec.rb
|
335
|
+
- spec/app/models/mdm/host_tag_spec.rb
|
336
|
+
- spec/app/models/mdm/module/action_spec.rb
|
337
|
+
- spec/app/models/mdm/module/arch_spec.rb
|
338
|
+
- spec/app/models/mdm/module/author_spec.rb
|
339
|
+
- spec/app/models/mdm/module/detail_spec.rb
|
340
|
+
- spec/app/models/mdm/module/mixin_spec.rb
|
341
|
+
- spec/app/models/mdm/module/platform_spec.rb
|
342
|
+
- spec/app/models/mdm/module/ref_spec.rb
|
343
|
+
- spec/app/models/mdm/module/target_spec.rb
|
344
|
+
- spec/app/models/mdm/ref_spec.rb
|
345
|
+
- spec/app/models/mdm/tag_spec.rb
|
346
|
+
- spec/app/models/mdm/vuln_ref_spec.rb
|
347
|
+
- spec/app/models/mdm/vuln_spec.rb
|
331
348
|
- spec/app/models/mdm/web_vuln_spec.rb
|
332
349
|
- spec/dummy/Rakefile
|
333
350
|
- spec/dummy/app/assets/javascripts/application.js
|
@@ -362,17 +379,22 @@ files:
|
|
362
379
|
- spec/dummy/public/favicon.ico
|
363
380
|
- spec/dummy/script/rails
|
364
381
|
- spec/factories/mdm/addresses.rb
|
382
|
+
- spec/factories/mdm/host_tags.rb
|
365
383
|
- spec/factories/mdm/hosts.rb
|
366
|
-
- spec/factories/mdm/
|
367
|
-
- spec/factories/mdm/
|
368
|
-
- spec/factories/mdm/
|
369
|
-
- spec/factories/mdm/
|
370
|
-
- spec/factories/mdm/
|
371
|
-
- spec/factories/mdm/
|
372
|
-
- spec/factories/mdm/
|
373
|
-
- spec/factories/mdm/
|
384
|
+
- spec/factories/mdm/module/actions.rb
|
385
|
+
- spec/factories/mdm/module/archs.rb
|
386
|
+
- spec/factories/mdm/module/authors.rb
|
387
|
+
- spec/factories/mdm/module/details.rb
|
388
|
+
- spec/factories/mdm/module/mixins.rb
|
389
|
+
- spec/factories/mdm/module/platforms.rb
|
390
|
+
- spec/factories/mdm/module/refs.rb
|
391
|
+
- spec/factories/mdm/module/targets.rb
|
392
|
+
- spec/factories/mdm/refs.rb
|
374
393
|
- spec/factories/mdm/services.rb
|
394
|
+
- spec/factories/mdm/tags.rb
|
375
395
|
- spec/factories/mdm/users.rb
|
396
|
+
- spec/factories/mdm/vuln_refs.rb
|
397
|
+
- spec/factories/mdm/vulns.rb
|
376
398
|
- spec/factories/mdm/web_sites.rb
|
377
399
|
- spec/factories/mdm/web_vulns.rb
|
378
400
|
- spec/factories/mdm/workspaces.rb
|
@@ -411,14 +433,20 @@ signing_key:
|
|
411
433
|
specification_version: 3
|
412
434
|
summary: Database code for MSF and Metasploit Pro
|
413
435
|
test_files:
|
414
|
-
- spec/app/models/mdm/
|
415
|
-
- spec/app/models/mdm/
|
416
|
-
- spec/app/models/mdm/
|
417
|
-
- spec/app/models/mdm/
|
418
|
-
- spec/app/models/mdm/
|
419
|
-
- spec/app/models/mdm/
|
420
|
-
- spec/app/models/mdm/
|
421
|
-
- spec/app/models/mdm/
|
436
|
+
- spec/app/models/mdm/host_spec.rb
|
437
|
+
- spec/app/models/mdm/host_tag_spec.rb
|
438
|
+
- spec/app/models/mdm/module/action_spec.rb
|
439
|
+
- spec/app/models/mdm/module/arch_spec.rb
|
440
|
+
- spec/app/models/mdm/module/author_spec.rb
|
441
|
+
- spec/app/models/mdm/module/detail_spec.rb
|
442
|
+
- spec/app/models/mdm/module/mixin_spec.rb
|
443
|
+
- spec/app/models/mdm/module/platform_spec.rb
|
444
|
+
- spec/app/models/mdm/module/ref_spec.rb
|
445
|
+
- spec/app/models/mdm/module/target_spec.rb
|
446
|
+
- spec/app/models/mdm/ref_spec.rb
|
447
|
+
- spec/app/models/mdm/tag_spec.rb
|
448
|
+
- spec/app/models/mdm/vuln_ref_spec.rb
|
449
|
+
- spec/app/models/mdm/vuln_spec.rb
|
422
450
|
- spec/app/models/mdm/web_vuln_spec.rb
|
423
451
|
- spec/dummy/Rakefile
|
424
452
|
- spec/dummy/app/assets/javascripts/application.js
|
@@ -453,17 +481,22 @@ test_files:
|
|
453
481
|
- spec/dummy/public/favicon.ico
|
454
482
|
- spec/dummy/script/rails
|
455
483
|
- spec/factories/mdm/addresses.rb
|
484
|
+
- spec/factories/mdm/host_tags.rb
|
456
485
|
- spec/factories/mdm/hosts.rb
|
457
|
-
- spec/factories/mdm/
|
458
|
-
- spec/factories/mdm/
|
459
|
-
- spec/factories/mdm/
|
460
|
-
- spec/factories/mdm/
|
461
|
-
- spec/factories/mdm/
|
462
|
-
- spec/factories/mdm/
|
463
|
-
- spec/factories/mdm/
|
464
|
-
- spec/factories/mdm/
|
486
|
+
- spec/factories/mdm/module/actions.rb
|
487
|
+
- spec/factories/mdm/module/archs.rb
|
488
|
+
- spec/factories/mdm/module/authors.rb
|
489
|
+
- spec/factories/mdm/module/details.rb
|
490
|
+
- spec/factories/mdm/module/mixins.rb
|
491
|
+
- spec/factories/mdm/module/platforms.rb
|
492
|
+
- spec/factories/mdm/module/refs.rb
|
493
|
+
- spec/factories/mdm/module/targets.rb
|
494
|
+
- spec/factories/mdm/refs.rb
|
465
495
|
- spec/factories/mdm/services.rb
|
496
|
+
- spec/factories/mdm/tags.rb
|
466
497
|
- spec/factories/mdm/users.rb
|
498
|
+
- spec/factories/mdm/vuln_refs.rb
|
499
|
+
- spec/factories/mdm/vulns.rb
|
467
500
|
- spec/factories/mdm/web_sites.rb
|
468
501
|
- spec/factories/mdm/web_vulns.rb
|
469
502
|
- spec/factories/mdm/workspaces.rb
|
@@ -1,59 +0,0 @@
|
|
1
|
-
class Mdm::ModuleDetail < ActiveRecord::Base
|
2
|
-
self.table_name = 'module_details'
|
3
|
-
|
4
|
-
#
|
5
|
-
# Associations
|
6
|
-
#
|
7
|
-
|
8
|
-
has_many :actions, :class_name => 'Mdm::ModuleAction', :dependent => :destroy, :source => :module_action
|
9
|
-
has_many :archs, :class_name => 'Mdm::ModuleArch', :dependent => :destroy, :source => :module_arch
|
10
|
-
has_many :authors, :class_name => 'Mdm::ModuleAuthor', :dependent => :destroy, :source => :module_author
|
11
|
-
has_many :mixins, :class_name => 'Mdm::ModuleMixin', :dependent => :destroy, :source => :module_mixin
|
12
|
-
has_many :platforms, :class_name => 'Mdm::ModulePlatform', :dependent => :destroy, :source => :module_platform
|
13
|
-
has_many :refs, :class_name => 'Mdm::ModuleRef', :dependent => :destroy, :source => :module_ref
|
14
|
-
has_many :targets, :class_name => 'Mdm::ModuleTarget', :dependent => :destroy, :source => :module_target
|
15
|
-
|
16
|
-
#
|
17
|
-
# Validations
|
18
|
-
#
|
19
|
-
|
20
|
-
validates :refname, :presence => true
|
21
|
-
|
22
|
-
validates_associated :actions
|
23
|
-
validates_associated :archs
|
24
|
-
validates_associated :authors
|
25
|
-
validates_associated :mixins
|
26
|
-
validates_associated :platforms
|
27
|
-
validates_associated :refs
|
28
|
-
validates_associated :targets
|
29
|
-
|
30
|
-
def add_action(name)
|
31
|
-
self.actions.build(:name => name).save
|
32
|
-
end
|
33
|
-
|
34
|
-
def add_arch(name)
|
35
|
-
self.archs.build(:name => name).save
|
36
|
-
end
|
37
|
-
|
38
|
-
def add_author(name, email=nil)
|
39
|
-
self.authors.build(:name => name, :email => email).save
|
40
|
-
end
|
41
|
-
|
42
|
-
def add_mixin(name)
|
43
|
-
self.mixins.build(:name => name).save
|
44
|
-
end
|
45
|
-
|
46
|
-
def add_platform(name)
|
47
|
-
self.platforms.build(:name => name).save
|
48
|
-
end
|
49
|
-
|
50
|
-
def add_ref(name)
|
51
|
-
self.refs.build(:name => name).save
|
52
|
-
end
|
53
|
-
|
54
|
-
def add_target(index, name)
|
55
|
-
self.targets.build(:index => index, :name => name).save
|
56
|
-
end
|
57
|
-
|
58
|
-
ActiveSupport.run_load_hooks(:mdm_module_detail, self)
|
59
|
-
end
|