Class: Metasploit::Aggregator::HttpsForwarder

Inherits:
Forwarder
  • Object
show all
Defined in:
lib/metasploit/aggregator/https_forwarder.rb

Constant Summary

Constants inherited from Forwarder

Forwarder::CONNECTION_TIMEOUT

Instance Attribute Summary

Attributes inherited from Forwarder

#log_messages, #response_queues

Instance Method Summary collapse

Methods inherited from Forwarder

#connection_info, #connections

Constructor Details

#initializeHttpsForwarder

Returns a new instance of HttpsForwarder.



14
15
16
# File 'lib/metasploit/aggregator/https_forwarder.rb', line 14

def initialize
  super
end

Instance Method Details

#forward(connection) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/metasploit/aggregator/https_forwarder.rb', line 18

def forward(connection)
  #forward input requests
  request_obj = Metasploit::Aggregator::Http::SslResponder.get_data(connection, false)
  uri = Metasploit::Aggregator::Http::Request.parse_uri(request_obj)
  @forwarder_mutex.synchronize do
    unless uri.nil?
      unless @response_queues[uri]
        uri_responder = Metasploit::Aggregator::Http::SslResponder.new(uri)
        uri_responder.log_messages = @log_messages
        @response_queues[uri] = uri_responder
      end
      @response_queues[uri].queue << request_obj
      @response_queues[uri].time = Time.now
    else
      connection.sync_close = true
      connection.close
    end
  end
end