metasploit-model 2.0.4 → 3.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.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.travis.yml +8 -3
- data/.yardopts +2 -1
- data/Gemfile +2 -2
- data/app/validators/ip_format_validator.rb +1 -1
- data/app/validators/nil_validator.rb +2 -2
- data/app/validators/parameters_validator.rb +2 -2
- data/app/validators/password_is_strong_validator.rb +2 -2
- data/bin/rails +14 -0
- data/lib/metasploit/model/base.rb +2 -2
- data/lib/metasploit/model/engine.rb +2 -2
- data/lib/metasploit/model/search/attribute.rb +1 -1
- data/lib/metasploit/model/translation.rb +2 -2
- data/lib/metasploit/model/version.rb +1 -1
- data/metasploit-model.gemspec +3 -5
- data/spec/app/models/metasploit/model/association/reflection_spec.rb +2 -2
- data/spec/app/models/metasploit/model/search/operator/association_spec.rb +1 -1
- data/spec/app/models/metasploit/model/search/operator/attribute_spec.rb +1 -1
- data/spec/dummy/app/models/application_record.rb +3 -0
- data/spec/dummy/config/application.rb +1 -5
- data/spec/dummy/config/environments/development.rb +0 -10
- data/spec/dummy/db/schema.rb +0 -1
- data/spec/factories/metasploit/model/association/reflections.rb +1 -1
- data/spec/factories/metasploit/model/bases.rb +1 -1
- data/spec/factories/metasploit/model/search/operator/associations.rb +1 -1
- data/spec/factories/metasploit/model/search/operator/attributes.rb +1 -1
- data/spec/factories/metasploit/model/search/operator/bases.rb +1 -1
- data/spec/lib/metasploit/model/engine_spec.rb +3 -3
- data/spec/lib/metasploit/model/search/attribute_spec.rb +2 -2
- metadata +88 -97
- metadata.gz.sig +2 -1
- data/spec/dummy/config/initializers/assets.rb +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 1a5f988847549534fae7fffc226d076ba4bd61664ec29df83d88bd063841d7a4
|
4
|
+
data.tar.gz: c9e43a7f1669acf013d92202396df2e37a2225a9ddebd0d868d448891015d0d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b3382aedd7f694cb1d1087d524763f00d0c01f505cd530cb5acf708681a78c6e94ef8725bbd07e1174d107eba468a5c4ec905c6dc30c22825afbfba74ba6fdec
|
7
|
+
data.tar.gz: b86c773e1eb4789c7b32660f24bceb4a7746f0d148ef57a668ab1fd6e55eb1337a12d498414dc9e17255328e3d6efba2ab5acf4b627ca595f8eccf30805d4769
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/.travis.yml
CHANGED
@@ -1,16 +1,21 @@
|
|
1
|
+
dist: trusty
|
1
2
|
group: stable
|
2
3
|
sudo: false
|
3
4
|
cache: bundler
|
4
5
|
language: ruby
|
5
6
|
addons:
|
6
|
-
postgresql: '9.
|
7
|
+
postgresql: '9.6'
|
7
8
|
apt:
|
8
9
|
packages:
|
9
10
|
- graphviz
|
10
11
|
rvm:
|
11
|
-
- 2.
|
12
|
+
- 2.6.5
|
12
13
|
before_install:
|
13
|
-
- gem
|
14
|
+
- gem install bundler
|
15
|
+
- cp spec/dummy/config/database.yml.travis spec/dummy/config/database.yml
|
16
|
+
- bundle install
|
17
|
+
- bundle exec rake --version
|
18
|
+
- bundle exec rake db:test:prepare
|
14
19
|
script:
|
15
20
|
- bundle exec rake spec
|
16
21
|
- bundle exec rake yard
|
data/.yardopts
CHANGED
data/Gemfile
CHANGED
@@ -7,9 +7,9 @@ gemspec
|
|
7
7
|
group :development, :test do
|
8
8
|
# supplies factories for producing model instance for specs
|
9
9
|
# Version 4.1.0 or newer is needed to support generate calls without the 'FactoryGirl.' in factory definitions syntax.
|
10
|
-
gem '
|
10
|
+
gem 'factory_bot'
|
11
11
|
# auto-load factories from spec/factories
|
12
|
-
gem '
|
12
|
+
gem 'factory_bot_rails'
|
13
13
|
end
|
14
14
|
|
15
15
|
group :test do
|
@@ -4,7 +4,7 @@ require 'ipaddr'
|
|
4
4
|
class IpFormatValidator < ActiveModel::EachValidator
|
5
5
|
# Validates that `value` is an IPv4 or IPv4 address. Ranges in CIDR or netmask notation are not allowed.
|
6
6
|
#
|
7
|
-
# @param record [#errors,
|
7
|
+
# @param record [#errors, ApplicationRecord] ActiveModel or ActiveRecord
|
8
8
|
# @param attribute [Symbol] name of IP address attribute.
|
9
9
|
# @param value [String, nil] IP address.
|
10
10
|
# @return [void]
|
@@ -4,7 +4,7 @@
|
|
4
4
|
class NilValidator < ActiveModel::EachValidator
|
5
5
|
# Validates that `value` is `nil`.
|
6
6
|
#
|
7
|
-
# @param record [#errors,
|
7
|
+
# @param record [#errors, ApplicationRecord] an ActiveModel or ActiveRecord
|
8
8
|
# @param attribute [Symbol] name of attribute being validated.
|
9
9
|
# @param value [#nil?] value of `attribute` to check with `nil?`
|
10
10
|
# @return [void]
|
@@ -13,4 +13,4 @@ class NilValidator < ActiveModel::EachValidator
|
|
13
13
|
record.errors[attribute] << 'must be nil'
|
14
14
|
end
|
15
15
|
end
|
16
|
-
end
|
16
|
+
end
|
@@ -7,7 +7,7 @@ class ParametersValidator < ActiveModel::EachValidator
|
|
7
7
|
# Validates that attribute's value is Array<Array(String, String)> which is the only valid type signature for
|
8
8
|
# serialized parameters. Errors are specific to the how different `value` is compared to correct format.
|
9
9
|
#
|
10
|
-
# @param record [#errors,
|
10
|
+
# @param record [#errors, ApplicationRecord] ActiveModel or ActiveRecord
|
11
11
|
# @param attribute [Symbol] serialized parameters attribute name.
|
12
12
|
# @param value [Object, nil, Array, Array<Array>, Array<Array(String, String)>] serialized parameters.
|
13
13
|
# @return [void]
|
@@ -144,4 +144,4 @@ class ParametersValidator < ActiveModel::EachValidator
|
|
144
144
|
|
145
145
|
clause
|
146
146
|
end
|
147
|
-
end
|
147
|
+
end
|
@@ -19,7 +19,7 @@ class PasswordIsStrongValidator < ActiveModel::EachValidator
|
|
19
19
|
# * SHOULD NOT be in {COMMON_PASSWORDS}.
|
20
20
|
# * SHOULD NOT repetitions.
|
21
21
|
#
|
22
|
-
# @param record [#errors, #username,
|
22
|
+
# @param record [#errors, #username, ApplicationRecord] ActiveModel or ActiveRecord that supports #username method.
|
23
23
|
# @param attribute [Symbol] password attribute name.
|
24
24
|
# @param value [String] a password.
|
25
25
|
# @return [void]
|
@@ -112,4 +112,4 @@ class PasswordIsStrongValidator < ActiveModel::EachValidator
|
|
112
112
|
def is_simple?(password)
|
113
113
|
not (password =~ /[A-Za-z]/ and password =~ /[0-9]/ and password =~ /[\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f\x3a\x3b\x3c\x3d\x3e\x3f\x5b\x5c\x5d\x5e\x5f\x60\x7b\x7c\x7d\x7e]/)
|
114
114
|
end
|
115
|
-
end
|
115
|
+
end
|
data/bin/rails
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# This command will automatically be run when you run "rails" with Rails gems
|
3
|
+
# installed from the root of your application.
|
4
|
+
|
5
|
+
ENGINE_ROOT = File.expand_path('..', __dir__)
|
6
|
+
ENGINE_PATH = File.expand_path('../lib/metasploit/model/engine', __dir__)
|
7
|
+
APP_PATH = File.expand_path('../test/dummy/config/application', __dir__)
|
8
|
+
|
9
|
+
# Set up gems listed in the Gemfile.
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
|
11
|
+
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
|
12
|
+
|
13
|
+
require 'rails/all'
|
14
|
+
require 'rails/engine/commands'
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Superclass for all Metasploit::Models. Just adds a default {#initialize} to make models mimic behavior of
|
2
|
-
#
|
2
|
+
# ApplicationRecord subclasses.
|
3
3
|
class Metasploit::Model::Base
|
4
4
|
include ActiveModel::Validations
|
5
5
|
|
@@ -22,4 +22,4 @@ class Metasploit::Model::Base
|
|
22
22
|
raise Metasploit::Model::Invalid.new(self)
|
23
23
|
end
|
24
24
|
end
|
25
|
-
end
|
25
|
+
end
|
@@ -22,12 +22,12 @@ class Metasploit::Model::Engine < Rails::Engine
|
|
22
22
|
end
|
23
23
|
|
24
24
|
initializer 'metasploit-model.prepend_factory_path', :after => 'factory_girl.set_factory_paths' do
|
25
|
-
if defined?
|
25
|
+
if defined? FactoryBot
|
26
26
|
relative_definition_file_path = config.generators.options[:factory_girl][:dir]
|
27
27
|
definition_file_path = root.join(relative_definition_file_path)
|
28
28
|
|
29
29
|
# unshift so that dependent gems can modify metasploit-model's factories
|
30
|
-
|
30
|
+
FactoryBot.definition_file_paths.unshift definition_file_path
|
31
31
|
end
|
32
32
|
end
|
33
33
|
end
|
@@ -16,7 +16,7 @@
|
|
16
16
|
# The help for each operator is uses the `I18n` system, so the help for an attribute operator on a given class can
|
17
17
|
# added to `config/locales/<lang>.yml`. The scope of the lookup, under the language key is the `Class`'s
|
18
18
|
# `i18n_scope`, which is `metasploit.model` if the `Class` includes {Metasploit::Model::Translation} or
|
19
|
-
# `active_record` for `
|
19
|
+
# `active_record` for `ApplicationRecord` subclasses. Under the `i18n_scope`, any `Module#ancestor`'s
|
20
20
|
# `model_name.i18n_key` can be used to look up the help for an attribute's operator. This allows for super
|
21
21
|
# classes or mixins to define the search operator help for subclasses.
|
22
22
|
#
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# ActiveRecord::Translation is a dirty bastard and overrides `ActiveModel::Translation#lookup_ancestors`, so that it
|
2
2
|
# will only count superclasses, and not all ancestors. Metasploit::Model needs the original behavior so that its
|
3
|
-
# {Metasploit::Model::Module} modules can supply translations to both `
|
3
|
+
# {Metasploit::Model::Module} modules can supply translations to both `ApplicationRecord` descendants in `Mdm` and
|
4
4
|
# `ActiveModel` descendants in `Metasploit::Framework`
|
5
5
|
#
|
6
6
|
# @see https://github.com/rails/rails/issues/11409
|
@@ -28,4 +28,4 @@ module Metasploit::Model::Translation
|
|
28
28
|
'metasploit.model'
|
29
29
|
end
|
30
30
|
end
|
31
|
-
end
|
31
|
+
end
|
data/metasploit-model.gemspec
CHANGED
@@ -12,13 +12,11 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.summary = %q{Metasploit Model Mixins and Validators}
|
13
13
|
|
14
14
|
spec.files = `git ls-files`.split($/)
|
15
|
-
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
16
15
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
17
16
|
spec.require_paths = %w{app/models app/validators lib}
|
18
17
|
|
19
18
|
spec.required_ruby_version = '>= 2.2.0'
|
20
19
|
|
21
|
-
spec.add_development_dependency 'bundler', '~> 1.3'
|
22
20
|
spec.add_development_dependency 'metasploit-yard'
|
23
21
|
spec.add_development_dependency 'metasploit-erd'
|
24
22
|
spec.add_development_dependency 'rake'
|
@@ -29,10 +27,10 @@ Gem::Specification.new do |spec|
|
|
29
27
|
|
30
28
|
# Dependency loading
|
31
29
|
|
32
|
-
spec.add_runtime_dependency 'activemodel', '~>
|
33
|
-
spec.add_runtime_dependency 'activesupport', '~>
|
30
|
+
spec.add_runtime_dependency 'activemodel', '~> 5.2.2'
|
31
|
+
spec.add_runtime_dependency 'activesupport', '~> 5.2.2'
|
34
32
|
|
35
|
-
spec.add_runtime_dependency 'railties', '~>
|
33
|
+
spec.add_runtime_dependency 'railties', '~> 5.2.2'
|
36
34
|
|
37
35
|
if RUBY_PLATFORM =~ /java/
|
38
36
|
# markdown formatting for yard
|
@@ -12,7 +12,7 @@ RSpec.describe Metasploit::Model::Association::Reflection, type: :model do
|
|
12
12
|
|
13
13
|
|
14
14
|
let(:class_name) do
|
15
|
-
|
15
|
+
FactoryBot.generate :metasploit_model_association_reflection_class_name
|
16
16
|
end
|
17
17
|
|
18
18
|
let(:class_name_class) do
|
@@ -24,7 +24,7 @@ RSpec.describe Metasploit::Model::Association::Reflection, type: :model do
|
|
24
24
|
end
|
25
25
|
|
26
26
|
let(:name) do
|
27
|
-
|
27
|
+
FactoryBot.generate :metasploit_model_association_reflection_name
|
28
28
|
end
|
29
29
|
|
30
30
|
let(:reflection) do
|
@@ -7,7 +7,7 @@ RSpec.describe Metasploit::Model::Search::Operator::Association, type: :model do
|
|
7
7
|
end
|
8
8
|
|
9
9
|
let(:association) do
|
10
|
-
|
10
|
+
FactoryBot.generate :metasploit_model_search_operator_association_association
|
11
11
|
end
|
12
12
|
|
13
13
|
let(:source_operator) do
|
@@ -86,7 +86,7 @@ RSpec.describe Metasploit::Model::Search::Operator::Attribute, type: :model do
|
|
86
86
|
end
|
87
87
|
|
88
88
|
let(:attribute) do
|
89
|
-
|
89
|
+
FactoryBot.generate :metasploit_model_search_operator_attribute_attribute
|
90
90
|
end
|
91
91
|
|
92
92
|
let(:attribute_operator) do
|
@@ -3,6 +3,7 @@ require File.expand_path('../boot', __FILE__)
|
|
3
3
|
# Pick the frameworks you want:
|
4
4
|
require 'active_model/railtie'
|
5
5
|
require 'action_controller/railtie'
|
6
|
+
require 'active_record/railtie'
|
6
7
|
|
7
8
|
Bundler.require(*Rails.groups)
|
8
9
|
|
@@ -40,11 +41,6 @@ module Dummy
|
|
40
41
|
# Enable escaping HTML in JSON.
|
41
42
|
config.active_support.escape_html_entities_in_json = true
|
42
43
|
|
43
|
-
# Enable the asset pipeline
|
44
|
-
config.assets.enabled = false
|
45
|
-
|
46
|
-
# Version of your assets, change this if you want to expire all your assets
|
47
|
-
config.assets.version = '1.0'
|
48
44
|
end
|
49
45
|
end
|
50
46
|
|
@@ -20,16 +20,6 @@ Rails.application.configure do
|
|
20
20
|
# Raise an error on page load if there are pending migrations.
|
21
21
|
config.active_record.migration_error = :page_load
|
22
22
|
|
23
|
-
# Debug mode disables concatenation and preprocessing of assets.
|
24
|
-
# This option may cause significant delays in view rendering with a large
|
25
|
-
# number of complex assets.
|
26
|
-
config.assets.debug = true
|
27
|
-
|
28
|
-
# Adds additional error checking when serving assets at runtime.
|
29
|
-
# Checks for improperly declared sprockets dependencies.
|
30
|
-
# Raises helpful error messages.
|
31
|
-
config.assets.raise_runtime_errors = true
|
32
|
-
|
33
23
|
# Raises error for missing translations
|
34
24
|
# config.action_view.raise_on_missing_translations = true
|
35
25
|
end
|
data/spec/dummy/db/schema.rb
CHANGED
@@ -106,11 +106,11 @@ RSpec.describe Metasploit::Model::Engine do
|
|
106
106
|
initializer.run
|
107
107
|
end
|
108
108
|
|
109
|
-
context 'with
|
110
|
-
it 'should prepend full path to spec/factories to
|
109
|
+
context 'with FactoryBot defined' do
|
110
|
+
it 'should prepend full path to spec/factories to FactoryBot.definition_file_paths' do
|
111
111
|
definition_file_path = Metasploit::Model::Engine.root.join('spec', 'factories')
|
112
112
|
|
113
|
-
expect(
|
113
|
+
expect(FactoryBot.definition_file_paths).to receive(:unshift).with(definition_file_path)
|
114
114
|
|
115
115
|
run
|
116
116
|
end
|
@@ -10,12 +10,12 @@ RSpec.describe Metasploit::Model::Search::Attribute do
|
|
10
10
|
context 'search_attribute' do
|
11
11
|
context 'with attribute' do
|
12
12
|
let(:attribute) do
|
13
|
-
|
13
|
+
FactoryBot.generate :metasploit_model_search_operator_attribute_attribute
|
14
14
|
end
|
15
15
|
|
16
16
|
context 'with :type' do
|
17
17
|
let(:type) do
|
18
|
-
|
18
|
+
FactoryBot.generate :metasploit_model_search_operator_attribute_type
|
19
19
|
end
|
20
20
|
|
21
21
|
context 'operator' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metasploit-model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luke Imhoff
|
@@ -10,100 +10,91 @@ bindir: bin
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
13
|
+
MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
|
14
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
15
|
+
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
|
16
|
+
b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
|
17
|
+
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
|
18
|
+
cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
|
19
|
+
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
|
20
|
+
JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
|
21
|
+
mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
|
22
|
+
wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
|
23
|
+
VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
|
24
|
+
AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
|
25
|
+
AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
|
26
|
+
BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
|
27
|
+
pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
|
28
|
+
dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
|
29
|
+
fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
|
30
|
+
NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
|
31
|
+
H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
|
32
|
+
+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
|
32
33
|
-----END CERTIFICATE-----
|
33
34
|
- |
|
34
35
|
-----BEGIN CERTIFICATE-----
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
36
|
+
MIIFMDCCBBigAwIBAgIQBAkYG1/Vu2Z1U0O1b5VQCDANBgkqhkiG9w0BAQsFADBl
|
37
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
38
|
+
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
|
39
|
+
b3QgQ0EwHhcNMTMxMDIyMTIwMDAwWhcNMjgxMDIyMTIwMDAwWjByMQswCQYDVQQG
|
40
|
+
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
|
41
|
+
cnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQgSUQgQ29kZSBT
|
42
|
+
aWduaW5nIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+NOzHH8O
|
43
|
+
Ea9ndwfTCzFJGc/Q+0WZsTrbRPV/5aid2zLXcep2nQUut4/6kkPApfmJ1DcZ17aq
|
44
|
+
8JyGpdglrA55KDp+6dFn08b7KSfH03sjlOSRI5aQd4L5oYQjZhJUM1B0sSgmuyRp
|
45
|
+
wsJS8hRniolF1C2ho+mILCCVrhxKhwjfDPXiTWAYvqrEsq5wMWYzcT6scKKrzn/p
|
46
|
+
fMuSoeU7MRzP6vIK5Fe7SrXpdOYr/mzLfnQ5Ng2Q7+S1TqSp6moKq4TzrGdOtcT3
|
47
|
+
jNEgJSPrCGQ+UpbB8g8S9MWOD8Gi6CxR93O8vYWxYoNzQYIH5DiLanMg0A9kczye
|
48
|
+
n6Yzqf0Z3yWT0QIDAQABo4IBzTCCAckwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNV
|
49
|
+
HQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMweQYIKwYBBQUHAQEEbTBr
|
50
|
+
MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYBBQUH
|
51
|
+
MAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJ
|
52
|
+
RFJvb3RDQS5jcnQwgYEGA1UdHwR6MHgwOqA4oDaGNGh0dHA6Ly9jcmw0LmRpZ2lj
|
53
|
+
ZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwOqA4oDaGNGh0dHA6
|
54
|
+
Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmww
|
55
|
+
TwYDVR0gBEgwRjA4BgpghkgBhv1sAAIEMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v
|
56
|
+
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCgYIYIZIAYb9bAMwHQYDVR0OBBYEFFrEuXsq
|
57
|
+
CqOl6nEDwGD5LfZldQ5YMB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgP
|
58
|
+
MA0GCSqGSIb3DQEBCwUAA4IBAQA+7A1aJLPzItEVyCx8JSl2qB1dHC06GsTvMGHX
|
59
|
+
fgtg/cM9D8Svi/3vKt8gVTew4fbRknUPUbRupY5a4l4kgU4QpO4/cY5jDhNLrddf
|
60
|
+
RHnzNhQGivecRk5c/5CxGwcOkRX7uq+1UcKNJK4kxscnKqEpKBo6cSgCPC6Ro8Al
|
61
|
+
EeKcFEehemhor5unXCBc2XGxDI+7qPjFEmifz0DLQESlE/DmZAwlCEIysjaKJAL+
|
62
|
+
L3J+HNdJRZboWR3p+nRka7LrZkPas7CM1ekN3fYBIM6ZMWM9CBoYs4GbT8aTEAb8
|
63
|
+
B4H6i9r5gkn3Ym6hU/oSlBiFLpKR6mhsRDKyZqHnGKSaZFHv
|
60
64
|
-----END CERTIFICATE-----
|
61
65
|
- |
|
62
66
|
-----BEGIN CERTIFICATE-----
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
67
|
+
MIIFIzCCBAugAwIBAgIQDX9ZkVJ2eNVTlibR5ALyJTANBgkqhkiG9w0BAQsFADBy
|
68
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
69
|
+
d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQg
|
70
|
+
SUQgQ29kZSBTaWduaW5nIENBMB4XDTE5MTAxNjAwMDAwMFoXDTIwMTAxOTEyMDAw
|
71
|
+
MFowYDELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0dHMxDzANBgNV
|
72
|
+
BAcTBkJvc3RvbjETMBEGA1UEChMKUmFwaWQ3IExMQzETMBEGA1UEAxMKUmFwaWQ3
|
73
|
+
IExMQzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANHnKegPAghKuZk4
|
74
|
+
Gy1jKaZEXbWc4fxioTemv/F1yIYzAjCWP65qjKtyeeFDe4/kJzG9nseF9oa93YBf
|
75
|
+
1nyEqxNSZMw/sCAZ87lOl713dRi73uxOoszy2PT5xEB+Q5R6cbzExkWG2zrLdXDr
|
76
|
+
so0Bd6VHw+IsAoBBkAq5FrZOJQYGn5VY20xw/2DqtCeoW4QDWyqTnbJmwO9tZrfr
|
77
|
+
3Le2crfk2eOgafaPNhLon5uuIKCZsk2YkUSNURSS3M7gosMwU9Gg4JTBi7X5+oww
|
78
|
+
rY43dJT28YklxmNVu8o5kJxW4dqLKJLOIgSXZ63nceT/EaCSg7DcofHNcUzejFwb
|
79
|
+
M7Zbb2kCAwEAAaOCAcUwggHBMB8GA1UdIwQYMBaAFFrEuXsqCqOl6nEDwGD5LfZl
|
80
|
+
dQ5YMB0GA1UdDgQWBBR18CAeMsIEU+0pXal/XXw9LCtMADAOBgNVHQ8BAf8EBAMC
|
81
|
+
B4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwdwYDVR0fBHAwbjA1oDOgMYYvaHR0cDov
|
82
|
+
L2NybDMuZGlnaWNlcnQuY29tL3NoYTItYXNzdXJlZC1jcy1nMS5jcmwwNaAzoDGG
|
83
|
+
L2h0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9zaGEyLWFzc3VyZWQtY3MtZzEuY3Js
|
84
|
+
MEwGA1UdIARFMEMwNwYJYIZIAYb9bAMBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v
|
85
|
+
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EMAQQBMIGEBggrBgEFBQcBAQR4MHYw
|
86
|
+
JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBOBggrBgEFBQcw
|
87
|
+
AoZCaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMkFzc3Vy
|
88
|
+
ZWRJRENvZGVTaWduaW5nQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEL
|
89
|
+
BQADggEBAFpzR9s7lcYKDzSJucOHztEPj+iSIeCzxEw34NTE9M2AfkYIu82c4r2a
|
90
|
+
bzIGmzZWiCGufjOp0gF5xW6sSSJ9n0TqH0nhHhvjtZQkmkGtOBbN1zeYDFS2ozAp
|
91
|
+
sljF/g68Y1eYs3NaFf7kQUa6vb6RdjW3J8M9AQ8gthBt7gr/guVxd/gJUYbdDdBX
|
92
|
+
cWfJJi/X7GVBOBmmvA43qoKideuhOBrVGBHvIF/yO9p23dIiUrGmW9kxXCSxgute
|
93
|
+
JI/W23RbIRksG2pioMhd4dCXq3FLLlkOV1YfCwWixNB+iIhQPPZVaPNfgPhCn4Dt
|
94
|
+
DeGjje/qA4fkLtRmOtb9PUBq3ToRDE4=
|
90
95
|
-----END CERTIFICATE-----
|
91
|
-
date:
|
96
|
+
date: 2020-02-01 00:00:00.000000000 Z
|
92
97
|
dependencies:
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: bundler
|
95
|
-
requirement: !ruby/object:Gem::Requirement
|
96
|
-
requirements:
|
97
|
-
- - "~>"
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version: '1.3'
|
100
|
-
type: :development
|
101
|
-
prerelease: false
|
102
|
-
version_requirements: !ruby/object:Gem::Requirement
|
103
|
-
requirements:
|
104
|
-
- - "~>"
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
version: '1.3'
|
107
98
|
- !ruby/object:Gem::Dependency
|
108
99
|
name: metasploit-yard
|
109
100
|
requirement: !ruby/object:Gem::Requirement
|
@@ -166,42 +157,42 @@ dependencies:
|
|
166
157
|
requirements:
|
167
158
|
- - "~>"
|
168
159
|
- !ruby/object:Gem::Version
|
169
|
-
version:
|
160
|
+
version: 5.2.2
|
170
161
|
type: :runtime
|
171
162
|
prerelease: false
|
172
163
|
version_requirements: !ruby/object:Gem::Requirement
|
173
164
|
requirements:
|
174
165
|
- - "~>"
|
175
166
|
- !ruby/object:Gem::Version
|
176
|
-
version:
|
167
|
+
version: 5.2.2
|
177
168
|
- !ruby/object:Gem::Dependency
|
178
169
|
name: activesupport
|
179
170
|
requirement: !ruby/object:Gem::Requirement
|
180
171
|
requirements:
|
181
172
|
- - "~>"
|
182
173
|
- !ruby/object:Gem::Version
|
183
|
-
version:
|
174
|
+
version: 5.2.2
|
184
175
|
type: :runtime
|
185
176
|
prerelease: false
|
186
177
|
version_requirements: !ruby/object:Gem::Requirement
|
187
178
|
requirements:
|
188
179
|
- - "~>"
|
189
180
|
- !ruby/object:Gem::Version
|
190
|
-
version:
|
181
|
+
version: 5.2.2
|
191
182
|
- !ruby/object:Gem::Dependency
|
192
183
|
name: railties
|
193
184
|
requirement: !ruby/object:Gem::Requirement
|
194
185
|
requirements:
|
195
186
|
- - "~>"
|
196
187
|
- !ruby/object:Gem::Version
|
197
|
-
version:
|
188
|
+
version: 5.2.2
|
198
189
|
type: :runtime
|
199
190
|
prerelease: false
|
200
191
|
version_requirements: !ruby/object:Gem::Requirement
|
201
192
|
requirements:
|
202
193
|
- - "~>"
|
203
194
|
- !ruby/object:Gem::Version
|
204
|
-
version:
|
195
|
+
version: 5.2.2
|
205
196
|
- !ruby/object:Gem::Dependency
|
206
197
|
name: redcarpet
|
207
198
|
requirement: !ruby/object:Gem::Requirement
|
@@ -276,6 +267,7 @@ files:
|
|
276
267
|
- app/validators/nil_validator.rb
|
277
268
|
- app/validators/parameters_validator.rb
|
278
269
|
- app/validators/password_is_strong_validator.rb
|
270
|
+
- bin/rails
|
279
271
|
- config/locales/en.yml
|
280
272
|
- lib/metasploit/model.rb
|
281
273
|
- lib/metasploit/model/association.rb
|
@@ -355,6 +347,7 @@ files:
|
|
355
347
|
- spec/dummy/app/controllers/application_controller.rb
|
356
348
|
- spec/dummy/app/helpers/application_helper.rb
|
357
349
|
- spec/dummy/app/mailers/.gitkeep
|
350
|
+
- spec/dummy/app/models/application_record.rb
|
358
351
|
- spec/dummy/app/views/layouts/application.html.erb
|
359
352
|
- spec/dummy/bin/bundle
|
360
353
|
- spec/dummy/bin/rails
|
@@ -368,7 +361,6 @@ files:
|
|
368
361
|
- spec/dummy/config/environments/development.rb
|
369
362
|
- spec/dummy/config/environments/production.rb
|
370
363
|
- spec/dummy/config/environments/test.rb
|
371
|
-
- spec/dummy/config/initializers/assets.rb
|
372
364
|
- spec/dummy/config/initializers/backtrace_silencers.rb
|
373
365
|
- spec/dummy/config/initializers/cookies_serializer.rb
|
374
366
|
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
@@ -451,7 +443,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
451
443
|
version: '0'
|
452
444
|
requirements: []
|
453
445
|
rubyforge_project:
|
454
|
-
rubygems_version: 2.
|
446
|
+
rubygems_version: 2.7.10
|
455
447
|
signing_key:
|
456
448
|
specification_version: 4
|
457
449
|
summary: Metasploit Model Mixins and Validators
|
@@ -494,6 +486,7 @@ test_files:
|
|
494
486
|
- spec/dummy/app/controllers/application_controller.rb
|
495
487
|
- spec/dummy/app/helpers/application_helper.rb
|
496
488
|
- spec/dummy/app/mailers/.gitkeep
|
489
|
+
- spec/dummy/app/models/application_record.rb
|
497
490
|
- spec/dummy/app/views/layouts/application.html.erb
|
498
491
|
- spec/dummy/bin/bundle
|
499
492
|
- spec/dummy/bin/rails
|
@@ -507,7 +500,6 @@ test_files:
|
|
507
500
|
- spec/dummy/config/environments/development.rb
|
508
501
|
- spec/dummy/config/environments/production.rb
|
509
502
|
- spec/dummy/config/environments/test.rb
|
510
|
-
- spec/dummy/config/initializers/assets.rb
|
511
503
|
- spec/dummy/config/initializers/backtrace_silencers.rb
|
512
504
|
- spec/dummy/config/initializers/cookies_serializer.rb
|
513
505
|
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
@@ -569,4 +561,3 @@ test_files:
|
|
569
561
|
- spec/support/shared/examples/search_association.rb
|
570
562
|
- spec/support/shared/examples/search_attribute.rb
|
571
563
|
- spec/support/shared/examples/search_with.rb
|
572
|
-
has_rdoc:
|
metadata.gz.sig
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
-|6L�[8nc�A?N,�H�, .t�D�;d��D��u�:��Ix���_U81��>��!oS㦠N���c15f��'}%E��{��'_'?�)k����[�,��S�u��|��z� ��t���-@��H�QAGo7R�S�G��eL1#F���(4)d))�}��������%{#Wi�3���#�^��=��s�W&$$<n�T��q�g>�h�a&n��p�Q͇�Ѻ�C9� ��MŚ���� �R+��BW
|
2
|
+
g���6;
|
@@ -1,8 +0,0 @@
|
|
1
|
-
# Be sure to restart your server when you modify this file.
|
2
|
-
|
3
|
-
# Version of your assets, change this if you want to expire all your assets.
|
4
|
-
Rails.application.config.assets.version = '1.0'
|
5
|
-
|
6
|
-
# Precompile additional assets.
|
7
|
-
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
|
8
|
-
# Rails.application.config.assets.precompile += %w( search.js )
|