2014-08-15 18:33:31 +02:00
|
|
|
# coding: utf-8
|
|
|
|
|
|
|
|
# During build, the Gemfile is temporarily moved and
|
|
|
|
# we must manually define the project root
|
|
|
|
if ENV['MSF_ROOT']
|
|
|
|
lib = File.realpath(File.expand_path('lib', ENV['MSF_ROOT']))
|
|
|
|
else
|
|
|
|
# have to use realpath as metasploit-framework is often loaded through a symlink and tools like Coverage and debuggers
|
|
|
|
# require realpaths.
|
|
|
|
lib = File.realpath(File.expand_path('../lib', __FILE__))
|
|
|
|
end
|
|
|
|
|
|
|
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
|
|
require 'metasploit/framework/version'
|
2014-12-19 18:37:23 +01:00
|
|
|
require 'metasploit/framework/rails_version_constraint'
|
2014-08-15 18:33:31 +02:00
|
|
|
|
|
|
|
Gem::Specification.new do |spec|
|
|
|
|
spec.name = 'metasploit-framework'
|
|
|
|
spec.version = Metasploit::Framework::GEM_VERSION
|
|
|
|
spec.authors = ['Metasploit Hackers']
|
|
|
|
spec.email = ['metasploit-hackers@lists.sourceforge.net']
|
|
|
|
spec.summary = 'metasploit-framework'
|
|
|
|
spec.description = 'metasploit-framework'
|
|
|
|
spec.homepage = 'https://www.metasploit.com'
|
|
|
|
spec.license = 'BSD-3-clause'
|
|
|
|
|
|
|
|
spec.files = `git ls-files`.split($/).reject { |file|
|
2015-12-30 18:00:45 +01:00
|
|
|
file =~ /^documentation|^data\/gui|^external/
|
2014-08-15 18:33:31 +02:00
|
|
|
}
|
|
|
|
spec.bindir = '.'
|
2015-12-30 18:00:45 +01:00
|
|
|
if ENV['CREATE_BINSTUBS']
|
|
|
|
spec.executables = [
|
2014-08-15 18:33:31 +02:00
|
|
|
'msfbinscan',
|
|
|
|
'msfconsole',
|
|
|
|
'msfd',
|
|
|
|
'msfelfscan',
|
|
|
|
'msfmachscan',
|
|
|
|
'msfpescan',
|
|
|
|
'msfrop',
|
|
|
|
'msfrpc',
|
|
|
|
'msfrpcd',
|
|
|
|
'msfupdate',
|
|
|
|
'msfvenom'
|
2015-12-30 18:00:45 +01:00
|
|
|
]
|
|
|
|
end
|
2014-08-15 18:33:31 +02:00
|
|
|
spec.test_files = spec.files.grep(%r{^spec/})
|
|
|
|
spec.require_paths = ["lib"]
|
|
|
|
|
2015-11-09 20:03:26 +01:00
|
|
|
# Database support
|
|
|
|
spec.add_runtime_dependency 'activerecord', *Metasploit::Framework::RailsVersionConstraint::RAILS_VERSION
|
2014-08-15 18:33:31 +02:00
|
|
|
# Need 3+ for ActiveSupport::Concern
|
2014-12-19 20:54:13 +01:00
|
|
|
spec.add_runtime_dependency 'activesupport', *Metasploit::Framework::RailsVersionConstraint::RAILS_VERSION
|
2014-08-15 18:33:31 +02:00
|
|
|
# Needed for config.action_view for view plugin compatibility for Pro
|
2014-12-19 20:54:13 +01:00
|
|
|
spec.add_runtime_dependency 'actionpack', *Metasploit::Framework::RailsVersionConstraint::RAILS_VERSION
|
2014-08-15 18:33:31 +02:00
|
|
|
# Needed for some admin modules (cfme_manageiq_evm_pass_reset.rb)
|
|
|
|
spec.add_runtime_dependency 'bcrypt'
|
2014-09-20 02:10:39 +02:00
|
|
|
# Needed for Javascript obfuscation
|
2015-10-30 19:06:53 +01:00
|
|
|
spec.add_runtime_dependency 'jsobfu', '~> 0.3.0'
|
2014-08-15 18:33:31 +02:00
|
|
|
# Needed for some admin modules (scrutinizer_add_user.rb)
|
|
|
|
spec.add_runtime_dependency 'json'
|
2014-12-23 03:26:30 +01:00
|
|
|
# Metasm compiler/decompiler/assembler
|
|
|
|
spec.add_runtime_dependency 'metasm', '~> 1.0.2'
|
2014-09-18 16:33:57 +02:00
|
|
|
# Metasploit::Concern hooks
|
2015-06-30 18:25:46 +02:00
|
|
|
spec.add_runtime_dependency 'metasploit-concern', '1.0.0'
|
2015-11-09 20:03:26 +01:00
|
|
|
# Metasploit::Credential database models
|
|
|
|
spec.add_runtime_dependency 'metasploit-credential', '1.0.1'
|
|
|
|
# Database models shared between framework and Pro.
|
2015-12-22 21:53:21 +01:00
|
|
|
spec.add_runtime_dependency 'metasploit_data_models', '1.2.10'
|
2014-08-15 18:33:31 +02:00
|
|
|
# Things that would normally be part of the database model, but which
|
|
|
|
# are needed when there's no database
|
2015-06-30 18:25:46 +02:00
|
|
|
spec.add_runtime_dependency 'metasploit-model', '1.0.0'
|
2015-06-22 23:56:54 +02:00
|
|
|
# Needed for Meterpreter
|
2016-01-22 21:07:40 +01:00
|
|
|
spec.add_runtime_dependency 'metasploit-payloads', '1.0.22'
|
2014-08-15 18:33:31 +02:00
|
|
|
# Needed by msfgui and other rpc components
|
|
|
|
spec.add_runtime_dependency 'msgpack'
|
2015-11-09 20:03:26 +01:00
|
|
|
# get list of network interfaces, like eth* from OS.
|
|
|
|
spec.add_runtime_dependency 'network_interface', '~> 0.0.1'
|
2014-08-15 18:33:31 +02:00
|
|
|
# Needed by anemone crawler
|
|
|
|
spec.add_runtime_dependency 'nokogiri'
|
|
|
|
# Needed by db.rb and Msf::Exploit::Capture
|
2015-08-25 18:45:30 +02:00
|
|
|
spec.add_runtime_dependency 'packetfu', '1.1.11'
|
2015-11-09 20:03:26 +01:00
|
|
|
# For sniffer and raw socket modules
|
|
|
|
spec.add_runtime_dependency 'pcaprub'
|
|
|
|
# Needed for module caching in Mdm::ModuleDetails
|
|
|
|
spec.add_runtime_dependency 'pg', '>= 0.11'
|
2014-08-15 18:33:31 +02:00
|
|
|
# Run initializers for metasploit-concern, metasploit-credential, metasploit_data_models Rails::Engines
|
|
|
|
spec.add_runtime_dependency 'railties'
|
2014-10-29 22:26:36 +01:00
|
|
|
# required for OS fingerprinting
|
2015-09-25 17:21:02 +02:00
|
|
|
spec.add_runtime_dependency 'recog', '2.0.14'
|
2015-10-07 11:16:49 +02:00
|
|
|
# required for bitlocker fvek extraction
|
|
|
|
spec.add_runtime_dependency 'openssl-ccm', '1.2.1'
|
2014-11-06 21:52:49 +01:00
|
|
|
|
|
|
|
# rb-readline doesn't work with Ruby Installer due to error with Fiddle:
|
|
|
|
# NoMethodError undefined method `dlopen' for Fiddle:Module
|
|
|
|
unless Gem.win_platform?
|
|
|
|
# Command line editing, history, and tab completion in msfconsole
|
2015-02-21 18:30:40 +01:00
|
|
|
# Use the Rapid7 fork until the official gem catches up
|
|
|
|
spec.add_runtime_dependency 'rb-readline-r7'
|
2014-11-06 21:52:49 +01:00
|
|
|
end
|
|
|
|
|
2014-08-15 18:33:31 +02:00
|
|
|
# Needed by anemone crawler
|
|
|
|
spec.add_runtime_dependency 'robots'
|
|
|
|
# Needed by some modules
|
|
|
|
spec.add_runtime_dependency 'rubyzip', '~> 1.1'
|
|
|
|
# Needed for some post modules
|
|
|
|
spec.add_runtime_dependency 'sqlite3'
|
|
|
|
# required for Time::TZInfo in ActiveSupport
|
|
|
|
spec.add_runtime_dependency 'tzinfo'
|
2015-10-28 22:28:33 +01:00
|
|
|
# Needed so that disk size output isn't horrible
|
|
|
|
spec.add_runtime_dependency 'filesize'
|
2014-08-15 18:33:31 +02:00
|
|
|
end
|