diff --git a/lib/rex/socket/range_walker.rb b/lib/rex/socket/range_walker.rb index 7576aea23e..9abee2a686 100644 --- a/lib/rex/socket/range_walker.rb +++ b/lib/rex/socket/range_walker.rb @@ -157,6 +157,19 @@ class RangeWalker return false end + # + # Returns true if this RangeWalker includes all of the addresses in the + # given RangeWalker + # + def include_range?(range_walker) + range_walker.ranges.all? do |start, stop| + ranges.any? do |self_start, self_stop| + r = (self_start..self_stop) + r.include?(start) and r.include?(stop) + end + end + end + # # Calls the given block with each address #