Skip to content

Commit 6a1bf4b

Browse files
author
Pedro Ribeiro
authored
Merge pull request #39 from rapid7/master
aaa
2 parents ec97d32 + c5021bf commit 6a1bf4b

File tree

3,993 files changed

+54528
-22699
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,993 files changed

+54528
-22699
lines changed

.dockerignore

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
.dockerignore
2+
.gitignore
3+
.env*
4+
docker-compose*.yml
5+
docker/
6+
!docker/msfconsole.rc
7+
README.md
8+
.git/
9+
.github/
10+
.ruby-version
11+
.ruby-gemset
12+
13+
.bundle
14+
Gemfile.local
15+
Gemfile.local.lock
16+
# Rubymine project directory
17+
.idea
18+
# Sublime Text project directory (not created by ST by default)
19+
.sublime-project
20+
# RVM control file, keep this to avoid backdooring Metasploit
21+
.rvmrc
22+
# Allow for a local choice of (unsupported / semi-supported) ruby versions
23+
# See PR #4136 for usage, but example usage for rvm:
24+
# rvm --create --versions-conf use 2.1.4@metasploit-framework
25+
# Because rbenv doesn't use .versions.conf, to achieve this same functionality, run:
26+
# rbenv shell 2.1.4
27+
.versions.conf
28+
# YARD cache directory
29+
.yardoc
30+
# Mac OS X files
31+
.DS_Store
32+
# database config for testing
33+
config/database.yml
34+
# target config file for testing
35+
features/support/targets.yml
36+
# simplecov coverage data
37+
coverage
38+
doc/
39+
external/source/meterpreter/java/bin
40+
external/source/meterpreter/java/build
41+
external/source/meterpreter/java/extensions
42+
external/source/javapayload/bin
43+
external/source/javapayload/build
44+
# Java binary ignores. Replace the 5 above with this once we're merged.
45+
external/source/javapayload/*/.classpath
46+
external/source/javapayload/*/.project
47+
external/source/javapayload/*/.settings
48+
external/source/javapayload/*/bin
49+
external/source/javapayload/*/target
50+
external/source/javapayload/*/*/.classpath
51+
external/source/javapayload/*/*/.project
52+
external/source/javapayload/*/*/.settings
53+
external/source/javapayload/*/*/bin
54+
external/source/javapayload/*/*/target
55+
# Packaging directory
56+
pkg
57+
tags
58+
*.swp
59+
*.orig
60+
*.rej
61+
*~
62+
# Ignore backups of retabbed files
63+
*.notab
64+
65+
# ignore Visual Studio external source garbage
66+
*.suo
67+
*.sdf
68+
*.opensdf
69+
*.user
70+
71+
# Rails log directory
72+
/log
73+
# Rails tmp directory
74+
/tmp
75+
76+
# ignore release/debug folders for exploits
77+
external/source/exploits/**/Debug
78+
external/source/exploits/**/Release
79+
80+
# Avoid checking in Meterpreter binaries. These are supplied upstream by
81+
# the metasploit-payloads gem.
82+
data/meterpreter/*.dll
83+
data/meterpreter/*.php
84+
data/meterpreter/*.py
85+
data/meterpreter/*.bin
86+
data/meterpreter/*.jar
87+
data/meterpreter/*.lso
88+
data/android
89+
data/java
90+
91+
# Avoid checking in Meterpreter libs that are built from
92+
# private source. If you're interested in this functionality,
93+
# check out Metasploit Pro: https://metasploit.com/download
94+
data/meterpreter/ext_server_pivot.*.dll
95+
96+
# Avoid checking in metakitty, the source for
97+
# https://rapid7.github.io/metasploit-framework. It's an orphan branch.
98+
/metakitty
99+
.vagrant
100+
101+
# no need for rspecs
102+
spec/

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ List the steps needed to make sure this thing works
1111
- [ ] ...
1212
- [ ] **Verify** the thing does what it should
1313
- [ ] **Verify** the thing does not do what it should not
14+
- [ ] **Document** the thing and how it works ([Example](https://github.com/rapid7/metasploit-framework/blob/master/documentation/modules/post/multi/gather/aws_keys.md))
1415

.gitignore

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,17 @@ data/java
7878

7979
# Avoid checking in Meterpreter libs that are built from
8080
# private source. If you're interested in this functionality,
81-
# check out Metasploit Pro: http://metasploit.com/download
81+
# check out Metasploit Pro: https://metasploit.com/download
8282
data/meterpreter/ext_server_pivot.*.dll
8383

8484
# Avoid checking in metakitty, the source for
8585
# https://rapid7.github.io/metasploit-framework. It's an orphan branch.
8686
/metakitty
8787
.vagrant
88+
89+
# local docker compose overrides
90+
docker-compose.local*
91+
92+
# Ignore python bytecode
93+
*.pyc
94+
rspec.failures

.rubocop.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,22 @@ Metrics/ClassLength:
1414
Exclude:
1515
- 'modules/**/*'
1616

