Commit Graph

152 Commits (2cd5be021b7f1e9ad07db1cb3b474d5a2490cc33)

Author SHA1 Message Date
Luke Imhoff 5e6400a506
Remove Msf::TaskManager
MSP-11614

`Msf::TaskManager` was only used for `Msf::DBManager#sink`, which was
removed because it was unused, so `Msf::TaskManager` can also be
removed.
2014-11-14 11:15:05 -06:00
Luke Imhoff 55a8f6f339
Remove Msf::DBManager::Sink
MSP-11614

`Msf::DBManager::Sink` contains code for a `sink` that is a meant to
serialize database events, but it's unneeded because all database events
go directly through ActiveRecord, which handles threading.
2014-11-14 10:51:51 -06:00
Luke Imhoff a7d1577494
ImportMsfXml -> Import::MsfXml
MSP-11124
2014-10-13 15:46:13 -05:00
Luke Imhoff 87825d40b1
Fix migration.rb loading
MSP-11124
2014-10-13 15:39:15 -05:00
Luke Imhoff b8ea44235b
Remove nesting in Msf::DBManager::ImportMsfXml
MSP-11124

Don't use nested modules to prevent Msf::DBManager::ImportMsfXml from
being the declaring location for Msf::DBManager.
2014-10-13 15:37:16 -05:00
Luke Imhoff ef04261686
Fix indentation in Msf::DBManager
MSP-11124
2014-10-13 15:26:19 -05:00
Luke Imhoff c6ea3a3880
Distribute requires to where they are needed
MSP-11124

Push requires down to the Msf::DBManager mixins that actually need them.
2014-10-13 15:24:56 -05:00
Luke Imhoff 4371254dd2
Reorder remaining code in Msf::DBManager
MSP-11124
2014-10-13 15:13:28 -05:00
Luke Imhoff 2dd925c18c
Move add_rails_engine_migration_paths to Msf::DBManager::Migration
MSP-11124
2014-10-13 15:01:14 -05:00
Luke Imhoff bc4d2ff152
Extract Msf::DBManager::Adapter
MSP-11124

Extract methods related to setting up the adapter/driver(s).
2014-10-13 14:49:26 -05:00
Luke Imhoff 930b020211
Extract Msf::DBManager::Connection
MSP-11124

Extract methods that connect, disconnect and show status of connection
to database.
2014-10-13 12:07:13 -05:00
Luke Imhoff f472411c8c
Extract Msf::DBManager::Web
MSP-11124

Extract `Mdm::Web*` methods.
2014-10-13 11:59:39 -05:00
Luke Imhoff 5067e43ac1
Extract Msf::DBManager::VulnAttempt
MSP-11124

Extract `Mdm::VulnAttempt` methods.
2014-10-13 11:32:15 -05:00
Luke Imhoff e7e12ec6a5
Extract Msf::DBManager::Route
MSP-11124

Extract `Mdm::Route` methods.
2014-10-13 11:23:37 -05:00
Luke Imhoff 8011187aa9
Extract Msf::DBManager::SessionEvent
MSP-11124

Extract `Mdm::SessionEvent` methods.
2014-10-13 11:13:39 -05:00
Luke Imhoff 1f86712d63
Extract Msf::DBManager::HostTag
MSP-11124

Extract `Mdm::HostTag` method.
2014-10-13 11:00:36 -05:00
Luke Imhoff 1811d4e58f
Extract Msf::DBManager::Session
MSP-11124

Extract methods related to `Mdm::Session`s.
2014-10-13 10:50:11 -05:00
Luke Imhoff f16b3f05b4
Extract Msf::DBManager::HostDetail
MSP-11124

Extract method related to `Mdm::HostDetail`s.
2014-10-13 10:15:14 -05:00
Luke Imhoff 87ee06b792
Extract Msf::DBManager::Ref
MSP-11124

Extract methods related to `Mdm::Ref`s.
2014-10-13 10:06:37 -05:00
Luke Imhoff 5668a2820e
Move #report_artifact to Msf::DBManager::Report
MSP-11124
2014-10-13 10:00:19 -05:00
Luke Imhoff 43c9909636
Extract Msf::DBManager::VulnDetail
MSP-11124

