05f0d09828
On August 15, shuckins-r7 merged the Metasploit 4.10.0 branch (staging/electro-release) into master. Rather than merging with history, he squashed all history into two commits (see149c3ecc63and82760bf5b3). We want to preserve history (for things like git blame, git log, etc.). So on August 22, we reverted the commits above (see19ba7772f3). This merge commit merges the staging/electro-release branch (62b81d6814) into master (48f0743d1b). It ensures that any changes committed to master since the original squashed merge are retained. As a side effect, you may see this merge commit in history/blame for the time period between August 15 and August 22.
54 lines
1.7 KiB
Ruby
54 lines
1.7 KiB
Ruby
# -*- coding: binary -*-
|
|
module Msf
|
|
module Simple
|
|
module Framework
|
|
module ModulePaths
|
|
# Initialize the module paths
|
|
#
|
|
# @return [void]
|
|
def init_module_paths(opts={})
|
|
# Ensure the module cache is accurate
|
|
self.modules.refresh_cache_from_database
|
|
|
|
add_engine_module_paths(Rails.application, opts)
|
|
|
|
Rails.application.railties.engines.each do |engine|
|
|
add_engine_module_paths(engine, opts)
|
|
end
|
|
|
|
# Initialize the user module search path
|
|
if (Msf::Config.user_module_directory)
|
|
self.modules.add_module_path(Msf::Config.user_module_directory, opts)
|
|
end
|
|
|
|
# If additional module paths have been defined globally, then load them.
|
|
# They should be separated by semi-colons.
|
|
if self.datastore['MsfModulePaths']
|
|
self.datastore['MsfModulePaths'].split(";").each { |path|
|
|
self.modules.add_module_path(path, opts)
|
|
}
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
# Add directories `engine.paths['modules']` from `engine`.
|
|
#
|
|
# @param engine [Rails::Engine] a rails engine or application
|
|
# @param options [Hash] options for {Msf::ModuleManager::ModulePaths#add_module_paths}
|
|
# @return [void]
|
|
def add_engine_module_paths(engine, options={})
|
|
modules_paths = engine.paths['modules']
|
|
|
|
if modules_paths
|
|
modules_directories = modules_paths.existent_directories
|
|
|
|
modules_directories.each do |modules_directory|
|
|
modules.add_module_path(modules_directory, options)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end |