lib/ermir.rb in ermir-0.1.1 vs lib/ermir.rb in ermir-0.1.2
- old
+ new
@@ -1,42 +1,42 @@
-require_relative 'ermir/argv_parser'
-require_relative 'ermir/utils'
-require_relative 'ermir/evil_registry'
-require 'socket'
-require 'colorize'
-
-module Ermir
- Signal.trap('INT') do
- Ermir::Utils.print_time_msg("execution interrupted by the user, exiting..", :red)
- exit 130
- end
-
- def self.run
- host, port, gadget = ArgvParser.parse_argv!
- begin
- server = TCPServer.new(host, port)
- Utils.print_time_msg("Ermir started listening for RMI calls at #{server.addr[-1]}:#{server.addr[1]}.", :light_yellow)
- loop do
- Thread.fork(server.accept) do |socket|
- peer = [socket.peeraddr[-1], socket.peeraddr[1]]
- Utils.print_time_msg("connection received from #{peer[0]}:#{peer[1]}.")
-
- begin
- registry = EvilRegistry.new(socket, gadget)
- registry.handle_connection!
- registry.close_connection!
- rescue SystemCallError => e
- Utils.error_and_abort!(e.to_s, "RMI Registry")
- end
-
- Utils.print_time_msg("closed the connection to #{peer[0]}:#{peer[1]}.")
- end
- end
- rescue SystemCallError => e
- if Errno.const_defined?(e.class.to_s.split("::").last || e.class.name)
- Utils.error_and_abort!(e.to_s, "TCP Server Binding")
- else
- Utils.error_and_abort!("something went wrong.", "TCP Server Binding", e.to_s)
- end
- end
- end
+require_relative 'ermir/argv_parser'
+require_relative 'ermir/utils'
+require_relative 'ermir/evil_registry'
+require 'socket'
+require 'colorize'
+
+module Ermir
+ Signal.trap('INT') do
+ Ermir::Utils.print_time_msg("execution interrupted by the user, exiting..", :red)
+ exit 130
+ end
+
+ def self.run
+ host, port, gadget = ArgvParser.parse_argv!
+ begin
+ server = TCPServer.new(host, port)
+ Utils.print_time_msg("Ermir started listening for RMI calls at #{server.addr[-1]}:#{server.addr[1]}.", :light_yellow)
+ loop do
+ Thread.fork(server.accept) do |socket|
+ peer = [socket.peeraddr[-1], socket.peeraddr[1]]
+ Utils.print_time_msg("connection received from #{peer[0]}:#{peer[1]}.")
+
+ begin
+ registry = EvilRegistry.new(socket, gadget)
+ registry.handle_connection!
+ registry.close_connection!
+ rescue SystemCallError => e
+ Utils.error_and_abort!(e.to_s, "RMI Registry")
+ end
+
+ Utils.print_time_msg("closed the connection to #{peer[0]}:#{peer[1]}.")
+ end
+ end
+ rescue SystemCallError => e
+ if Errno.const_defined?(e.class.to_s.split("::").last || e.class.name)
+ Utils.error_and_abort!(e.to_s, "TCP Server Binding")
+ else
+ Utils.error_and_abort!("something went wrong.", "TCP Server Binding", e.to_s)
+ end
+ end
+ end
end
\ No newline at end of file