lib/framework.rb in arachni-0.2.2.1 vs lib/framework.rb in arachni-0.2.2.2

- old
+ new

@@ -55,21 +55,22 @@ # user options. # # @author: Tasos "Zapotek" Laskos # <tasos.laskos@gmail.com> # <zapotek@segfault.gr> -# @version: 0.2.1 +# @version: 0.2.2 # class Framework # # include the output interface but try to use it as little as possible # # the UI classes should take care of communicating with the user # include Arachni::UI::Output include Arachni::Module::Utilities + include Arachni::Mixins::Observable # the version of *this* class REVISION = '0.2.1' # @@ -319,10 +320,12 @@ name = k break end } + return if @plugin_store[name] + @plugin_store[name] = { :results => obj }.merge( plugin.class.info ) end @@ -451,11 +454,11 @@ REVISION end private - def clean_up! + def clean_up!( skip_audit_queue = false ) @opts.finish_datetime = Time.now @opts.delta_time = @opts.finish_datetime - @opts.start_datetime # make sure this is disabled or it'll break report output @@only_positives = false @@ -464,11 +467,11 @@ # wait for the plugins to finish @plugins.block! # a plug-in may have updated the page queue, rock it! - audit_queue + audit_queue if !skip_audit_queue # refresh the audit store audit_store( true ) return true @@ -528,9 +531,11 @@ # # @param [Page] page # def run_mods( page ) return if !page + + call_on_run_mods( page.deep_clone ) @current_url = page.url.to_s @modules.each_pair { |name, mod|