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:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = {}
|
||||
|
||||
Reference in New Issue
Block a user