Refactored #get_ruleset to be part of RubyDNS.

All database logic should be inside RubyDNS since BeEF's DNS class
is mostly just a wrapper around it.
This commit is contained in:
soh_cah_toa
2013-05-18 21:00:22 -04:00
parent 054767c898
commit c6f38324d1
3 changed files with 20 additions and 14 deletions

View File

@@ -102,20 +102,7 @@ module DNS
# @return [Array<Hash>] DNS ruleset (empty if no rules are currently loaded)
def get_ruleset
@lock.synchronize do
result = []
BeEF::Core::Models::DNS::Rule.each do |rule|
element = {}
element[:id] = rule.id
element[:pattern] = rule.pattern
element[:type] = rule.type
element[:block] = rule.block
result << element
end
result
@server.get_ruleset
end
end

View File

@@ -26,6 +26,7 @@ module DNS
# Returns the entire current DNS ruleset
get '/rules' do
result = {}
result[:rules] = BeEF::Extension::DNS::DNS.instance.get_ruleset
result.to_json
end

View File

@@ -84,6 +84,24 @@ module RubyDNS
end
end
# New method that returns the entire DNS ruleset as an AoH
def get_ruleset
result = []
BeEF::Core::Models::DNS::Rule.each do |rule|
element = {}
element[:id] = rule.id
element[:pattern] = rule.pattern
element[:type] = rule.type
element[:block] = rule.block
result << element
end
result
end
# New method that returns a hash representing the given rule
def get_rule(id)
result = {}