Class: Msf::Modules::External::PyBridge
- Defined in:
- lib/msf/core/modules/external/bridge.rb
Constant Summary
Constants inherited from Bridge
Instance Attribute Summary
Attributes inherited from Bridge
#buf, #cmd, #env, #exit_status, #framework, #ios, #messages, #path, #read_thread, #running, #wait_thread
Class Method Summary collapse
Instance Method Summary collapse
- #handle_exception(error) ⇒ Object
-
#initialize(module_path, framework: nil) ⇒ PyBridge
constructor
A new instance of PyBridge.
Methods inherited from Bridge
#cleanup, #close, #exec, #harvest_process, #next_message, open, #send, #success?, #threadme, #write_message
Constructor Details
#initialize(module_path, framework: nil) ⇒ PyBridge
Returns a new instance of PyBridge.
180 181 182 183 184 |
# File 'lib/msf/core/modules/external/bridge.rb', line 180 def initialize(module_path, framework: nil) super pythonpath = ENV['PYTHONPATH'] || '' self.env = self.env.merge({ 'PYTHONPATH' => File.('../python', __FILE__) + File::PATH_SEPARATOR + pythonpath}) end |
Class Method Details
.applies?(module_name) ⇒ Boolean
176 177 178 |
# File 'lib/msf/core/modules/external/bridge.rb', line 176 def self.applies?(module_name) module_name.match? /\.py$/ end |
Instance Method Details
#handle_exception(error) ⇒ Object
186 187 188 189 190 191 192 193 |
# File 'lib/msf/core/modules/external/bridge.rb', line 186 def handle_exception(error) case error when Errno::ENOENT LoadError.new('Failed to execute external Python module. Please ensure you have Python3 installed on your environment.') else super end end |