# # Copyright (c) 2006-2013 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # module RubyDNS # Overrides RubyDNS::run_server() to behave exactly the same, minus the output def self.run_server(options = {}, &block) server = RubyDNS::Server.new(&block) options[:listen] ||= [[:udp, "0.0.0.0", 53], [:tcp, "0.0.0.0", 53]] EventMachine.run do server.fire(:setup) options[:listen].each do |spec| if spec[0] == :udp EventMachine.open_datagram_socket(spec[1], spec[2], UDPHandler, server) elsif spec[0] == :tcp EventMachine.start_server(spec[1], spec[2], TCPHandler, server) end end server.fire(:start) end server.fire(:stop) end end