rapid7/metasploit-framework

View on GitHub
lib/msf/core/module/ui/message.rb

Summary

Maintainability
A
35 mins
Test Coverage
# Methods for print messages with status indicators
module Msf::Module::UI::Message
  autoload :Verbose, 'msf/core/module/ui/message/verbose'

  include Msf::Module::UI::Message::Verbose

  def print_error(msg='', prefix: nil)
    msg_prefix = prefix.nil? ? print_prefix : prefix
    super(msg_prefix + msg)
  end

  alias_method :print_bad, :print_error

  def print_good(msg='', prefix: nil)
    msg_prefix = prefix.nil? ? print_prefix : prefix
    super(msg_prefix + msg)
  end

  def print_prefix
    prefix = ''
    if datastore['TimestampOutput'] ||
        (framework && framework.datastore['TimestampOutput'])
      prefix << "[#{Time.now.strftime("%Y.%m.%d-%H:%M:%S")}] "

      xn ||= datastore['ExploitNumber']
      xn ||= framework.datastore['ExploitNumber']
      if xn.is_a?(Integer)
        prefix << "[%04d] " % xn
      end

    end
    prefix
  end

  def print_status(msg='', prefix: nil)
    msg_prefix = prefix.nil? ? print_prefix : prefix
    super(msg_prefix + msg)
  end

  def print_warning(msg='', prefix: nil)
    msg_prefix = prefix.nil? ? print_prefix : prefix
    super(msg_prefix + msg)
  end
end