@@ -38,7 +38,7 @@ def initialize(info = {})
38
38
)
39
39
end
40
40
41
- attr_accessor :service
41
+ attr_accessor :service # :nodoc:
42
42
43
43
#
44
44
# Process static entries
@@ -103,10 +103,6 @@ def on_send_response(cli, data)
103
103
# Starts the server
104
104
#
105
105
def start_service
106
- options . validate ( datastore ) # This is a hack, DS values should not be Strings prior to this
107
- if !datastore [ 'DISABLE_RESOLVER' ] and self . respond_to? ( :setup_resolver )
108
- setup_resolver
109
- end
110
106
begin
111
107
112
108
comm = _determine_server_comm
@@ -116,10 +112,10 @@ def start_service
116
112
datastore [ 'SRVPORT' ] ,
117
113
datastore [ 'DnsServerUdp' ] ,
118
114
datastore [ 'DnsServerTcp' ] ,
119
- ( datastore [ 'DISABLE_RESOLVER' ] ? false : @dns_resolver ) ,
115
+ ( use_resolver? ? setup_resolver : false ) ,
120
116
comm ,
121
117
{ 'Msf' => framework , 'MsfExploit' => self }
122
- ) if self . service . nil?
118
+ )
123
119
124
120
self . service . dispatch_request_proc = Proc . new do |cli , data |
125
121
on_dispatch_request ( cli , data )
@@ -157,8 +153,8 @@ def start_service
157
153
def stop_service ( destroy = false )
158
154
Rex ::ServiceManager . stop_service ( self . service ) if self . service
159
155
if destroy
160
- @dns_resolver = nil
161
- self . service = nil
156
+ @dns_resolver = nil if @dns_resolver
157
+ self . service = nil if self . service
162
158
end
163
159
end
164
160
0 commit comments