Extract methods related to `Mdm::VulnDetail`s.
2014-10-13 09:54:38 -05:00
Luke Imhoff f42f8e106a
Extract Msf::DBManager::ExploitAttempt
MSP-11124

Extract methods that create `Mdm::ExploitAttempt`s.
2014-10-13 09:41:32 -05:00
Luke Imhoff e0f76a7517
Extract Msf::DBManager::Task
MSP-11124

Extract methods related to `Mdm::Task`s.
2014-10-13 09:28:48 -05:00
Luke Imhoff 90b50339c3
Extract Msf::DBManager::Report
MSP-11124

Extract methods related to the obsolete `Mdm::Report`.  These methods
should be deleted, but since this branch is just for moves, I won't
delete them now.
2014-10-13 09:19:39 -05:00
Luke Imhoff 9632c83cde
Extract Msf::DBManager::Event
MSP-11124

Extract methods related to `Mdm::Event`s.
2014-10-13 09:05:10 -05:00
Luke Imhoff 89d588272e
Extract Msf::DBManager::Client
MSP-11124

Extract methods related to `Mdm::Client`s.
2014-10-13 08:27:09 -05:00
Luke Imhoff 08aee23966
Extract Msf::DBManager::Vuln
MSP-11124

Extract all methods related to `Mdm::Vuln`s from `Msf::DBManager`.
2014-10-09 15:47:34 -05:00
Luke Imhoff 2fa02f5c44
Extract Msf::DBManager::Note
Extract all methods related to `Mdm::Note`s.
2014-10-09 15:29:07 -05:00
Luke Imhoff 0bc71ecd24
Extract Msf::DBManager::Loot
MSP-11124
2014-10-09 15:15:40 -05:00
Luke Imhoff cb9bdd96c7
Extract Msf::DBManager::Import
MSP-11124

Extract all methods dealing with imports.
2014-10-09 14:51:24 -05:00
Luke Imhoff d18dcf5961
Extract Msf::DBManager::ExploitedHost
MSP-11124

Extract methods related to `Mdm::ExploitedHost`s.
2014-10-09 12:54:04 -05:00
Luke Imhoff ceba04d556
Extract Msf::DBManager::Cred
MSP-11124

Extract methods related to `Mdm::Cred`s.
2014-10-09 11:41:04 -05:00
Luke Imhoff 0284edf430
Extract Msf::DBManager::Service
MSP-11124

Extract methods related to `Mdm::Service`s.
2014-10-09 11:31:29 -05:00
Luke Imhoff 0cfac32290
Extract Msf::DBManager::Host
MSP-11124

Extract methods related to `Mdm::Host`s.
2014-10-09 11:11:36 -05:00
Luke Imhoff bb26f4f303
Extract Msf::DBManager::Wmap
MSP-11124

Extract methods that are commented as related to WMAP.
2014-10-09 10:13:34 -05:00
Luke Imhoff b0147c994a
Extract Msf::DBManager::IPAddress
MSP-11124

Extract the IP address validation methods to
`Msf::DBManager::IPAddress`.
2014-10-09 09:35:19 -05:00
Luke Imhoff 3a96ae9be9
Move #match_values to Msf::DBManager::ModuleCache
MSP-11124

`#match_values` is only used in `#search_modules`, so `#match_values`
should be grouped with `#search_modules` in
`Msf::DBManager::ModuleCache`.
2014-10-09 09:18:03 -05:00
Luke Imhoff d4a94366a6
Extract Msf::DBManager::ModuleCache
MSP-11124

Extract methods related to the module cache state and maintenance to
`Msf::DBManager::ModuleCache`.
2014-10-09 08:53:41 -05:00
Luke Imhoff ee0de997d5
Extract Msf::DBManager::Workspace
MSP-11124

