metasploit-model 2.0.4 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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 )
|