metasploit-model 0.28.0-java → 0.29.0-java
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.
- checksums.yaml +4 -4
- data/.travis.yml +3 -1
- data/config/locales/en.yml +0 -171
- data/lib/metasploit/model.rb +0 -2
- data/lib/metasploit/model/spec.rb +0 -130
- data/lib/metasploit/model/version.rb +1 -1
- data/spec/support/shared/examples/metasploit/model/search/operator/help.rb +4 -6
- data/spec/support/shared/examples/metasploit/model/translation.rb +1 -1
- data/spec/support/shared/examples/search_association.rb +1 -1
- data/spec/support/shared/examples/search_with.rb +4 -2
- metadata +2 -348
- data/app/models/metasploit/model/module/ancestor/spec/template.rb +0 -125
- data/app/models/metasploit/model/module/class/spec/template.rb +0 -92
- data/app/models/metasploit/model/module/instance/spec/template.rb +0 -97
- data/app/models/metasploit/model/spec/template.rb +0 -277
- data/app/validators/derivation_validator.rb +0 -17
- data/app/validators/dynamic_length_validator.rb +0 -45
- data/lib/metasploit/model/architecture.rb +0 -342
- data/lib/metasploit/model/author.rb +0 -54
- data/lib/metasploit/model/authority.rb +0 -141
- data/lib/metasploit/model/authority/bid.rb +0 -10
- data/lib/metasploit/model/authority/cve.rb +0 -10
- data/lib/metasploit/model/authority/msb.rb +0 -10
- data/lib/metasploit/model/authority/osvdb.rb +0 -10
- data/lib/metasploit/model/authority/pmasa.rb +0 -10
- data/lib/metasploit/model/authority/secunia.rb +0 -10
- data/lib/metasploit/model/authority/us_cert_vu.rb +0 -10
- data/lib/metasploit/model/authority/waraxe.rb +0 -31
- data/lib/metasploit/model/authority/zdi.rb +0 -10
- data/lib/metasploit/model/derivation.rb +0 -109
- data/lib/metasploit/model/derivation/full_name.rb +0 -19
- data/lib/metasploit/model/email_address.rb +0 -124
- data/lib/metasploit/model/module.rb +0 -20
- data/lib/metasploit/model/module/action.rb +0 -52
- data/lib/metasploit/model/module/ancestor.rb +0 -491
- data/lib/metasploit/model/module/ancestor/spec.rb +0 -6
- data/lib/metasploit/model/module/architecture.rb +0 -34
- data/lib/metasploit/model/module/author.rb +0 -40
- data/lib/metasploit/model/module/class.rb +0 -403
- data/lib/metasploit/model/module/class/spec.rb +0 -6
- data/lib/metasploit/model/module/handler.rb +0 -29
- data/lib/metasploit/model/module/instance.rb +0 -622
- data/lib/metasploit/model/module/instance/spec.rb +0 -6
- data/lib/metasploit/model/module/path.rb +0 -159
- data/lib/metasploit/model/module/platform.rb +0 -32
- data/lib/metasploit/model/module/rank.rb +0 -85
- data/lib/metasploit/model/module/reference.rb +0 -32
- data/lib/metasploit/model/module/stance.rb +0 -16
- data/lib/metasploit/model/module/target.rb +0 -78
- data/lib/metasploit/model/module/target/architecture.rb +0 -34
- data/lib/metasploit/model/module/target/platform.rb +0 -34
- data/lib/metasploit/model/module/type.rb +0 -38
- data/lib/metasploit/model/platform.rb +0 -246
- data/lib/metasploit/model/real_pathname.rb +0 -16
- data/lib/metasploit/model/reference.rb +0 -104
- data/spec/app/models/metasploit/model/module/ancestor/spec/template_spec.rb +0 -174
- data/spec/app/models/metasploit/model/module/class/spec/template_spec.rb +0 -222
- data/spec/app/models/metasploit/model/module/instance/spec/template_spec.rb +0 -201
- data/spec/app/models/metasploit/model/search/operator/deprecated/app_spec.rb +0 -62
- data/spec/app/models/metasploit/model/search/operator/deprecated/author_spec.rb +0 -197
- data/spec/app/models/metasploit/model/search/operator/deprecated/authority_spec.rb +0 -135
- data/spec/app/models/metasploit/model/search/operator/deprecated/platform_spec.rb +0 -124
- data/spec/app/models/metasploit/model/search/operator/deprecated/ref_spec.rb +0 -387
- data/spec/app/models/metasploit/model/search/operator/deprecated/text_spec.rb +0 -399
- data/spec/app/models/metasploit/model/spec/template_spec.rb +0 -23
- data/spec/app/validators/derivation_validator_spec.rb +0 -92
- data/spec/app/validators/dynamic_length_validator_spec.rb +0 -293
- data/spec/dummy/app/models/dummy/architecture.rb +0 -92
- data/spec/dummy/app/models/dummy/author.rb +0 -15
- data/spec/dummy/app/models/dummy/authority.rb +0 -130
- data/spec/dummy/app/models/dummy/email_address.rb +0 -27
- data/spec/dummy/app/models/dummy/module/action.rb +0 -25
- data/spec/dummy/app/models/dummy/module/ancestor.rb +0 -67
- data/spec/dummy/app/models/dummy/module/architecture.rb +0 -19
- data/spec/dummy/app/models/dummy/module/author.rb +0 -28
- data/spec/dummy/app/models/dummy/module/class.rb +0 -69
- data/spec/dummy/app/models/dummy/module/instance.rb +0 -209
- data/spec/dummy/app/models/dummy/module/path.rb +0 -64
- data/spec/dummy/app/models/dummy/module/platform.rb +0 -19
- data/spec/dummy/app/models/dummy/module/rank.rb +0 -44
- data/spec/dummy/app/models/dummy/module/reference.rb +0 -19
- data/spec/dummy/app/models/dummy/module/target.rb +0 -62
- data/spec/dummy/app/models/dummy/module/target/architecture.rb +0 -19
- data/spec/dummy/app/models/dummy/module/target/platform.rb +0 -19
- data/spec/dummy/app/models/dummy/platform.rb +0 -58
- data/spec/dummy/app/models/dummy/reference.rb +0 -31
- data/spec/dummy/spec/factories/dummy/architectures.rb +0 -13
- data/spec/dummy/spec/factories/dummy/authorities.rb +0 -32
- data/spec/dummy/spec/factories/dummy/authors.rb +0 -8
- data/spec/dummy/spec/factories/dummy/email_addresses.rb +0 -8
- data/spec/dummy/spec/factories/dummy/module/actions.rb +0 -13
- data/spec/dummy/spec/factories/dummy/module/ancestors.rb +0 -45
- data/spec/dummy/spec/factories/dummy/module/architectures.rb +0 -35
- data/spec/dummy/spec/factories/dummy/module/authors.rb +0 -10
- data/spec/dummy/spec/factories/dummy/module/classes.rb +0 -40
- data/spec/dummy/spec/factories/dummy/module/instances.rb +0 -86
- data/spec/dummy/spec/factories/dummy/module/paths.rb +0 -16
- data/spec/dummy/spec/factories/dummy/module/platforms.rb +0 -35
- data/spec/dummy/spec/factories/dummy/module/ranks.rb +0 -14
- data/spec/dummy/spec/factories/dummy/module/references.rb +0 -17
- data/spec/dummy/spec/factories/dummy/module/target/architectures.rb +0 -40
- data/spec/dummy/spec/factories/dummy/module/target/platforms.rb +0 -41
- data/spec/dummy/spec/factories/dummy/module/targets.rb +0 -46
- data/spec/dummy/spec/factories/dummy/platforms.rb +0 -3
- data/spec/dummy/spec/factories/dummy/references.rb +0 -26
- data/spec/factories/metasploit/model/architectures.rb +0 -6
- data/spec/factories/metasploit/model/authorities.rb +0 -28
- data/spec/factories/metasploit/model/authors.rb +0 -9
- data/spec/factories/metasploit/model/email_addresses.rb +0 -14
- data/spec/factories/metasploit/model/module/actions.rb +0 -9
- data/spec/factories/metasploit/model/module/ancestors.rb +0 -180
- data/spec/factories/metasploit/model/module/architectures.rb +0 -15
- data/spec/factories/metasploit/model/module/classes.rb +0 -47
- data/spec/factories/metasploit/model/module/handlers.rb +0 -3
- data/spec/factories/metasploit/model/module/instances.rb +0 -83
- data/spec/factories/metasploit/model/module/paths.rb +0 -51
- data/spec/factories/metasploit/model/module/platforms.rb +0 -15
- data/spec/factories/metasploit/model/module/ranks.rb +0 -9
- data/spec/factories/metasploit/model/module/references.rb +0 -11
- data/spec/factories/metasploit/model/module/stances.rb +0 -3
- data/spec/factories/metasploit/model/module/targets.rb +0 -22
- data/spec/factories/metasploit/model/module/types.rb +0 -5
- data/spec/factories/metasploit/model/references.rb +0 -88
- data/spec/lib/metasploit/model/architecture_spec.rb +0 -52
- data/spec/lib/metasploit/model/author_spec.rb +0 -6
- data/spec/lib/metasploit/model/authority/bid_spec.rb +0 -17
- data/spec/lib/metasploit/model/authority/cve_spec.rb +0 -17
- data/spec/lib/metasploit/model/authority/msb_spec.rb +0 -17
- data/spec/lib/metasploit/model/authority/osvdb_spec.rb +0 -17
- data/spec/lib/metasploit/model/authority/pmasa_spec.rb +0 -17
- data/spec/lib/metasploit/model/authority/secunia_spec.rb +0 -17
- data/spec/lib/metasploit/model/authority/us_cert_vu_spec.rb +0 -17
- data/spec/lib/metasploit/model/authority/waraxe_spec.rb +0 -51
- data/spec/lib/metasploit/model/authority/zdi_spec.rb +0 -21
- data/spec/lib/metasploit/model/authority_spec.rb +0 -10
- data/spec/lib/metasploit/model/derivation/full_name_spec.rb +0 -75
- data/spec/lib/metasploit/model/derivation_spec.rb +0 -217
- data/spec/lib/metasploit/model/email_address_spec.rb +0 -19
- data/spec/lib/metasploit/model/module/action_spec.rb +0 -6
- data/spec/lib/metasploit/model/module/ancestor_spec.rb +0 -6
- data/spec/lib/metasploit/model/module/architecture_spec.rb +0 -9
- data/spec/lib/metasploit/model/module/author_spec.rb +0 -6
- data/spec/lib/metasploit/model/module/class_spec.rb +0 -19
- data/spec/lib/metasploit/model/module/handler_spec.rb +0 -61
- data/spec/lib/metasploit/model/module/instance_spec.rb +0 -183
- data/spec/lib/metasploit/model/module/path_spec.rb +0 -6
- data/spec/lib/metasploit/model/module/platform_spec.rb +0 -9
- data/spec/lib/metasploit/model/module/rank_spec.rb +0 -29
- data/spec/lib/metasploit/model/module/reference_spec.rb +0 -9
- data/spec/lib/metasploit/model/module/stance_spec.rb +0 -30
- data/spec/lib/metasploit/model/module/target/architecture_spec.rb +0 -9
- data/spec/lib/metasploit/model/module/target/platform_spec.rb +0 -9
- data/spec/lib/metasploit/model/module/target_spec.rb +0 -9
- data/spec/lib/metasploit/model/module/type_spec.rb +0 -125
- data/spec/lib/metasploit/model/platform_spec.rb +0 -100
- data/spec/lib/metasploit/model/reference_spec.rb +0 -21
- data/spec/support/shared/contexts/metasploit/model/module/ancestor/contents/metasploit_module.rb +0 -12
- data/spec/support/shared/contexts/metasploit/model/module/ancestor/factory/contents.rb +0 -10
- data/spec/support/shared/contexts/metasploit/model/module/ancestor/factory/contents/metasploit_module.rb +0 -15
- data/spec/support/shared/examples/derives.rb +0 -115
- data/spec/support/shared/examples/metasploit/model/architecture.rb +0 -425
- data/spec/support/shared/examples/metasploit/model/architecture/seed.rb +0 -25
- data/spec/support/shared/examples/metasploit/model/author.rb +0 -27
- data/spec/support/shared/examples/metasploit/model/authority.rb +0 -124
- data/spec/support/shared/examples/metasploit/model/authority/seed.rb +0 -49
- data/spec/support/shared/examples/metasploit/model/email_address.rb +0 -220
- data/spec/support/shared/examples/metasploit/model/module/action.rb +0 -26
- data/spec/support/shared/examples/metasploit/model/module/ancestor.rb +0 -2004
- data/spec/support/shared/examples/metasploit/model/module/ancestor/payload_factory.rb +0 -63
- data/spec/support/shared/examples/metasploit/model/module/architecture.rb +0 -36
- data/spec/support/shared/examples/metasploit/model/module/author.rb +0 -29
- data/spec/support/shared/examples/metasploit/model/module/class.rb +0 -1514
- data/spec/support/shared/examples/metasploit/model/module/handler.rb +0 -21
- data/spec/support/shared/examples/metasploit/model/module/instance.rb +0 -1384
- data/spec/support/shared/examples/metasploit/model/module/instance/class_methods.rb +0 -537
- data/spec/support/shared/examples/metasploit/model/module/instance/is_not_stanced_with_module_type.rb +0 -22
- data/spec/support/shared/examples/metasploit/model/module/instance/is_stanced_with_module_type.rb +0 -38
- data/spec/support/shared/examples/metasploit/model/module/instance/validates/dynamic_length_of.rb +0 -131
- data/spec/support/shared/examples/metasploit/model/module/path.rb +0 -493
- data/spec/support/shared/examples/metasploit/model/module/platform.rb +0 -36
- data/spec/support/shared/examples/metasploit/model/module/rank.rb +0 -92
- data/spec/support/shared/examples/metasploit/model/module/reference.rb +0 -16
- data/spec/support/shared/examples/metasploit/model/module/target.rb +0 -29
- data/spec/support/shared/examples/metasploit/model/module/target/architecture.rb +0 -56
- data/spec/support/shared/examples/metasploit/model/module/target/platform.rb +0 -56
- data/spec/support/shared/examples/metasploit/model/platform.rb +0 -213
- data/spec/support/shared/examples/metasploit/model/real_pathname.rb +0 -29
- data/spec/support/shared/examples/metasploit/model/reference.rb +0 -410
- data/spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/app.rb +0 -44
- data/spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb +0 -72
- data/spec/support/templates/metasploit/model/module/ancestors/_attributes.rb.erb +0 -9
- data/spec/support/templates/metasploit/model/module/ancestors/_methods.rb.erb +0 -8
- data/spec/support/templates/metasploit/model/module/ancestors/_validations.rb.erb +0 -6
- data/spec/support/templates/metasploit/model/module/ancestors/base.rb.erb +0 -3
- data/spec/support/templates/metasploit/model/module/ancestors/module_types/_auxiliary.rb.erb +0 -1
- data/spec/support/templates/metasploit/model/module/ancestors/module_types/_encoder.rb.erb +0 -1
- data/spec/support/templates/metasploit/model/module/ancestors/module_types/_exploit.rb.erb +0 -1
- data/spec/support/templates/metasploit/model/module/ancestors/module_types/_non_payload.rb.erb +0 -5
- data/spec/support/templates/metasploit/model/module/ancestors/module_types/_nop.rb.erb +0 -1
- data/spec/support/templates/metasploit/model/module/ancestors/module_types/_payload.rb.erb +0 -4
- data/spec/support/templates/metasploit/model/module/ancestors/module_types/_post.rb.erb +0 -1
- data/spec/support/templates/metasploit/model/module/ancestors/payload_types/_handled.rb.erb +0 -20
- data/spec/support/templates/metasploit/model/module/ancestors/payload_types/_single.rb.erb +0 -1
- data/spec/support/templates/metasploit/model/module/ancestors/payload_types/_stage.rb.erb +0 -0
- data/spec/support/templates/metasploit/model/module/ancestors/payload_types/_stager.rb.erb +0 -1
- data/spec/support/templates/metasploit/model/module/classes/_methods.rb.erb +0 -9
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
FactoryGirl.define do
|
|
2
|
-
factory :dummy_module_architecture,
|
|
3
|
-
class: Dummy::Module::Architecture,
|
|
4
|
-
traits: [
|
|
5
|
-
:metasploit_model_base,
|
|
6
|
-
:metasploit_model_module_architecture
|
|
7
|
-
] do
|
|
8
|
-
ignore do
|
|
9
|
-
# have to use module_type from metasploit_model_module_architecture trait to ensure module_instance will support
|
|
10
|
-
# module architectures.
|
|
11
|
-
module_class { FactoryGirl.create(:dummy_module_class, module_type: module_type) }
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
architecture { generate :dummy_architecture }
|
|
15
|
-
module_instance {
|
|
16
|
-
FactoryGirl.build(
|
|
17
|
-
:dummy_module_instance,
|
|
18
|
-
# disable module_instance factory from building module_architectures since this factory is already building
|
|
19
|
-
# one
|
|
20
|
-
module_architectures_length: 0,
|
|
21
|
-
module_class: module_class
|
|
22
|
-
)
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
after(:build) do |module_architecture|
|
|
26
|
-
module_instance = module_architecture.module_instance
|
|
27
|
-
|
|
28
|
-
if module_instance
|
|
29
|
-
unless module_instance.module_architectures.include? module_architecture
|
|
30
|
-
module_instance.module_architectures << module_architecture
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
FactoryGirl.define do
|
|
2
|
-
factory :dummy_module_author, :class => Dummy::Module::Author do
|
|
3
|
-
association :author, :factory => :dummy_author
|
|
4
|
-
association :module_instance, :factory => :dummy_module_instance
|
|
5
|
-
|
|
6
|
-
factory :full_dummy_module_author do
|
|
7
|
-
association :email_address, :factory => :dummy_email_address
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
end
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
FactoryGirl.define do
|
|
2
|
-
factory :dummy_module_class,
|
|
3
|
-
:class => Dummy::Module::Class,
|
|
4
|
-
:traits => [
|
|
5
|
-
:metasploit_model_base,
|
|
6
|
-
:metasploit_model_module_class
|
|
7
|
-
] do
|
|
8
|
-
#
|
|
9
|
-
# Associations
|
|
10
|
-
#
|
|
11
|
-
|
|
12
|
-
# depends on module_type and payload_type
|
|
13
|
-
ancestors {
|
|
14
|
-
ancestors = []
|
|
15
|
-
|
|
16
|
-
# ignored attribute from factory; NOT the instance attribute
|
|
17
|
-
case module_type
|
|
18
|
-
when 'payload'
|
|
19
|
-
# ignored attribute from factory; NOT the instance attribute
|
|
20
|
-
case payload_type
|
|
21
|
-
when 'single'
|
|
22
|
-
ancestors << FactoryGirl.create(:single_payload_dummy_module_ancestor)
|
|
23
|
-
when 'staged'
|
|
24
|
-
ancestors << FactoryGirl.create(:stage_payload_dummy_module_ancestor)
|
|
25
|
-
ancestors << FactoryGirl.create(:stager_payload_dummy_module_ancestor)
|
|
26
|
-
else
|
|
27
|
-
raise ArgumentError,
|
|
28
|
-
"Don't know how to create Dummy::Module::Class#ancestors " \
|
|
29
|
-
"for Dummy::Module::Class#payload_type (#{payload_type})"
|
|
30
|
-
end
|
|
31
|
-
else
|
|
32
|
-
ancestors << FactoryGirl.create(:dummy_module_ancestor, :module_type => module_type)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
ancestors
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
rank { generate :dummy_module_rank }
|
|
39
|
-
end
|
|
40
|
-
end
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
FactoryGirl.define do
|
|
2
|
-
factory_by_attribute = {
|
|
3
|
-
actions: :dummy_module_action,
|
|
4
|
-
module_references: :dummy_module_reference,
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
factory :dummy_module_instance,
|
|
8
|
-
:class => Dummy::Module::Instance,
|
|
9
|
-
:traits => [
|
|
10
|
-
:metasploit_model_base,
|
|
11
|
-
:metasploit_model_module_instance
|
|
12
|
-
] do
|
|
13
|
-
#
|
|
14
|
-
# Associations
|
|
15
|
-
#
|
|
16
|
-
|
|
17
|
-
association :module_class, :factory => :dummy_module_class
|
|
18
|
-
|
|
19
|
-
# attribute must be called after association is created so that support_stance? has access to module_class
|
|
20
|
-
# needs to be declared explicitly after association as calling trait here (instead as an argument to factory
|
|
21
|
-
# :traits) did not work.
|
|
22
|
-
stance {
|
|
23
|
-
if stanced?
|
|
24
|
-
generate :metasploit_model_module_stance
|
|
25
|
-
else
|
|
26
|
-
nil
|
|
27
|
-
end
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
# needs to be an after(:build) and not an after(:create) to ensure counted associations are populated before being
|
|
31
|
-
# validated.
|
|
32
|
-
after(:build) do |dummy_module_instance, evaluator|
|
|
33
|
-
dummy_module_instance.module_authors = evaluator.module_authors_length.times.collect {
|
|
34
|
-
FactoryGirl.build(:dummy_module_author, module_instance: dummy_module_instance)
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
module_class = dummy_module_instance.module_class
|
|
38
|
-
|
|
39
|
-
# only attempt to build supported associations if the module_class is valid because supports depends on a valid
|
|
40
|
-
# module_type and validating the module_class will derive module_type.
|
|
41
|
-
if module_class && module_class.valid?
|
|
42
|
-
factory_by_attribute.each do |attribute, factory|
|
|
43
|
-
if dummy_module_instance.allows?(attribute)
|
|
44
|
-
length = evaluator.send("#{attribute}_length")
|
|
45
|
-
|
|
46
|
-
collection = length.times.collect {
|
|
47
|
-
FactoryGirl.build(factory, module_instance: dummy_module_instance)
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
dummy_module_instance.send("#{attribute}=", collection)
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
# make sure targets are generated first so that module_architectures and module_platforms can be include
|
|
55
|
-
# the targets' architectures and platforms.
|
|
56
|
-
if dummy_module_instance.allows?(:targets)
|
|
57
|
-
# factory adds built module_targets to module_instance.
|
|
58
|
-
FactoryGirl.build_list(
|
|
59
|
-
:dummy_module_target,
|
|
60
|
-
evaluator.targets_length,
|
|
61
|
-
module_instance: dummy_module_instance
|
|
62
|
-
)
|
|
63
|
-
# module_architectures and module_platforms will be derived from targets
|
|
64
|
-
else
|
|
65
|
-
# if there are no targets, then architectures and platforms need to be explicitly defined on module instance
|
|
66
|
-
# since they can't be derived from anything
|
|
67
|
-
[:architecture, :platform].each do |suffix|
|
|
68
|
-
attribute = "module_#{suffix.to_s.pluralize}".to_sym
|
|
69
|
-
|
|
70
|
-
if dummy_module_instance.allows?(attribute)
|
|
71
|
-
factory = "dummy_module_#{suffix}"
|
|
72
|
-
length = evaluator.send("#{attribute}_length")
|
|
73
|
-
|
|
74
|
-
collection = FactoryGirl.build_list(
|
|
75
|
-
factory,
|
|
76
|
-
length,
|
|
77
|
-
module_instance: dummy_module_instance
|
|
78
|
-
)
|
|
79
|
-
dummy_module_instance.send("#{attribute}=", collection)
|
|
80
|
-
end
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
end
|
|
86
|
-
end
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
FactoryGirl.define do
|
|
2
|
-
# Used to test {Metasploit::Model::Module::Path} and to ensure that traits work when used in factories.
|
|
3
|
-
factory :dummy_module_path,
|
|
4
|
-
:aliases => [
|
|
5
|
-
:unnamed_dummy_module_path
|
|
6
|
-
],
|
|
7
|
-
:class => Dummy::Module::Path,
|
|
8
|
-
:traits => [
|
|
9
|
-
:unnamed_metasploit_model_module_path
|
|
10
|
-
] do
|
|
11
|
-
factory :named_dummy_module_path,
|
|
12
|
-
:traits => [
|
|
13
|
-
:named_metasploit_model_module_path
|
|
14
|
-
]
|
|
15
|
-
end
|
|
16
|
-
end
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
FactoryGirl.define do
|
|
2
|
-
factory :dummy_module_platform,
|
|
3
|
-
class: Dummy::Module::Platform,
|
|
4
|
-
traits: [
|
|
5
|
-
:metasploit_model_base,
|
|
6
|
-
:metasploit_model_module_platform
|
|
7
|
-
] do
|
|
8
|
-
ignore do
|
|
9
|
-
# have to use module_type from metasploit_model_module_platform trait to ensure module_instance will support
|
|
10
|
-
# module platforms.
|
|
11
|
-
module_class { FactoryGirl.create(:dummy_module_class, module_type: module_type) }
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
module_instance {
|
|
15
|
-
FactoryGirl.build(
|
|
16
|
-
:dummy_module_instance,
|
|
17
|
-
module_class: module_class,
|
|
18
|
-
# disable module_instance factory from building module_platforms since this factory is already building one
|
|
19
|
-
module_platforms_length: 0
|
|
20
|
-
)
|
|
21
|
-
}
|
|
22
|
-
platform { generate :dummy_platform }
|
|
23
|
-
|
|
24
|
-
after(:build) do |module_platform|
|
|
25
|
-
module_instance = module_platform.module_instance
|
|
26
|
-
|
|
27
|
-
if module_instance
|
|
28
|
-
unless module_instance.module_platforms.include? module_platform
|
|
29
|
-
module_instance.module_platforms << module_platform
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
FactoryGirl.define do
|
|
2
|
-
# Dummy::Module::Rank does not have a factory because all valid records are seeded, so it only has a sequence to grab
|
|
3
|
-
# a seeded record
|
|
4
|
-
|
|
5
|
-
names = Metasploit::Model::Module::Rank::NUMBER_BY_NAME.keys
|
|
6
|
-
|
|
7
|
-
sequence :dummy_module_rank do |n|
|
|
8
|
-
name = names[n % names.length]
|
|
9
|
-
|
|
10
|
-
rank = Dummy::Module::Rank.with_name(name)
|
|
11
|
-
|
|
12
|
-
rank
|
|
13
|
-
end
|
|
14
|
-
end
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
FactoryGirl.define do
|
|
2
|
-
factory :dummy_module_reference,
|
|
3
|
-
class: Dummy::Module::Reference,
|
|
4
|
-
traits: [
|
|
5
|
-
:metasploit_model_base,
|
|
6
|
-
:metasploit_model_module_reference
|
|
7
|
-
] do
|
|
8
|
-
ignore do
|
|
9
|
-
# have to use module_type from metasploit_model_module_reference trait to ensure module_instance will support
|
|
10
|
-
# module references.
|
|
11
|
-
module_class { FactoryGirl.create(:dummy_module_class, module_type: module_type) }
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
module_instance { FactoryGirl.create(:dummy_module_instance, module_class: module_class) }
|
|
15
|
-
association :reference, factory: :dummy_reference
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
FactoryGirl.define do
|
|
2
|
-
factory :dummy_module_target_architecture,
|
|
3
|
-
class: Dummy::Module::Target::Architecture,
|
|
4
|
-
traits: [
|
|
5
|
-
:metasploit_model_base
|
|
6
|
-
] do
|
|
7
|
-
architecture { generate :dummy_architecture }
|
|
8
|
-
association :module_target,
|
|
9
|
-
factory: :dummy_module_target,
|
|
10
|
-
strategy: :build,
|
|
11
|
-
# disable module_target factory from building target_architectures since this factory is already
|
|
12
|
-
# building one
|
|
13
|
-
target_architectures_length: 0
|
|
14
|
-
|
|
15
|
-
after(:build) do |module_target_architecture|
|
|
16
|
-
module_target = module_target_architecture.module_target
|
|
17
|
-
|
|
18
|
-
if module_target
|
|
19
|
-
unless module_target.target_architectures.include? module_target_architecture
|
|
20
|
-
module_target.target_architectures << module_target_architecture
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
architecture = module_target_architecture.architecture
|
|
24
|
-
module_instance = module_target.module_instance
|
|
25
|
-
|
|
26
|
-
if architecture && module_instance
|
|
27
|
-
actual_architecture_set = module_instance.module_architectures.map(&:architecture)
|
|
28
|
-
|
|
29
|
-
unless actual_architecture_set.include? architecture
|
|
30
|
-
module_instance.module_architectures << FactoryGirl.build(
|
|
31
|
-
:dummy_module_architecture,
|
|
32
|
-
architecture: architecture,
|
|
33
|
-
module_instance: module_instance
|
|
34
|
-
)
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
FactoryGirl.define do
|
|
2
|
-
factory :dummy_module_target_platform,
|
|
3
|
-
class: Dummy::Module::Target::Platform,
|
|
4
|
-
traits: [
|
|
5
|
-
:metasploit_model_base
|
|
6
|
-
] do
|
|
7
|
-
association :module_target,
|
|
8
|
-
factory: :dummy_module_target,
|
|
9
|
-
strategy: :build,
|
|
10
|
-
# disable module_target factory from building target_platforms since this factory is already
|
|
11
|
-
# building one
|
|
12
|
-
target_platforms_length: 0
|
|
13
|
-
|
|
14
|
-
platform { generate :dummy_platform }
|
|
15
|
-
|
|
16
|
-
after(:build) do |module_target_platform|
|
|
17
|
-
module_target = module_target_platform.module_target
|
|
18
|
-
|
|
19
|
-
if module_target
|
|
20
|
-
unless module_target.target_platforms.include? module_target_platform
|
|
21
|
-
module_target.target_platforms << module_target_platform
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
module_instance = module_target.module_instance
|
|
25
|
-
platform = module_target_platform.platform
|
|
26
|
-
|
|
27
|
-
if module_instance && platform
|
|
28
|
-
actual_platform_set = module_instance.module_platforms.map(&:platform)
|
|
29
|
-
|
|
30
|
-
unless actual_platform_set.include? platform
|
|
31
|
-
module_instance.module_platforms << FactoryGirl.build(
|
|
32
|
-
:dummy_module_platform,
|
|
33
|
-
module_instance: module_instance,
|
|
34
|
-
platform: platform
|
|
35
|
-
)
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
FactoryGirl.define do
|
|
2
|
-
factory :dummy_module_target,
|
|
3
|
-
:class => Dummy::Module::Target,
|
|
4
|
-
:traits => [
|
|
5
|
-
:metasploit_model_base,
|
|
6
|
-
:metasploit_model_module_target
|
|
7
|
-
] do
|
|
8
|
-
ignore do
|
|
9
|
-
# have to use module_type from metasploit_model_module_target trait to ensure module_instance will support
|
|
10
|
-
# module targets.
|
|
11
|
-
module_class { FactoryGirl.create(:dummy_module_class, module_type: module_type) }
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
module_instance {
|
|
15
|
-
# module_instance MUST be built because it will fail validation without targets
|
|
16
|
-
FactoryGirl.build(
|
|
17
|
-
:dummy_module_instance,
|
|
18
|
-
module_class: module_class,
|
|
19
|
-
# disable module_instance factory's after(:build) from building module_targets since this factory is already
|
|
20
|
-
# building it and if they both build module_targets, then the validations will detect a mismatch.
|
|
21
|
-
targets_length: 0
|
|
22
|
-
)
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
after(:build) { |dummy_module_target, evaluator|
|
|
26
|
-
[:architecture, :platform].each do |infix|
|
|
27
|
-
attribute = "target_#{infix.to_s.pluralize}"
|
|
28
|
-
factory = "dummy_module_target_#{infix}"
|
|
29
|
-
length = evaluator.send("#{attribute}_length")
|
|
30
|
-
|
|
31
|
-
# factories add selves to associations on dummy_module_target
|
|
32
|
-
FactoryGirl.build_list(
|
|
33
|
-
factory,
|
|
34
|
-
length,
|
|
35
|
-
module_target: dummy_module_target
|
|
36
|
-
)
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
module_instance = dummy_module_target.module_instance
|
|
40
|
-
|
|
41
|
-
unless module_instance.targets.include? dummy_module_target
|
|
42
|
-
module_instance.targets << dummy_module_target
|
|
43
|
-
end
|
|
44
|
-
}
|
|
45
|
-
end
|
|
46
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
FactoryGirl.define do
|
|
2
|
-
factory :dummy_reference,
|
|
3
|
-
:class => Dummy::Reference,
|
|
4
|
-
:traits => [
|
|
5
|
-
:metasploit_model_base,
|
|
6
|
-
:metasploit_model_reference
|
|
7
|
-
] do
|
|
8
|
-
#
|
|
9
|
-
# Associations
|
|
10
|
-
#
|
|
11
|
-
|
|
12
|
-
association :authority, :factory => :dummy_authority
|
|
13
|
-
|
|
14
|
-
factory :obsolete_dummy_reference,
|
|
15
|
-
:traits => [
|
|
16
|
-
:obsolete_metasploit_model_reference
|
|
17
|
-
] do
|
|
18
|
-
association :authority, :factory => :obsolete_dummy_authority
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
factory :url_dummy_reference,
|
|
22
|
-
:traits => [
|
|
23
|
-
:url_metasploit_model_reference
|
|
24
|
-
]
|
|
25
|
-
end
|
|
26
|
-
end
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
FactoryGirl.define do
|
|
2
|
-
sequence :metasploit_model_architecture_abbreviation, Metasploit::Model::Architecture::ABBREVIATIONS.cycle
|
|
3
|
-
sequence :metasploit_model_architecture_bits, Metasploit::Model::Architecture::BITS.cycle
|
|
4
|
-
sequence :metasploit_model_architecture_endianness, Metasploit::Model::Architecture::ENDIANNESSES.cycle
|
|
5
|
-
sequence :metasploit_model_architecture_family, Metasploit::Model::Architecture::FAMILIES.cycle
|
|
6
|
-
end
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
FactoryGirl.define do
|
|
2
|
-
sequence :metasploit_model_authority_abbreviation do |n|
|
|
3
|
-
# can't use '-' as {Metasploit::Model::Search::Operator::Deprecated::Ref} treats '-' as separating authority
|
|
4
|
-
# abbreviation from reference designation.
|
|
5
|
-
"METASPLOIT_MODEL_AUTHORITY#{n}"
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
sequence :metasploit_model_authority_summary do |n|
|
|
9
|
-
"Metasploit::Model::Authority #{n}"
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
sequence :metasploit_model_authority_url do |n|
|
|
13
|
-
"http://example.com/metasploit/model/authority/#{n}"
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
trait :metasploit_model_authority do
|
|
17
|
-
abbreviation { generate :metasploit_model_authority_abbreviation }
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
trait :full_metasploit_model_authority do
|
|
21
|
-
summary { generate :metasploit_model_authority_summary }
|
|
22
|
-
url { generate :metasploit_model_authority_url }
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
trait :obsolete_metasploit_model_authority do
|
|
26
|
-
obsolete { true }
|
|
27
|
-
end
|
|
28
|
-
end
|