Module: Msf::Module::DataStore
- Included in:
- Msf::Module
- Defined in:
- lib/msf/core/module/data_store.rb
Instance Attribute Summary collapse
-
#datastore ⇒ Object
Returns the value of attribute datastore.
Instance Method Summary collapse
-
#import_defaults(clear_datastore = true) ⇒ Object
Imports default options into the module’s datastore, optionally clearing all of the values currently set in the datastore.
-
#import_target_defaults ⇒ Object
Import the target’s DefaultOptions hash into the datastore.
-
#share_datastore(ds) ⇒ Object
Overrides the class’ own datastore with the one supplied.
Instance Attribute Details
#datastore ⇒ Object
Returns the value of attribute datastore.
10 11 12 |
# File 'lib/msf/core/module/data_store.rb', line 10 def datastore @datastore end |
Instance Method Details
#import_defaults(clear_datastore = true) ⇒ Object
Imports default options into the module’s datastore, optionally clearing all of the values currently set in the datastore.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/msf/core/module/data_store.rb', line 16 def import_defaults(clear_datastore = true) # Clear the datastore if the caller asked us to self.datastore.clear if clear_datastore self.datastore.(self., 'self', true) # If there are default options, import their values into the datastore if (module_info['DefaultOptions']) if datastore.is_a?(Msf::DataStoreWithFallbacks) self.datastore.import_defaults_from_hash(module_info['DefaultOptions'], imported_by: 'import_defaults') else self.datastore.(module_info['DefaultOptions'], true, 'self') end end # Preference the defaults for the currently set target import_target_defaults end |
#import_target_defaults ⇒ Object
Import the target’s DefaultOptions hash into the datastore.
38 39 40 41 42 43 44 45 46 |
# File 'lib/msf/core/module/data_store.rb', line 38 def import_target_defaults return unless defined?(targets) && targets && target && target. if self.datastore.is_a?(Msf::ModuleDataStoreWithFallbacks) datastore.import_defaults_from_hash(target., imported_by: 'import_target_defaults') else datastore.(target., true, 'self') end end |
#share_datastore(ds) ⇒ Object
Overrides the class’ own datastore with the one supplied. This is used to allow modules to share datastores, such as a payload sharing an exploit module’s datastore.
53 54 55 56 |
# File 'lib/msf/core/module/data_store.rb', line 53 def share_datastore(ds) self.datastore = ds self.datastore.(self.) end |