Gather together all workspace related methods into
`Msf::DBManager::Workspace` and include it in `Msf::DBManager`.
2014-10-08 15:46:35 -05:00
Luke Imhoff a64036f6cf
Move Msf::DBManager#sync to Msf::DBManager::Sink
MSP-11124

The comment on `#sync` says it's related to `sink`, so move it into its
Module.
2014-10-08 15:38:56 -05:00
Luke Imhoff a054259ee5
Extract Msf::DBManager::Sink
MSP-11124

Extract attributes and methods associated with the deprecated sink.
2014-10-08 15:26:28 -05:00
Luke Imhoff 15f9461279
Merge db.rb into db_manager.rb
MSP-11124

The class name is DBManager, so the correct file name is db_manager.rb
2014-10-08 14:27:22 -05:00
Luke Imhoff 5884cbc196
Optimize skip logic in #update_all_module_details
MSP-11368

Use `Hash<String, Set<String>>` instead of `Array<(String, String)>` so
that `include?` call is faster because (1) it's only search through
reference names of the same module_type and (2) `Set#include?` is faster
than `Array#include?`.  This change is a 8.20% average reduction in boot
time compare to b863978028, for a overall
reduction of 40.95% over b5c3c87790.
See statistics at
https://docs.google.com/spreadsheets/d/1TnZIUFIR1S5nCnkeM-7XR3AVSbyCl39x2mItJKJCOqg/edit?usp=sharing
and data at
https://drive.google.com/folderview?id=0Bx1hRHfpRW92VEFvQ2FaN3RoWWs&usp=drive_web
2014-09-19 15:34:10 -05:00
Luke Imhoff 8b5a146067
Wrap Array#include? usage
MSP-11368

Wrap skipped.include? call to confirm it is the culprit for
Array#include? inside of with_connection in profile.
2014-09-19 14:38:12 -05:00
Luke Imhoff 1d430dbb45
Run migrations when connection already established in console
MSP-10955

`Msf::Ui::Console::Driver#initialize` doesn't call
`framework.db.connect` if it can't find the the `database.yml`, but when
using `msfpro`, the connection is already established, so the console
doesn't need to know where the database file is and should just run the
migrations so that `framework.db.migrate` can be set and
`framework.db.active` will return `true`.
2014-08-06 19:55:51 -05:00
David Maloney 2b0bb608b1
Merge branch 'master' into staging/electro-release 2014-06-18 10:49:58 -05:00
Luke Imhoff 2cbbaad6b4
Set drivers and driver when connection already established
MSP-9994

3 database commands in msfconsole check for framework.db.driver to be
set, so driver must be set when the connection is already established by
the Rails initialization.
2014-06-09 14:26:59 -05:00
Luke Imhoff 1ee35ec68a
Handle unconnected config in connection_established?
MSP-9994

Rescue `ActiveRecord::ConnectionNotEstablished` in
`Msf::DBManager#connection_established?` in addition to
`PG::ConnectionBad` to handle when the connection has been removed.
2014-06-09 14:26:45 -05:00
Luke Imhoff 21fad7163d
Msf::DBManager#connection_established?
MSP-9653

Calling `ActiveRecord::Base.establish_connection`, followed by
`ActiveRecord::Base.connected?` returns false unless some other code
requires a connection to be checked out first.  The correct way to check
if the spec passed to `ActiveRecord::Base.establish_connection` is to
checkout a connection and then ask if it is active.
`Msf::DBManager#connection_established?` does the checkout, active check
and checkin, and should be used in place of
`ActiveRecord::Base.connected?` and
`ActiveRecord::Base.connection_pool.connected?`.
`Msf::DBManager#active` should still be used as it also checks for
adapter/driver usability and that migrations have run.
2014-06-02 12:49:09 -05:00
Luke Imhoff 0e60f08e51
Don't re-establish connection
MSP-9653

If ActiveRecord::Base is already connected, then don't attempt to create
the database (as it involves establishing a new connection) or
establishing a new connection after the creation.  Still run the
migrations as the normal Rails::Application.initialize! will result in
ActiveRecord::Base.connected? being true even if migrations are missing.
2014-05-28 14:34:36 -05:00