17+
Metrics/AbcSize:
18+
Enabled: false
19+
Description: 'This is often a red-herring'
20+
21+
Metrics/CyclomaticComplexity:
22+
Enabled: false
23+
Description: 'This is often a red-herring'
24+
25+
Metrics/PerceivedComplexity:
26+
Enabled: false
27+
Description: 'This is often a red-herring'
28+
29+
Style/FrozenStringLiteralComment:
30+
Enabled: false
31+
Description: 'We cannot support this yet without a lot of things breaking'
32+
1733
Style/Documentation:
1834
Enabled: true
1935
Description: 'Most Metasploit modules do not have class documentation.'

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.3.3
1+
2.4.1

.travis.yml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,30 +11,38 @@ addons:
1111
- graphviz
1212
language: ruby
1313
rvm:
14-
- '2.3.3'
14+
- '2.2'
15+
- '2.3.4'
16+
- '2.4.1'
1517

1618
env:
17-
- RAKE_TASKS="cucumber cucumber:boot" CREATE_BINSTUBS=true
18-
- RAKE_TASKS=spec SPEC_OPTS="--tag content"
19-
- RAKE_TASKS=spec SPEC_OPTS="--tag ~content"
19+
- CMD='bundle exec rake rspec-rerun:spec SPEC_OPTS="--tag content"'
20+
- CMD='bundle exec rake rspec-rerun:spec SPEC_OPTS="--tag ~content"'
2021

2122
matrix:
2223
fast_finish: true
24+
include:
25+
- rvm: ruby-head
26+
env: CMD="docker-compose -f $TRAVIS_BUILD_DIR/docker-compose.yml build"
2327
before_install:
2428
- "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
2529
- rake --version
2630
# Fail build if msftidy is not successful
2731
- ln -sf ../../tools/dev/pre-commit-hook.rb ./.git/hooks/post-merge
2832
- ls -la ./.git/hooks
2933
- ./.git/hooks/post-merge
34+
# Update the bundler
35+
- gem install bundler
3036
before_script:
3137
- cp config/database.yml.travis config/database.yml
3238
- bundle exec rake --version
3339
- bundle exec rake db:create
3440
- bundle exec rake db:migrate
35-
script:
3641
# fail build if db/schema.rb update is not committed
37-
- git diff --exit-code db/schema.rb && bundle exec rake $RAKE_TASKS
42+
- git diff --exit-code db/schema.rb
43+
script:
44+
- echo "${CMD}"
45+
- bash -c "${CMD}"
3846

3947
notifications:
4048
irc: "irc.freenode.org#msfnotify"
@@ -47,3 +55,6 @@ branches:
4755
except:
4856
- gh-pages
4957
- metakitty
58+
59+
services:
60+
- docker

Gemfile

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,17 @@ source 'https://rubygems.org'
33
# spec.add_runtime_dependency '<name>', [<version requirements>]
44
gemspec name: 'metasploit-framework'
55

6+
# These pull in pre-release gems in order to fix specific issues.
7+
# XXX https://github.com/alexdalitz/dnsruby/pull/134
8+
gem 'dnsruby', git: 'https://github.com/alexdalitz/dnsruby'
9+
10+
# XXX https://github.com/ConnorAtherton/rb-readline/commit/fd882edcd145c26681f9971be5f6675c7f6d1970
11+
gem 'rb-readline', git: 'https://github.com/ConnorAtherton/rb-readline' if [
12+
'x86_64-linux', 'x86-linux', 'darwin'].include?(RUBY_PLATFORM.gsub(/.*darwin.*/, 'darwin'))
13+
614
# separate from test as simplecov is not run on travis-ci
715
group :coverage do
816
# code coverage for tests
9-
# any version newer than 0.5.4 gives an Encoding error when trying to read the source files.
10-
# see: https://github.com/colszowka/simplecov/issues/127 (hopefully fixed in 0.8.0)
1117
gem 'simplecov'
1218
end
1319

@@ -19,8 +25,10 @@ group :development do
1925
# for development and testing purposes
2026
gem 'pry'
2127
# module documentation
22-
gem 'octokit', '~> 4.0'
23-
# rails-upgrade staging gems
28+
gem 'octokit'
29+
# metasploit-aggregator as a framework only option for now
30+
# Metasploit::Aggregator external session proxy
31+
gem 'metasploit-aggregator'
2432
end
2533

2634
group :development, :test do
@@ -33,14 +41,10 @@ group :development, :test do
3341
# Define `rake spec`. Must be in development AND test so that its available by default as a rake test when the
3442
# environment is development
3543
gem 'rspec-rails'
44+
gem 'rspec-rerun'
3645
end
3746

3847
group :test do
39-
# cucumber extension for testing command line applications, like msfconsole
40-
gem 'aruba'
41-
# cucumber + automatic database cleaning with database_cleaner
42-
gem 'cucumber-rails', :require => false
43-
gem 'shoulda-matchers'
4448
# Manipulate Time.now in specs
4549
gem 'timecop'
4650
end

Gemfile.local.example

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ end
2727

2828
# Create a custom group
2929
group :local do
30-
# Use pry-debugger to step through code during development
31-
gem 'pry-debugger', '~> 0.2'
3230
# Add the lab gem so that the 'lab' plugin will work again
3331
gem 'lab', '~> 0.2.7'
3432
end

0 commit comments

Comments
 (0)