diff --git a/lib/msf/core/exploit/remote/socket_server.rb b/lib/msf/core/exploit/remote/socket_server.rb index 0a75a6c41b..1c5979b6e3 100644 --- a/lib/msf/core/exploit/remote/socket_server.rb +++ b/lib/msf/core/exploit/remote/socket_server.rb @@ -59,7 +59,7 @@ module Exploit::Remote::SocketServer def cleanup super if service - stopped = stop_service + stopped = cleanup_service if stopped print_status("Server stopped.") end @@ -79,9 +79,9 @@ module Exploit::Remote::SocketServer end # - # Stops the service. + # Cleans up the service; either closing the socket, or deferencing the service # - def stop_service + def cleanup_service if service begin if self.service.kind_of?(Rex::Service) diff --git a/lib/msf/core/handler/reverse_http.rb b/lib/msf/core/handler/reverse_http.rb index 129eff225c..ecdc38a3ff 100644 --- a/lib/msf/core/handler/reverse_http.rb +++ b/lib/msf/core/handler/reverse_http.rb @@ -260,7 +260,7 @@ module ReverseHttp def stop_handler if self.service self.service.remove_resource((luri + "/").gsub("//", "/")) - Rex::ServiceManager.stop_service(self.service) + self.service.deref end end diff --git a/lib/rex/post/meterpreter/packet_dispatcher.rb b/lib/rex/post/meterpreter/packet_dispatcher.rb index eef1e7defa..60aec05f6b 100644 --- a/lib/rex/post/meterpreter/packet_dispatcher.rb +++ b/lib/rex/post/meterpreter/packet_dispatcher.rb @@ -732,7 +732,7 @@ module HttpPacketDispatcher resource_uri = "/" + self.conn_id.to_s.gsub(/(^\/|\/$)/, '') + "/" self.passive_service.remove_resource(resource_uri) if self.passive_service - Rex::ServiceManager.stop_service(self.passive_service) + self.passive_service.deref self.passive_service = nil end super