From 1d5afbb81ec65c86510b837d657d23378cca6c18 Mon Sep 17 00:00:00 2001 From: soh_cah_toa Date: Fri, 25 Apr 2014 10:14:05 -0400 Subject: [PATCH] Added Dns::Server attribute to DNS REST router. This is primarily intended to add clarity by reducing clutter. Moreover, it also has the side effect of improving performance very slightly by removing the overhead of calling #instance numerous times. --- extensions/dns/rest/dns.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/extensions/dns/rest/dns.rb b/extensions/dns/rest/dns.rb index dbadd1445..a1cdca5bf 100644 --- a/extensions/dns/rest/dns.rb +++ b/extensions/dns/rest/dns.rb @@ -12,6 +12,7 @@ module BeEF # Filters out bad requests before performing any routing before do + @dns ||= BeEF::Extension::Dns::Server.instance config = BeEF::Core::Configuration.instance # Require a valid API token from a valid IP address @@ -27,7 +28,7 @@ module BeEF # Returns the entire current DNS ruleset get '/ruleset' do begin - ruleset = BeEF::Extension::Dns::Server.instance.get_ruleset + ruleset = @dns.get_ruleset count = ruleset.length result = {} @@ -45,7 +46,7 @@ module BeEF begin id = params[:id] - rule = BeEF::Extension::Dns::Server.instance.get_rule(id) + rule = @dns.get_rule(id) raise InvalidParamError, 'id' if rule.nil? halt 404 if rule.empty? @@ -80,7 +81,7 @@ module BeEF raise InvalidJsonError, 'Wrong "resource" key passed to endpoint /api/dns/rule' unless valid_resources.include?(resource) - id = BeEF::Extension::Dns::Server.instance.add_rule( + id = @dns.add_rule( :pattern => pattern, :resource => eval("Resolv::DNS::Resource::IN::#{resource}"), :response => response @@ -105,7 +106,7 @@ module BeEF begin id = params[:id] - removed = BeEF::Extension::Dns::Server.instance.remove_rule!(id) + removed = @dns.remove_rule!(id) raise InvalidParamError, 'id' if removed.nil? result = {}